Condividi tramite


DXGKARGCB_MAP_PHYSICAL_MEMORY struttura (d3dkmddi.h)

La struttura DXGKARGCB_MAP_PHYSICAL_MEMORY contiene le informazioni usate dalla funzione di callback DXGKCB_MAPPHYSICALMEMORY per eseguire il mapping di un indirizzo virtuale visibile dalla CPU alla memoria fisica sottostante.

Sintassi

typedef struct _DXGKARGCB_MAP_PHYSICAL_MEMORY {
  [in]     HANDLE           hPhysicalMemoryObject;
  [in]     DXGK_ACCESS_MODE AccessMode;
  [in/out] SIZE_T           Offset;
  [in]     SIZE_T           Size;
  [out]    void             *pMappedAddress;
} DXGKARGCB_MAP_PHYSICAL_MEMORY;

Members

[in] hPhysicalMemoryObject

Oggetto di memoria fisica che descrive le pagine fisiche sottostanti da eseguire il mapping. Questo oggetto è stato creato in una chiamata precedente a DXGKCB_CREATEPHYSICALMEMORYOBJECT.

[in] AccessMode

Valore DXGK_ACCESS_MODE enumerazione che descrive la modalità di accesso (modalità utente o modalità kernel) per cui è necessario eseguire il mapping.

[in/out] Offset

Come input, specifica l'offset dall'inizio dell'oggetto memoria fisica, in byte. Come output, specifica l'offset dall'inizio dell'indirizzo di base mappato in cui risiedono i dati richiesti, in byte. Per ulteriori informazioni, vedere la sezione Osservazioni.

[in] Size

Come input, specifica le dimensioni richieste dell'area mappata, in byte. Come output, specifica le dimensioni mappate effettive, in byte. Per ulteriori informazioni, vedere la sezione Osservazioni.

[out] pMappedAddress

In una chiamata riuscita a DXGKCB_MAPPHYSICALMEMORY, si tratta di un puntatore al mapping di memoria fisica sottostante. L'inizio dell'intervallo di memoria mappato potrebbe non essere esattamente uguale all'offset richiesto dal driver se è necessario arrotondamento o allineamento. Di conseguenza, il valore di output di Offset fa riferimento all'offset dall'indirizzo di base ai dati richiesti dal driver. Vale a dire ActualAddress = BaseAddress + Offset.

Commenti

Offset e Dimensioni sono entrambi parametri di input e output. Come input, vengono descritte l'area della memoria fisica richiesta dal chiamante. Nell'output vengono descritte le visualizzazioni mappate effettive. Questo perché l'indirizzo mappato alla memoria fisica corrispondente potrebbe non essere esattamente all'offset richiesto. I dati effettivi richiesti dal chiamante saranno uguali a pMappedAddress + Offset. Le dimensioni dell'intervallo di indirizzi virtuali mappate saranno il valore di output di Size, che può essere maggiore della dimensione richiesta.

Per altre informazioni, vedere Remapping di IOMMU DMA .

Requisiti

Requisito Valore
Server minimo supportato Windows Server 2022 (WDDM 2.9)
Intestazione d3dkmddi.h

Vedi anche

DXGK_ACCESS_MODE

DXGKCB_MAPPHYSICALMEMORY