Где я могу найти ссылку, объясняющую, как взять заголовок функции C / C ++ и определить его с помощью dllimport в C #?

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

  •  23-08-2019
  •  | 
  •  

Вопрос

Я использую setupapi.dll для определения возможности подключения USB-устройства.Он не работает должным образом в 64-разрядных версиях Windows (XP, Vista).Я подозреваю, что эти заявления не совсем корректны, но не уверен, как это проверить.MS, похоже, не предоставляет информацию dllimport, но они перечисляют все определения функций.Есть ли ресурс, который я могу использовать для преобразования между заголовком функции и объявлением dllimport?

Я использовал pinvoke.net, но похоже, что он не учитывает 64-разрядность в предоставленных определениях.

Это было полезно?

Решение

Проверьте pinvoke.net.Он имеет большой набор API-интерфейсов Win32, уже переведенных в определения DllImport (включая setupapi.dll).

Другие советы

Инструмент, который вы ищете, называется C ++ / CLI.Это было построенный чтобы обработать эти заголовки и сгенерировать код взаимодействия - никаких заморочек с P / Invoke.

Напишите облегченную сборку-оболочку на C ++ / CLI, а затем используйте ее из своего кода на C #.

(Трудно дать более конкретный ответ, поскольку вы на самом деле не указали как это не работает должным образом ...)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top