REG_CREATE_KEY_INFORMATION_V1 struttura (wdm.h)
La struttura REG_CREATE_KEY_INFORMATION_V1 contiene informazioni che la routine RegistryCallback di un driver di filtro può essere usata 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;
Members
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 "\" ed è 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 di creazione della chiave da usare 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 Class della routine ZwCreateKey . Questo valore del puntatore può essere NULL.
SecurityDescriptor
Puntatore a una struttura di SECURITY_DESCRIPTOR che contiene informazioni di sicurezza per l'oggetto chiave. Questo puntatore è stato ottenuto dal membro SecurityDescriptor 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, l'entità a cui è consentito.
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 tenta di creare la chiave del Registro di sistema. Per altre informazioni su questo membro, vedere la sezione Osservazioni seguenti.
Disposition
Valore che indica se l'operazione del Registro di sistema richiesta creerà una nuova chiave o aprirà una chiave esistente. Per altre informazioni su questo membro, vedere la descrizione del parametro Di eliminazione della routine ZwCreateKey e la sezione Osservazioni seguenti.
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 definite dal driver facoltative che la routine RegistryCallback del driver può fornire.
RootObjectContext
Puntatore alle informazioni sul contesto definite dal driver associate alla radice dell'oggetto del Registro di sistema chiamando la routine CmSetCallbackObjectContext .
Transaction
Puntatore a un oggetto transazione per l'operazione del Registro di sistema. È possibile specificare 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 cambieranno 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 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 quale versione della struttura usano.
RemainingName
Puntatore a una struttura UNICODE_STRING contenente 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 di attributo oggetto dal membro Attributes 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
Commenti
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 RegCreateKeyEx o 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 through Transaction, sono identici nelle due strutture. Gli ultimi cinque membri della struttura REG_CREATE_KEY_INFORMATION_V1 , Version through CheckAccessMode, non fanno parte della struttura REG_CREATE_KEY_INFORMATION .
Se la routine RegistryCallback del driver restituisce STATUS_CALLBACK_BYPASS per una notifica RegNtPreCreateKeyEx , il driver deve fornire i valori per i membri GrantedAccess, Disposition e ResultObject .
La struttura REG_CREATE_KEY_INFORMATION_V1 è una delle 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.
Requisiti
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) |