NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS構造体 (ndis.h)
NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS構造体は、この構造体を に渡すドライバーの CoNDIS 呼び出しマネージャー ProtocolXxx 関数を指定します。 NdisSetOptionalHandlers 関数。
構文
typedef struct _NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS {
NDIS_OBJECT_HEADER Header;
ULONG Reserved;
CO_CREATE_VC_HANDLER CmCreateVcHandler;
CO_DELETE_VC_HANDLER CmDeleteVcHandler;
CM_OPEN_AF_HANDLER CmOpenAfHandler;
CM_CLOSE_AF_HANDLER CmCloseAfHandler;
CM_REG_SAP_HANDLER CmRegisterSapHandler;
CM_DEREG_SAP_HANDLER CmDeregisterSapHandler;
CM_MAKE_CALL_HANDLER CmMakeCallHandler;
CM_CLOSE_CALL_HANDLER CmCloseCallHandler;
CM_INCOMING_CALL_COMPLETE_HANDLER CmIncomingCallCompleteHandler;
CM_ADD_PARTY_HANDLER CmAddPartyHandler;
CM_DROP_PARTY_HANDLER CmDropPartyHandler;
CM_ACTIVATE_VC_COMPLETE_HANDLER CmActivateVcCompleteHandler;
CM_DEACTIVATE_VC_COMPLETE_HANDLER CmDeactivateVcCompleteHandler;
CM_MODIFY_CALL_QOS_HANDLER CmModifyCallQoSHandler;
CO_OID_REQUEST_HANDLER CmOidRequestHandler;
CO_OID_REQUEST_COMPLETE_HANDLER CmOidRequestCompleteHandler;
CM_NOTIFY_CLOSE_AF_COMPLETE_HANDLER CmNotifyCloseAfCompleteHandler;
} NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS, *PNDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS;
メンバー
Header
コールマネージャ CoNDIS 特性構造の NDIS_OBJECT_HEADER 構造 (NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS)。 Header が指定する構造体の Type メンバーをNDIS_OBJECT_TYPE_CO_CALL_MANAGER_OPTIONAL_HANDLERSに設定し、Revision メンバーを NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS_REVISION_1に、Size メンバーを NDIS_SIZEOF_CO_CALL_MANAGER_OPTIONAL_HANDLERS_REVISION_1に設定します。
Reserved
NDIS 用に予約されています。
CmCreateVcHandler
呼び出し元の ProtocolCoCreateVc 関数のエントリ ポイント。
CmDeleteVcHandler
呼び出し元の ProtocolCoDeleteVc 関数のエントリ ポイント。
CmOpenAfHandler
呼び出し元の ProtocolCmOpenAf 関数のエントリ ポイント。
CmCloseAfHandler
呼び出し元の ProtocolCmCloseAf 関数のエントリ ポイント。
CmRegisterSapHandler
呼び出し元のエントリ ポイント ProtocolCmRegisterSap 関数。
CmDeregisterSapHandler
呼び出し元のエントリ ポイント ProtocolCmDeregisterSap 関数。
CmMakeCallHandler
呼び出し元の ProtocolCmMakeCall 関数のエントリ ポイント。
CmCloseCallHandler
呼び出し元のエントリ ポイント ProtocolCmCloseCall 関数。
CmIncomingCallCompleteHandler
呼び出し元のエントリ ポイント ProtocolCmIncomingCallComplete 関数。
CmAddPartyHandler
呼び出し元の ProtocolCmAddParty 関数のエントリ ポイント。
CmDropPartyHandler
呼び出し元のエントリ ポイント ProtocolCmDropParty 関数。
CmActivateVcCompleteHandler
呼び出し元のエントリ ポイント ProtocolCmActivateVcComplete 関数。
CmDeactivateVcCompleteHandler
呼び出し元のエントリ ポイント ProtocolCmDeactivateVcComplete 関数。
CmModifyCallQoSHandler
呼び出し元のエントリ ポイント ProtocolCmModifyCallQoS 関数。
CmOidRequestHandler
呼び出し元のエントリ ポイント ProtocolCoOidRequest 関数。
CmOidRequestCompleteHandler
呼び出し元のエントリ ポイント ProtocolCoOidRequestComplete 関数。
CmNotifyCloseAfCompleteHandler
呼び出し元のエントリ ポイント ProtocolCmNotifyCloseAfComplete 関数。
注釈
エントリ ポイントを CoNDIS 呼び出しマネージャーとして指定するには、プロトコル ドライバーまたはミニポート呼び出しマネージャー (MCM) は、NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS構造体を初期化し、それを に渡します。 NdisSetOptionalHandlers 関数。
スタンドアロン呼び出しマネージャーの制約
スタンドアロン呼び出しマネージャーは 、ProtocolSetOptions 関数から NdisSetOptionalHandlersを 呼び出します。 呼び出しマネージャーは、呼び出しマネージャーが着信呼び出し、発信呼び出し、またはポイント対マルチポイント接続をサポートしていない場合でも、NdisSetOptionalHandlers を呼び出すときに、NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS構造体内のすべてのエントリ ポイントをドライバー提供の ProtocolXxx 関数に設定する必要があります。 このような呼び出しマネージャーがサポートしていない接続指向機能のサブセットについては、そのプレースホルダー ProtocolXxx 関数は単にNDIS_STATUS_NOT_SUPPORTEDを返す必要があります。スタンドアロンコールマネージャがコール NdisCmRegisterAddressFamilyEx 関数は正常に 、呼び出しマネージャーが以前にに指定したエントリ ポイントを無視します。 の ProtocolOidRequestComplete 関数 NDIS_PROTOCOL_DRIVER_CHARACTERISTICS に渡された構造体 NdisRegisterProtocolDriver 関数。
MCM 制約
MCM は、MiniportSetOptions 関数から NdisSetOptionalHandlers 関数を呼び出します。 MCM は、MCM が着信呼び出し、発信呼び出し、またはポイント対マルチポイント接続をサポートしていない場合でも、NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS構造体内のすべての CmXxx メンバーを MCM 提供の ProtocolXxx 関数に設定する必要があります。 このような MCM ドライバーがサポートしていない接続指向機能のサブセットについては、 ProtocolXxx 関数は単にNDIS_STATUS_NOT_SUPPORTEDを返す必要があります。 たとえば、NDIS は MCM ドライバーの登録を呼び出すことはありません ProtocolCmActivateVcComplete または ProtocolCmDeactivateVcComplete 関数を使用すると、これらの関数はNDIS_STATUS_NOT_SUPPORTEDを返すことができますが、NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS構造体にエントリ ポイントが必要です。MCM ドライバーは、 ProtocolCoCreateVc 関数と ProtocolCoDeleteVc 関数のエントリ ポイント を指定する 必要があります。 MCM が以前に MiniportCoCreateVc または MiniportCoDeleteVc 関数を登録した場合。 NDIS は、仮想接続 (VC) を作成または削除する MCM ドライバーを呼び出すたびに、これらの関数のエントリ ポイントを無視します。 そのため、NDIS は、MCM 以外のミニポート ドライバーの MiniportCoCreateVc または MiniportCoDeleteVc 関数に渡される MiniportAdapterContext 値ではなく、MCM 提供の ProtocolCoCreateVc または ProtocolCoDeleteVc 関数に初期パラメーターの NdisAfHandle 値を渡します。
MCM ドライバーは、NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERSの CmOidRequestHandler メンバーを その MiniportCoOidRequest 関数に設定できません。 ドライバーは、 ProtocolCoOidRequest 関数の別のエントリ ポイントを提供する必要があります。 MCM ドライバーには、CoNDIS クライアントからの呼び出しマネージャー要求を処理するための ProtocolCoOidRequest 関数が必要です。 ProtocolCoOidRequestComplete 関数。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 6.0 以降でサポートされています。 |
Header | ndis.h (Ndis.h を含む) |