Condividi tramite


FUNZIONE ORCreateKey

Crea la chiave del Registro di sistema specificata in un hive del Registro di sistema offline. Se la chiave esiste già, la funzione la apre.

Sintassi

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
);

Parametri

Handle [in]

Handle per una chiave del Registro di sistema aperta in un hive del Registro di sistema offline.

lpSubKey [in]

Puntatore a una stringa Unicode contenente il nome di una sottochiave aperta o creata da questa funzione. Il parametro lpSubKey deve specificare una sottochiave della chiave identificata dal parametro Handle ; può essere fino a 32 livelli profondi nell'albero del Registro di sistema. Per altre informazioni sui nomi delle chiavi, vedere Struttura del Registro di sistema.

Questo parametro non può essere NULL.

I nomi delle chiavi non fanno distinzione tra maiuscole e minuscole.

lpClass [in, facoltativo]

Classe (tipo di oggetto) di questa chiave. Questo parametro può essere ignorato. Questo parametro può essere NULL.

dwOptions [in, facoltativo]

Questo parametro può essere 0 o uno dei valori seguenti.

Valore Significato
REG_OPTION_CREATE_LINK
0x00000002L
La chiave è un collegamento simbolico. Il percorso di destinazione viene assegnato al valore L"SymbolicLinkValue" della chiave. Il percorso di destinazione deve essere un percorso assoluto del Registro di sistema. Se questa opzione è impostata, è necessario impostare anche REG_OPTION_NON_VOLATILE .
Se il parametro lpSubKey specifica una chiave esistente, deve essere stata creata con REG_OPTION_CREATE_LINK.
I collegamenti simbolici del Registro di sistema devono essere usati solo quando è assolutamente necessario per la compatibilità delle applicazioni.
REG_OPTION_NON_VOLATILE
0x0000000L
La chiave non è volatile; si tratta dell'impostazione predefinita. Le informazioni vengono archiviate in un file e vengono mantenute al riavvio del sistema. La funzione ORSaveHive salva le chiavi che non sono volatili.

 

pSecurityDescriptor [in, facoltativo]

Puntatore a una struttura SECURITY_DESCRIPTOR che contiene un descrittore di sicurezza per la nuova chiave. Se pSecurityDescriptor è NULL, la chiave ottiene un descrittore di sicurezza predefinito. Gli ACL in un descrittore di sicurezza predefinito per una chiave vengono ereditati dalla chiave padre diretta.

phkResult [out]

Puntatore a una variabile che riceve un handle per la chiave aperta o creata. Usare la funzione ORCloseKey per chiudere la chiave al termine dell'uso dell'handle.

pdwDisposition [out, facoltativo]

Puntatore a una variabile che riceve uno dei valori di eliminazione seguenti.

Valore Significato
REG_CREATED_NEW_KEY
0x00000001L
La chiave non esiste ed è stata creata.
REG_OPENED_EXISTING_KEY
0x00000002L
La chiave esisteva ed era semplicemente aperta senza essere modificata.

 

Se pdwDisposition è NULL, non vengono restituite informazioni sull'eliminazione.

Valore restituito

Se la funzione ha esito positivo, il valore restituito viene ERROR_SUCCESS.

Se la funzione ha esito negativo, il valore restituito è un codice di errore diverso da zero definito in Winerror.h. È possibile usare la funzione FormatMessage con il flag FORMAT_MESSAGE_FROM_SYSTEM per ottenere una descrizione generica dell'errore.

Se il parametro dwOptions è impostato con REG_OPTION_CREATE_LINK ma REG_OPTION_NON_VOLATILE è chiaro o se l'handle da restituire sarebbe un handle per la chiave radice dell'hive, la funzione restituisce ERROR_INVALID_PARAMETER.

Commenti

La chiave creata dalla funzione ORCreateKey non ha valori. Un'applicazione può usare la funzione ORSetValue per impostare i valori chiave.

La funzione ORCreateKey non può essere usata per creare la chiave radice in un hive del Registro di sistema offline. Usare la funzione ORCreateHive per creare la chiave radice e ottenere un handle per la chiave.

Il Registro di sistema offline non supporta il salvataggio di singole chiavi. Usare la funzione ORSaveHive per salvare una chiave e le relative sottochiavi in un hive.

Requisiti

Requisito Valore
Componente ridistribuibile
Libreria del Registro di sistema offline di Windows versione 1.0 o successiva
Intestazione
Offreg.h
DLL
Offreg.dll

Vedi anche

ORCloseKey

ORCreateHive

ORDeleteKey

ORSaveHive

SECURITY_DESCRIPTOR