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.
Ein Miniporttreiber ruft die NdisMSetVirtualFunctionBusData--Funktion auf, um Daten in den PCI Express (PCIe)-Konfigurationsraum einer virtuellen Funktion (VF) auf dem Netzwerkadapter zu schreiben.
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