DXGKDDI_GETMMIORANGES funzione di callback (dispmprt.h)
Ottenere gli intervalli di memoria per un singolo MMIO (output di input mappato alla memoria) (registro degli indirizzi di base) nel dispositivo virtuale.
Sintassi
DXGKDDI_GETMMIORANGES DxgkddiGetmmioranges;
NTSTATUS DxgkddiGetmmioranges(
HANDLE Context,
PDXGKARG_GETMMIORANGES pArgs
)
{...}
Parametri
Context
Handle per il contesto del dispositivo.
pArgs
Puntatore a una struttura DXGKARG_GETMMIORANGES.
Valore restituito
Rendiconto:
- STATUS_SUCCESS Il sistema IHV non ha rilevato errori.
- STATUS_INVALID_DEVICE_REQUEST Il dispositivo virtuale ha rilevato un errore e deve essere arrestato forzatamente. L'errore in questo caso causerà un errore del dispositivo virtuale.
- BUFFER_TO_SMALL può comportare la chiamata di nuovo con un buffer più grande.
Osservazioni
Questa funzione di callback ottiene gli intervalli specifici in cui devono essere posizionati gli intercettamenti e il mapping. Si tratta di un mapping di dispersione/raccolta più flessibile delle richieste di accesso in base al SR-IOV generale (virtualizzazione input/output a radice singola) che consente alle barre VF (funzione virtuale) di essere di dimensioni diverse rispetto alle barre fisiche e di mappare/emulare qualsiasi ordine di pagine da qualsiasi barra fisica a qualsiasi barra virtuale. Questa funzione DEVE contenere un mapping per ogni pagina nella barra virtuale. Se non viene creato, il dispositivo non riesce.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 10, versione 1809 |
intestazione | dispmprt.h |
IRQL | PASSIVE_LEVEL |