DXGK_ADL 結構 (d3dkmddi.h)
DXGK_ADL 結構是ADL) (位址描述項清單,用來描述可以是實體或邏輯的頁面陣列。
語法
typedef struct _DXGK_ADL {
UINT32 PageCount;
DXGK_ADL_FLAGS Flags;
union {
DXGK_PAGE_NUMBER BasePageNumber;
const DXGK_PAGE_NUMBER *Pages;
};
} DXGK_ADL;
成員
PageCount
ADL 所代表的頁數。
Flags
指定ADL旗 標的DXGK_ADL_FLAGS 結構。
BasePageNumber
用於連續ADL。 設定 Flags.Contiguous 時, BasePageNumber 是連續記憶體範圍的初始頁碼, 而 PageCount 是它所代表的頁數。 例如,如果 PageCount=3 和 BasePageNumber=100, 則DXGK_ADL 代表頁面 100、101 和 102 (位址範圍0x100000 0x102000) 。
Pages
用於非連續ADL。 未設定 Flags.Contiguous 時, Pages 會指向完全相同 的 PageCount 頁面數位。 陣列中的頁面不保證是連續的。
頁面 的類型為 DXGK_PAGE_NUMBER,保證大小與 PFN_NUMBER相同。 此陣列可以在設計硬體時取代 MDL 的 PFN 陣列。
備註
Dxgkernel 提供 ADL 以支援實體和邏輯存取模式,而且能夠在運行時間順暢地切換兩種模式。 ADL 與 MDL 非常類似,但描述可以是實體或邏輯的頁面陣列。 由於這些頁面可以是邏輯頁面,因此ADL所描述的位址無法對應至虛擬位址以進行直接CPU存取。
如需詳細資訊,請參閱 IOMMU DMA 重新對應。
規格需求
需求 | 值 |
---|---|
最低支援的伺服器 | Windows Server 2022 |
標頭 | d3dkmddi.h |