DLL 内の関数の識別

DLL 関数の識別子は、次の要素から構成されています。

  • 関数の名前または序数

  • 実装が含まれている DLL ファイルの名前

たとえば、User32.dll の MessageBox 関数を指定する場合は、関数 (MessageBox) とその関数の所在 (User32.dll、User32、または user32) を識別します。Microsoft Windows アプリケーション プログラミング インターフェイス (Win32 API) は、関数ごとに、1 バイト文字 ANSI バージョンと、2 バイト文字 Unicode バージョンという、処理する文字や文字列が異なる 2 種類のバージョンを格納できます。バージョンを指定しない場合、CharSet フィールドで表される文字セットは、既定により ANSI に設定されます。3 種類以上のバージョンを持つことができる関数もあります。

MessageBoxA は、MessageBox 関数の ANSI バージョンのエントリ ポイントです。MessageBoxW は、Unicode バージョンです。さまざまなコマンド ライン ツールを使用して、user32.dll などの特定の DLL の関数名を一覧表示できます。たとえば、dumpbin /exports user32.dlllink /dump /exports user32.dll を使用して、関数名を取得できます。

アンマネージ関数の名前は、作成するコード内では任意の名前に変更できます。ただし、その場合には、新しい名前を DLL 内の元のエントリ ポイントに割り当てる必要があります。マネージ ソース コードでアンマネージ DLL 関数の名前を変更する方法については、「エントリ ポイントの指定」を参照してください。

プラットフォーム呼び出しを使うと、Win32 API やその他の DLL の関数を呼び出すことで、オペレーティング システムの重要な部分を制御できます。Win32 API のほかにも、数多くの API や DLL がプラットフォーム呼び出しによって利用できます。

Win32 API で一般的に使用される DLL の説明を次の表に示します。

DLL 内容の説明

GDI32.dll

描画用関数やフォント管理用関数など、デバイス出力用のグラフィックス デバイス インターフェイス (GDI: Graphics Device Interface) 関数。

Kernel32.dll

メモリ管理やリソース処理のための、低水準のオペレーティング システム関数。

User32.dll

メッセージ処理、タイマ、メニュー、および通信のための Windows 管理関数。

Win32 API の完全なドキュメントについては、『Platform SDK』を参照してください。プラットフォーム呼び出しと共に使用する .NET ベースの宣言を構築する方法を示す例については、「プラットフォーム呼び出しによるデータのマーシャリング」を参照してください。

参照

概念

アンマネージ DLL 関数の処理
エントリ ポイントの指定
DLL 関数を保持するクラスの作成
マネージ コードでのプロトタイプの作成

その他の技術情報

DLL 関数の呼び出し