функция обратного вызова DXGKCB_OPENPHYSICALMEMORYOBJECT (d3dkmddi.h)
Драйвер мини-порта в режиме ядра вызывает DXGKCB_OPENPHYSICALMEMORYOBJECT , чтобы открыть объект физической памяти и связать его с адаптером.
Синтаксис
DXGKCB_OPENPHYSICALMEMORYOBJECT DxgkcbOpenphysicalmemoryobject;
NTSTATUS DxgkcbOpenphysicalmemoryobject(
[in/out] IN_OUT_PDXGKARGCB_OPEN_PHYSICAL_MEMORY_OBJECT pArgs
)
{...}
Параметры
[in/out] pArgs
Указатель на структуру DXGKARGCB_OPEN_PHYSICAL_MEMORY_OBJECT , содержащую сведения о открываемом объекте физической памяти.
Возвращаемое значение
DXGKCB_OPENPHYSICALMEMORYOBJECT возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае возвращает соответствующий код ошибки NTSTATUS.
Комментарии
Чтобы создать список дескрипторов адресов (ADL) из объекта физической памяти, его необходимо сначала связать с адаптером. Обычно это делается при создании объекта физической памяти путем указания параметра hAdapter в вызове DXGKCB_CREATEPHYSICALMEMORYOBJECT. Однако в некоторых случаях дескриптор адаптера недоступен на момент выделения памяти (например, в начале процесса загрузки). В этом случае драйвер должен вызвать DXGKCB_OPENPHYSICALMEMORYOBJECT , чтобы связать объект физической памяти с адаптером перед вызовом DXGKCB_ALLOCATEADL.
Дополнительные сведения см. в статье Переназначение DMA IOMMU .
DXGKCB_XXX функции реализуются Dxgkrnl. Чтобы использовать эту функцию обратного вызова, задайте соответствующие члены DXGKARGCB_OPEN_PHYSICAL_MEMORY_OBJECT , а затем вызовите DxgkCbOpenPhysicalMemoryObject через DXGKRNL_INTERFACE.
Требования
Требование | Значение |
---|---|
Минимальная версия сервера | Windows Server 2022 (WDDM 2.9) |
Верхняя часть | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |
См. также раздел
DXGKARGCB_OPEN_PHYSICAL_MEMORY_OBJECT