Utilisez libusb avec Delphi sur Windows 64 bits?

Après avoir lu un peu, je crains que mon application Delphi 32 bits ne puisse pas utiliser le pilote libusb 64 bits sur Windows 7 et autres systèmes Windows 64 bits, et qu’elle ne pourra pas communiquer avec mon matériel personnalisé. appareil sur ces systèmes. Est-ce vrai? Si oui, existe-t-il une solution de rechange? Est-ce que je manque quelque chose dans cette photo?

Sur libusb 1.0 avec le backend WinUSB (pilote Microsoft inclus avec Windows), nous n’avons aucun problème pour communiquer avec une application x86 (bibliothèque c ++ gérée utilisée par les applications C #). Le comportement est le même sur les plates-formes x86 et x64.

Je ne sais pas à propos de libusb 0.1 (L’ancien qui est capable d’utiliser le pilote du kernel libusb-win32) mais en tant que votre lien vers la version 1.0, vous ne semblez pas l’utiliser.

À un certain point, libusb 1.0 supportera le pilote du kernel libusb-win32 mais, sauf dans des cas spécifiques, ce n’est pas nécessaire (WinUSB a ses limites mais je ne les ai jamais rencontrées)

Qu’est-ce qui vous fait penser que ce ne sera pas le cas? Si vous avez un pilote 64 bits, il est utilisable sur un système 64 bits (étant donné que le pilote fonctionne correctement et est signé correctement). Les applications 32 bits et 64 bits peuvent contrôler le pilote via différents mécanismes de communication, tels que les fichiers Ioctl ou MMF. La question est de savoir si toutes les parties du code sont écrites correctement, mais cette question s’applique à n’importe quelle bibliothèque et sur toute plate-forme.

J’utilise avec succès libusb-win32 sur mon ordinateur portable Win7 64 bits avec une application 32 bits delphi. Pas de problèmes jusqu’ici. Le pilote est également signé (seul mon fichier .inf ne l’est pas).

Notez que libusb-win32 utilise l’ancienne API libusb.