共用方式為


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

另請參閱

DXGK_ACCESS_MODE

DXGKCB_MAPPHYSICALMEMORY