Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die MiniportCoCreateVc Funktion ist für verbindungsorientierte Miniports erforderlich. MiniportCoCreateVc- wird von NDIS aufgerufen, um dem Miniporttreiber anzugeben, dass eine neue VC erstellt wird.
Syntax
MINIPORT_CO_CREATE_VC MiniportCoCreateVc;
NDIS_STATUS MiniportCoCreateVc(
[in] NDIS_HANDLE MiniportAdapterContext,
[in] NDIS_HANDLE NdisVcHandle,
[out] PNDIS_HANDLE MiniportVcContext
)
{...}
Parameter
[in] MiniportAdapterContext
Gibt das Handle für einen kontextbezogenen Miniporttreiberbereich an, in dem der Miniporttreiber Zustandsinformationen zu dieser Instanz des Adapters verwaltet. Der Miniporttreiber hat diesen Handle durch Aufrufen von NDIS bereitgestellt. von NdisMSetMiniportAttributes MiniportInitializeEx Funktion.
[in] NdisVcHandle
Gibt ein Handle an, das von NDIS bereitgestellt wird, das das erstellte VC eindeutig identifiziert. Dieses Handle ist für den Miniporttreiber undurchsichtig und für die Verwendung der NDIS-Bibliothek reserviert.
[out] MiniportVcContext
Gibt bei der Ausgabe einen Handle für einen vom Miniport-Treiber bereitgestellten Kontextbereich an, in dem der Miniporttreiber den Zustand über die VC verwaltet.
Rückgabewert
| Rückgabecode | Beschreibung |
|---|---|
|
Gibt an, dass der Miniporttreiber alle erforderlichen Ressourcen erfolgreich zugeordnet und sich für die Verarbeitung von Anforderungen für die neu erstellte VC vorbereitet hat. |
|
Gibt an, dass der Anrufmanager keine dynamisch zugeordneten Ressourcen abrufen konnte, die für die Ausführung auf dem neuen VC erforderlich sind. |
Bemerkungen
MiniportCoCreateVc- muss als synchrone Funktion geschrieben werden und kann unter keinen Umständen NDIS_STATUS_PENDING zurückgeben, ohne einen systemweiten Fehler zu verursachen.
MiniportCoCreateVc weist alle erforderlichen Ressourcen zu, die der Miniporttreiber benötigt, um Zustandsinformationen über die VC zu verwalten. Die Ressourcen können enthalten, sind jedoch nicht auf Speicherpuffer, Ereignisse, Datenstrukturen und andere ähnliche Ressourcen beschränkt.
Nach der Zuordnung aller erforderlichen Ressourcen sollte der Miniporttreiber die Ressourcen in einen verwendbaren Zustand initialisieren und einen Zeiger in den Zustandsbereich in MiniportVcContextzurückgeben. Das Handle wird festgelegt, indem der Handle abgeleitet und ein Zeiger auf den Zustandspuffer als Wert des Handles gespeichert wird. Zum Beispiel:
*MiniportVcContext = SomeBuffer;
Miniport-Treiber müssen den Handle auf dem VC speichern, NdisVcHandlein ihrem Zustandsbereich, da es ein erforderlicher Parameter für andere NDIS-Bibliotheksroutinen ist, die anschließend vom Miniporttreiber aufgerufen werden.
beispiele für
Um eine MiniportCoCreateVc--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 MiniportCoCreateVc--Funktion zu definieren, die den Namen "MyCoCreateVc" hat, verwenden Sie den MINIPORT_CO_CREATE_VC Typ, wie in diesem Codebeispiel gezeigt:
MINIPORT_CO_CREATE_VC MyCoCreateVc;
Implementieren Sie dann Ihre Funktion wie folgt:
_Use_decl_annotations_
NDIS_STATUS
MyCoCreateVc(
NDIS_HANDLE MiniportAdapterContext,
NDIS_HANDLE NdisVcHandle,
PNDIS_HANDLE MiniportVcContext
)
{...}
Der MINIPORT_CO_CREATE_VC 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 MINIPORT_CO_CREATE_VC 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 MiniportCoCreateVc (NDIS 5.1)) in Windows Vista. Unterstützt für NDIS 5.1-Treiber (siehe MiniportCoCreateVc (NDIS 5.1)) in Windows XP. |
| Zielplattform- | Fenster |
| Header- | ndis.h (include Ndis.h) |
| IRQL- | <= DISPATCH_LEVEL |