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 |