Identifikace funkcí ve knihovnách DLL

Identita funkce knihovny DLL se skládá z následujících prvků:

  • Název nebo pořadové číslo funkce

  • Název souboru DLL, ve kterém lze najít implementaci

Například zadání funkce MessageBox v User32.dll identifikuje funkci (MessageBox) a jeho umístění (User32.dll, User32 nebo user32). Programovací rozhraní aplikace Microsoft Windows (Rozhraní API systému Windows) může obsahovat dvě verze každé funkce, která zpracovává znaky a řetězce: 1 bajtovou verzi ANSI a dvoubajtů znakovou verzi Unicode. Pokud není zadána, znaková sada reprezentovaná polem CharSet je výchozí hodnota ANSI. Některé funkce můžou mít více než dvě verze.

MessageBoxA je vstupní bod ANSI pro funkci MessageBox ; MessageBoxW je verze Unicode. Názvy funkcí pro konkrétní knihovnu DLL, například user32.dll, můžete zobrazit spuštěním různých nástrojů příkazového řádku. Můžete například použít dumpbin /exports user32.dll nebo link /dump /exports user32.dll získat názvy funkcí.

Nespravovanou funkci můžete přejmenovat na cokoli, co se vám v kódu líbí, pokud nový název namapujete na původní vstupní bod v knihovně DLL. Pokyny k přejmenování nespravované funkce knihovny DLL ve spravovaném zdrojovém kódu najdete v tématu Určení vstupního bodu.

Volání platformy umožňuje řídit významnou část operačního systému voláním funkcí v rozhraní API systému Windows a dalších knihoven DLL. Kromě rozhraní API pro Windows je k dispozici celá řada dalších rozhraní API a knihoven DLL prostřednictvím volání platformy.

Následující tabulka popisuje několik běžně používaných knihoven DLL v rozhraní API systému Windows.

DLL Popis obsahu
GDI32.dll Funkce rozhraní GDI (Graphics Device Interface) pro výstup zařízení, jako jsou funkce pro správu výkresu a písma.
Kernel32.dll Funkce operačního systému nízké úrovně pro správu paměti a zpracování prostředků
User32.dll Funkce pro správu systému Windows pro zpracování zpráv, časovače, nabídky a komunikaci

Kompletní dokumentaci k rozhraní API systému Windows najdete v sadě SDK platformy. Příklady, které demonstrují, jak sestavit . Deklarace založené na platformě, které se mají použít s voláním platformy, najdete v tématu Marshalling Data with Platform Invoke.

Viz také