Quiero saber qué funciones están disponibles desde un Win32.DLL
Pregunta
Tengo un archivo DLL que tiene algunas funciones útiles que quiero llamar a mi aplicación. Desafortunadamente, ya no tengo la documentación para ello.
¿Hay alguna forma en que pueda descubrir cuáles son las funciones exportadas por la DLL y su firma de método?
Tal vez hay una utilidad que enumera las funciones y sus argumentos.
¿Sabes de alguno?
Solución
El SDK de Windows utilizado para incluir la utilidad de GUI dependency walker que se puede usar para explorar contenido DLL:
Dependency Walker es una utilidad gratuita que escanea cualquier módulo de Windows de 32 o 64 bits (exe, dll, ocx, sys, etc.) y crea un diagrama de árbol jerárquico de todos los módulos dependientes. Para cada módulo encontrado, enumera todas las funciones que son exportadas por ese módulo, y cuáles de esas funciones están siendo llamadas por otros módulos. Otra vista muestra el conjunto mínimo de archivos requeridos, junto con información detallada sobre cada archivo, incluida una ruta completa al archivo, dirección base, números de versión, tipo de máquina, información de depuración y más.
Hoy en día, se puede encontrar aquí .
Para obtener detalles sobre la firma del método y crear un código de .NET
de interconexión, busque su DLL en el sitio de Pinvoke . También puede probar su complemento a Visual Studio 2003 y 2005.
Otros consejos
dumpbin / exports
( Dumpbin [1
] siendo una utilidad en el SDK de Windows
[1]
: http: // msdn.microsoft.com/en-us/library/aa446532.aspx
Editar: Por cierto, veo "interoperabilidad" y ".NET" en las etiquetas, no olvide Reflector y pinvoke.net . (Ninguno de estos ayuda con las exportaciones reales de Win32 DLL, por supuesto.)