次の方法で共有


ASYNC_COMPLETION コールバック関数 (tspi.h)

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

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

構文

ASYNC_COMPLETION AsyncCompletion;

void AsyncCompletion(
  DRV_REQUESTID dwRequestID,
  LONG lResult
)
{...}

パラメーター

dwRequestID

サービス プロバイダーが非同期的に実行した元の要求で渡された識別子。

lResult

操作の結果。 成功を示す場合は 0、エラーを示す場合は負の値を指定できます。 関数によって発生する可能性のある特定のエラー値は、非同期実行または同期実行でも同じです。

戻り値

なし

解説

この関数を呼び出すときの呼び出し状態は、任意の状態にすることができます。

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

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

TAPI レベルでは、非同期関数の入力候補は、自然発生イベント メッセージに使用されるのと同じコールバック インターフェイスを介して渡されたメッセージとして報告されるため、TAPI レベルでは直接の対応はありません。 TSPI レベルでは、自然発生イベントは 、Line_Event および Phone_Event コールバック プロシージャを通じて報告されます。

要件

要件
対象プラットフォーム Windows
ヘッダー tspi.h

こちらもご覧ください

Line_Event

Phone_Event

TSPI_providerInit