次の方法で共有


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

連続する ACL に使用されます。 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
Header d3dkmddi.h

こちらもご覧ください

DXGK_ADL_FLAGS