Condividi tramite


Metodo IRegistryKey::NewSubKey (portcls.h)

Il NewSubKey metodo crea una nuova sottochiave del Registro di sistema o apre una sottochiave esistente sotto la chiave rappresentata dall'oggetto IRegistryKey .

Sintassi

NTSTATUS NewSubKey(
  [out]           IRegistryKey    **RegistrySubKey,
  [in]            PUNKNOWN        OuterUnknown,
  [in]            ACCESS_MASK     DesiredAccess,
  [in]            PUNICODE_STRING SubKeyName,
  [in]            ULONG           CreateOptions,
  [out, optional] PULONG          Disposition
);

Parametri

[out] RegistrySubKey

Puntatore di output per la nuova sottochiave. Questo parametro punta a una variabile puntatore allocata dal chiamante in cui il metodo scrive il puntatore nel nuovo oggetto IRegistryKey . Questo oggetto rappresenta la sottochiave da aprire o creare. Specificare un valore di puntatore non NULL valido per questo parametro.

[in] OuterUnknown

Puntatore all'interfaccia IUnknown di un oggetto che deve aggregare l'oggetto chiave del Registro di sistema. Questo parametro è facoltativo e, Se l'aggregazione non è obbligatoria, specificare questo parametro come NULL.

[in] DesiredAccess

Specifica il tipo di accesso richiesto dal chiamante per la sottochiave che viene aperta o creata. Questo parametro è di tipo ACCESS_MASK. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.

[in] SubKeyName

Puntatore al nome da assegnare alla sottochiave. Questo parametro deve essere un puntatore non NULL valido a una struttura inizializzata di tipo UNICODE_STRING.

[in] CreateOptions

Flag che indicano le opzioni di creazione. Può essere zero se non si desidera. Questo parametro è obbligatorio se il valore di RegistryKeyType è GeneralRegistryKey; in caso contrario, il metodo non usa questo parametro. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.

[out, optional] Disposition

Puntatore di output per il valore di eliminazione. Questo parametro punta a una variabile ULONG allocata dal chiamante in cui il metodo scrive un valore di stato che indica se è stata creata una nuova chiave o se è stata aperta una chiave esistente. Questo parametro è facoltativo e può essere specificato come NULL se il chiamante non ne ha bisogno. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.

Valore restituito

NewSubKey restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo nell'output di un puntatore IRegistryKey valido tramite il parametro RegistrySubKey . In caso contrario, il metodo restituisce un codice di errore appropriato.

Commenti

Se esiste già, il NewSubKey metodo apre la chiave del Registro di sistema specificata oppure crea una nuova chiave nel Registro di sistema, se non esiste. Il metodo restituisce un puntatore all'interfaccia IRegistryKey della nuova chiave tramite il parametro RegistrySubKey . Il metodo restituisce anche un valore di stato tramite il parametro Disposition facoltativo per indicare se la chiave è stata aperta o creata.

I parametri DesiredAccess, CreateOptions e Disposition accettano i valori definiti per i parametri con gli stessi nomi nella chiamata PcNewRegistryKey .

Il parametro DesiredAccess è una maschera di controllo di accesso che specifica il tipo di controllo di accesso necessario al chiamante per l'accesso tramite l'oggetto RegistrySubKey . Questa maschera non deve essere confusa con l'elenco di controllo di accesso (ACL) che controlla l'accesso da parte degli utenti alla sottochiave del Registro di sistema. Quando il metodo PcNewRegistryKey o IPort::NewRegistryKey crea una chiave del Registro di sistema di tipo GeneralRegistryKey, il parametro ObjectAttributes specifica gli attributi della chiave, incluso un descrittore di sicurezza che contiene l'ACL. Quando il NewSubKey metodo crea una nuova sottochiave del Registro di sistema, tuttavia, tale sottochiave eredita semplicemente l'ACL dalla chiave padre. Il NewSubKey metodo non fornisce alcun mezzo per specificare un elenco di controllo di accesso diverso da quello della chiave padre.

I parametri RegistrySubKey ed OuterUnknown seguono le convenzioni di conteggio dei riferimenti per gli oggetti COM.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione portcls.h (include Portcls.h)
IRQL PASSIVE_LEVEL

Vedi anche

ACCESS_MASK

IPort::NewRegistryKey

IRegistryKey

PcNewRegistryKey

UNICODE_STRING