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_CO_CALL_MANAGER_OPTIONAL_HANDLERS)에 대한 NDIS_OBJECT_HEADER 구조체입니다. Header가 NDIS_OBJECT_TYPE_CO_CALL_MANAGER_OPTIONAL_HANDLERS 지정하는 구조체의 Type 멤버, 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 함수가 성공적으로 작동하면 NDIS는 호출 관리자가 이전에 에 대해 지정한 진입점을 무시합니다. 의 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는 NDIS가 MCM 드라이버를 호출하여 VC(가상 연결)를 만들거나 삭제할 때마다 이러한 함수의 진입점을 무시합니다. 따라서 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 이상에서 지원됩니다. |
머리글 | ndis.h(Ndis.h 포함) |