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


Функция 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 или более поздней
Заголовок
Offreg.h
DLL
Offreg.dll

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

ORCloseKey

ORCreateHive

ORDeleteKey

ORSaveHive

SECURITY_DESCRIPTOR