структура D3DDDI_QUERYREGISTRY_INFO (d3dukmdt.h)
Структура D3DDDI_QUERYREGISTRY_INFO указывает, как следует переосмыслить D3DKMT_QUERYADAPTERINFO::p DriverPrivateData при KMTQAITYPE_QUERYREGISTRYD3DKMT_QUERYADAPTERINFO::Type.
Синтаксис
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 используется для чтения в реестре сведений, которые обычно кэшируются во время установки драйвера.
Вместо использования необработанных методов ОС драйверы пользовательского режима и другие компоненты должны повсеместно использовать этот метод в версиях ОС, где он поддерживается. Это позволяет ОС максимально повысить совместимость пользовательского режима с изменениями зависимостей и сценариями, такими как виртуализированные среды.
Требования
Требование | Значение |
---|---|
Заголовок | d3dukmdt.h |