функция обратного вызова 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 |