Поделиться через


Функция OREnumKey

Перечисляет подразделы указанного открытого раздела реестра в автономном кусте реестра. Функция получает сведения об одном подразделе при каждом вызове.

Синтаксис

DWORD OREnumKey(
  _In_        ORHKEY    Handle,
  _In_        DWORD     dwIndex,
  _Out_       PWSTR     lpName,
  _Inout_     PDWORD    lpcName,
  _Out_opt_   PWSTR     lpClass,
  _Inout_opt_ PDWORD    lpcClass,
  _Out_opt_   PFILETIME lpftLastWriteTime
);

Параметры

Дескриптор [в]

Дескриптор открытого раздела реестра в автономном кусте реестра.

dwIndex [in]

Индекс извлекаемого подраздела. Этот параметр должен быть равен нулю для первого вызова функции, а затем увеличиваться для последующих вызовов.

Так как подразделы не упорядочены, любой новый подраздел будет иметь произвольный индекс. Это означает, что функция может возвращать подразделы в любом порядке.

lpName [out]

Указатель на буфер, получающий имя подраздела, включая завершающий символ NULL. Функция копирует в буфер только имя подраздела, а не полную иерархию ключей. Если функция завершается сбоем, никакие сведения не копируются в этот буфер.

Дополнительные сведения см. в разделе Ограничения размера элементов реестра.

lpcName [in, out]

Указатель на переменную, указывающую размер буфера, заданный параметром lpName , в WCHAR. Этот размер должен включать завершающий символ NULL. Если функция выполняется успешно, переменная, на которую указывает lpcName , содержит количество символов, хранящихся в буфере, не включая завершающий символ NULL.

lpClass [out, optional]

Указатель на буфер, получающий строку класса, завершающуюся null, перечисленного подраздела. Этот параметр может принимать значение NULL.

lpcClass [in, out, optional]

Указатель на переменную, указывающую размер буфера, заданного параметром lpClass , в WCHAR. Размер должен включать завершающий символ NULL. Если функция выполнена успешно, lpcClass содержит количество символов, хранящихся в буфере, не включая завершающий символ NULL. Этот параметр может иметь значение NULL , только если lpClass имеет значение NULL.

lpftLastWriteTime [out, optional]

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

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

Если функция выполнена успешно, возвращаемое значение будет ERROR_SUCCESS.

Если функция завершается сбоем, возвращаемое значение представляет собой код ошибки, отличный от нуля, определенный в Winerror.h. Чтобы получить общее описание ошибки, можно использовать функцию FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM. Возможные коды ошибок:

  • Если буфер lpName слишком мал для получения имени ключа, функция возвращает ERROR_MORE_DATA.
  • Если доступных подразделов больше нет, функция возвращает ERROR_NO_MORE_ITEMS.

Комментарии

Для перечисления подразделов приложение должно сначала вызвать функцию OREnumKey с параметром dwIndex , равным нулю. Затем приложение должно увеличить параметр dwIndex и вызывать OREnumKey, пока не будет больше подразделов (то есть функция возвращает ERROR_NO_MORE_ITEMS).

Приложение также может задать dwIndex для индекса последнего подраздела при первом вызове функции и уменьшать индекс до перечисления подраздела с индексом 0. Чтобы получить индекс последнего подраздела, используйте функцию ORQueryInfoKey .

Пока приложение использует функцию OREnumKey , оно не должно выполнять вызовы каких-либо автономных функций реестра, которые могут изменить перечисляемый ключ.

Требования

Требование Значение
Распространяемые компоненты
Библиотека автономного реестра Windows версии 1.0 или более поздней
Заголовок
Offreg.h
DLL
Offreg.dll

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

ORCreateKey

ORDeleteKey

OROpenKey

ORQueryInfoKey