NdisMInvalidateConfigBlock-Funktion (ndis.h)
Ein Miniporttreiber ruft die NdisMInvalidateConfigBlock Funktion auf, um NDIS zu benachrichtigen, dass die Daten für mindestens einen VIRTUAL Function (VF)-Konfigurationsblöcke 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ätespeicherort 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 mit dem entsprechenden VF-Konfigurationsblock verknüpften Daten geändert.
Rückgabewert
Nichts
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 in einer Hyper-V untergeordneten Partition ausgeführt.
-
Der PF-Treiber, der im Verwaltungsbetriebssystem ausgeführt wird.
Dieses Betriebssystem wird innerhalb der Hyper-V übergeordneten Partition ausgeführt.
- Im Gastbetriebssystem gibt NDIS eine E/A-Kontrollanforderung von IOCTL_VPCI_INVALIDATE_BLOCK Anforderung aus. Wenn diese IOCTL abgeschlossen ist, wird NDIS benachrichtigt, dass sich die VF-Konfigurationsdaten geändert haben.
-
Im Verwaltungsbetriebssystem treten die folgenden Schritte auf:
- Der PF Miniport-Treiber ruft den NdisMInvalidateConfigBlock Funktion auf, um NDIS zu benachrichtigen, dass die VF-Konfigurationsdaten geändert wurden und nicht mehr gültig sind.
-
NDIS signalisiert den Virtualisierungsstapel, der im Verwaltungsbetriebssystem ausgeführt wird, über die Änderung der VF-Konfigurationsblockdaten. Der Virtualisierungsstapel speichert die BlockMask Parameterdaten zwischen.
Note Each time that the PF miniport driver calls NdisMInvalidateConfigBlock, the virtualization stack ORs the BlockMask parameter data with the current value in its cache.
- Der Virtualisierungsstapel benachrichtigt den virtuellen PCI-Treiber (PCII), der im Gastbetriebssystem ausgeführt wird, über die Ungültigkeit von VF-Konfigurationsdaten. Der Virtualisierungsstapel sendet den zwischengespeicherten BlockMask Parameterdaten an den DRIVERI-Treiber.
-
Im Gastbetriebssystem treten die folgenden Schritte auf:
- Der VORGANGStreiber speichert die zwischengespeicherten BlockMask Parameterdaten im BlockMask Member der VPCI_INVALIDATE_BLOCK_OUTPUT Struktur, die der IOCTL_VPCI_INVALIDATE_BLOCK Anforderung zugeordnet ist.
-
Der VORGANGstreiber KONNTE die IOCTL_VPCI_INVALIDATE_BLOCK Anforderung erfolgreich abschließen. In diesem Fall gibt 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 zur Behandlung aufeinander folgender Benachrichtigungen von Änderungen an VF-Konfigurationsdaten aus.
- 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 Übersicht über die Single Root I/O Virtualization (SR-IOV).
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
NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO