次の方法で共有


コールバック関数

コールバック関数は、アンマネージ DLL 関数がタスクを完了するのに役立つマネージド アプリケーション内のコードです。 コールバック関数の呼び出しは、マネージド アプリケーションから DLL 関数を介して間接的に渡され、マネージド実装に戻ります。 プラットフォーム呼び出しで呼び出される多くの DLL 関数の中には、マネージド コードでコールバック関数を正しく実行する必要があるものもあります。

マネージド コードからほとんどの DLL 関数を呼び出すには、関数のマネージド定義を作成し、それを呼び出します。 プロセスは簡単です。

コールバック関数を必要とする DLL 関数を使用するには、いくつかの追加の手順があります。 まず、関数のドキュメントを参照して、関数にコールバックが必要かどうかを判断する必要があります。 次に、マネージド アプリケーションでコールバック関数を作成する必要があります。 最後に、DLL 関数を呼び出し、コールバック関数へのポインターを引数として渡します。

次の図は、コールバック関数と実装手順をまとめたものです。

プラットフォーム呼び出しコールバック プロセスを示す図。

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

こちらも参照ください