Condividi tramite


SRIOV_QUERY_PROBED_BARS_2 funzione di callback (pcivirt.h)

Esegue una query sui dati letti dall'indirizzo di base VF (PCI Express SR-IOV Virtual Function) specificato se il valore -1 è stato scritto per primo.

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 della funzione VF su cui viene eseguita una query.

[out] BaseRegisterValues

Puntatore a una matrice di variabili delimitate dal numero di richieste di archiviazione in un dispositivo PCI.

Valore restituito

Restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, restituisce un codice di errore NTSTATUS appropriato.

Commenti

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 la scrittura dei registri 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 bars di VF, la macchina virtuale con privilegi può smettere di funzionare. Pertanto, questa routine richiede la necessità di scrivere nei bars.

Requisiti

Requisito Valore
Client minimo supportato Windows 10
Server minimo supportato Windows Server 2016
Piattaforma di destinazione Windows
Intestazione pcivirt.h
IRQL PASSIVE_LEVEL