DXGK_QUERYADAPTERINFOTYPE枚举 (d3dkmddi.h)

DXGK_QUERYADAPTERINFOTYPE 枚举指示内核模式显示微型端口驱动程序(KMD)应在缓冲区中返回的信息类型,该缓冲区 pOutputData 在调用其 DxgkDdiQueryAdapterInfo 函数时指向该驱动程序。 有关需要输入的类型的详细信息,请参阅 DXGKARG_QUERYADAPTERINFOpInputData)。

语法

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 = 42,
  DXGKQAITYPE_QUERYSEGMENTCOUNT = 43,
  DXGKQAITYPE_QUERYSEGMENT5 = 44,
  DXGKQAITYPE_QUERYMMUCOUNT = 45,
  DXGKQAITYPE_QUERYMMUS = 46,
  DXGKQAITYPE_64BITONLYCAPS = 47,
  DXGKQAITYPE_PAGINGPROCESSGPUVASIZE = 48
} 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 结构,其中 n 是调用 DxgkDdiQueryAdapterInfoDXGKARG_QUERYADAPTERINFO.pInputData 指定的组件索引。 从 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的所有字段来描述监视器功能,因为 OS 将不接受部分替代。
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 报告,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 应在 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 应填充一个 DXGK_IOMMU_CAPS 结构,该结构指示驱动程序支持 IOMMU 线性重新映射。 从 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 应填充一个 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 设备上的实时迁移
DXGKQAITYPE_QUERYPAGINGBUFFERINFO
值:42
DXGKQAITYPE_QUERYSEGMENTCOUNT
值:43
DXGKQAITYPE_QUERYSEGMENT5
值:44
DXGKQAITYPE_QUERYMMUCOUNT
值:45
DXGKQAITYPE_QUERYMMUS
值:46
DXGKQAITYPE_64BITONLYCAPS
值:47
DXGKQAITYPE_PAGINGPROCESSGPUVASIZE
值:48
KMD 应返回分页进程 GPU VA 空间的大小(以 MB 为单位)。 有关详细信息,请参阅 分配通知。 从 Windows 11 版本 24H2(WDDM 3.2)开始可用。

言论

Dxgkrnl 调用 KMD 的 DxgkDdiQueryAdapterInfo 回调,以从图形适配器检索配置信息。 驱动程序将填充 pOutputDataDXGKARG_QUERYADAPTERINFO 结构的成员指向的缓冲区中请求的信息。 查看要填充的结构类型的每个枚举值。

要求

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

另请参阅

DXGKARG_QUERYADAPTERINFO

DxgkDdiQueryAdapterInfo