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 頁面的陣列。 陣列中的頁面不保證是連續的。
Pages 的類型為 DXGK_PAGE_NUMBER,保證大小與 PFN_NUMBER相同。 此陣列可在設計硬體時取代 MDL 的 PFN 陣列。
言論
Dxgkernel 提供 ADL 以支援實體和邏輯存取模式,而且能夠在運行時間順暢地切換這兩種模式。 ADL 與 MDL 非常類似,但描述可以是實體或邏輯的頁面陣列。 因為這些頁面可以是邏輯頁面,所以 ADL 所描述的地址無法對應至虛擬位址以進行直接 CPU 存取。
如需詳細資訊,請參閱 IOMMU DMA 重新對應。
要求
要求 | 價值 |
---|---|
支援的最低伺服器 | Windows Server 2022 |
標頭 | d3dkmddi.h |