PROTOCOL_CM_INCOMING_CALL_COMPLETE コールバック関数 (ndis.h)
ProtocolCmIncomingCallComplete 関数が必要です。 NDIS がこの関数を呼び出すと、 ProtocolCmIncomingCallComplete は、接続指向のクライアントが以前に呼び出しマネージャーによってディスパッチされた着信呼び出しオファーの処理を完了したことを呼び出しマネージャーに示します NdisCmDispatchIncomingCall。
構文
PROTOCOL_CM_INCOMING_CALL_COMPLETE ProtocolCmIncomingCallComplete;
void ProtocolCmIncomingCallComplete(
[in] NDIS_STATUS Status,
[in] NDIS_HANDLE CallMgrVcContext,
[in] PCO_CALL_PARAMETERS CallParameters
)
{...}
パラメーター
[in] Status
接続指向クライアントに着信呼び出しをディスパッチする操作の最終的な状態を示します。
[in] CallMgrVcContext
呼び出しマネージャーが VC ごとの状態を維持する、呼び出しマネージャーによって割り当てられたコンテキスト領域へのハンドルを指定します。 呼び出しマネージャーは、 ProtocolCoCreateVc 関数からこのハンドルを指定しました。
[in] CallParameters
NdisCmDispatchIncomingCall の呼び出しで呼び出しマネージャーによって指定された呼び出しパラメーターへのポインター。 シグナリング プロトコルは、呼び出しマネージャーが変更できる呼び出しパラメーター (ある場合) を決定します。
戻り値
なし
解説
接続指向クライアントが、呼び出しマネージャーがディスパッチした着信接続オファーの処理を完了すると、 NdisCmDispatchIncomingCall がNDIS_STATUS_PENDING返された場合、このルーチンが呼び出されます。 着信通話の最終的な状態は、[ 状態] にあります。 Status に指定できる値は次のとおりですが、これらに限定されません。
クライアントが着信呼び出しを受け入れる場合、呼び出しマネージャーは、呼び出しが受け入れられたことを呼び出し元エンティティに示すシグナルメッセージを送信する必要があります。 クライアントが呼び出しを受け入れない場合、呼び出しマネージャーは、呼び出しが拒否されたことを示すシグナリング メッセージを送信する必要があります。
例
ProtocolCmIncomingCallComplete 関数を定義するには、まず、定義する関数の種類を識別する関数宣言を指定する必要があります。 Windows には、ドライバー用の一連の関数型が用意されています。 関数の種類を使用して関数を宣言すると、ドライバー、静的ドライバー検証ツール (SDV)、およびその他の検証ツールのコード分析でエラーが検出され、Windows オペレーティング システムのドライバーを記述するための要件になります。たとえば、" MyCmIncomingCallComplete" という名前の ProtocolCmIncomingCallComplete 関数を定義するには、次のコード例に示すように 、PROTOCOL_CM_INCOMING_CALL_COMPLETE 型を使用します。
PROTOCOL_CM_INCOMING_CALL_COMPLETE MyCmIncomingCallComplete;
次に、次のように関数を実装します。
_Use_decl_annotations_
VOID
MyCmIncomingCallComplete(
NDIS_STATUS Status,
NDIS_HANDLE CallMgrVcContext,
PCO_CALL_PARAMETERS CallParameters
)
{...}
PROTOCOL_CM_INCOMING_CALL_COMPLETE関数の種類は、Ndis.h ヘッダー ファイルで定義されています。 コード分析ツールの実行時にエラーをより正確に識別するには、 Use_decl_annotations 注釈を関数定義に追加してください。 Use_decl_annotations注釈を使用すると、ヘッダー ファイル内のPROTOCOL_CM_INCOMING_CALL_COMPLETE関数型に適用される注釈が確実に使用されます。 関数宣言の要件の詳細については、「NDIS ドライバーの関数 ロール型を使用して関数を宣言する」を参照してください。
Use_decl_annotationsの詳細については、「関数の動作に注釈を付ける」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista の NDIS 6.0 および NDIS 5.1 ドライバー (「ProtocolCmIncomingCallComplete (NDIS 5.1)」を参照) でサポートされています。 Windows XP の NDIS 5.1 ドライバー (「ProtocolCmIncomingCallComplete (NDIS 5.1)」を参照) でサポートされています。 |
対象プラットフォーム | Windows |
ヘッダー | ndis.h (Ndis.h を含む) |
IRQL | <= DISPATCH_LEVEL |