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


перечисление DXGK_QUERYADAPTERINFOTYPE (d3dkmddi.h)

Перечисление DXGK_QUERYADAPTERINFOTYPE указывает тип сведений, которые должен возвращать драйвер мини-порта в режиме ядра (KMD) в буфере, на который указывает pOutputData при вызове функции DxgkDdiQueryAdapterInfo . Дополнительные сведения о типах, требующих ввода (pInputData), см. в разделе DXGKARG_QUERYADAPTERINFO.

Синтаксис

typedef enum _DXGK_QUERYADAPTERINFOTYPE {
  DXGKQAITYPE_UMDRIVERPRIVATE = 0,
  DXGKQAITYPE_DRIVERCAPS = 1,
  DXGKQAITYPE_QUERYSEGMENT = 2,
  DXGKQAITYPE_RESERVED = 3,
  DXGKQAITYPE_QUERYSEGMENT2 = 4,
  DXGKQAITYPE_QUERYSEGMENT3 = 5,
  DXGKQAITYPE_NUMPOWERCOMPONENTS = 6,
  DXGKQAITYPE_POWERCOMPONENTINFO = 7,
  DXGKQAITYPE_PREFERREDGPUNODE = 8,
  DXGKQAITYPE_POWERCOMPONENTPSTATEINFO = 9,
  DXGKQAITYPE_HISTORYBUFFERPRECISION = 10,
  DXGKQAITYPE_QUERYSEGMENT4 = 11,
  DXGKQAITYPE_SEGMENTMEMORYSTATE = 12,
  DXGKQAITYPE_GPUMMUCAPS = 13,
  DXGKQAITYPE_PAGETABLELEVELDESC = 14,
  DXGKQAITYPE_PHYSICALADAPTERCAPS = 15,
  DXGKQAITYPE_DISPLAY_DRIVERCAPS_EXTENSION = 16,
  DXGKQAITYPE_INTEGRATED_DISPLAY_DESCRIPTOR = 17,
  DXGKQAITYPE_UEFIFRAMEBUFFERRANGES = 18,
  DXGKQAITYPE_QUERYCOLORIMETRYOVERRIDES = 19,
  DXGKQAITYPE_DISPLAYID_DESCRIPTOR = 20,
  DXGKQAITYPE_FRAMEBUFFERSAVESIZE = 21,
  DXGKQAITYPE_HARDWARERESERVEDRANGES = 22,
  DXGKQAITYPE_INTEGRATED_DISPLAY_DESCRIPTOR2 = 23,
  DXGKQAITYPE_NODEPERFDATA = 24,
  DXGKQAITYPE_ADAPTERPERFDATA = 25,
  DXGKQAITYPE_ADAPTERPERFDATA_CAPS = 26,
  DXGKQAITYPE_GPUVERSION = 27,
  DXGKQAITYPE_DEVICE_TYPE_CAPS = 28,
  DXGKQAITYPE_WDDMDEVICECAPS = 29,
  DXGKQAITYPE_GPUPCAPS = 30,
  DXGKQAITYPE_QUERYTARGETGAMMACAPS = 31,
  DXGKQAITYPE_SCANOUT_CAPS = 33,
  DXGKQAITYPE_PHYSICAL_MEMORY_CAPS = 34,
  DXGKQAITYPE_IOMMU_CAPS = 35,
  DXGKQAITYPE_HARDWARERESERVEDRANGES2 = 36,
  DXGKQAITYPE_NATIVE_FENCE_CAPS = 37,
  DXGKQAITYPE_USERMODESUBMISSION_CAPS = 38,
  DXGKQAITYPE_DIRTYBITTRACKINGCAPS = 39,
  DXGKQAITYPE_DIRTYBITTRACKINGSEGMENTCAPS = 40,
  DXGKQAITYPE_SCATTER_RESERVE = 41,
  DXGKQAITYPE_QUERYPAGINGBUFFERINFO,
  DXGKQAITYPE_QUERYSEGMENTCOUNT,
  DXGKQAITYPE_QUERYSEGMENT5,
  DXGKQAITYPE_QUERYMMUCOUNT,
  DXGKQAITYPE_QUERYMMUS,
  DXGKQAITYPE_64BITONLYCAPS,
  DXGKQAITYPE_PAGINGPROCESSGPUVASIZE
} DXGK_QUERYADAPTERINFOTYPE;

