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

另請參閱

DXGK_ADL_FLAGS