Win32 API 日本語リファレンス
ホーム › Devices.Tapi › ASYNC_COMPLETION

ASYNC_COMPLETION

コールバック

シグネチャ

void ASYNC_COMPLETION(
    DWORD dwRequestID,
    INT lResult
);

パラメーター

フィールド型説明
dwRequestIDDWORDサービスプロバイダーが非同期に実行した元の要求で渡された識別子です。
lResultINT操作の結果です。成功を示すゼロ、またはエラーを示す負の値のいずれかになります。関数から返される可能性のある具体的なエラー値は、非同期実行でも同期実行でも同じです。

公式ドキュメント

Completion_Proc は、TAPI が実装し、 TSPI_providerInit のパラメーターとしてサービスプロバイダーに渡されるコールバック関数です。サービスプロバイダーは、非同期に実行する回線または電話の処理の完了を報告するために、この関数を呼び出します。

ASYNC_COMPLETION 型は、このコールバック関数へのポインターを定義します。Completion_Proc は、アプリケーション定義の関数名のプレースホルダーです。

解説(Remarks)

この関数を呼び出すときの呼状態は、どの状態であってもかまいません。

この手続きは、サービスプロバイダーが TSPI_providerInit 関数で初期化される時点で TAPI から提供されます。回線、呼、電話デバイスを操作する TSPI 手続きの一部は、非同期動作を指定します。これらの手続きには、要求を識別するための dwRequestID パラメーターが含まれます。そのような手続きが呼び出されると、サービスプロバイダーは、エラーが直ちに検出された場合は負の値を返すことができ、操作が非同期に継続する場合は正の dwRequestID を返すことができます。サービスプロバイダーは、非同期に実行する要求ごとに、完了をちょうど 1 回だけ報告する必要があります。その報告は、この手続きを呼び出すことによって行います。サービスプロバイダーは、この手続きが戻るまで、この手続きや Line_Event 手続き、 Phone_Event 手続きを再度呼び出すことはできません。

サービスプロバイダーは、最初の要求から戻る前に Completion_Proc 関数を呼び出すことができます。TAPI は、特に記載がある場合を除き、 Completion_Proc のコンテキスト内からサービスプロバイダーを呼び出さないことを保証します。

これに直接対応するものは TAPI レベルにはありません。TAPI レベルでは、非同期関数の完了は、自発的なイベントメッセージに使用されるものと同じコールバックインターフェイスを通じて渡されるメッセージとして報告されるためです。TSPI レベルでは、自発的なイベントは Line_Event および Phone_Event コールバック手続きを通じて報告されます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)