Константы

 
DXGKQAITYPE_UMDRIVERPRIVATE
Значение: 0
Указывает частную собственную структуру данных для драйвера отображения.
DXGKQAITYPE_DRIVERCAPS
Значение: 1
KMD должен заполнить структуру DXGK_DRIVERCAPS с ее возможностями драйвера.
DXGKQAITYPE_QUERYSEGMENT
Значение: 2
KMD должен заполнить структуру DXGK_QUERYSEGMENTOUT сведениями о сегменте памяти.
DXGKQAITYPE_RESERVED
Значение: 3
Зарезервировано для системного использования. Не используйте в драйвере. Эта константа возникает, начиная с Windows 7.
DXGKQAITYPE_QUERYSEGMENT2
Значение: 4
Зарезервировано для системного использования. Не используйте в драйвере. Эта константа возникает, начиная с Windows 7.
DXGKQAITYPE_QUERYSEGMENT3
Значение: 5
KMD должен заполнять структуру DXGK_QUERYSEGMENTOUT3 сведениями о сегменте памяти. Поддерживается начиная с Windows 8.
DXGKQAITYPE_NUMPOWERCOMPONENTS
Значение: 6
Мини-порт дисплея должен предоставлять значение UINT, указывающее количество используемых компонентов питания. Поддерживается начиная с Windows 8.
DXGKQAITYPE_POWERCOMPONENTINFO
Значение: 7
KMD должен заполнить структуру DXGK_POWER_RUNTIME_COMPONENT сведениями о n-мкомпоненте питания, где n — это индекс компонента, заданный DXGKARG_QUERYADAPTERINFO.pInputData при вызове DxgkDdiQueryAdapterInfo. Поддерживается начиная с Windows 8.
DXGKQAITYPE_PREFERREDGPUNODE
Значение: 8
Зарезервировано для системного использования. Не используйте в драйвере. Эта константа возникает начиная с Windows 8.
DXGKQAITYPE_POWERCOMPONENTPSTATEINFO
Значение: 9
Зарезервировано для системного использования. Не используйте в драйвере. Поддерживается начиная с Windows 8.1.
DXGKQAITYPE_HISTORYBUFFERPRECISION
Значение: 10
KMD должен заполнять структуру DXGKARG_HISTORYBUFFERPRECISION сведениями о точности данных буфера журнала, которые он использует. Поддерживается начиная с Windows 8.1.
DXGKQAITYPE_QUERYSEGMENT4
Значение: 11
KMD должен заполнить структуру DXGK_QUERYSEGMENTOUT4 , чтобы указать сведения о сегменте памяти. Поддерживается начиная с Windows 10.
DXGKQAITYPE_SEGMENTMEMORYSTATE
Значение: 12
KMD должен заполнять структуру DXGK_MEMORYRANGE с ее плохими диапазонами памяти. Поддерживается начиная с Windows 10.
DXGKQAITYPE_GPUMMUCAPS
Значение: 13
KMD должен заполнить структуру DXGK_GPUMMUCAPS с ее возможностями управления виртуальной памятью. Поддерживается начиная с Windows 10.
DXGKQAITYPE_PAGETABLELEVELDESC
Значение: 14
Зарезервировано для системного использования. Не используйте в драйвере. Эта константа возникает начиная с Windows 10.
DXGKQAITYPE_PHYSICALADAPTERCAPS
Значение: 15
Зарезервировано для системного использования. Не используйте в драйвере. Эта константа возникает начиная с Windows 10.
DXGKQAITYPE_DISPLAY_DRIVERCAPS_EXTENSION
Значение: 16
Зарезервировано для системного использования. Не используйте в драйвере. Эта константа возникает начиная с Windows 10.
DXGKQAITYPE_INTEGRATED_DISPLAY_DESCRIPTOR
Значение: 17
Поддерживается начиная с Windows 10 версии 1703. Указывает запрос для встроенного дескриптора панели, где входной буфер запроса будет DXGK_QUERYINTEGRATEDDISPLAYIN структурой, а выходной буфер — DXGK_QUERYINTEGRATEDDISPLAYOUT структурой.

Хотя эта функция обращается к целевому объекту, этот вызов берет на себя только блокировки адаптера DxgKrnl, а не блокировки дочерних устройств. На практике, так как этот вызов будет выполнен до предоставления доступа к дочернему устройству, не должно быть параллельных вызовов DDI, которые обращаются к одному и тому же целевому объекту.

ПРИМЕЧАНИЕ. В отличие от большинства вызовов QueryAdapterInfo размер выходного буфера является переменным, хотя он по-прежнему известен заранее из поля DescriptorLength структуры DXGK_INTEGRATED_DISPLAY_CHILD для целевого идентификатора. Размер выходного буфера:
DescriptorLength + FIELD_OFFSET( DXGK_QUERYINTEGRATEDDISPLAYOUT, Descriptor ).
DXGKQAITYPE_UEFIFRAMEBUFFERRANGES
Значение: 18
Указывает запрос для диапазонов буферов кадров UEFI. Поддерживается начиная с Windows 10 версии 1703.
DXGKQAITYPE_QUERYCOLORIMETRYOVERRIDES
Значение: 19
Поддерживается начиная с Windows 10 версии 1703. Указывает запрос на переопределения цветограммы для внешнего дисплея, где входной буфер запроса будет DXGK_QUERYCOLORIMETRYOVERRIDESIN структурой, содержащей только адресуемый идентификатор целевого объекта, а выходной буфер — DXGK_COLORIMETRY структуру, в которую драйвер записывает переопределения для монитора, присоединенного к целевому объекту.

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

