Funzione RegLoadAppKeyA (winreg.h)
Carica l'hive del Registro di sistema specificato come hive dell'applicazione.
Sintassi
LSTATUS RegLoadAppKeyA(
[in] LPCSTR lpFile,
[out] PHKEY phkResult,
[in] REGSAM samDesired,
[in] DWORD dwOptions,
DWORD Reserved
);
Parametri
[in] lpFile
Nome del file hive. Questo hive deve essere stato creato con la funzione RegSaveKey o RegSaveKeyEx. Se il file non esiste, viene creato un file hive vuoto con il nome specificato.
[out] phkResult
Puntatore all'handle per la chiave radice dell'hive caricato.
L'unico modo per accedere alle chiavi nell'hive è tramite questo handle. Il Registro di sistema impedirà a un'applicazione di accedere alle chiavi in questo hive usando un percorso assoluto della chiave. Di conseguenza, non è possibile passare a questo hive tramite lo spazio dei nomi del Registro di sistema.
[in] samDesired
Maschera che specifica i diritti di accesso richiesti per la chiave radice restituita. Per altre informazioni, vedere sicurezza delle chiavi del Registro di sistema e diritti di accesso.
[in] dwOptions
Se questo parametro è REG_PROCESS_APPKEY, l'hive non può essere caricato di nuovo mentre viene caricato dal chiamante. In questo modo si impedisce l'accesso a questo hive del Registro di sistema da un altro chiamante.
Reserved
Questo parametro è riservato.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è 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
Osservazioni
A differenza di RegLoadKey, RegLoadAppKey non carica l'hive in HKEY_LOCAL_MACHINE o HKEY_USERS. L'hive viene invece caricato in una radice speciale che non può essere enumerata. Di conseguenza, non è possibile enumerare gli hive attualmente caricati da RegLoadAppKey. Tutte le operazioni su hive caricate da RegLoadAppKey devono essere eseguite rispetto all'handle restituito in phkResult.
Se sono necessari due processi per eseguire operazioni sullo stesso hive, ogni processo deve chiamare RegLoadAppKey per recuperare un handle. Durante l'operazione di RegLoadAppKey, il Registro di sistema verificherà se il file è già stato caricato. Se è stato caricato, il Registro di sistema restituirà un handle all'hive caricato in precedenza anziché ricaricare l'hive.
Tutte le chiavi all'interno dell'hive devono avere lo stesso descrittore di sicurezza. In caso contrario, la funzione avrà esito negativo. Questo descrittore di sicurezza deve concedere al chiamante l'accesso specificato dal parametro samDesired
In Windows 8 e versioni successive, ogni processo può chiamare RegLoadAppKey per caricare più hive. In Windows 7 e versioni precedenti, ogni processo può caricare un solo hive usando RegLoadAppKey alla volta.
Qualsiasi hive caricato usando RegLoadAppKey viene scaricato automaticamente quando tutti gli handle delle chiavi all'interno dell'hive vengono chiusi usando RegCloseKey.
Per compilare un'applicazione che usa questa funzione, definire _WIN32_WINNT come 0x0600 o versione successiva. Per altre informazioni, vedere Uso delle intestazioni di Windows.
Nota
L'intestazione winreg.h definisce RegLoadAppKey come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows Vista [solo app desktop] |
server minimo supportato | Windows Server 2008 [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
winreg.h (include Windows.h) |
libreria |
Advapi32.lib |
dll | Advapi32.dll |