Freigeben über


PROTOCOL_CM_ACTIVATE_VC_COMPLETE Rückruffunktion (ndis.h)

Die ProtocolCmActivateVcComplete--Funktion ist erforderlich. Diese Funktion gibt dem Anrufmanager an, dass ein vorheriger Aufruf von NdisCoActivateVc vom Miniporttreiber abgeschlossen wurde.

Hinweis Sie müssen die Funktion mithilfe des PROTOCOL_CM_ACTIVATE_VC_COMPLETE Typs deklarieren. Weitere Informationen finden Sie im folgenden Abschnitt "Beispiele".
 

Syntax

PROTOCOL_CM_ACTIVATE_VC_COMPLETE ProtocolCmActivateVcComplete;

VOID ProtocolCmActivateVcComplete(
  [in] NDIS_STATUS Status,
  [in] NDIS_HANDLE CallMgrVcContext,
  [in] PCO_CALL_PARAMETERS CallParameters
)
{...}

Parameter

[in] Status

Gibt den endgültigen Status an, wie vom Miniporttreiber angegeben, der Anforderung durch den Anrufmanager, eine VC zu aktivieren.

[in] CallMgrVcContext

Gibt das Handle für einen kontextbezogenen Kontextbereich eines Anrufmanagers an, in dem der Anrufmanager den Status pro VC verwaltet. Der Aufruf-Manager hat dieses Handle von der ProtocolCoCreateVc--Funktion bereitgestellt.

[in] CallParameters

Zeiger auf die Aufrufparameter, wie vom Anrufmanager in einem Aufruf von NdisCmActivateVcangegeben.

Rückgabewert

Nichts

Bemerkungen

Wenn andere Netzwerkkomponenten ihre Vorgänge zum Aktivieren einer virtuellen Verbindung abgeschlossen haben, initiiert, wenn der Anruf-Manager NdisCmActivateVcaufgerufen wird, benachrichtigt NDIS den Anruf-Manager, dass der VC aktiviert wurde, indem er seine ProtocolCmActivateVcComplete-Funktion aufruft. Der Status der Aktivierung befindet sich in Status . Mögliche Werte für Status enthalten, sind jedoch nicht beschränkt auf:

ProtocolCmActivateVcComplete- muss den in Status zurückgegebenen Status überprüfen, um sicherzustellen, dass die virtuelle Verbindung erfolgreich aktiviert wurde. Der Anrufmanager darf nicht versuchen, über die virtuelle Verbindung zu kommunizieren, wenn Status- nicht NDIS_STATUS_SUCCESS ist.

Anrufmanager müssen alle Verarbeitungen durchführen, die von ihren Netzwerkmedien benötigt werden, um sicherzustellen, dass die virtuelle Verbindung für die Datenübertragung bereit ist, bevor die Kontrolle an NDIS zurückgegeben wird.

Wenn der Anrufmanager entweder ROUND_UP_FLOW oder ROUND_DOWN_FLOW in der CallParameters- angegeben hat –>
MediaParameters->Flagskönnen die in CallParameters zurückgegebenen Aufrufparameter vom Miniporttreiber geändert werden. Anrufmanager sollten die Rückrufparameter untersuchen, die zurückgegeben wurden, um den ordnungsgemäßen Betrieb sicherzustellen. Wenn die neuen Aufrufparameter nicht zufriedenstellend sind, sollte der Anruf-Manager entweder NdisCmActivateVc erneut mit neuen Aufrufparametern aufrufen oder die VC mit NdisCmDeactivateVcdeaktivieren.

beispiele für

Um eine ProtocolCmActivateVcComplete--Funktion zu definieren, müssen Sie zuerst eine Funktionsdeklaration bereitstellen, die den Typ der Funktion identifiziert, die Sie definieren. Windows stellt eine Reihe von Funktionstypen für Treiber bereit. Durch das Deklarieren einer Funktion mithilfe der Funktionstypen können Codeanalyse für Treiber, statische Treiberüberprüfung (SDV) und andere Überprüfungstools Fehler finden, und es ist eine Anforderung zum Schreiben von Treibern für das Windows-Betriebssystem.

Um beispielsweise eine ProtocolCmActivateVcComplete--Funktion zu definieren, die den Namen "MyCmActivateVcComplete" hat, verwenden Sie den PROTOCOL_CM_ACTIVATE_VC_COMPLETE Typ, wie in diesem Codebeispiel gezeigt:

PROTOCOL_CM_ACTIVATE_VC_COMPLETE MyCmActivateVcComplete;

Implementieren Sie dann Ihre Funktion wie folgt:

_Use_decl_annotations_
VOID
 MyCmActivateVcComplete(
    NDIS_STATUS  Status,
    NDIS_HANDLE  CallMgrVcContext,
    PCO_CALL_PARAMETERS  CallParameters
    )
  {...}

Der PROTOCOL_CM_ACTIVATE_VC_COMPLETE Funktionstyp wird in der Ndis.h-Headerdatei definiert. Um Fehler genauer zu identifizieren, wenn Sie die Codeanalysetools ausführen, müssen Sie der Funktionsdefinition die Use_decl_annotations Anmerkung hinzufügen. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen, die auf den Funktionstyp PROTOCOL_CM_ACTIVATE_VC_COMPLETE in der Headerdatei angewendet werden, verwendet werden. Weitere Informationen zu den Anforderungen für Funktionsdeklarationen finden Sie unter Deklarieren von Funktionen mithilfe von Funktionsrollentypen für NDIS-Treiber.

Informationen zu Use_decl_annotationsfinden Sie unter Annotating Function Behavior.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt für NDIS 6.0- und NDIS 5.1-Treiber (siehe ProtocolCmActivateVcComplete (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe ProtocolCmActivateVcComplete (NDIS 5.1)) in Windows XP.
Zielplattform- Fenster
Header- ndis.h (include Ndis.h)
IRQL- <= DISPATCH_LEVEL
DDI-Complianceregeln SpinLockBalanced(ndis), SpinLockDpr(ndis)

Siehe auch

NdisCmActivateVc-

NdisCmDeactivateVc

ProtocolCmMakeCall-