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 mit dem typ PROTOCOL_CM_ACTIVATE_VC_COMPLETE 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 die endgültige status, wie vom Miniporttreiber angegeben, der Anforderung durch den Anruf-Manager zum Aktivieren eines Nachweises an.

[in] CallMgrVcContext

Gibt das Handle für einen vom Anruf-Manager zugeordneten Kontextbereich an, in dem der Anruf-Manager seinen Status pro Vc verwaltet. Der Aufruf-Manager hat dieses Handle über seine ProtocolCoCreateVc-Funktion bereitgestellt.

[in] CallParameters

Zeiger auf die Aufrufparameter, wie vom Anruf-Manager in einem Aufruf von NdisCmActivateVc angegeben.

Rückgabewert

Keine

Bemerkungen

Wenn andere Netzwerkkomponenten ihre Vorgänge zum Aktivieren einer virtuellen Verbindung abgeschlossen haben, die beim Aufruf-Manager mit dem Namen NdisCmActivateVc initiiert wurden, benachrichtigt NDIS den Aufruf-Manager, dass der Nachweis aktiviert wurde, indem seine ProtocolCmActivateVcComplete-Funktion aufgerufen wird. Die status der Aktivierung finden Sie unter Status . Mögliche Werte für Status umfassen, sind jedoch nicht beschränkt auf:

ProtocolCmActivateVcComplete muss die unter Status zurückgegebene status überprüfen, um sicherzustellen, dass die virtuelle Verbindung erfolgreich aktiviert wurde. Der Anruf-Manager darf nicht versuchen, über die virtuelle Verbindung zu kommunizieren, wenn Status nicht NDIS_STATUS_SUCCESS ist.

Anrufmanager müssen alle für ihre Netzwerkmedien erforderlichen Verarbeitungen durchführen, um sicherzustellen, dass die virtuelle Verbindung für die Datenübertragung bereit ist, bevor die Steuerung an NDIS zurückgegeben wird.

Wenn der Anruf-Manager entweder ROUND_UP_FLOW oder ROUND_DOWN_FLOW in den CallParameters angegeben hat:>
MediaParameters:>Flags: Die in CallParameters zurückgegebenen Aufrufparameter können vom Miniporttreiber geändert werden. Anruf-Manager sollten die zurückgegebenen Aufrufparameter untersuchen, um einen ordnungsgemäßen Betrieb sicherzustellen. Wenn die neuen Aufrufparameter nicht zufriedenstellend sind, sollte der Aufruf-Manager entweder NdisCmActivateVc mit neuen Aufrufparametern erneut aufrufen oder den Vc mit NdisCmDeactivateVc deaktivieren.

Beispiele

Um eine ProtocolCmActivateVcComplete-Funktion zu definieren, müssen Sie zunächst eine Funktionsdeklaration bereitstellen, die den Typ der funktion identifiziert, die Sie definieren. Windows bietet eine Reihe von Funktionstypen für Treiber. Das Deklarieren einer Funktion mithilfe der Funktionstypen hilft der Codeanalyse für Treiber, der statischen Treiberüberprüfung (Static Driver Verifier , SDV) und anderen Überprüfungstools, Fehler zu finden, und es ist eine Voraussetzung für das Schreiben von Treibern für das Windows-Betriebssystem.

Um beispielsweise eine ProtocolCmActivateVcComplete-Funktion mit dem Namen "MyCmActivateVcComplete" zu definieren, verwenden Sie den typ PROTOCOL_CM_ACTIVATE_VC_COMPLETE , 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 ist in der Ndis.h-Headerdatei definiert. Um Fehler beim Ausführen der Codeanalysetools genauer zu identifizieren, müssen Sie der Funktionsdefinition die anmerkung Use_decl_annotations hinzufügen. Die Use_decl_annotations-Anmerkung stellt sicher, dass die Anmerkungen verwendet werden, die auf den PROTOCOL_CM_ACTIVATE_VC_COMPLETE Funktionstyp in der Headerdatei angewendet 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_annotations finden Sie unter Verhalten von Funktionen mit Anmerkungen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (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 Windows
Kopfzeile ndis.h (include Ndis.h)
IRQL <= DISPATCH_LEVEL
DDI-Complianceregeln SpinLockBalanced(ndis), SpinLockDpr(ndis)

Weitere Informationen

NdisCmActivateVc

NdisCmDeactivateVc

ProtocolCmMakeCall