Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Применимо к KMDF и UMDF]
Метод WdfRegistryQueryString извлекает строковые данные, которые в настоящее время назначены указанному значению строки реестра и назначает строку указанному объекту строки платформы.
Синтаксис
NTSTATUS WdfRegistryQueryString(
[in] WDFKEY Key,
[in] PCUNICODE_STRING ValueName,
[in] WDFSTRING String
);
Параметры
[in] Key
Дескриптор объекта реестра, представляющего открытый раздел реестра.
[in] ValueName
Указатель на структуру UNICODE_STRING, содержащую имя значения реестра.
[in] String
Дескриптор объекта строки платформы. Платформа назначит строковые данные реестра этому объекту.
Возвращаемое значение
WdfRegistryQueryString возвращает STATUS_SUCCESS, если операция завершится успешно. В противном случае метод может вернуть одно из следующих значений:
Возвращаемый код | Описание |
---|---|
|
WdfRegistryQueryString не был вызван в IRQL = PASSIVE_LEVEL. |
|
Указан недопустимый параметр. |
|
Для завершения операции недостаточно памяти. |
|
Драйвер не открыл раздел реестра с доступом KEY_QUERY_VALUE, KEY_READ или KEY_ALL_ACCESS. |
|
Тип данных значения реестра, указанного параметром valueName , не REG_SZ. |
|
Значение реестра недоступно. |
|
Значение реестра существует под указанным ключом, но пустое. |
Список других возвращаемых значений, возвращаемых методом WdfRegistryQueryString, см. .
Этот метод также может возвращать другие значения NTSTATUS.
Ошибка возникает, если драйвер предоставляет недопустимый дескриптор объекта.
Замечания
Чтобы получить строку из строкового объекта, драйвер может вызвать WdfStringGetUnicodeString.
Дополнительные сведения о объектах раздела реестра см. в разделе Использование реестра в Framework-Based драйверах.
Примеры
В следующем примере кода создается строковый объект, извлекаются строковые данные из раздела реестра и извлекаются строковые данные из объекта строки.
UNICODE_STRING str;
WDFSTRING string;
NTSTATUS status;
DECLARE_CONST_UNICODE_STRING(valueName, STRING_VALUE_NAME);
status = WdfStringCreate(
NULL,
WDF_NO_OBJECT_ATTRIBUTES,
&string
);
if (NT_SUCCESS(status)) {
status = WdfRegistryQueryString(
Key,
&valueName,
string
);
if (NT_SUCCESS(status)) {
WdfStringGetUnicodeString(
string,
&str
);
}
}
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
минимальная версия KMDF | 1.0 |
минимальная версия UMDF | 2.0 |
заголовка | wdfregistry.h (include Wdf.h) |
библиотеки | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
правил соответствия DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |