DXGK_QUERYADAPTERINFOTYPE 枚举 (d3dkmddi.h)

DXGK_QUERYADAPTERINFOTYPE 枚举指示调用其 DxgkDdiQueryAdapterInfo 函数时,内核模式显示微型端口驱动程序 (KMD) 应在 pOutputData 指向的缓冲区中返回的信息类型。 有关需要输入 (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 应使用有关第 n个电源组件的信息填充DXGK_POWER_RUNTIME_COMPONENT结构,其中 nDXGKARG_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 调用不同,输出缓冲区大小是可变的,尽管目标 id 的 DXGK_INTEGRATED_DISPLAY_CHILD 结构的 descriptorLength 字段仍提前知道它。输出缓冲区的大小为:
DescriptorLength + FIELD_OFFSET( DXGK_QUERYINTEGRATEDDISPLAYOUT, Descriptor ).
DXGKQAITYPE_UEFIFRAMEBUFFERRANGES
值: 18
指示对 UEFI 帧缓冲区范围的请求。 从 Windows 10 版本 1703 开始受支持。
DXGKQAITYPE_QUERYCOLORIMETRYOVERRIDES
值: 19
从 Windows 10 版本 1703 开始受支持。 指示对外部显示器的色度替代请求,其中查询的输入缓冲区将是 一个DXGK_QUERYCOLORIMETRYOVERRIDESIN 结构,仅包含要寻址的目标 ID,输出缓冲区是驱动程序在其中写入附加到目标的监视器替代 的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 结构。 此查询取代了 WDDM 2.4 驱动程序 的 DXGKQAITYPE_INTEGRATED_DISPLAY_DESCRIPTOR 查询的使用。

TypeIntegratedDisplay 子设备 通过调用 DxgkDdiQueryAdapterInfo报告,类型 设置为此值。
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 应在 GPU 初始化期间填充用于收集 BIOS 版本和 GPU 体系结构名称的 DXGK_GPUVERSION 结构。 从 Windows 10 版本 1803 开始受支持。
DXGKQAITYPE_DEVICE_TYPE_CAPS
值: 28
KMD 应填充描述设备功能类型的 DXGK_DEVICE_TYPE_CAPS 结构。 从 Windows 10 版本 1809 开始支持。
DXGKQAITYPE_WDDMDEVICECAPS
值: 29
KMD 应填充 DXGK_WDDMDEVICECAPS 结构,该结构包含 OS 在设备初始化期间查询的 WDDM 功能。 从 Windows 10 版本 1903 开始受支持。
DXGKQAITYPE_GPUPCAPS
值: 30
KMD 应填充包含内核模式显示驱动程序的 GPU 功能的 DXGK_GPUPCAPS 结构。 从 Windows 10 版本 1903 开始受支持。
DXGKQAITYPE_QUERYTARGETGAMMACAPS
值: 31
KMD 应填充描述 KMD 的伽玛功能的 DXGK_TARGET_GAMMA_CAPS 结构。 从 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 应填充指示驱动程序支持 IOMMU 线性重新映射 的DXGK_IOMMU_CAPS 结构。 从 Windows Server 2022 (WDDM 2.9) 开始受支持。 若要指示支持线性重新映射,驱动程序还必须通过DXGKQAITYPE_PHYSICAL_MEMORY_CAPS上限通知 Dxgkernel 其物理内存限制。

仅当设备未引用任何现有物理内存时,才能执行逻辑重新映射,因此 Dxgkrnl 的调用顺序如下所示:

* 为所有物理适配器调用 DxgkDdiAddDevice ,以便驱动程序可以收集所有链接的物理适配器的信息。

* 使用 DXGKQAITYPE_PHYSICAL_MEMORY_CAPS 和 DXGKQAITYPE_IOMMU_CAPS 调用 DxgkDdiQueryAdapterInfo ,以便在访问任何内存之前创建设备并将其附加到 IOMMU 域。

* 调用 DxgkDdiStartDevice 以启动设备。
DXGKQAITYPE_HARDWARERESERVEDRANGES2
值: 36
DXGKQAITYPE_NATIVE_FENCE_CAPS
值: 37
KMD 应填充包含驱动程序对本机 GPU 围栏的支持详细信息的 DXGK_NATIVE_FENCE_CAPS 结构。 从 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 调用 KMD 的 DxgkDdiQueryAdapterInfo 回调,以从图形适配器检索配置信息。 驱动程序在 DXGKARG_QUERYADAPTERINFO 结构的 pOutputData 成员指向的缓冲区中填充请求的信息。 查看要填充的结构类型的每个枚举值。

要求

要求
最低受支持的客户端 Windows Vista
标头 d3dkmddi.h (包括 D3dkmddi.h)

另请参阅

DXGKARG_QUERYADAPTERINFO

DxgkDdiQueryAdapterInfo