Функция WdfRegistryQueryULong (wdfregistry.h)
[Применимо к KMDF и UMDF]
Метод WdfRegistryQueryULong извлекает данные без знака длинных слов (REG_DWORD), которые в настоящее время назначены указанному значению реестра и копируют данные в указанное расположение.
Синтаксис
NTSTATUS WdfRegistryQueryULong(
[in] WDFKEY Key,
[in] PCUNICODE_STRING ValueName,
[out] PULONG Value
);
Параметры
[in] Key
Дескриптор объекта реестра, представляющего открытый раздел реестра.
[in] ValueName
Указатель на структуру UNICODE_STRING, содержащую имя значения реестра.
[out] Value
Указатель на расположение, которое получает данные, назначенные значению реестра, указывающее ValueName.
Возвращаемое значение
WdfRegistryQueryULong возвращает STATUS_SUCCESS, если операция завершится успешно. В противном случае метод может вернуть одно из следующих значений:
Возвращаемый код | Описание |
---|---|
|
WdfRegistryQueryULong не был вызван в IRQL = PASSIVE_LEVEL. |
|
Указан недопустимый параметр. |
|
Для завершения операции недостаточно памяти. |
|
Драйвер не открыл раздел реестра с доступом KEY_QUERY_VALUE, KEY_READ или KEY_ALL_ACCESS. |
|
Тип данных значения реестра, указанного параметром ValueName, не был REG_DWORD. |
|
Значение реестра недоступно. |
Этот метод также может возвращать другие значения NTSTATUS.
Ошибка возникает, если драйвер предоставляет недопустимый дескриптор объекта.
Замечания
Дополнительные сведения об объектах раздела реестра см. в разделе Использование реестра в драйверах WDF.
Примеры
В следующем примере кода извлекаются данные, назначенные в настоящее время значению NumberOfThings.
NTSTATUS status;
ULONG value;
DECLARE_CONST_UNICODE_STRING(valueName, L"NumberOfThings");
status = WdfRegistryQueryULong(
hKey,
&valueName,
&value
);
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
минимальная версия 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) |