c# .net pinvoke unmanaged function-signature

c# - ¿Hay alguna herramienta que genere firmas de P/Invoke para DLL arbitraria no administrada?



.net pinvoke (5)

Este proyecto está activo y parece prometedor para la tarea: https://github.com/mono/CppSharp

Me encontré con una herramienta que genera firmas P / Invoke para las propias DLL no administradas de Microsoft: PInvoke Interop Assistant

¿Hay alguna herramienta similar que genere firmas de P / Invoke para archivos DLL no administrados de terceros?

Alternativamente, cualquier forma de alimentar una DLL de terceros a PInvoke Interop Assistant

EDITAR: problema real que estoy tratando de resolver


Google encontró rápidamente http://www.pinvoker.com/ (Compatiblity aparece como VS2005, 2008 y 2010; no parece haberse actualizado para funcionar con versiones más nuevas)

El compilador de C ++ / CLI de Microsoft también puede hacer esto, si usa /clr:safe y #include el archivo de encabezado, generará p / invoke code que puede extraer con, por ejemplo, ILSpy (gratis) o Red Gate Reflector (solía ser gratuito) )



Utilice Dumpbin.exe que viene con VS SDK, Dumpbin , igual tendrá que escribir las firmas Pinvoke manualmente a partir de los datos volcados.


Utilizo PInvoke Interop Assistant para archivos DLL no administrados utilizando la tercera pestaña en la interfaz de usuario, marcada como "SigImp Translate Snippet". Simplemente copie y pegue su encabezado en la ventana "Fragmento de código nativo" y presione Generar (o active Generar automáticamente). Como ilustración, aquí hay un código de una pregunta mía . Tenga en cuenta que, por alguna razón, los errores no aparecen en el panel Error, sino como comentarios en la parte superior del código generado.

Como ya han dicho varias personas, el código generado debe usarse como una guía; puede que tenga que hacer cambios para obtener exactamente lo que desea.