NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS-Struktur (ndis.h)
Die NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS-Struktur gibt Die CoNDIS-Aufruf-Manager-ProtokollXxx-Funktionen für den Treiber an, der diese Struktur an die NdisSetOptionalHandlers-Funktion .
Syntax
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;
Member
Header
Die NDIS_OBJECT_HEADER-Struktur für die CoNDIS-Eigenschaftenstruktur des Aufrufmanagers (NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS). Legen Sie den Typmember der Struktur, die Header angibt, auf NDIS_OBJECT_TYPE_CO_CALL_MANAGER_OPTIONAL_HANDLERS, den Revisionsmember auf NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS_REVISION_1 und den Size-Member auf NDIS_SIZEOF_CO_CALL_MANAGER_OPTIONAL_HANDLERS_REVISION_1 fest.
Reserved
Reserviert für NDIS.
CmCreateVcHandler
Der Einstiegspunkt der ProtocolCoCreateVc-Funktion des Aufrufers.
CmDeleteVcHandler
Der Einstiegspunkt der ProtocolCoDeleteVc-Funktion des Aufrufers.
CmOpenAfHandler
Der Einstiegspunkt der ProtocolCmOpenAf-Funktion des Aufrufers.
CmCloseAfHandler
Der Einstiegspunkt der ProtocolCmCloseAf-Funktion des Aufrufers.
CmRegisterSapHandler
Der Einstiegspunkt des Aufrufers ProtocolCmRegisterSap-Funktion .
CmDeregisterSapHandler
Der Einstiegspunkt des Aufrufers ProtocolCmDeregisterSap-Funktion .
CmMakeCallHandler
Der Einstiegspunkt der ProtocolCmMakeCall-Funktion des Aufrufers.
CmCloseCallHandler
Der Einstiegspunkt des Aufrufers ProtocolCmCloseCall-Funktion .
CmIncomingCallCompleteHandler
Der Einstiegspunkt des Aufrufers ProtocolCmIncomingCallComplete-Funktion .
CmAddPartyHandler
Der Einstiegspunkt der ProtocolCmAddParty-Funktion des Aufrufers.
CmDropPartyHandler
Der Einstiegspunkt des Aufrufers ProtocolCmDropParty-Funktion .
CmActivateVcCompleteHandler
Der Einstiegspunkt des Aufrufers ProtocolCmActivateVcComplete-Funktion .
CmDeactivateVcCompleteHandler
Der Einstiegspunkt des Aufrufers ProtocolCmDeactivateVcComplete-Funktion .
CmModifyCallQoSHandler
Der Einstiegspunkt des Aufrufers ProtocolCmModifyCallQoS-Funktion .
CmOidRequestHandler
Der Einstiegspunkt des Aufrufers ProtocolCoOidRequest-Funktion .
CmOidRequestCompleteHandler
Der Einstiegspunkt des Aufrufers ProtocolCoOidRequestComplete-Funktion .
CmNotifyCloseAfCompleteHandler
Der Einstiegspunkt des Aufrufers ProtocolCmNotifyCloseAfComplete-Funktion .
Hinweise
Um Einstiegspunkte als CoNDIS-Anruf-Manager anzugeben, initialisiert ein Protokolltreiber oder Miniport-Anruf-Manager (MCM) eine NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS-Struktur und übergibt sie an die NdisSetOptionalHandlers-Funktion .
Eigenständige Aufruf-Manager-Einschränkungen
Ein eigenständiger Aufruf-Manager ruft NdisSetOptionalHandlers über die ProtocolSetOptions-Funktion auf. Der Aufruf-Manager muss jeden Einstiegspunkt in der NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS-Struktur auf eine vom Treiber bereitgestellte ProtocolXxx-Funktion festlegen, wenn er NdisSetOptionalHandlers aufruft, auch wenn der Anruf-Manager keine eingehenden Anrufe, ausgehenden Anrufe oder Point-to-Multipoint-Verbindungen unterstützt. Für jede Teilmenge verbindungsorientierter Funktionen, die ein solcher Aufruf-Manager nicht unterstützt, sollten seine Platzhalterfunktionen ProtocolXxx einfach NDIS_STATUS_NOT_SUPPORTED zurückgeben.Nachdem ein eigenständiger Anrufmanager die NdisCmRegisterAddressFamilyEx-Funktion erfolgreich, NDIS ignoriert jeden Einstiegspunkt, den der Aufruf-Manager zuvor für die ProtocolOidRequestComplete-Funktion des NDIS_PROTOCOL_DRIVER_CHARACTERISTICS Struktur, die an den übergeben wurde NdisRegisterProtocolDriver-Funktion .
MCM-Einschränkungen
Ein MCM ruft die NdisSetOptionalHandlers-Funktion aus der MiniportSetOptions-Funktion auf. Der MCM muss jedes CmXxx-Element in der NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS-Struktur auf eine von MCM bereitgestellte ProtocolXxx-Funktion festlegen, auch wenn der MCM keine eingehenden Aufrufe, ausgehenden Anrufe oder Point-to-Multipoint-Verbindungen unterstützt. Für jede Teilmenge verbindungsorientierter Funktionen, die ein solcher MCM-Treiber nicht unterstützt, sollten seine ProtocolXxx-Funktionen einfach NDIS_STATUS_NOT_SUPPORTED zurückgeben. Beispielsweise ruft NDIS nie den registrierten MCM-Treiber auf. ProtocolCmActivateVcComplete oder ProtocolCmDeactivateVcComplete-Funktion , sodass diese Funktionen NDIS_STATUS_NOT_SUPPORTED zurückgeben können, aber über Einstiegspunkte in der NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS-Struktur verfügen müssen.Ein MCM-Treiber muss Einstiegspunkte für die Funktionen ProtocolCoCreateVc und ProtocolCoDeleteVc angeben. Wenn der MCM zuvor eine MiniportCoCreateVc - oder MiniportCoDeleteVc-Funktion registriert hat. NDIS ignoriert die Einstiegspunkte für diese Funktionen, wenn NDIS den MCM-Treiber aufruft, um eine virtuelle Verbindung (Virtual Connection, VC) zu erstellen oder zu löschen. Daher übergibt NDIS einen NdisAfHandle-Wert für den anfänglichen Parameter an die von MCM bereitgestellte ProtocolCoCreateVc - oder ProtocolCoDeleteVc-Funktion anstelle des MiniportAdapterContext-Werts , den es an die MiniportCoCreateVc - oder MiniportCoDeleteVc-Funktion eines Nicht-MCM-Miniporttreibers übergeben würde.
Ein MCM-Treiber kann den CmOidRequestHandler-Member von NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS nicht auf seine MiniportCoOidRequest-Funktion festlegen. Der Treiber muss einen separaten Einstiegspunkt für eine ProtocolCoOidRequest-Funktion bereitstellen. Ein MCM-Treiber muss über eine ProtocolCoOidRequest-Funktion verfügen, um Aufruf-Manager-Anforderungen von CoNDIS-Clients verarbeiten zu können, und muss über eine ProtocolCoOidRequestComplete-Funktion .
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt in NDIS 6.0 und höher. |
Kopfzeile | ndis.h (include Ndis.h) |