次の方法で共有


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 を含む)

こちらもご覧ください

MiniportCoCreateVc

MiniportCoDeleteVc

MiniportCoOidRequest

MiniportSetOptions

NDIS_OBJECT_HEADER

NDIS_PROTOCOL_DRIVER_CHARACTERISTICS NdisCmRegisterAddressFamilyEx

NdisRegisterProtocolDriver

NdisSetOptionalHandlers

ProtocolCmActivateVcComplete

ProtocolCmAddParty

ProtocolCmCloseAf

ProtocolCmCloseCall

ProtocolCmDeactivateVcComplete

ProtocolCmDeregisterSap

ProtocolCmDropParty

ProtocolCmIncomingCallComplete

ProtocolCmMakeCall

ProtocolCmModifyCallQoS

ProtocolCmOpenAf

ProtocolCmRegisterSap

ProtocolOidRequestComplete

ProtocolSetOptions