Identyfikowanie funkcji w bibliotekach DLL

Tożsamość funkcji DLL składa się z następujących elementów:

  • Nazwa funkcji lub porządkowa

  • Nazwa pliku DLL, w którym można znaleźć implementację

Na przykład określenie funkcji MessageBox w User32.dll identyfikuje funkcję (MessageBox) i jej lokalizację (User32.dll, User32 lub user32). Interfejs programowania aplikacji systemu Microsoft Windows (Interfejs API systemu Windows) może zawierać dwie wersje każdej funkcji, która obsługuje znaki i ciągi: 1-bajtową wersję ANSI i 2-bajtową wersję Unicode. Gdy nie określono, zestaw znaków reprezentowany przez CharSet pole domyślnie ma wartość ANSI. Niektóre funkcje mogą mieć więcej niż dwie wersje.

MessageBoxA to punkt wejścia ANSI dla funkcji MessageBox ; MessageBoxW to wersja Unicode. Można wyświetlić listę nazw funkcji dla określonej biblioteki DLL, takiej jak user32.dll, uruchamiając różne narzędzia wiersza polecenia. Na przykład można użyć polecenia dumpbin /exports user32.dll lub link /dump /exports user32.dll uzyskać nazwy funkcji.

Możesz zmienić nazwę funkcji niezarządzanej na dowolną wartość w kodzie, o ile zamapujesz nową nazwę na oryginalny punkt wejścia w bibliotece DLL. Aby uzyskać instrukcje dotyczące zmiany nazwy niezarządzanej funkcji DLL w zarządzanym kodzie źródłowym, zobacz Określanie punktu wejścia.

Wywołanie platformy umożliwia sterowanie znaczną częścią systemu operacyjnego przez wywoływanie funkcji w interfejsie API systemu Windows i innych bibliotekach DLL. Oprócz interfejsu API systemu Windows dostępnych jest wiele innych interfejsów API i bibliotek DLL za pośrednictwem wywołania platformy.

W poniższej tabeli opisano kilka często używanych bibliotek DLL w interfejsie API systemu Windows.

DLL Opis zawartości
GDI32.dll Funkcje interfejsu urządzenia graficznego (GDI) dla danych wyjściowych urządzenia, takich jak funkcje do rysowania i zarządzania czcionkami.
Kernel32.dll Funkcje systemu operacyjnego niskiego poziomu do zarządzania pamięcią i obsługi zasobów.
User32.dll Funkcje zarządzania systemem Windows do obsługi komunikatów, czasomierzy, menu i komunikacji.

Aby uzyskać pełną dokumentację interfejsu API systemu Windows, zobacz zestaw SDK platformy. Przykłady demonstrujące sposób konstruowania elementu . Deklaracje oparte na platformie net, które mają być używane z wywołaniem platformy, zobacz Marshalling Data with Platform Invoke (Marshalling Data with Platform Invoke).

Zobacz też