Выходной буфер обнуляется при передаче драйверу. Если драйвер не имеет переопределений для монитора, он должен вернуть STATUS_SUCCESS и оставить выходной буфер обнуленным. Если драйвер имеет переопределения, он заполняет все поля DXGK_COLORIMETRY для описания возможностей монитора, так как ОС не будет принимать частичные переопределения.
DXGKQAITYPE_DISPLAYID_DESCRIPTOR
Значение: 20
Указывает запрос для встроенного дескриптора панели, где входной буфер запроса будет DXGK_QAITARGETIN структурой, а выходной буфер — DXGK_QUERYINTEGRATEDDISPLAYOUT структурой. Поддерживается начиная с Windows 10 версии 1709.
DXGKQAITYPE_FRAMEBUFFERSAVESIZE
Значение: 21
KMD должен заполнить структуру DXGK_FRAMEBUFFERSAVEAREA размером буфера кадра, который необходимо сохранить в системной памяти во время перехода на питание. Поддерживается начиная с Windows 10 версии 1803.
DXGKQAITYPE_HARDWARERESERVEDRANGES
Значение: 22
KMD должен заполнить структуру DXGK_HARDWARERESERVEDRANGES диапазонами зарезервированной памяти оборудования. Поддерживается начиная с Windows 10 версии 1803.
DXGKQAITYPE_INTEGRATED_DISPLAY_DESCRIPTOR2
Значение: 23
Поддерживается начиная с Windows 10 версии 1803. Указывает запрос на встроенный дескриптор панели, где входной буфер запроса будет DXGK_QAITARGETIN структурой, а выходной буфер — DXGK_QUERYINTEGRATEDDISPLAYOUT2 структурой. Этот запрос заменяет использование запроса DXGKQAITYPE_INTEGRATED_DISPLAY_DESCRIPTOR для драйверов WDDM 2.4.

О дочерних устройствах TypeIntegratedDisplay сообщается путем вызова DxgkDdiQueryAdapterInfo с заданным значением Type.
DXGKQAITYPE_NODEPERFDATA
Значение: 24
KMD должен заполнять структуру DXGK_NODE_PERFDATA , которая представляет данные о производительности, собираемые для каждого модуля из адаптера на основе интервала. Поддерживается начиная с Windows 10 версии 1803.
DXGKQAITYPE_ADAPTERPERFDATA
Значение: 25
KMD должен заполнять структуру DXGK_ADAPTER_PERFDATA , которая представляет данные о производительности, собираемые для каждого адаптера на основе интервала. Поддерживается начиная с Windows 10 версии 1803.
DXGKQAITYPE_ADAPTERPERFDATA_CAPS
Значение: 26
KMD должен заполнять структуру DXGK_ADAPTER_PERFDATACAPS , представляющую возможности данных, которые являются статическими и запрашиваются один раз на GPU во время инициализации. Поддерживается начиная с Windows 10 версии 1803.
DXGKQAITYPE_GPUVERSION
Значение: 27
KMD должен заполнить структуру DXGK_GPUVERSION , используемую для сбора версии BIOS и имени архитектуры GPU один раз во время инициализации GPU. Поддерживается начиная с Windows 10 версии 1803.
DXGKQAITYPE_DEVICE_TYPE_CAPS
Значение: 28
KMD должно заполнять структуру DXGK_DEVICE_TYPE_CAPS , описывающую тип возможностей устройства. Поддерживается начиная с Windows 10, версия 1809.
DXGKQAITYPE_WDDMDEVICECAPS
Значение: 29
KMD должен заполнять структуру DXGK_WDDMDEVICECAPS , которая содержит возможности WDDM, запрашиваемые ОС во время инициализации устройства. Поддерживается с Windows 10 версии 1903.
DXGKQAITYPE_GPUPCAPS
Значение: 30
KMD должен заполнять структуру DXGK_GPUPCAPS , которая содержит возможности GPU для драйвера отображения в режиме ядра. Поддерживается с Windows 10 версии 1903.
DXGKQAITYPE_QUERYTARGETGAMMACAPS
Значение: 31
KMD должен заполнять структуру DXGK_TARGET_GAMMA_CAPS , описывающую гамма-возможности KMD. Поддерживается с Windows 10 версии 1903.
DXGKQAITYPE_SCANOUT_CAPS
Значение: 33
KMD должен заполнять структуру DXGK_QUERY_SCANOUT_CAPS_OUT, описывающую возможности сканирования драйвера. Поддерживается с Windows 10 версии 1903.
DXGKQAITYPE_PHYSICAL_MEMORY_CAPS
Значение: 34
KMD должно заполнять структуру DXGK_PHYSICAL_MEMORY_CAPS , описывающую ограничения физической памяти (самый высокий видимый физический адрес) устройства. Поддерживается начиная с Windows Server 2022 (WDDM 2.9).

