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 NdisMGetVirtualFunctionLocation Funktion auf, um den Gerätestandort einer PCI Express (PCIe) Virtual Function (VF) auf einem PCI-Bus abzufragen. Der Treiber verwendet den Gerätespeicherort, um die PCIe-Anforderungs-ID (RID) für den VF zu erstellen.
Syntax
VOID NdisMGetVirtualFunctionLocation(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_SRIOV_FUNCTION_ID VFId,
[out] PUSHORT SegmentNumber,
[out] PUCHAR BusNumber,
[out] PUCHAR FunctionNumber
);
Parameter
[in] NdisMiniportHandle
Das Netzwerkadapterhandle, das NDIS an den MiniportAdapterHandle Parameter von MiniportInitializeExübergeben hat.
[in] VFId
Der Bezeichner des VF, für den der Gerätespeicherort zurückgegeben wird.
[out] SegmentNumber
Ein Zeiger auf eine vom Aufrufer bereitgestellte Variable, in der diese Funktion einen USHORT-Wert für die aktuelle PCI-Segmentnummer zurückgibt. Dieser Wert gibt die Gruppe der PCI-Busse an, an denen das Gerät angeschlossen ist.
[out] BusNumber
Ein Zeiger auf eine vom Aufrufer bereitgestellte Variable, in der diese Funktion einen UCHAR-Wert zurückgibt. Dieser Wert gibt die aktuelle PCI-Busnummer an, an der das Gerät angeschlossen ist.
[out] FunctionNumber
Ein Zeiger auf eine vom Aufrufer bereitgestellte Variable, in der diese Funktion einen UCHAR-Wert zurückgibt. Dieser Wert gibt die Funktionsnummer eines logischen Geräts auf dem Gerät an.
Rückgabewert
Nichts
Bemerkungen
Wenn sie eine Methodenanforderung von OID_NIC_SWITCH_ALLOCATE_VFverarbeitet, muss der PF-Miniporttreiber das RID für den VF zurückgeben, den der Treiber erfolgreich auf dem Netzwerkadapter zugewiesen hat. Der Treiber generiert das RID wie folgt:
- Der Treiber ruft zuerst die funktion NdisMGetVirtualFunctionLocation auf, um die informationen zu den busbezogenen Standortinformationen für den VF abzurufen.
- Der Treiber ruft dann das NDIS_MAKE_RID Makro mit den busbezogenen Standortinformationen auf, um die RID zu generieren.
Weitere Informationen zum Zuordnen von VF-Ressourcen finden Sie unter Virtual Function Initialization Sequence.
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 NdisMGetVirtualFunctionLocationaufrufen. Stattdessen muss der Treiber über einen privaten Kommunikationskanal mit der VBD kommunizieren und anfordern, dass der VBD-Aufruf GetLocation-. 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- | PASSIVE_LEVEL |
Siehe auch