Où puis-je trouver une référence expliquant comment prendre un en-tête de la fonction C / C ++ et définir avec dllimport en C #?

StackOverflow https://stackoverflow.com/questions/892913

  •  23-08-2019
  •  | 
  •  

Question

J'utilise setupapi.dll pour déterminer la connectivité des périphériques USB. Il ne fonctionne pas correctement dans les versions 64 bits de Windows (XP, Vista). Je pense que les déclarations ne sont pas tout à fait correct, mais je ne suis pas sûr comment vérifier. MS ne semble pas fournir les informations dllimport, mais ils ne liste toutes les définitions de fonction. Est-il utiliser une ressource que je peux pour convertir entre l'en-tête de la fonction et la déclaration dllimport?

Je l'ai utilisé pinvoke.net, mais il semble que cela ne tient pas compte de 64 bits dans les définitions fournies.

Était-ce utile?

La solution

Consultez pinvoke.net . Il dispose d'un grand ensemble d'API Win32 déjà traduites dans les définitions DllImport (y compris setupapi.dll).

Autres conseils

L'outil que vous recherchez est appelé C ++ / CLI. Il était construit pour traiter ces en-têtes et de générer du code interop - pas bidouiller avec P / Invoke.

Ecrire un ensemble d'emballage léger en C ++ / CLI, puis l'utiliser à partir de votre code C #.

(Difficile de fournir une réponse plus précise, puisque vous ne spécifiez pas vraiment comment il ne fonctionne pas correctement ...)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top