функция обратного вызова DXGKDDI_CREATEMEMORYBASIS (d3dkmddi.h)
Функция DxgkDdiCreateMemoryBasis в KMD создает дескриптор для коллекции диапазонов памяти, представляющих выделение, с которым выполняется распределение во время отслеживания грязное битов.
Синтаксис
DXGKDDI_CREATEMEMORYBASIS DxgkddiCreatememorybasis;
HANDLE DxgkddiCreatememorybasis(
IN_CONST_HANDLE hAdapter,
IN_CONST_PDXGKARG_CREATEMEMORYBASIS pArgs
)
{...}
Параметры
hAdapter
[in] Дескриптор для блока контекста, связанного с видеоадаптером. Ранее KMD предоставлял этот дескриптор Dxgkrnl в выходном параметре MiniportDeviceContext функции DxgiDdiAddDevice .
pArgs
[in] Указатель на структуру DXGKARG_CREATEMEMORYBASIS , содержащую сведения для создаваемой базы.
Возвращаемое значение
DxgkDdiCreateMemoryBasis возвращает HANDLE в ссылку KMD для отслеживания коллекции диапазонов. KMD должен иметь возможность преобразовывать эти сведения в сведения базы в последующих командах, таких как DxgkDdiDetadataMemoryBasis.
Комментарии
Отслеживание операций изменения в виртуальной памяти предназначено для выделений, которые могут не выполняться непрерывно. Таким образом, физические адреса, представленные в отслеживании грязное битов, состоят из коллекции диапазонов, представляющих распределение, с которым выполняется работа. DxgkDdiCreateMemoryBasis возвращает дескриптор в ссылку KMD для отслеживания этих диапазонов.
KMD может полагаться на следующие инварианты:
Для каждого диапазона в диапазонеSegmentOffset и (SegmentOffset + SizeInBytes — 1) представляют допустимые адреса сегмента, на который ссылается SegmentId.
Все диапазоны несвязаны по паре; то есть пересечение между любыми двумя диапазонами всегда равно NULL.
Кроме того, часто segmentOffset и SizeInBytes учитывают определенные выравнивания страниц, если созданная база памяти используется в определенных грязное отслеживания DIS. Эти значения описаны на справочной странице DDI и всегда кратны DXGK_DIRTY_BIT_TRACKING_SEGMENT_CAPS::P ageSize.
В противном случае Dxgkrnl не гарантирует порядок адресов в коллекции диапазонов или связанных гарантий.
Дополнительные сведения см. в разделе Отслеживание грязных битов.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 11 версии 24H2 (WDDM 3.2) |
Верхняя часть | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |