Megosztás a következőn keresztül:


Függvények azonosítása DLL-ekben

A DLL-függvény identitása a következő elemekből áll:

  • Függvény neve vagy sorszáma

  • Annak a DLL-fájlnak a neve, amelyben a megvalósítás megtalálható

Ha például a MessageBox függvényt adja meg a User32.dll azonosítja a függvényt (MessageBox) és helyét (User32.dll, User32 vagy user32). A Microsoft Windows alkalmazásprogramozási felülete (Windows API) az egyes függvények két verzióját tartalmazza, amelyek karaktereket és sztringeket kezelnek: egy 1 bájtos karakteres ANSI-verziót és egy 2 bájtos Unicode-verziót. Ha nincs meghatározva, a mező által CharSet képviselt karakterkészlet alapértelmezés szerint ANSI lesz. Egyes függvények több verzióval is rendelkezhetnek.

A MessageBoxA a MessageBox függvény ANSI belépési pontja; A MessageBoxW a Unicode-verzió. Számos parancssori eszköz futtatásával listázhatja egy adott DLL függvénynevét, például user32.dll. Használhatja vagy beolvashatja dumpbin /exports user32.dlllink /dump /exports user32.dll például a függvényneveket.

A nem felügyelt függvényeket átnevezheti tetszőlegesre a kódban, amíg az új nevet a DLL eredeti belépési pontjához rendeli. A nem felügyelt DLL-függvény felügyelt forráskódban való átnevezésével kapcsolatos utasításokért tekintse meg a Belépési pont megadása című témakört.

A platformmeghívás lehetővé teszi az operációs rendszer jelentős részének szabályozását a Windows API-ban és más DLL-ekben található függvények meghívásával. A Windows API-n kívül számos más API és DLL érhető el a platformhíváson keresztül.

Az alábbi táblázat a Windows API-ban gyakran használt DLL-eket ismerteti.

DLL A tartalom leírása
GDI32.dll Grafikus eszközillesztő (GDI) függvények az eszköz kimenetéhez, például rajz- és betűkezeléshez.
Kernel32.dll Alacsony szintű operációsrendszer-funkciók a memóriakezeléshez és az erőforrás-kezeléshez.
User32.dll A Windows felügyeleti funkciói az üzenetkezeléshez, az időzítőkhöz, a menükhöz és a kommunikációhoz.

A Windows API teljes dokumentációját a Platform SDK-ban találja. Példák a konstruktálásra. A platformhíváshoz használandó NET-alapú deklarációkat lásd: Adatok platformhívással történő rendezése.

Lásd még