Condividi tramite


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