Freigeben über


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)

Siehe auch

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-