コールバック関数

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

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

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

コールバック関数とその実装

プラットフォーム呼び出しコールバック

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

参照

処理手順

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

その他の技術情報

DLL 関数の呼び出し