NdisClRegisterSap 関数 (ndis.h)
NdisClRegisterSap は、クライアントがリモート ノードからの着信呼び出しを受信できる SAP を登録します。
構文
NDIS_STATUS NdisClRegisterSap(
[in] NDIS_HANDLE NdisAfHandle,
[in] NDIS_HANDLE ProtocolSapContext,
[in] PCO_SAP Sap,
[out] PNDIS_HANDLE NdisSapHandle
);
パラメーター
[in] NdisAfHandle
NDISClOpenAddressFamilyEx によって返されるハンドルを指定します。これは、SAP を登録する呼び出しマネージャーを暗黙的に識別します。
[in] ProtocolSapContext
開いた後にクライアントがこの SAP の状態を維持する、呼び出し元が指定した常駐コンテキスト領域へのハンドルを指定します。 NDIS は、 NdisClRegisterSap への呼び出しが成功した場合、この SAP に関する後続のすべての呼び出しで、このハンドルをクライアントに渡します。
[in] Sap
CO_SAP 型の構造体として書式設定された、開く SAP のクライアント提供の仕様へのポインター。
[out] NdisSapHandle
この呼び出しが成功した場合に、新しく登録された SAP へのハンドルが返される変数へのポインター。
戻り値
NdisClRegisterSap がNDIS_STATUS_PENDING以外のものを返す場合、クライアントは、 の内部呼び出しを行う必要があります。 ProtocolClRegisterSapComplete 関数。 それ以外の場合、NDIS は、この操作が完了したときにクライアントの ProtocolClRegisterSapComplete 関数を呼び出します。
注釈
NdisClRegisterSap を呼び出すと、クライアントは特定の SAP での着信呼び出しの通知を要求します。 NDIS は、指定された SAP 情報を、検証のために呼び出しマネージャーの ProtocolCmRegisterSap 関数に転送します。 指定された SAP が既に使用されている場合、または呼び出しマネージャーが Sap でクライアント指定の仕様を認識しない場合、呼び出しマネージャーはこの要求を失敗します。
SAP 形式は中程度に依存し、通話マネージャーによってサポートされるアドレス ファミリに固有です。このアドレス ファミリは、登録された SAP を使用して、その後、着信呼び出しを適切なクライアントにルーティングします。 通話マネージャーは、基になるメディアに応じて、他のネットワーク コンポーネントに接続することなく、確立された PVC の SAP を登録できます。
NdisClRegisterSap の呼び出しが成功した場合、クライアントは NdisSapHandle で返されたハンドルを保存する必要があります。これは、NdisClDeregisterSap に必要なパラメーターであるためです。 NdisClRegisterSap の呼び出し元は通常、ProtocolSapContext のクライアント割り当て状態領域の変数へのポインターを渡して、この呼び出しが成功した場合に NDIS が NdisSapHandle に設定できるようにします。 NDIS は、クライアントが NdisClDeregisterSap を呼び出すまで、この SAP に関する後続のすべての呼び出しで、指定された ProtocolSapContext をクライアントの登録済み ProtocolCl/CoXxx 関数に渡します。
通常、クライアントは NdisClOpenAddressFamilyEx への正常な呼び出しに続いて、ProtocolAfRegisterNotify 関数から NdisClRegisterSap を呼び出します。 1 つ以上の SAP を登録すると、クライアントは、呼び出しマネージャーがネットワーク経由でそれらを受信するとすぐに着信呼び出しを受信できます。
クライアントによって開始される発信呼び出しとは対照的に、クライアントは NdisClRegisterSap を呼び出す前に NdisCoCreateVc を呼び出しません。 着信呼び出しの場合、呼び出しマネージャーは次のように VC の作成を開始します。
- 登録されている SAP で着信呼び出しを受信すると、呼び出しマネージャーは最初に NdisCoCreateVc を呼び出し、NDIS はクライアントの ProtocolCoCreateVc 関数を呼び出します。
- VC を設定してアクティブ化すると、呼び出しマネージャーは NdisCmDispatchIncomingCall を呼び出し、NDIS はクライアントの を呼び出します。 ProtocolClIncomingCall 関数。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista の NDIS 6.0 ドライバーと NDIS 5.1 ドライバー (NdisClRegisterSap (NDIS 5.1) を参照) でサポートされています。 Windows XP での NDIS 5.1 ドライバー (「NdisClRegisterSap (NDIS 5.1)」を参照) でサポートされています。 |
対象プラットフォーム | デスクトップ |
Header | ndis.h (Ndis.h を含む) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI コンプライアンス規則 | Irql_Protocol_Driver_Function(ndis) |