Condividi tramite


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
Questi bit di flag sono definiti nei file di intestazione Wdm.h e Winnt.h. Per altre informazioni su questi flag, vedere sicurezza delle chiavi del Registro di sistema e diritti di accesso.

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
Per altre informazioni su questi flag, vedere OBJECT_ATTRIBUTES.

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
Questo controllo di sicurezza è simile a quello eseguito dalla routine SeAccessCheck, che ha un parametro AccessMode che può essere impostato su UserMode o KernelMode. Se CheckAccessMode è impostato su UserMode, gestione configurazione esegue un controllo completo dell'accesso alla sicurezza indipendentemente dal fatto che la chiamata abbia avuto origine in modalità utente o kernel. Per altre informazioni su come forzare i controlli di accesso alla sicurezza in modalità utente su una chiamata che ha origine in modalità kernel, vedere la descrizione del flag OBJ_FORCE_ACCESS_CHECK nel Attributi membro della struttura OBJECT_ATTRIBUTES.

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)

Vedere anche

CmSetCallbackObjectContext

OBJECT_ATTRIBUTES

ObOpenObjectByPointer

REG_CREATE_KEY_INFORMATION

RegCreateKey

RegCreateKeyEx

RegistryCallback

SECURITY_DESCRIPTOR

SECURITY_QUALITY_OF_SERVICE

UNICODE_STRING

ZwCreateKey