Freigeben über


NdisMWriteConfigBlock-Funktion (ndis.h)

Ein Miniporttreiber für eine virtuelle PCI Express-Funktion (PCIe) ruft die NdisMWriteConfigBlock--Funktion auf, um Daten in einen VF-Konfigurationsblock zu schreiben. Schreibvorgänge für einen VF-Konfigurationsblock werden vom Miniporttreiber der PCIe Physical Function (PF) des Netzwerkadapters behandelt.

HinweisNdisMWriteConfigBlock- darf nur vom Miniporttreiber für den VF eines Netzwerkadapters aufgerufen werden.
 

Syntax

NDIS_STATUS NdisMWriteConfigBlock(
  [in] NDIS_HANDLE NdisMiniportHandle,
  [in] ULONG       BlockId,
  [in] PVOID       Buffer,
  [in] ULONG       Length
);

Parameter

[in] NdisMiniportHandle

Das Netzwerkadapterhandle, das NDIS an den MiniportAdapterHandle Parameter von MiniportInitializeExübergeben hat.

[in] BlockId

Ein ULONG-Wert, der den Bezeichner des zu schreibenden Konfigurationsblocks angibt. Dieser Bezeichner ist eigentum an den unabhängigen Hardwareanbieter (IHV) und wird nur von den Miniporttreibern für pf und VF auf dem Netzwerkadapter verwendet.

[in] Buffer

Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der die zu schreibenden Konfigurationsdaten enthält.

[in] Length

Die Anzahl der Bytes, die in den Konfigurationsblock geschrieben werden sollen.

Rückgabewert

NdisMWriteConfigBlock- kann einen der folgenden Statuswerte zurückgeben.

Rückgabecode Beschreibung
NDIS_STATUS_SUCCESS
Der Schreibvorgang wurde erfolgreich abgeschlossen.
NDIS_STATUS_FAILURE
Fehler beim Schreibvorgang.

Bemerkungen

Der VF Miniport-Treiber ruft NdisMWriteConfigBlock- auf, um eine Backchannel-Schreibanforderung für VF-Konfigurationsdaten vom PF-Miniport-Treiber zu initiieren. Nach der Benachrichtigung über diese Anforderung schreibt der PF-Treiber die Daten in den angegebenen VF-Konfigurationsblock.

Ein VF-Konfigurationsblock wird für die Backchannel-Kommunikation zwischen den PF- und VF-Miniporttreibern verwendet. Der IHV kann einen oder mehrere VF-Konfigurationsblöcke für das Gerät definieren. Jeder VF-Konfigurationsblock verfügt über ein IHV-definiertes Format, eine Länge und eine Block-ID.

Hinweis Daten aus jedem VF-Konfigurationsblock werden nur von den PF- und VF-Miniporttreibern verwendet.
 
Weitere Informationen zur Backchannel-Kommunikation innerhalb der einzelnen I/O-Virtualisierungsschnittstelle (SR-IOV) finden Sie unter SR-IOV PF/VF Backchannel Communication.

Interoperabilität mit einem virtuellen Bustreiber

Wenn ein unabhängiger Hardwareanbieter (IHV) einen virtuellen Bustreiber (VBD) als Teil seines SR-IOV Treiberpaketsbereitstellt, darf sein Miniporttreiber NdisMWriteConfigBlock-nicht aufrufen. Stattdessen muss der Treiber über einen privaten Kommunikationskanal mit dem VBD kommunizieren und anfordern, dass der VBD-Aufruf WriteVfConfigBlock. Diese Funktion wird von der GUID_VPCI_INTERFACE_STANDARD Schnittstelle verfügbar gemacht, die vom zugrunde liegenden VIRTUELLEN PCI-Bustreiber (PCII) unterstützt wird.

Die VBD, die im Gastbetriebssystem einer Hyper-V untergeordneten Partition ausgeführt wird, kann die GUID_VPCI_INTERFACE_STANDARD Schnittstelle abfragen, indem sie eine IRP_MN_QUERY_INTERFACE Anforderung an das physische Geräteobjekt (PDO) auf dem PSTI-Bus ausgibt. Diese Anforderung muss von IRQL = PASSIVE_LEVEL erfolgen. In dieser Anforderung muss der Treiber den parameter InterfaceType auf GUID_VPCI_INTERFACE_STANDARD festlegen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Keine unterstützt,in NDIS 6.30 und höher unterstützt.
mindestens unterstützte Server- Windows Server 2012
Zielplattform- Universal
Header- ndis.h (include Ndis.h)
Library Ndis.lib
IRQL- <= APC_LEVEL

Siehe auch

GUID_VPCI_INTERFACE_STANDARD

WriteVfConfigBlock-