Поделиться через


функция обратного вызова DXGKDDI_CREATEMEMORYBASIS (d3dkmddi.h)

Функция KMD DxgkDdiCreateMemoryBasis создает дескриптор для коллекции диапазонов памяти, представляющих распределение, которое выполняется во время отслеживания грязных битов.

Синтаксис

DXGKDDI_CREATEMEMORYBASIS DxgkddiCreatememorybasis;

HANDLE DxgkddiCreatememorybasis(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_PDXGKARG_CREATEMEMORYBASIS pArgs
)
{...}

Параметры

hAdapter

[in] Дескриптор для блока контекста, связанного с адаптером отображения. KMD ранее предоставил этот дескриптор для Dxgkrnl в параметр е вывода miniportDeviceContextDxgiDdiAddDevice.

pArgs

[in] Указатель на структуру DXGKARG_CREATEMEMORYBASIS, содержащую сведения для создаваемой основы.

Возвращаемое значение

DxgkDdiCreateMemoryBasis возвращает ссылку HANDLE в справочник KMD для отслеживания коллекции диапазонов. KMD должен быть в состоянии преобразовать эту информацию в информацию о базе в последующих командах, таких как DxgkDdiDesisMemoryBasis.

Замечания

Отслеживание операций изменения в VRAM заключается в выделении, которые могут не выполняться непрерывно. Таким образом, физические адреса, представленные в отслеживании грязных битов, состоят из коллекции диапазонов, представляющих распределение, на которое выполняется работа. DxgkDdiCreateMemoryBasis возвращает дескриптор для отслеживания этих диапазонов.

KMD может полагаться на следующие инварианты:

  • Для каждого диапазона в диапазоновSegmentOffset и (SegmentOffset + SizeInBytes – 1) представляют допустимые адреса в сегменте, на которые ссылается SegmentId.

  • Все диапазоны попарно разъединяются; То есть пересечение между двумя диапазонами всегда равно NULL.

Кроме того, SegmentOffset и SizeInBytes будут учитывать определенные выравнивания страниц, когда созданная база памяти используется в определенных грязных DDIS отслеживания. Эти значения описаны на справочной странице DDI и всегда являются несколькими DXGK_DIRTY_BIT_TRACKING_SEGMENT_CAPS::P ageSize.

Dxgkrnl в противном случае не гарантирует порядок адресов в коллекции Ranges или связанных гарантий.

Дополнительные сведения см. в отслеживания грязных битов.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 11 версии 24H2 (WDDM 3.2)
заголовка d3dkmddi.h
IRQL PASSIVE_LEVEL

См. также

DXGKARG_CREATEMEMORYBASIS

DxgkDdiDesqlMemoryBasis