NdisMInvalidateConfigBlock-Funktion (ndis.h)
Ein Miniporttreiber ruft die NdisMInvalidateConfigBlock-Funktion auf, um NDIS darüber zu informieren, dass die Daten für einen oder mehrere Vf-Konfigurationsblöcke (Virtual Function) geändert wurden.
Syntax
void NdisMInvalidateConfigBlock(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_SRIOV_FUNCTION_ID VFId,
[in] ULONGLONG BlockMask
);
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ätestandort zurückgegeben wird.
[in] BlockMask
Ein ULONGLONG-Wert, der eine Bitmaske für die ersten 64 VF-Konfigurationsblöcke angibt. Jedes Bit in der Bitmaske entspricht einem VF-Konfigurationsblock. Wenn das Bit auf eins festgelegt ist, wurden die Daten geändert, die dem entsprechenden VF-Konfigurationsblock zugeordnet sind.
Rückgabewert
Keine
Bemerkungen
Ein VF-Konfigurationsblock wird für die Backchannel-Kommunikation zwischen den PF- und VF-Miniporttreibern verwendet. Der IHV kann einen oder mehrere VF-Konfigurationsblöcke für das Gerät definieren. Jeder VF-Konfigurationsblock verfügt über ein IHV-definiertes Format, eine länge und eine Block-ID.
- Der VF-Treiber, der im Gastbetriebssystem ausgeführt wird. Dieses Betriebssystem wird innerhalb einer untergeordneten Hyper-V-Partition ausgeführt.
-
Der PF-Treiber, der im Verwaltungsbetriebssystem ausgeführt wird.
Dieses Betriebssystem wird innerhalb der übergeordneten Hyper-V-Partition ausgeführt.
- Im Gastbetriebssystem gibt NDIS eine E/A-Steuerungsanforderung für IOCTL_VPCI_INVALIDATE_BLOCK Anforderung aus. Wenn diese IOCTL abgeschlossen ist, wird NDIS benachrichtigt, dass sich die VF-Konfigurationsdaten geändert haben.
-
Im Verwaltungsbetriebssystem werden die folgenden Schritte ausgeführt:
- Der PF-Miniporttreiber ruft die NdisMInvalidateConfigBlock-Funktion auf, um NDIS zu benachrichtigen, dass vf-Konfigurationsdaten geändert wurden und nicht mehr gültig sind.
-
NDIS signalisiert dem Virtualisierungsstapel, der im Verwaltungsbetriebssystem ausgeführt wird, über die Änderung der Vf-Konfigurationsblockdaten. Der Virtualisierungsstapel speichert die BlockMask-Parameterdaten zwischen.
Hinweis Jedes Mal, wenn der PF-Miniporttreiber NdisMInvalidateConfigBlock aufruft, wird der Virtualisierungsstapel die BlockMask-Parameterdaten mit dem aktuellen Wert im Cache übergeben.
- Der Virtualisierungsstapel benachrichtigt den virtuellen PCI-Treiber (VPCI), der im Gastbetriebssystem ausgeführt wird, über die Ungültigkeit von VF-Konfigurationsdaten. Der Virtualisierungsstapel sendet die zwischengespeicherten BlockMask-Parameterdaten an den VPCI-Treiber.
-
Im Gastbetriebssystem werden die folgenden Schritte ausgeführt:
- Der VPCI-Treiber speichert die zwischengespeicherten BlockMask-Parameterdaten im BlockMask-Member der VPCI_INVALIDATE_BLOCK_OUTPUT-Struktur , die der IOCTL_VPCI_INVALIDATE_BLOCK-Anforderung zugeordnet ist.
-
Der VPCI-Treiber schließt die IOCTL_VPCI_INVALIDATE_BLOCK Anforderung erfolgreich ab. In diesem Fall stellt NDIS eine OID-Methodenanforderung von OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK an den VF-Miniporttreiber aus. Eine NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO Anforderung wird in der OID-Anforderung übergeben. Diese Struktur enthält die zwischengespeicherten BlockMask-Parameterdaten .
NDIS stellt auch eine weitere IOCTL_VPCI_INVALIDATE_BLOCK Anforderung zum Verarbeiten von aufeinanderfolgenden Benachrichtigungen über Änderungen an VF-Konfigurationsdaten.
- Wenn der VF-Treiber die OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK-Anforderung verarbeitet, liest er Daten aus den angegebenen VF-Konfigurationsblöcken.
Weitere Informationen zur SR-IOV-Schnittstelle finden Sie unter Overview of Single Root E/O Virtualization (SR-IOV).
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Keine unterstützt, wird in NDIS 6.30 und höher unterstützt. |
Unterstützte Mindestversion (Server) | Windows Server 2012 |
Zielplattform | Universell |
Header | ndis.h (einschließlich Ndis.h) |
Bibliothek | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Weitere Informationen
NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO