次の方法で共有


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

非連続の ACL に使用されます。 Flags.Contiguous が設定されていない場合、Pages は、正確に PageCount ページの配列を指します。 配列内のページが連続している保証はありません。

ページ は、DXGK_PAGE_NUMBER型であり、PFN_NUMBERと同じサイズであることが保証されます。 この配列は、ハードウェアのプログラミング時に MDL の PFN 配列の代わりに置き換えることができます。

備考

Dxgkernel は、物理アクセス モードと論理アクセス モードの両方をサポートし、実行時に 2 つのモードをシームレスに切り替えることができる ACL を提供します。 ADL は MDL とよく似ていますが、物理または論理のどちらかのページの配列を記述します。 これらのページは論理ページにできるため、ADL によって記述されたアドレスを仮想アドレスにマップして CPU に直接アクセスすることはできません。

詳細については、IOMMU DMA の再マップを参照してください。

必要条件

要件 価値
サポートされる最小サーバー Windows Server 2022
ヘッダー d3dkmddi.h

関連項目

DXGK_ADL_FLAGS