NdisMWriteConfigBlock-Funktion (ndis.h)
Ein Miniporttreiber für eine VIRTUELLE FUNKTION (PCI Express, 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 verarbeitet.
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 Konfigurationsblocks angibt, in den geschrieben werden soll. Dieser Bezeichner ist eigentum des unabhängigen Hardwareanbieters (Independent Hardware Vendor, IHV) und wird nur von den Miniporttreibern für die 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 status-Werte zurückgeben.
Rückgabecode | Beschreibung |
---|---|
|
Der Schreibvorgang wurde erfolgreich abgeschlossen. |
|
Fehler beim Schreibvorgang. |
Hinweise
Der VF-Miniporttreiber ruft NdisMWriteConfigBlock auf, um eine Backchannel-Schreibanforderung von VF-Konfigurationsdaten durch den PF-Miniporttreiber 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 Backchannelkommunikation zwischen den PF- und VF-Miniporttreibern verwendet. Die IHV kann einen oder mehrere VF-Konfigurationsblöcke für das Gerät definieren. Jeder VF-Konfigurationsblock hat ein IHV-definiertes Format, eine länge und eine Block-ID.
Interfacing to a Virtual Bus Driver
Wenn ein unabhängiger Hardwareanbieter (IHV) einen virtuellen Bustreiber (VBD) als Teil seines SR-IOV-Treiberpakets bereitstellt, darf sein Miniporttreiber NdisMWriteConfigBlock nicht aufrufen. Stattdessen muss der Treiber über einen privaten Kommunikationskanal mit dem VBD kommunizieren und anfordern, dass der VBD WriteVfConfigBlock aufruft. Diese Funktion wird über die GUID_VPCI_INTERFACE_STANDARD-Schnittstelle verfügbar gemacht, die vom zugrunde liegenden VPCI-Bustreiber (Virtual PCI) unterstützt wird.Die VBD, die im Gastbetriebssystem einer untergeordneten Hyper-V-Partition ausgeführt wird, kann die GUID_VPCI_INTERFACE_STANDARD-Schnittstelle abfragen, indem sie eine IRP_MN_QUERY_INTERFACE Anforderung an das objekt des physischen Geräts (PDO) im VPCI-Bus ausgibt. Diese Anforderung muss über IRQL = PASSIVE_LEVEL erfolgen. In dieser Anforderung muss der Treiber den Parameter InterfaceType auf GUID_VPCI_INTERFACE_STANDARD festlegen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Keine unterstützt, unterstützt in NDIS 6.30 und höher. |
Unterstützte Mindestversion (Server) | Windows Server 2012 |
Zielplattform | Universell |
Header | ndis.h (include Ndis.h) |
Bibliothek | Ndis.lib |
IRQL | <= APC_LEVEL |
Weitere Informationen