DLL 内の関数の識別
DLL 関数の ID は、次の要素で構成されます。
関数の名前または序数
実装が含まれている DLL ファイルの名前
たとえば、User32.dll で MessageBox 関数を指定すると、関数 (MessageBox) とその場所 (User32.dll、User32、または user32) が識別されます。 Microsoft Windows のアプリケーション プログラミング インターフェイス (Windows API) は、文字と文字列を処理する各関数の 2 つのバージョンを含めることができます。これは、1 バイト文字 ANSI バージョンと 2 バイト文字 Unicode バージョンです。 指定されていない場合、CharSet フィールドによって表される文字セットは、既定で ANSI になります。 一部の関数は、2 つのより多くのバージョンを持つことができます。
MessageBoxA は、MessageBox 関数の ANSI のエントリ ポイントであり、MessageBoxW は Unicode バージョンです。 さまざまなコマンド ライン ツールを実行して、User32.dll などの特定の DLL の関数名の一覧を表示することができます。 たとえば、dumpbin /exports user32.dll
または link /dump /exports user32.dll
を使用して関数名を取得できます。
DLL で新しい名前を元のエントリ ポイントにマップする限り、コード内でアンマネージ関数の名前を自由に変更することができます。 マネージド ソース コードでアンマネージド DLL 関数の名前を変更する方法の詳細については、「Specifying an Entry Point」(エントリ ポイントの指定) を参照してください。
プラットフォーム呼び出しにより、Windows API とその他の DLL で関数を呼び出すことによって、オペレーティング システムの重要な部分を制御できます。 Windows API に加えて、その他の多数の API と DLL を、プラットフォーム呼び出しによって使用できます。
次の表では、Windows API のいくつかの一般的に使用される DLL について説明します。
[DLL] | コンテンツの説明 |
---|---|
GDI32.dll | 描画とフォントの管理などのデバイスの出力のグラフィックス デバイス インターフェイス (GDI) 関数。 |
Kernel32.dll | メモリ管理とリソースの処理のための低レベルのオペレーティング システム関数。 |
User32.dll | メッセージの処理、タイマー、メニュー、通信用の Windows 管理関数。 |
Windows API の詳細については、プラットフォーム SDK を参照してください。 プラットフォーム呼び出しで使用する .NET ベースの宣言を作成する方法を示す例については、「プラットフォーム呼び出しによるデータのマーシャリング」を参照してください。
関連項目
.NET