NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS Struktur (ndis.h)
Die NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS-Struktur gibt den CoNDIS-Aufruf-Manager ProtocolXxx--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;
Angehörige
Header
Die NDIS_OBJECT_HEADER Struktur für die CoNDIS-Eigenschaftenstruktur des Anrufmanagers (NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS). Legen Sie das element Type der Struktur fest, das Header- angibt, NDIS_OBJECT_TYPE_CO_CALL_MANAGER_OPTIONAL_HANDLERS, das element Revision auf NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS_REVISION_1 und das Size Member auf NDIS_SIZEOF_CO_CALL_MANAGER_OPTIONAL_HANDLERS_REVISION_1.
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 Anrufers ProtocolCmRegisterSap--Funktion.
CmDeregisterSapHandler
Der Einstiegspunkt des Anrufers ProtocolCmDeregisterSap--Funktion.
CmMakeCallHandler
Der Einstiegspunkt der ProtocolCmMakeCall--Funktion des Aufrufers.
CmCloseCallHandler
Der Einstiegspunkt des Anrufers ProtocolCmCloseCall-Funktion.
CmIncomingCallCompleteHandler
Der Einstiegspunkt des Anrufers ProtocolCmIncomingCallComplete-Funktion.
CmAddPartyHandler
Der Einstiegspunkt der ProtocolCmAddParty-Funktion des Aufrufers.
CmDropPartyHandler
Der Einstiegspunkt des Anrufers ProtocolCmDropParty--Funktion.
CmActivateVcCompleteHandler
Der Einstiegspunkt des Anrufers ProtocolCmActivateVcComplete-Funktion.
CmDeactivateVcCompleteHandler
Der Einstiegspunkt des Anrufers ProtocolCmDeactivateVcComplete Funktion.
CmModifyCallQoSHandler
Der Einstiegspunkt des Anrufers ProtocolCmModifyCallQoS--Funktion.
CmOidRequestHandler
Der Einstiegspunkt des Anrufers ProtocolCoOidRequest Funktion.
CmOidRequestCompleteHandler
Der Einstiegspunkt des Anrufers ProtocolCoOidRequestComplete Funktion.
CmNotifyCloseAfCompleteHandler
Der Einstiegspunkt des Anrufers ProtocolCmNotifyCloseAfComplete Funktion.
Bemerkungen
Um Einstiegspunkte als CoNDIS-Anrufmanager 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 Anruf-Manager-Einschränkungen
Ein eigenständiger Aufruf-Manager ruft NdisSetOptionalHandlers aus der ProtocolSetOptions--Funktion auf. Der Anruf-Manager muss jeden Einstiegspunkt in der NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS-Struktur auf eine vom Treiber bereitgestellte ProtocolXxx--Funktion festlegen, wenn er NdisSetOptionalHandlersaufruft, auch wenn der Anrufmanager eingehende Anrufe, ausgehende Anrufe oder Punkt-zu-Multipoint-Verbindungen nicht unterstützt. Für jede Teilmenge verbindungsorientierter Funktionen, die ein solcher Aufruf-Manager nicht unterstützt, sollte der Platzhalter ProtocolXxx--Funktionen einfach NDIS_STATUS_NOT_SUPPORTED zurückgeben.Nachdem ein eigenständiger Anrufmanager die NdisCmRegisterAddressFamilyEx--Funktion ignoriert NDIS jeden Einstiegspunkt, den der Anruf-Manager zuvor für den ProtocolOidRequestComplete Funktion der NDIS_PROTOCOL_DRIVER_CHARACTERISTICS Struktur, die sie an die NdisRegisterProtocolDriver Funktion.
MCM-Einschränkungen
Ein MCM ruft die NdisSetOptionalHandlers Funktion aus der MiniportSetOptions--Funktion auf. Der MCM muss jedes CmXxx Member in der NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS-Struktur auf eine von MCM bereitgestellte ProtocolXxx--Funktion festlegen, auch wenn der MCM eingehende Anrufe, ausgehende Anrufe oder Point-to-Multipoint-Verbindungen nicht unterstützt. Für jede Teilmenge verbindungsorientierter Funktionen, die ein solcher MCM-Treiber nicht unterstützt, sollten die ProtocolXxx--Funktionen einfach NDIS_STATUS_NOT_SUPPORTED zurückgeben. Beispielsweise ruft NDIS nie einen registrierten MCM-Treiber auf. ProtocolCmActivateVcComplete- oder ProtocolCmDeactivateVcComplete--Funktion, sodass diese Funktionen NDIS_STATUS_NOT_SUPPORTED zurückgeben können, jedoch Einstiegspunkte in der NDIS_CO_CALL_MANAGER_OPTIONAL_HANDLERS-Struktur aufweisen 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 ursprünglichen Parameter an die vom MCM bereitgestellte ProtocolCoCreateVc- oder ProtocolCoDeleteVc--Funktion, anstelle des MiniportAdapterContext- Werts, den er 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 Anruf-Manager-Anforderungen von CoNDIS-Clients zu verarbeiten und über eine ProtocolCoOidRequestComplete Funktion.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Unterstützt in NDIS 6.0 und höher. |
Header- | ndis.h (include Ndis.h) |