Freigeben über


NdisMSetVirtualFunctionBusData-Funktion (ndis.h)

Ein Miniporttreiber ruft die NdisMSetVirtualFunctionBusData--Funktion auf, um Daten in den PCI Express (PCIe)-Konfigurationsraum einer virtuellen Funktion (VF) auf dem Netzwerkadapter zu schreiben.

HinweisNdisMGetVirtualFunctionBusData darf nur vom Miniporttreiber für die PCIe Physical Function (PF) des Netzwerkadapters aufgerufen werden.
 

Syntax

ULONG NdisMSetVirtualFunctionBusData(
  [in] NDIS_HANDLE            NdisMiniportHandle,
  [in] NDIS_SRIOV_FUNCTION_ID VFId,
  [in] PVOID                  Buffer,
  [in] ULONG                  Offset,
  [in] ULONG                  Length
);

Parameter

[in] NdisMiniportHandle

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

[in] VFId

Der Bezeichner des VF, in den Daten in den PCI-Konfigurationsraum geschrieben werden.

[in] Buffer

Ein Zeiger auf einen Puffer, der die daten enthält, die in den PCI-Konfigurationsraum geschrieben werden sollen.

[in] Offset

Der Offset in Byteeinheiten im PCI-Konfigurationsraum, in den Daten geschrieben werden.

[in] Length

Die Länge der zu schreibenden Daten in Byteeinheiten.

Rückgabewert

NdisMSetVirtualFunctionBusData gibt die Anzahl der Bytes zurück, die in den PCI-Konfigurationsraum geschrieben wurden. Wenn der Schreibvorgang fehlschlägt, gibt NdisMSetVirtualFunctionBusData Null zurück.

Bemerkungen

Der PF Miniport-Treiber ruft in der Regel NdisMSetVirtualFunctionBusData auf, wenn er eine OID-Methodenanforderung von OID_SRIOV_WRITE_VF_CONFIG_SPACEverarbeitet.
Der Treiber kann diese Funktion jedoch jederzeit aufrufen, nachdem die Virtualisierung auf dem Netzwerkadapter über einen Aufruf von NdisMEnableVirtualizationaktiviert wurde.

Weitere Informationen zur Backchannel-Kommunikation innerhalb der einzelnen I/O-Virtualisierungsschnittstelle (SR-IOV) finden Sie unter SR-IOV PF/VF Backchannel Communication.

Weitere Informationen zur SR-IOV-Schnittstelle finden Sie unter Übersicht über die Single Root I/O Virtualization (SR-IOV).

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 nicht NdisMSetVirtualFunctionBusDataaufrufen. Stattdessen muss der Treiber über einen privaten Kommunikationskanal mit der VBD kommunizieren und anfordern, dass der VBD-Aufruf SetVirtualFunctionData. Diese Funktion wird von der GUID_PCI_VIRTUALIZATION_INTERFACE Schnittstelle verfügbar gemacht, die vom zugrunde liegenden PCI-Bustreiber unterstützt wird.

Die VBD, die im Verwaltungsbetriebssystem der Hyper-V übergeordneten Partition ausgeführt wird, kann die GUID_PCI_VIRTUALIZATION_INTERFACE Schnittstelle abfragen, indem sie eine IRP_MN_QUERY_INTERFACE Anforderung an das physische Geräteobjekt (PDO) auf dem PCI-Bus ausgibt. Diese Anforderung muss von IRQL = PASSIVE_LEVEL erfolgen. In dieser Anforderung muss der Treiber den parameter InterfaceType auf GUID_PCI_VIRTUALIZATION_INTERFACE 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- <= DISPATCH_LEVEL

Siehe auch

GUID_PCI_VIRTUALIZATION_INTERFACE

NdisMEnableVirtualization

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_WRITE_VF_CONFIG_SPACE

SetVirtualFunctionData-