Дополнительные сведения о том, как указать поддержку драйвера для линейного переназначивания IOMMU, см. в DXGKQAITYPE_IOMMU_CAPS.
DXGKQAITYPE_IOMMU_CAPS
Значение: 35
KMD должен заполнять структуру DXGK_IOMMU_CAPS , указывающую, что драйвер поддерживает линейное переназначение IOMMU. Поддерживается начиная с Windows Server 2022 (WDDM 2.9). Чтобы указать поддержку линейного переназначивания, драйвер должен также сообщить Dxgkernel об ограничениях физической памяти с помощью ограничения DXGKQAITYPE_PHYSICAL_MEMORY_CAPS .

Логическое переназначение можно выполнить только в том случае, если устройство не ссылается на существующую физическую память, поэтому последовательность вызовов Dxgkrnl выглядит следующим образом:

* Вызовите DxgkDdiAddDevice для всех физических адаптеров, чтобы драйвер мог собирать сведения для всех связанных физических адаптеров.

* Вызовите DxgkDdiQueryAdapterInfo с DXGKQAITYPE_PHYSICAL_MEMORY_CAPS и DXGKQAITYPE_IOMMU_CAPS, чтобы затем можно было создать устройство и подключить его к домену IOMMU, прежде чем получить доступ к памяти.

* Вызовите DxgkDdiStartDevice , чтобы запустить устройство.
DXGKQAITYPE_HARDWARERESERVEDRANGES2
Значение: 36
DXGKQAITYPE_NATIVE_FENCE_CAPS
Значение: 37
KMD должен заполнять структуру DXGK_NATIVE_FENCE_CAPS , содержащую сведения о поддержке драйвера для собственных ограждений GPU. Поддерживается начиная с Windows 11 версии 24H2. Дополнительные сведения см. в разделе Ограждения собственного GPU.
DXGKQAITYPE_USERMODESUBMISSION_CAPS
Значение: 38
KMD должен заполнить структуру DXGK_USERMODESUBMISSION_CAPS , содержащую сведения о поддержке драйвера для отправки работы в пользовательском режиме. Поддерживается начиная с Windows 11 версии 24H2. Дополнительные сведения см. в разделе Отправка рабочих данных в пользовательском режиме.
DXGKQAITYPE_DIRTYBITTRACKINGCAPS
Значение: 39
KMD должен заполнять структуру DXGK_DIRTY_BIT_TRACKING_CAPS, содержащую сведения о поддержке драйвера для отслеживания грязное битов. Поддерживается начиная с Windows 11 версии 24H2. Дополнительные сведения см. в разделе Отслеживание грязных битов.
DXGKQAITYPE_DIRTYBITTRACKINGSEGMENTCAPS
Значение: 40
KMD должен заполнять структуру DXGK_DIRTY_BIT_TRACKING_SEGMENT_CAPS, содержащую сведения о поддержке драйвера для отслеживания грязное битов в определенном сегменте памяти. Поддерживается начиная с Windows 11 версии 24H2. Дополнительные сведения см. в разделе Отслеживание грязных битов.
DXGKQAITYPE_SCATTER_RESERVE
Значение: 41
KMD должен заполнять структуру DXGK_QUERYSCATTERRESERVEOUT , которая содержит сведения о поддержке драйвера для точечной системы. Поддерживается начиная с Windows 11 версии 24H2. Дополнительные сведения см. в разделе Динамическая миграция на устройствах GPU-P.

Комментарии

Dxgkrnl вызывает обратный вызов DxgkDdiQueryAdapterInfo KMD для получения сведений о конфигурации из графического адаптера. Драйвер заполняет запрошенные сведения в буфере, на который указывает элемент pOutputDataструктуры DXGKARG_QUERYADAPTERINFO . Просмотрите каждое значение перечисления для типа структуры для заполнения.

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Верхняя часть d3dkmddi.h (включая D3dkmddi.h)

См. также раздел

DXGKARG_QUERYADAPTERINFO

DxgkDdiQueryAdapterInfo