Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод NewSubKey
создает новый подраздел реестра или открывает существующий подраздел под ключом, представленным объектом IRegistryKey .
Синтаксис
NTSTATUS NewSubKey(
[out] IRegistryKey **RegistrySubKey,
[in] PUNKNOWN OuterUnknown,
[in] ACCESS_MASK DesiredAccess,
[in] PUNICODE_STRING SubKeyName,
[in] ULONG CreateOptions,
[out, optional] PULONG Disposition
);
Параметры
[out] RegistrySubKey
Указатель вывода для нового подраздела. Этот параметр указывает на переменную указателя, выделенную вызывающим объектом, в которую метод записывает указатель на новый объект IRegistryKey . Этот объект представляет открываемый или созданный вложенный ключ. Укажите допустимое, незначение указателя NULL для этого параметра.
[in] OuterUnknown
Указатель на интерфейс IUnknown объекта, который должен агрегировать объект раздела реестра. Это необязательный параметр. Если агрегирование не требуется, укажите этот параметр как NULL.
[in] DesiredAccess
Указывает тип доступа, который вызывающий объект требует от подключа, который открывается или создается. Этот параметр имеет тип ACCESS_MASK. Дополнительные сведения см. в следующем разделе "Примечания".
[in] SubKeyName
Указатель на имя, которое должно быть назначено подразделу. Этот параметр должен быть допустимым указателем, отличным от NULL , к инициализированной структуре типа UNICODE_STRING.
[in] CreateOptions
Флаги, указывающие параметры создания. Может быть равно нулю, если нет необходимости. Этот параметр требуется, если значение RegistryKeyType — GeneralRegistryKey; в противном случае метод не использует этот параметр. Дополнительные сведения см. в следующем разделе "Примечания".
[out, optional] Disposition
Указатель вывода для значения ликвидации. Этот параметр указывает на выделенную вызывающим переменную ULONG, в которую метод записывает значение состояния, указывающее, был ли создан новый ключ или был открыт существующий ключ. Этот параметр является необязательным и может быть указан как NULL , если вызывающий объект не нуждается в нем. Дополнительные сведения см. в следующем разделе "Примечания".
Возвращаемое значение
NewSubKey
возвращает STATUS_SUCCESS, если вызов выполнен успешно при выводе допустимого указателя IRegistryKey с помощью параметра RegistrySubKey . В противном случае метод возвращает соответствующий код ошибки.
Замечания
Метод NewSubKey
либо открывает указанный раздел реестра, если он уже существует, либо создает новый раздел в реестре, если он не существует. Метод выводит указатель на интерфейс IRegistryKey нового ключа с помощью параметра RegistrySubKey . Метод также выводит значение состояния через необязательный параметр ликвидации , чтобы указать, был ли ключ открыт или создан.
Параметры DesiredAccess, CreateOptions и Disposition принимают значения, определенные для параметров с теми же именами в вызове PcNewRegistryKey .
Параметр DesiredAccess — это маска управления доступом, указывающая тип управления доступом, который вызывающий объект должен иметь вложенную часть при доступе к нему через объект RegistrySubKey . Эту маску не следует путать с списком ACL (список управления доступом), который управляет доступом пользователей к подразделу реестра. Если метод PcNewRegistryKey или IPort::NewRegistryKey создает раздел реестра типа GeneralRegistryKey, параметр ObjectAttributes указывает атрибуты ключа, включая дескриптор безопасности, содержащий ACL.
NewSubKey
Однако при создании нового подраздела реестра этот подраздел просто наследует ACL от родительского ключа. Этот NewSubKey
метод не предоставляет никаких средств для указания ACL, отличающегося от ACL родительского ключа.
Параметры RegistrySubKey и OuterUnknown соответствуют соглашениям о подсчете ссылок для объектов COM.
Требования
Требование | Ценность |
---|---|
целевая платформа | универсальный |
Заголовок | portcls.h (include Portcls.h) |
IRQL | пассивный уровень |