Функция 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 или более поздней |
Заголовок |
|
DLL |
|
См. также раздел