DXGKARGCB_MAP_PHYSICAL_MEMORY結構(d3dkmddi.h)
DXGKARGCB_MAP_PHYSICAL_MEMORY 結構包含 DXGKCB_MAPPHYSICALMEMORY 回呼函式用來將CPU可見虛擬位址對應至基礎物理記憶體的資訊。
語法
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;
成員
[in] hPhysicalMemoryObject
描述要對應之基礎實體頁面的實體記憶體物件。 此物件是在呼叫 DXGKCB_CREATEPHYSICALMEMORYOBJECT之前建立的。
[in] AccessMode
DXGK_ACCESS_MODE 列舉值,描述應該進行對應的存取模式(使用者模式或核心模式)。
[in/out] Offset
做為輸入,以位元組為單位指定物理記憶體物件開頭的位移。 做為輸出,以位元組為單位,指定所要求數據所在之對應基位址開頭的位移。 如需詳細資訊,請參閱。
[in] Size
做為輸入,以位元組為單位指定所對應區域的要求大小。 做為輸出,以位元組為單位指定實際的對應大小。 如需詳細資訊,請參閱。
[out] pMappedAddress
在成功呼叫 DXGKCB_MAPPHYSICALMEMORY時,這是基礎實體記憶體對應的指標。 如果需要四捨五入或對齊,則對應的記憶體範圍開頭可能不完全等於驅動程式所要求的位移。 因此,Offset 的輸出值是指從基地址到驅動程式所要求的數據位移。 也就是說,ActualAddress = BaseAddress + Offset。
言論
位移 和 大小 都是輸入和輸出參數。 作為輸入,這些描述呼叫端所要求的物理記憶體區域。 在輸出中,這些描述實際的對應檢視。 這是因為對應至對應物理記憶體的位址可能不完全位於要求的位移。 呼叫端所要求的實際數據會等於 pMappedAddress + offset。 所對應的虛擬位址範圍大小將會是 Size的輸出值,可能大於要求的大小。
如需詳細資訊,請參閱 IOMMU DMA 重新對應。
要求
要求 | 價值 |
---|---|
支援的最低伺服器 | Windows Server 2022 (WDDM 2.9) |
標頭 | d3dkmddi.h |