SRIOV_QUERY_PROBED_BARS_2 funzione di callback (pcivirt.h)
Esegue una query sui dati letti dall'indirizzo di base VF (Virtual Function) PCI Express SR-IOV specificato se il valore -1 sono stati scritti per primi.
Sintassi
SRIOV_QUERY_PROBED_BARS_2 SriovQueryProbedBars2;
NTSTATUS SriovQueryProbedBars2(
[in] PVOID Context,
[in] USHORT VfIndex,
[out] PULONG BaseRegisterValues
)
{...}
Parametri
[in] Context
Puntatore a un contesto definito dal driver.
[in] VfIndex
Indice in base zero dell'oggetto VF su cui viene eseguita una query.
[out] BaseRegisterValues
Puntatore a una matrice di variabili vincolate dal numero di richieste di archiviazione in un dispositivo PCI.
Valore restituito
Restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, restituire un NTSTATUS codice di errore appropriato.
Osservazioni
Questa funzione di callback viene implementata dal driver pf (Physical Function). Viene richiamato quando il sistema vuole leggere dai registri degli indirizzi di base della funzione virtuale (VF) specificati.
Il driver PF registra l'implementazione impostando il membro QueryProbedBars_2 del SRIOV_DEVICE_INTERFACE_STANDARD_2, configurando una struttura WDF_QUERY_INTERFACE_CONFIG e chiamando WdfDeviceAddQueryInterface.
Questo callback viene richiamato dallo stack di virtualizzazione (senza privilegi) quando vuole individuare i valori del registro degli indirizzi di base di VF dopo che i registri vengono scritti con il valore (-1). Questo processo è convenzionale durante la configurazione di un dispositivo PCI e il risultato consente al driver PCI di conoscere la quantità di spazio indirizzi che verrebbe decodificato dal dispositivo dopo l'abilitazione. Quando una macchina virtuale senza privilegi scrive nelle istanze di VF, la macchina virtuale con privilegi può smettere di funzionare. Pertanto, questa routine richiede la necessità di scrivere nelle richieste di accesso in lettura.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 10 |
server minimo supportato | Windows Server 2016 |
piattaforma di destinazione | Finestre |
intestazione | pcivirt.h |
IRQL | PASSIVE_LEVEL |