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 指定要NDIS_OBJECT_TYPE_CO_CALL_MANAGER_OPTIONAL_HANDLERS之結構的 Type 成員、要NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS_REVISION_1的 Revision 成員,以及要NDIS_SIZEOF_CO_CALL_MANAGER_OPTIONAL_HANDLERS_REVISION_1的 Size 成員。
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 函式成功,NDIS 會忽略先前為 呼叫管理員指定的任何進入點 的 ProtocolOidRequestComplete 函式 NDIS_PROTOCOL_DRIVER_CHARACTERISTICS 傳遞至的結構 NdisRegisterProtocolDriver 函 式。
MCM 條件約束
MCM 會從 MiniportSetOptions 函式呼叫 NdisSetOptionalHandlers 函式。 MCM 必須將NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS結構中的每個 CmXxx 成員設定為 MCM 提供的 ProtocolXxx 函式,即使 MCM 不支援來電、傳出呼叫或點對多點連線也一樣。 對於這類 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 呼叫 MCM 驅動程式來建立或刪除虛擬連線時,NDIS 會忽略這些函式的進入點, (VC) 。 因此,NDIS 會將初始參數的 NdisAfHandle 值傳遞給非 MCM 迷你埠驅動程式的 MCM 提供的 ProtocolCoCreateVc 或 ProtocolCoDeleteVc 函式,而不是傳遞至 MiniportCoCreateVc 或 MiniportCoDeleteVc 函式的 MiniportAdapterContext 值。
MCM 驅動程式無法將 NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS 的 CmOidRequestHandler 成員設定為其 MiniportCoOidRequest 函式。 驅動程式必須為 ProtocolCoOidRequest 函式提供個別的進入點。 MCM 驅動程式必須具有 ProtocolCoOidRequest 函式,才能處理來自 CoNDIS 用戶端的呼叫管理員要求,而且必須具有 ProtocolCoOidRequestComplete 函式 。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.0 和更新版本支援。 |
標頭 | ndis.h (包含 Ndis.h) |