Identifizieren von Funktionen in DLLs
Die Identität einer DLL-Funktion besteht aus den folgenden Elementen:
Funktionsname oder Ordinalzahl
Name der DLL-Datei, in der die Implementierung gefunden werden kann
Die Angabe der MessageBox-Funktion in der „User32.dll“ gibt beispielsweise die Funktion (MessageBox) und deren Speicherort (User32.dll, User32 oder user32) an. Die Microsoft Windows-Anwendungsprogrammierschnittstelle (Windows-API) kann zwei Versionen jeder Funktion enthalten, die Zeichen und Zeichenfolgen verarbeitet: eine ANSI-Version mit 1-Byte-Zeichen und eine Unicode-Version mit 2-Byte-Zeichen. Ohne Angabe wird der Zeichensatz, der durch das CharSet-Feld dargestellt wird, standardmäßig auf ANSI festgelegt. Einige Funktionen können über mehr als zwei Versionen verfügen.
MessageBoxA ist der ANSI-Einstiegspunkt für die MessageBox-Funktion. MessageBoxW ist die Unicode-Version. Sie können Funktionsnamen für eine bestimmte DLL-Datei, z.B. „User32.dll“, auflisten, indem Sie eine Vielzahl von Befehlszeilentools ausführen. Beispielsweise können Sie dumpbin /exports user32.dll
oder link /dump /exports user32.dll
verwenden, um Funktionsnamen abzurufen.
Sie können eine nicht verwaltete Funktion innerhalb des Codes beliebig umbenennen, solange Sie den neuen Namen für den ursprünglichen Einstiegspunkt in der DLL zuordnen. Anweisungen zur Umbenennung einer nicht verwalteten DLL-Funktion in verwaltetem Quellcode finden Sie unter Angeben eines Einstiegspunktes.
Durch einen Plattformaufruf können Sie einen beträchtlichen Teil des Betriebssystems durch Aufrufen von Funktionen in der Windows-API und anderen DLLs steuern. Zusätzlich zur Windows-API stehen Ihnen über den Plattformaufruf zahlreiche andere APIs und DLLs zur Verfügung.
Die folgende Tabelle beschreibt einige häufig verwendete DLLs in der Windows-API.
DLL | Inhaltsbeschreibung |
---|---|
GDI32.dll | Funktionen für Graphics Device Interface (GDI) für Geräteausgaben, wie z.B. die für die Verwaltung der Zeichnung und Schriftart. |
Kernel32.dll | Betriebssystemfunktionen auf niedriger Ebene für die Verwaltung des Arbeitsspeichers und Ressourcenbehandlung. |
User32.dll | Windows-Verwaltungsfunktionen für Meldungsbehandlung, Timer, Menüs und Kommunikation. |
Eine vollständige Dokumentation der Windows-API finden Sie im Plattform SDK. Beispiele für die Vorgehensweise beim Erstellen von .NET-basierten Deklarationen, die mit dem Plattformaufruf verwendet werden können, finden Sie unter Marshallen von Daten mit Plattformaufruf.