Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
DXGKARGCB_ALLOCATE_ADL содержит сведения, используемые функцией обратного вызова DXGKCB_ALLOCATEADL для создания списка дескрипторов адресов (ADL).
Синтаксис
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;
Члены
[in] hAdapterMemoryObject
Объект памяти адаптера, описывающий базовую логическую память, используемую для сборки ADL. Этот объект был создан через DXGKCB_CREATEPHYSICALMEMORYOBJECT или более поздней версии, открытый через DXGKCB_OPENPHYSICALMEMORYOBJECT.
[in] Offset
Смещение в байтах с начала объекта физической памяти. Это значение должно быть несколькими PAGE_SIZE.
[in] Size
Общее количество байтов, выделяемых для ADL. Это значение должно быть несколькими PAGE_SIZE, поэтому количество страниц в ADL будет размер/PAGE_SIZE.
Flags
[in] Flags.RequireContiguous
Указывает, что драйвер запрашивает ADL, описывающий непрерывный диапазон памяти, а не разбросанные страницы. Этот флаг действителен только в том случае, если объект физической памяти, представленный hAdapterMemoryObject, был выделен как DXGK_PHYSICAL_MEMORY_TYPE_CONTIGUOUS_MEMORY или DXGK_PHYSICAL_MEMORY_TYPE_IO_SPACE.
[in] Flags.PreferContiguous
Предоставляет драйверу способ оптимально запрашивать непрерывный ADL, когда это возможно. Если включена перенаправка DMA, adLs будет ссылаться на диапазоны логического адресного пространства; Однако драйверы могут не использовать смежные списки AD во всех путях кода. Несвязанные списки AD для логической памяти могут стать дорогостоящими, так как для представления памяти требуется выделение отдельного массива PFN, аналогичного MDL. По возможности драйвер должен указать этот флаг, чтобы указать, что ADL может быть представлен только базовым адресом.
[in] Flags.Reserved
Скрытный; должно быть равно нулю.
[in] Flags.Value
Альтернативный способ доступа к битам.
[out] pAdl
При успешном вызове DXGKCB_ALLOCATEADLуказывает на структуру DXGK_ADL со списком адресов страниц, которые можно использовать для программирования оборудования.
Замечания
Дополнительные сведения см. в переназначивания DMA IOMMU.
Требования
Требование | Ценность |
---|---|
минимальный поддерживаемый сервер | Windows Server 2022 (WDDM 2.9) |
заголовка | d3dkmddi.h |