コールバック関数は、アンマネージ DLL 関数がタスクを完了するのに役立つマネージド アプリケーション内のコードです。 コールバック関数の呼び出しは、マネージド アプリケーションから DLL 関数を介して間接的に渡され、マネージド実装に戻ります。 プラットフォーム呼び出しで呼び出される多くの DLL 関数の中には、マネージド コードでコールバック関数を正しく実行する必要があるものもあります。
マネージド コードからほとんどの DLL 関数を呼び出すには、関数のマネージド定義を作成し、それを呼び出します。 プロセスは簡単です。
コールバック関数を必要とする DLL 関数を使用するには、いくつかの追加の手順があります。 まず、関数のドキュメントを参照して、関数にコールバックが必要かどうかを判断する必要があります。 次に、マネージド アプリケーションでコールバック関数を作成する必要があります。 最後に、DLL 関数を呼び出し、コールバック関数へのポインターを引数として渡します。
次の図は、コールバック関数と実装手順をまとめたものです。
コールバック関数は、タスクが繰り返し実行される状況での使用に最適です。 もう 1 つの一般的な使用方法は、Windows API の EnumFontFamilies、 EnumPrinters、 EnumWindows などの列挙関数です。 EnumWindows 関数は、コンピューター上のすべての既存のウィンドウを列挙し、コールバック関数を呼び出して各ウィンドウでタスクを実行します。 手順と例については、「 方法: コールバック関数を実装する」を参照してください。
こちらも参照ください
.NET