struttura REG_CREATE_KEY_INFORMATION_V1 (wdm.h)
La struttura REG_CREATE_KEY_INFORMATION_V1 contiene informazioni che la routine RegistryCall back di un driver di filtro può utilizzare quando viene creata una chiave del Registro di sistema.
Sintassi
typedef struct _REG_CREATE_KEY_INFORMATION_V1 {
PUNICODE_STRING CompleteName;
PVOID RootObject;
PVOID ObjectType;
ULONG Options;
PUNICODE_STRING Class;
PVOID SecurityDescriptor;
PVOID SecurityQualityOfService;
ACCESS_MASK DesiredAccess;
ACCESS_MASK GrantedAccess;
PULONG Disposition;
PVOID *ResultObject;
PVOID CallContext;
PVOID RootObjectContext;
PVOID Transaction;
ULONG_PTR Version;
PUNICODE_STRING RemainingName;
ULONG Wow64Flags;
ULONG Attributes;
KPROCESSOR_MODE CheckAccessMode;
} REG_CREATE_KEY_INFORMATION_V1, REG_OPEN_KEY_INFORMATION_V1, *PREG_CREATE_KEY_INFORMATION_V1, *PREG_OPEN_KEY_INFORMATION_V1;
Membri
CompleteName
Puntatore a una struttura UNICODE_STRING che contiene il percorso della nuova chiave del Registro di sistema. Il percorso può essere assoluto o relativo. Se il percorso è assoluto, questa struttura contiene un percorso completo che inizia con il carattere "\". Per un percorso assoluto, il membro RootObject specifica la chiave \REGISTRY, ovvero la directory radice dell'albero del Registro di sistema. Se il percorso è relativo, il percorso inizia con un carattere diverso da "\" e è relativo alla chiave specificata dal membro RootObject.
RootObject
Puntatore a un oggetto chiave del Registro di sistema che rappresenta la chiave del Registro di sistema radice per il percorso specificato dal membro CompleteName.
ObjectType
Questo membro è riservato per l'uso dal sistema operativo. I driver non devono accedere a questo membro.
Options
Specifica le opzioni per la routine key-create da utilizzare per creare o aprire la nuova chiave. Per altre informazioni, vedere la descrizione del parametro CreateOptions della routine ZwCreateKey e la descrizione del parametro OpenOptions della routine ZwOpenKeyEx.
Class
Puntatore a una struttura UNICODE_STRING che identifica la classe oggetto della nuova chiave. Per altre informazioni su questo membro, vedere il parametro classe della routine ZwCreateKey. Questo valore del puntatore può essere NULL.
SecurityDescriptor
Puntatore a una struttura SECURITY_DESCRIPTOR che contiene informazioni di sicurezza per l'oggetto chiave. Questo puntatore è stato ottenuto dal SecurityDescriptor membro della struttura OBJECT_ATTRIBUTES passata come parametro di input nella chiamata per creare la nuova chiave del Registro di sistema.
SecurityQualityOfService
Puntatore a una struttura SECURITY_QUALITY_OF_SERVICE. Questa struttura indica se un server può rappresentare il client che sta tentando di creare la chiave del Registro di sistema e, se è consentita la rappresentazione, la misura in cui è consentita.
DesiredAccess
Maschera di accesso specificata dal thread che sta tentando di creare la chiave del Registro di sistema. Per altre informazioni su questa maschera di accesso, vedere la descrizione del parametro DesiredAccess della routine ZwCreateKey.
GrantedAccess
Maschera di accesso che indica i diritti di accesso concessi al thread che sta tentando di creare la chiave del Registro di sistema. Per altre informazioni su questo membro, vedere la sezione Osservazioni seguente.
Disposition
Valore che indica se l'operazione del Registro di sistema richiesta creerà una nuova chiave o ne aprirà una esistente. Per altre informazioni su questo membro, vedere la descrizione del parametro Disposition della routine ZwCreateKey e la sezione Osservazioni seguente.
ResultObject
Puntatore a una posizione che riceve l'indirizzo dell'oggetto chiave che rappresenta la chiave del Registro di sistema creata.
CallContext
Informazioni di contesto facoltative definite dal driver che il driver RegistryCallback routine può fornire.
RootObjectContext
Puntatore alle informazioni sul contesto definite dal driver associate al driver alla radice del percorso dell'oggetto del Registro di sistema chiamando la routine CmSetCallbackObjectContext.
Transaction
Puntatore a un oggetto transazione per l'operazione del Registro di sistema. È possibile fornire questo puntatore alla routine ObOpenObjectByPointer per ottenere l'handle di transazione corrispondente. Se questo membro è NULL, l'operazione viene eseguita nel contesto non transazionale.
Version
Numero di versione della struttura. Questo membro distingue la struttura REG_CREATE_KEY_INFORMATION in Windows Vista dalla struttura REG_CREATE_KEY_INFORMATION_V1 in Windows 7 e versioni successive di Windows. I numeri di versione seguenti sono attualmente definiti.
Numero di versione | Versione della struttura |
---|---|
0 | REG_CREATE_KEY_INFORMATION |
1 | REG_CREATE_KEY_INFORMATION_V1 |
Le versioni future di questa struttura potrebbero aggiungere nuovi membri, ma non modificheranno i membri già definiti nelle versioni esistenti della struttura. Questo membro viene definito nella struttura REG_CREATE_KEY_INFORMATION_V1 supportata in Windows 7 e versioni successive dei sistemi operativi Windows. Nella struttura di REG_CREATE_KEY_INFORMATION supportata da Windows Vista, questo membro è denominato riservato ed è impostato su zero. I driver di filtro devono basarsi sul numero di versione e non sulla versione del sistema operativo per determinare la versione della struttura in uso.
RemainingName
Puntatore a una struttura UNICODE_STRING che contiene il percorso relativo della nuova chiave del Registro di sistema. Questo membro esprime sempre il percorso della nuova chiave rispetto al percorso della chiave specificata dal membro RootObject. Al contrario, il membro CompleteName può contenere un percorso assoluto se il membro RootObject specifica la chiave \REGISTRY.
Wow64Flags
Contiene i flag Wow64 dalla maschera di accesso passata come parametro di input nella chiamata per creare la nuova chiave del Registro di sistema. Questo membro indica se un programma client a 32 bit in esecuzione in una versione a 64 bit di Windows sta tentando di creare una chiave del Registro di sistema. Questo membro è impostato su zero o su uno dei bit di flag seguenti:
- KEY_WOW64_32KEY
- KEY_WOW64_64KEY
Attributes
Contiene i flag dell'attributo oggetto dal Attributi membro della struttura OBJECT_ATTRIBUTES passata come parametro di input nella chiamata per creare la nuova chiave del Registro di sistema. Questo membro può contenere uno o più bit di flag seguenti:
- OBJ_KERNEL_HANDLE
- OBJ_FORCE_ACCESS_CHECK
- OBJ_OPENLINK
CheckAccessMode
Indica come gestione configurazione esegue il controllo di accesso alla sicurezza per la chiamata per creare la nuova chiave. Questo membro contiene uno dei valori di enumerazione MODE seguenti dal file di intestazione Wdm.h:
- KernelMode
- UserMode
Osservazioni
Gestione configurazione passa questa struttura alla routine RegistryCallback ogni volta che un thread tenta di creare una chiave, ad esempio quando un thread in modalità utente chiama RegCreateKey o RegCreateKeyExo quando un driver in modalità kernel chiama ZwCreateKey.
Questa struttura è una versione estesa della struttura REG_CREATE_KEY_INFORMATION supportata da Windows Vista. I primi 14 membri, CompleteName tramite Transaction, sono identici nelle due strutture. Gli ultimi cinque membri della struttura REG_CREATE_KEY_INFORMATION_V1, Version tramite CheckAccessMode, non fanno parte della struttura REG_CREATE_KEY_INFORMATION.
Se la routine RegistryCallback del driver restituisce STATUS_CALLBACK_BYPASS per una notifica di RegNtPreCreateKeyEx, il driver deve fornire i valori per i membri GrantedAccess, Dispositione ResultObject.
La struttura REG_CREATE_KEY_INFORMATION_V1 è una delle numerose strutture che un driver di filtro può ricevere tramite la routine RegistryCallback. Per altre informazioni sulle operazioni di filtro del Registro di sistema, vedere Filtro delle chiamate del Registro di sistema.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile in Windows 7 e versioni successive dei sistemi operativi Windows. |
intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |