В поисках неуправляемого API DLL? - PullRequest
4 голосов
/ 10 октября 2008

Я пишу на C #.
Как я могу узнать, какие методы / функции я могу использовать в неуправляемой DLL, которая не относится к Windows?
Пример: у меня на компьютере установлено какое-то программное обеспечение, у него есть dll, и я хочу знать, каковы мои варианты создания кода для подключения к этому программному обеспечению?

Ответы [ 5 ]

7 голосов
/ 10 октября 2008

Для нативных библиотек DLL, для которых у вас нет ссылки, вы можете использовать утилиту dumpbin в Visual Studio SDK для извлечения списка экспортируемых функций в DLL.

Ссылка на дампбин здесь: http://msdn.microsoft.com/en-us/library/c1h23y6c(VS.71).aspx

А страница CodeProject, содержащая некоторые дополнительные сведения о том, как использовать дампбин в сочетании с поиском правильных сигнатур P / Invoke, находится здесь: http://www.codeproject.com/KB/mcpp/usingcppdll.aspx#Retrieve

1 голос
/ 10 октября 2008

использовать Depends.exe (который поставляется вместе с VS).

Зависит от отображения всех экспортированных функций, которые могут быть вызваны из управляемого кода с помощью Pinvoke.

1 голос
/ 10 октября 2008

PInvoke.net - отличный ресурс для взаимодействия .NET. В них перечислены не только функции, доступные в собственных библиотеках Windows, но и подпись, которую необходимо использовать в коде .NET.

0 голосов
/ 04 октября 2012

Я просто хотел бы добавить, что , если это COM-сборка , подобно COM-компоненту VB6, его можно просмотреть в Object Explorer в Visual Studio, и это довольно хорошо, потому что он разбивает все на части для Вы довольно мило.

0 голосов
/ 16 октября 2008

Я читаю блог о PInvoke Interop Assistant, который также может работать с нашими собственными DLL http://www.codeplex.com/clrinterop/Release/ProjectReleases.aspx?ReleaseId=14120

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...