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

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