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
Restituisce:
- 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.
Commenti
Questa funzione di callback ottiene gli intervalli specifici in cui devono essere posizionati intercettazioni e mapping. Si tratta di un mapping a dispersione/raccolta più flessibile delle richieste pull rispetto alla soluzione SR-IOV generale (virtualizzazione input/output a radice singola) che consente alle barre di VF (funzione virtuale) di avere dimensioni diverse rispetto alle barre fisiche e 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 riuscirà.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10, versione 1809 |
Intestazione | dispmprt.h |
IRQL | PASSIVE_LEVEL |