Функция RtlQueryRegistryValueWithFallback (ntddk.h)

Извлекает запись значения для раздела реестра с помощью первичного дескриптора; Если не найдено, использует резервный дескриптор.

Синтаксис

NTSYSAPI NTSTATUS RtlQueryRegistryValueWithFallback(
  [in]  HANDLE          PrimaryHandle,
  [in]  HANDLE          FallbackHandle,
  [in]  PUNICODE_STRING ValueName,
  [in]  ULONG           ValueLength,
  [Out] PULONG          ValueType,
  [out] PVOID           ValueData,
  [out] PULONG          ResultLength
);

Параметры

[in] PrimaryHandle

Дескриптор ключа, который впервые используется для запроса записей значений. Этот дескриптор создается путем успешного вызова ZwCreateKey или ZwOpenKey.

[in] FallbackHandle

Дескриптор, используемый для запроса ключа, если значение не найдено с помощью дескриптора, указанного параметром PrimaryHandle.

[in] ValueName

Указатель на строку, содержащую имя значения, для которого извлекаются данные.

[in] ValueLength

Задает размер (в байтах) строки ValueName .

[Out] ValueType

Указатель на переменную ULONG, получающую тип запрашиваемого значения.

[out] ValueData

Указатель на буфер, получающий данные значения.

[out] ResultLength

Указатель на переменную, получающую размер данных значения в байтах. Если возвращаемое значение равно STATUS_SUCCESS, указывает количество байтов, записанных в буфер ValueData . Если вызов возвращает STATUS_BUFFER_OVERFLOW, указывает необходимое количество байтов. Вызывающие могут использовать это значение для определения размера буфера ValueData, необходимого для хранения данных.

Возвращаемое значение

Возвращает STATUS_SUCCESS при успешном выполнении или соответствующий код ошибки при сбое.

Требования

Требование Значение
Минимальная версия клиента Windows 10, версия 1809
Верхняя часть ntddk.h (включая wdm.h)
Библиотека NtosKrnl.lib
IRQL PASSIVE_LEVEL

См. также раздел

Использование реестра в драйвере