Funzione NdisMInvalidateConfigBlock (ndis.h)
Un driver miniport chiama la funzione NdisMInvalidateConfigBlock per notificare a NDIS che i dati per uno o più blocchi di configurazione della funzione virtuale (VF) sono stati modificati.
Sintassi
void NdisMInvalidateConfigBlock(
[in] NDIS_HANDLE NdisMiniportHandle,
[in] NDIS_SRIOV_FUNCTION_ID VFId,
[in] ULONGLONG BlockMask
);
Parametri
[in] NdisMiniportHandle
L'handle della scheda di rete passato al parametro MiniportAdapterHandle di MiniportInitializeEx.
[in] VFId
Identificatore del VF per il quale viene restituita la posizione del dispositivo.
[in] BlockMask
Valore ULONGLONG che specifica una maschera di bit per i primi 64 blocchi di configurazione VF. Ogni bit nella maschera di bit corrisponde a un blocco di configurazione VF. Se il bit è impostato su uno, i dati associati al blocco di configurazione VF corrispondente sono stati modificati.
Valore restituito
nessuno
Osservazioni
Un blocco di configurazione VF viene usato per la comunicazione backchannel tra i driver PF e miniport VF. L'IHV può definire uno o più blocchi di configurazione VF per il dispositivo. Ogni blocco di configurazione VF ha un formato, una lunghezza e un ID blocco definiti dall'IHV.
- Driver VF, che viene eseguito nel sistema operativo guest. Questo sistema operativo viene eseguito all'interno di una partizione figlio Hyper-V.
-
Driver PF, che viene eseguito nel sistema operativo di gestione.
Questo sistema operativo viene eseguito all'interno della partizione padre Hyper-V.
- Nel sistema operativo guest NDIS genera una richiesta di controllo I/O di IOCTL_VPCI_INVALIDATE_BLOCK richiesta. Al termine di questo IOCTL, NDIS riceve una notifica che i dati di configurazione di VF sono stati modificati.
-
Nel sistema operativo di gestione si verificano i passaggi seguenti:
- Il driver miniport PF chiama la funzione NdisMInvalidateConfigBlock per notificare a NDIS che i dati di configurazione VF sono stati modificati e non sono più validi.
-
NDIS segnala lo stack di virtualizzazione, che viene eseguito nel sistema operativo di gestione, sulla modifica ai dati del blocco di configurazione VF. Lo stack di virtualizzazione memorizza nella cache i dati dei parametri BlockMask .
Nota Ogni volta che il driver PF miniport chiama NdisMInvalidateConfigBlock, lo stack di virtualizzazione ORs i dati dei parametri BlockMask con il valore corrente nella cache.
- Lo stack di virtualizzazione notifica al driver PCI virtuale (VPCI), che viene eseguito nel sistema operativo guest, sull'invalidazione dei dati di configurazione VF. Lo stack di virtualizzazione invia i dati dei parametri BlockMask memorizzati nella cache al driver VPCI.
-
Nel sistema operativo guest si verificano i passaggi seguenti:
- Il driver VPCI salva i dati dei parametri BlockMask memorizzati nella cache nel membro BlockMask della struttura VPCI_INVALIDATE_BLOCK_OUTPUT associata alla richiesta di IOCTL_VPCI_INVALIDATE_BLOCK .
-
Il driver VPCI completa correttamente la richiesta di IOCTL_VPCI_INVALIDATE_BLOCK . In questo caso, NDIS genera una richiesta di metodo OID di OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK al driver miniport VF. Una richiesta di NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO viene passata lungo la richiesta OID. Questa struttura contiene i dati dei parametri BlockMask memorizzati nella cache.
NDIS genera anche un'altra richiesta di IOCTL_VPCI_INVALIDATE_BLOCK per gestire le notifiche successive delle modifiche ai dati di configurazione VF.
- Quando il driver VF gestisce la richiesta di OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK , legge i dati dai blocchi di configurazione VF specificati.
Per altre informazioni sull'interfaccia SR-IOV, vedere Panoramica di Single Root I/O Virtualization (SR-IOV).
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Nessuna supportata, supportata in NDIS 6.30 e versioni successive. |
Server minimo supportato | Windows Server 2012 |
Piattaforma di destinazione | Universale |
Intestazione | ndis.h (includere Ndis.h) |
Libreria | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Vedi anche
NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO