struktur DXGKARGCB_ALLOCATE_ADL (d3dkmddi.h)

DXGKARGCB_ALLOCATE_ADL berisi informasi yang digunakan oleh fungsi panggilan balik DXGKCB_ALLOCATEADL untuk membuat daftar deskriptor alamat (ADL).

Sintaks

typedef struct _DXGKARGCB_ALLOCATE_ADL {
  [in]  HANDLE   hAdapterMemoryObject;
  [in]  SIZE_T   Offset;
  [in]  SIZE_T   Size;
  union {
    struct {
      UINT32 RequireContiguous : 1;
      UINT32 PreferContiguous : 1;
      UINT32 Reserved : 30;
    };
          UINT32 Value;
  } Flags;
  [out] DXGK_ADL *pAdl;
} DXGKARGCB_ALLOCATE_ADL;

Anggota

[in] hAdapterMemoryObject

Objek memori adaptor yang menjelaskan memori logis yang mendasar yang digunakan untuk membangun ADL. Objek ini dibuat melalui DXGKCB_CREATEPHYSICALMEMORYOBJECT atau yang lebih baru dibuka melalui DXGKCB_OPENPHYSICALMEMORYOBJECT.

[in] Offset

Offset, dalam byte, dari awal objek memori fisik. Nilai ini harus berupa kelipatan PAGE_SIZE.

[in] Size

Jumlah total byte yang akan dialokasikan untuk ADL. Nilai ini harus berupa kelipatan PAGE_SIZE, sehingga jumlah halaman dalam ADL akan menjadi Ukuran/PAGE_SIZE.

Flags

[in] Flags.RequireContiguous

Menunjukkan bahwa driver meminta ADL yang menjelaskan rentang memori yang berdekatan, bukan halaman yang tersebar. Bendera ini hanya valid jika objek memori fisik yang diwakili oleh hAdapterMemoryObject dialokasikan sebagai DXGK_PHYSICAL_MEMORY_TYPE_CONTIGUOUS_MEMORY atau DXGK_PHYSICAL_MEMORY_TYPE_IO_SPACE.

[in] Flags.PreferContiguous

Memberi driver cara untuk meminta ADL yang berdampingan secara optimal jika memungkinkan. Ketika remapping DMA diaktifkan, ADL akan merujuk ke rentang ruang alamat logis; namun, driver mungkin tidak dapat menggunakan ADL yang berdekatan di semua jalur kode. ADL yang tidak berdampingan untuk memori logis dapat menjadi mahal karena memerlukan alokasi array PFN terpisah, mirip dengan MDL, untuk mewakili memori. Jika memungkinkan, driver harus menentukan bendera ini untuk menunjukkan bahwa ADL dapat diwakili hanya dengan alamat dasar.

[in] Flags.Reserved

Dipesan; harus diatur ke nol.

[in] Flags.Value

Cara alternatif untuk mengakses bit.

[out] pAdl

Pada panggilan ke DXGKCB_ALLOCATEADL yang berhasil, arahkan ke struktur DXGK_ADL dengan daftar alamat halaman yang dapat digunakan untuk memprogram perangkat keras.

Keterangan

Lihat Remapping IOMMU DMA untuk informasi selengkapnya.

Persyaratan

Persyaratan Nilai
Server minimum yang didukung Windows Server 2022 (WDDM 2.9)
Header d3dkmddi.h

Lihat juga

DXGKCB_ALLOCATEADL

DXGKCB_CREATEPHYSICALMEMORYOBJECT

DXGKCB_OPENPHYSICALMEMORYOBJECT