Freigeben über


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;

Angehörige

[in] hAdapterMemoryObject

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

[in] Offset

Der Offset in Byte 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 zugewiesen werden sollen. Dieser Wert muss ein Vielfaches von PAGE_SIZE sein, sodass die Anzahl der Seiten in der ADL Size/PAGE_SIZE ist.

Flags

[in] Flags.RequireContiguous

Gibt an, dass der Treiber eine ADL anfordert, die einen zusammenhängenden Speicherbereich anstelle von punktierten Seiten beschreibt. Dieses Flag ist nur gültig, wenn das physische Speicherobjekt, das durch hAdapterMemoryObject- dargestellt wird, als DXGK_PHYSICAL_MEMORY_TYPE_CONTIGUOUS_MEMORY oder DXGK_PHYSICAL_MEMORY_TYPE_IO_SPACEzugewiesen 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 keine zusammenhängenden ADLs in allen Codepfaden verwenden. Nicht zusammenhängende ADLs für logischen Speicher können kostspielig werden, da sie eine Zuordnung eines separaten PFN-Arrays erfordern, ähnlich wie eine MDL, zur Darstellung des Speichers. Wenn möglich, sollte der Treiber dieses Kennzeichen angeben, um anzugeben, dass eine ADL nur mit der Basisadresse dargestellt werden kann.

[in] Flags.Reserved

Reserviert; muss auf Null festgelegt werden.

[in] Flags.Value

Eine alternative Möglichkeit für den Zugriff auf die Bits.

[out] pAdl

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

Bemerkungen

Weitere Informationen finden Sie unter IOMMU DMA-Neumapping.

Anforderungen

Anforderung Wert
mindestens unterstützte Server- Windows Server 2022 (WDDM 2.9)
Header- d3dkmddi.h

Siehe auch

DXGKCB_ALLOCATEADL

DXGKCB_CREATEPHYSICALMEMORYOBJECT

DXGKCB_OPENPHYSICALMEMORYOBJECT