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
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 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
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, con un parametro AccessMode che può essere impostato su UserMode o KernelMode. Se CheckAccessMode è impostato su UserMode, gestione configurazione esegue un controllo completo di accesso alla sicurezza indipendentemente dal fatto che la chiamata sia stata generata in modalità utente o in modalità kernel. Per altre informazioni su come forzare i controlli di accesso in modalità utente su una chiamata che ha origine nella modalità kernel, vedere la descrizione del flag OBJ_FORCE_ACCESS_CHECK nel membro Attributidella struttura OBJECT_ATTRIBUTES.

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)

Vedi anche

CmSetCallbackObjectContext

OBJECT_ATTRIBUTES

ObOpenObjectByPointer

REG_CREATE_KEY_INFORMATION

RegCreateKey

RegCreateKeyEx

RegistryCallback

SECURITY_DESCRIPTOR

SECURITY_QUALITY_OF_SERVICE

UNICODE_STRING

ZwCreateKey