NdisMGetVirtualFunctionBusData-Funktion (ndis.h)
Ein Miniporttreiber ruft die NdisMGetVirtualFunctionBusData--Funktion auf, um Daten aus dem PCI Express (PCIe)-Konfigurationsraum einer angegebenen virtuellen Funktion (VF) auf dem Netzwerkadapter zu lesen.
Syntax
ULONG NdisMGetVirtualFunctionBusData(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_SRIOV_FUNCTION_ID VFId,
[out] 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, aus dem die Daten aus dem PCI-Konfigurationsraum zurückgegeben werden.
[out] Buffer
Ein Zeiger auf einen Puffer, der die Daten empfängt, die aus dem PCI-Konfigurationsraum des VF gelesen werden.
[in] Offset
Der Offset in Byteeinheiten im PCI-Konfigurationsraum des VF, aus dem Daten gelesen werden.
[in] Length
Die Länge der zu lesenden Daten in Byteeinheiten.
Rückgabewert
NdisMGetVirtualFunctionBusData gibt die Anzahl der Bytes zurück, die aus dem PCI-Konfigurationsraum gelesen werden. Wenn der Lesevorgang fehlschlägt, gibt NdisMGetVirtualFunctionBusData Null zurück.
Bemerkungen
Der PF Miniport-Treiber ruft in der Regel NdisMGetVirtualFunctionBusData auf, wenn er eine OID-Methodenanforderung von OID_SRIOV_READ_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 zum Abfragen des PCI-Konfigurationsraums des VF finden Sie unter Abfragen des PCI-Konfigurationsraums für eine virtuelle Funktion.
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 NdisMGetVirtualFunctionBusDataaufrufen. Stattdessen muss der Treiber über einen privaten Kommunikationskanal mit dem VBD kommunizieren und anfordern, dass der VBD-Aufruf GetVirtualFunctionData. 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