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 関数の名前を変更する手順については、「 エントリ ポイントの指定」を参照してください。
プラットフォーム呼び出しを使用すると、Windows API やその他の DLL で関数を呼び出すことによって、オペレーティング システムの大部分を制御できます。 Windows API に加えて、プラットフォーム呼び出しを通じて他にも多数の API と DLL を使用できます。
次の表では、Windows API で一般的に使用される DLL をいくつか示します。
[DLL] | 内容の説明 |
---|---|
GDI32.dll | 描画やフォント管理用など、デバイス出力用のグラフィックス デバイス インターフェイス (GDI) 関数。 |
Kernel32.dll | メモリ管理とリソース処理のための低レベルのオペレーティング システム機能。 |
User32.dll | メッセージ処理、タイマー、メニュー、および通信のための Windows 管理機能。 |
Windows API の完全なドキュメントについては、プラットフォーム SDK を参照してください。 構築方法を示す例を示します。プラットフォーム呼び出しで使用する NET ベースの宣言については、「プラットフォーム呼び出し を使用したデータのマーシャリング」を参照してください。
こちらも参照ください
.NET