Functies in DLL's identificeren
De identiteit van een DLL-functie bestaat uit de volgende elementen:
Functienaam of rangtelwoord
Naam van het DLL-bestand waarin de implementatie kan worden gevonden
Als u bijvoorbeeld de functie MessageBox opgeeft in de User32.dll de functie (MessageBox) en de locatie (User32.dll, User32 of user32) identificeert. De Microsoft Windows-interface voor toepassingsprogrammering (Windows API) kan twee versies van elke functie bevatten die tekens en tekenreeksen verwerkt: een ANSI-versie van 1 byte en een Unicode-versie van 2 bytes. Wanneer deze niet is opgegeven, wordt de tekenset, vertegenwoordigd door het CharSet veld, standaard ingesteld op ANSI. Sommige functies kunnen meer dan twee versies hebben.
MessageBoxA is het ANSI-toegangspunt voor de functie MessageBox ; MessageBoxW is de Unicode-versie. U kunt functienamen voor een specifieke DLL, zoals user32.dll, weergeven door verschillende opdrachtregelprogramma's uit te voeren. U kunt bijvoorbeeld functienamen gebruiken dumpbin /exports user32.dll
of link /dump /exports user32.dll
verkrijgen.
U kunt de naam van een onbeheerde functie wijzigen in wat u wilt in uw code, zolang u de nieuwe naam toewijst aan het oorspronkelijke toegangspunt in het DLL-bestand. Zie het item Een toegangspunt opgeven voor instructies voor het wijzigen van de naam van een niet-beheerde DLL-functie in beheerde broncode.
Met platform-aanroep kunt u een aanzienlijk deel van het besturingssysteem beheren door functies aan te roepen in de Windows-API en andere DLL's. Naast de Windows-API zijn er talloze andere API's en DLL's beschikbaar voor u via platform-aanroep.
In de volgende tabel worden verschillende veelgebruikte DLL's in de Windows-API beschreven.
DLL | Beschrijving van de inhoud |
---|---|
GDI32.dll | GDI-functies (Graphics Device Interface) voor apparaatuitvoer, zoals functies voor tekenen en lettertypebeheer. |
Kernel32.dll | Besturingssysteemfuncties op laag niveau voor geheugenbeheer en resourceverwerking. |
User32.dll | Windows-beheerfuncties voor berichtafhandeling, timers, menu's en communicatie. |
Zie de Platform SDK voor volledige documentatie over de Windows-API. Voor voorbeelden die laten zien hoe u kunt bouwen. Declaraties op basis van NET die moeten worden gebruikt met platformaanroepen, zie Marshalling Data with Platform Invoke.