2009-03-03 6 views
6

Ich habe eine DLL-Datei, die einige nützliche Funktionen hat, die ich in meiner Anwendung aufrufen möchte. Leider habe ich die Dokumentation dafür nicht mehr.Ich möchte wissen, welche Funktionen von einem Win32.DLL verfügbar sind

Gibt es einen Weg, ich kann herausfinden, was die Funktionen sind, die von der DLL und ihrer Methodensignatur exportiert werden?

Vielleicht gibt es ein Dienstprogramm, das die Funktionen und ihre Argumente auflistet.

Wissen von irgendwelchen?

Antwort

3

Windows SDK verwendet gehören die Dependency Walker GUI-Dienstprogramm, das verwendet werden kann, um DLL Inhalt zu erkunden:

Dependency Walker ist ein kostenloses Dienstprogramm, das jedes 32-Bit- oder 64-Bit-Windows-Modul (exe, dll, ocx, sys usw.) scannt und ein hierarchisches Baumdiagramm aller abhängigen Module erstellt. Für jedes gefundene Modul listet es alle Funktionen auf, die von diesem Modul exportiert werden, und welche dieser Funktionen tatsächlich von anderen Modulen aufgerufen werden. In einer anderen Ansicht werden die erforderlichen Mindestdateien sowie detaillierte Informationen zu jeder Datei angezeigt, einschließlich eines vollständigen Pfads zur Datei, der Basisadresse, der Versionsnummern, des Maschinentyps, der Debuginformationen und mehr.

Heute, it can be found here.

Für Methodensignaturdetail und Erstellen von Inter-Verbindung .NET Code, suchen Sie nach Ihrer DLL in der pinvoke site. Sie können auch ihr Add-In zu Visual Studio 2003 und 2005 versuchen.

+1

Nun Abhängigkeits-Walker gab mir keine Details der Argumente für die Funktionen. Das wäre hilfreich gewesen. –

+0

Hinzugefügt Verweis auf pinvoke.net – gimel

5

dumpbin/export

(Dumpbin[1] ist ein Dienstprogramm in der Windows SDK)

[1]: http://msdn.microsoft.com/en-us/library/aa446532.aspx

Edit: BTW wie ich sehe 'Interop' und '.NET' in der Tags, Reflektor und pinvoke.net nicht vergessen. (Keine dieser Hilfe bei der tatsächlichen Win32 DLL Exporte natürlich.)

+0

@mezoid: Vielen Dank für die Bearbeitung. Entschuldigung dafür, dass du es gemangelt hast, aber deine Verlinkung scheint meinen "edit:" -Block zu beschädigen. Es ist offensichtlich weniger ideal. Haben Sie keine Zeit, um die richtige Escaping-Syntax jetzt herauszufinden: D –

Verwandte Themen