Функция ORCreateKey
Создает указанный раздел реестра в автономном кусте реестра. Если ключ уже существует, функция открывает его.
Синтаксис
DWORD ORCreateKey(
_In_ ORHKEY Handle,
_In_ PCWSTR lpSubKey,
_In_opt_ PWSTR lpClass,
_In_opt_ DWORD dwOptions,
_In_opt_ PSECURITY_DESCRIPTOR pSecurityDescriptor,
_Out_ PORHKEY phkResult,
_Out_opt_ PDWORD pdwDisposition
);
Параметры
-
Дескриптор [в]
-
Дескриптор открытого раздела реестра в автономном кусте реестра.
-
lpSubKey [in]
-
Указатель на строку Юникода, содержащую имя подраздела, который открывает или создает эта функция. Параметр lpSubKey должен указывать подраздел ключа, определяемого параметром Handle ; в дереве реестра может находиться до 32 уровней. Дополнительные сведения об именах ключей см. в разделе Структура реестра.
Этот параметр не может иметь значение NULL.
В именах ключей регистр не учитывается.
-
lpClass [in, необязательный]
-
Класс (тип объекта) этого ключа. Этот параметр можно игнорировать. Этот параметр может принимать значение NULL.
-
dwOptions [in, необязательный]
-
Этот параметр может иметь значение 0 или одно из следующих значений.
Значение Значение - REG_OPTION_CREATE_LINK
- 0x00000002L
Ключ является символьной ссылкой. Целевой путь назначается значению L"SymbolicLinkValue" ключа. Целевой путь должен быть абсолютным путем реестра. Если этот параметр задан, необходимо также задать REG_OPTION_NON_VOLATILE .
Если параметр lpSubKey указывает существующий ключ, он должен быть создан с REG_OPTION_CREATE_LINK.
Символические ссылки реестра следует использовать только в том случае, если это абсолютно необходимо для обеспечения совместимости приложений.- REG_OPTION_NON_VOLATILE
- 0x00000000L
Ключ не является переменным; это значение по умолчанию. Эти сведения хранятся в файле и сохраняются при перезапуске системы. Функция ORSaveHive сохраняет ключи, которые не являются переменными. -
pSecurityDescriptor [in, optional]
-
Указатель на структуру SECURITY_DESCRIPTOR , содержащую дескриптор безопасности для нового ключа. Если pSecurityDescriptor имеет значение NULL, ключ получает дескриптор безопасности по умолчанию. Списки управления доступом в дескрипторе безопасности по умолчанию для ключа наследуются от его прямого родительского ключа.
-
phkResult [out]
-
Указатель на переменную, которая получает дескриптор открытого или созданного ключа. Используйте функцию ORCloseKey , чтобы закрыть ключ после завершения использования дескриптора.
-
pdwDisposition [out, optional]
-
Указатель на переменную, которая получает одно из следующих значений расположения.
Значение Значение - REG_CREATED_NEW_KEY
- 0x00000001L
Ключ не существовал и был создан. - REG_OPENED_EXISTING_KEY
- 0x00000002L
Ключ существовал и был просто открыт без изменения. Если pdwDisposition имеет значение NULL, сведения о ликвидации не возвращаются.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение будет ERROR_SUCCESS.
Если функция завершается сбоем, возвращаемое значение представляет собой код ошибки, отличный от нуля, определенный в Winerror.h. Чтобы получить общее описание ошибки, можно использовать функцию FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM.
Если параметру dwOptions задано значение REG_OPTION_CREATE_LINK но REG_OPTION_NON_VOLATILE не задано, или если возвращаемый дескриптор будет дескриптором корневого ключа hive, функция возвращает ERROR_INVALID_PARAMETER.
Комментарии
Ключ, создаваемый функцией ORCreateKey , не имеет значений. Приложение может использовать функцию ORSetValue для задания значений ключа.
Функцию ORCreateKey нельзя использовать для создания корневого раздела в автономном кусте реестра. Используйте функцию ORCreateHive , чтобы создать корневой ключ и получить дескриптор ключа.
Автономный реестр не поддерживает сохранение отдельных ключей. Используйте функцию ORSaveHive для сохранения ключа и его подразделов в кусте.
Требования
Требование | Значение |
---|---|
Распространяемые компоненты |
Библиотека автономного реестра Windows версии 1.0 или более поздней |
Заголовок |
|
DLL |
|
См. также раздел