D3DDDI_QUERYREGISTRY_INFO结构 (d3dukmdt.h)
D3DDDI_QUERYREGISTRY_INFO结构指示KMTQAITYPE_QUERYREGISTRY D3DKMT_QUERYADAPTERINFO::Type 时,应如何重新解释 D3DKMT_QUERYADAPTERINFO::pDriverPrivateData。
语法
typedef struct _D3DDDI_QUERYREGISTRY_INFO {
D3DDDI_QUERYREGISTRY_TYPE QueryType;
D3DDDI_QUERYREGISTRY_FLAGS QueryFlags;
WCHAR ValueName[MAX_PATH];
ULONG ValueType;
ULONG PhysicalAdapterIndex;
ULONG OutputValueSize;
D3DDDI_QUERYREGISTRY_STATUS Status;
union {
DWORD OutputDword;
D3DKMT_ALIGN64 UINT64 OutputQword;
WCHAR OutputString[1];
BYTE OutputBinary[1];
};
} D3DDDI_QUERYREGISTRY_INFO;
成员
QueryType
[in] 一个D3DDDI_QUERYREGISTRY_TYPE 值,该值指示要检索哪些数据。
QueryType 是最重要的字段。 它指示是否正在检索注册表或文件路径,以及哪个特定的注册表配置单元和文件路径。
注册表项枚举:
- D3DDDI_QUERYREGISTRY_SERVICEKEY
- D3DDDI_QUERYREGISTRY_ADAPTERKEY
文件路径枚举:
- D3DDDI_QUERYREGISTRY_DRIVERSTOREPATH
- D3DDDI_QUERYREGISTRY_DRIVERIMAGEPATH
QueryFlags
[in]具有控制字符串检索方式的标志 的D3DDDI_QUERYREGISTRY_FLAGS 结构。 QueryFlags 可以执行其他操作,例如将检索到的包含文件路径的字符串转换为来宾环境。
ValueName[MAX_PATH]
[in]检索注册表信息时, ValueName 必须指定要检索的注册表值名称。 检索文件路径信息时, 将忽略 ValueName 。
ValueType
[in]检索注册表信息时, ValueType 必须指定与注册表值名称相对应的预期注册表值类型。 检索文件路径信息时, ValueType 必须为 0 才能成功。 有关更多详细信息,请参阅 注册表值类型 。
PhysicalAdapterIndex
[in]LDA 链中的物理适配器索引。
OutputValueSize
[out]输出数据的大小将检索到此字段,即使没有足够的空间来检索该数据。 当检索可变大小的数据时,此字段最有用。
Status
[out]指示查询状态 的D3DDDI_QUERYREGISTRY_STATUS 值。
查询的状态将单独返回,以指示已检索的数据量不同。 以下三种返回状态最需要了解:
- 当 QueryAdapterInfo 返回STATUS_SUCCESS并且状态D3DDDI_QUERYREGISTRY_STATUS_SUCCESS时,所有以 Output 开头的字段都有效。
- 当 QueryAdapterInfo 返回STATUS_SUCCESS并且状态D3DDDI_QUERYREGISTRY_STATUS_BUFFER_OVERFLOW时,只有 OutputValueSize 有效。
- 当 QueryAdapterInfo 不返回STATUS_SUCCESS时,所有字段都保持未修改状态,但 状态 可能会更改为 D3DDDI_QUERYREGISTRY_STATUS_FAIL。
OutputDword
[out]用于重新解释成功检索的数据的便利字段。 读取注册表 DWORD 时,它最有用。
OutputQword
[out]用于重新解释成功检索的数据的便利字段。 读取注册表 QWORD 时,它最有用。
OutputString[1]
OutputBinary[1]
注解
D3DDDI_QUERYREGISTRY_INFO 用于读取注册表,以获取在驱动程序安装过程中通常缓存的信息。
用户模式驱动程序和其他组件必须在支持的 OS 版本上普遍使用此技术,而不是使用原始 OS 方法。 这使 OS 能够最大程度地提高用户模式与依赖项更改和虚拟化环境等方案的兼容性。
要求
要求 | 值 |
---|---|
Header | d3dukmdt.h |