次の方法で共有


コールバック関数

更新 : 2007 年 11 月

コールバック関数は、アンマネージ DLL 関数が作業を完了できるようにするためのマネージ アプリケーション内のコードです。コールバック関数への呼び出しは、マネージ アプリケーションから DLL 関数を通じて間接的に渡され、マネージ実装に返されます。プラットフォーム呼び出しで呼び出される DLL 関数の中には、マネージ コードにコールバック関数が記述されていないと、正しく実行できない関数があります。

ほとんどの DLL 関数の場合、マネージ コードから呼び出すには関数のマネージ定義を作成して、それを呼び出します。この処理は簡単です。

コールバック関数を必要とする DLL 関数を使用する場合は、追加の手順が必要になります。最初に、関数のドキュメントを参照して、その関数がコールバックを必要とするかどうかを判断します。次に、マネージ アプリケーション内にコールバック関数を作成します。最後に、コールバック関数に引数としてポインタを渡し、DLL 関数を呼び出します。これらのステップを要約した図を次に示します。

コールバック関数とその実装
プラットフォーム呼び出しコールバック

コールバック関数は、繰り返し実行されるタスクがある状況での使用に適しています。もう 1 つの一般的な使い方として、Win32 API の EnumFontFamiliesEnumPrintersEnumWindows などの列挙関数と組み合わせる方法があります。EnumWindows 関数は、コンピュータ上の既存のウィンドウすべてで列挙し、コールバック関数を呼び出して各ウィンドウでタスクを実行します。手順と例については、「方法 : コールバック関数を実装する」を参照してください。

参照

処理手順

方法 : コールバック関数を実装する

その他の技術情報

DLL 関数の呼び出し