DXGKARGCB_ALLOCATE_ADL-Struktur (d3dkmddi.h)

DXGKARGCB_ALLOCATE_ADL enthält die Informationen, die von der DXGKCB_ALLOCATEADL Rückruffunktion zum Erstellen einer Adressdeskriptorliste (ADL) verwendet werden.

Syntax

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;

Member

[in] hAdapterMemoryObject

Das Adapterspeicherobjekt, das den zugrunde liegenden logischen Speicher beschreibt, der zum Erstellen der ADL verwendet wird. Dieses Objekt wurde über DXGKCB_CREATEPHYSICALMEMORYOBJECT erstellt oder später über DXGKCB_OPENPHYSICALMEMORYOBJECT geöffnet.

[in] Offset

Der Offset in Bytes vom Anfang des physischen Speicherobjekts. Dieser Wert muss ein Vielfaches von PAGE_SIZE sein.

[in] Size

Die Gesamtanzahl der Bytes, die für die ADL zugeordnet werden sollen. Dieser Wert muss ein Vielfaches von PAGE_SIZE sein, sodass die Anzahl der Seiten in der ADL größe/PAGE_SIZE ist.

Flags

[in] Flags.RequireContiguous

Gibt an, dass der Treiber eine ADL anfordert, die einen zusammenhängenden Speicherbereich anstelle von verstreuten Seiten beschreibt. Dieses Flag ist nur gültig, wenn das durch hAdapterMemoryObject dargestellte physische Speicherobjekt als DXGK_PHYSICAL_MEMORY_TYPE_CONTIGUOUS_MEMORY oder DXGK_PHYSICAL_MEMORY_TYPE_IO_SPACE zugeordnet wurde.

[in] Flags.PreferContiguous

Bietet dem Treiber eine Möglichkeit, nach Möglichkeit eine zusammenhängende ADL optimal anzufordern. Wenn die DMA-Neuzuordnung aktiviert ist, verweisen ADLs auf Bereiche des logischen Adressraums. Treiber können jedoch möglicherweise nicht zusammenhängende ADLs in allen Codepfaden verwenden. Nicht zusammenhängende ADLs für logischen Speicher können kostspielig werden, da sie die Zuordnung eines separaten PFN-Arrays ähnlich einer MDL erfordern, um den Arbeitsspeicher darzustellen. Wenn möglich, sollte der Treiber dieses Flag angeben, um anzugeben, dass eine ADL nur mit der Basisadresse dargestellt werden kann.

[in] Flags.Reserved

Reserviert; muss auf 0 (null) festgelegt werden.

[in] Flags.Value

Eine alternative Möglichkeit, auf die Bits zuzugreifen.

[out] pAdl

Zeigt bei einem erfolgreichen Aufruf von DXGKCB_ALLOCATEADL auf die DXGK_ADL-Struktur mit einer Liste von Seitenadressen, die zum Programmieren der Hardware verwendet werden können.

Hinweise

Weitere Informationen finden Sie unter IOMMU DMA-Neuzuordnung .

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Server) Windows Server 2022 (WDDM 2.9)
Kopfzeile d3dkmddi.h

Weitere Informationen

DXGKCB_ALLOCATEADL

DXGKCB_CREATEPHYSICALMEMORYOBJECT

DXGKCB_OPENPHYSICALMEMORYOBJECT