REG_OPEN_KEY_INFORMATION structure
The REG_OPEN_KEY_INFORMATION structure contains the name of a registry key that is about to be opened.
Note Starting with Windows 7, the V1 version of this structure, REG_OPEN_KEY_INFORMATION_V1, is used instead.
Syntax
typedef struct _REG_CREATE_KEY_INFORMATION { PUNICODE_STRING CompleteName; PVOID RootObject; PVOID ObjectType; ULONG CreateOptions; PUNICODE_STRING Class; PVOID SecurityDescriptor; PVOID SecurityQualityOfService; ACCESS_MASK DesiredAccess; ACCESS_MASK GrantedAccess; PULONG Disposition; PVOID *ResultObject; PVOID CallContext; PVOID RootObjectContext; PVOID Transaction; PVOID Reserved; } REG_CREATE_KEY_INFORMATION, REG_OPEN_KEY_INFORMATION, *PREG_CREATE_KEY_INFORMATION, *PREG_OPEN_KEY_INFORMATION;
Members
- CompleteName
-
A pointer to a UNICODE_STRING structure that contains the path of the new registry key. The path can be absolute or relative. If the path is absolute, this structure contains a fully qualified path that starts with the "\" character. For an absolute path, the RootObject member specifies the \REGISTRY key, which is the root directory of the registry tree. If the path is relative, the path starts with a character other than "\", and is relative to the key that is specified by the RootObject member.
- RootObject
-
A pointer to the registry key object that serves as the root for the path that the CompleteName member specifies.
- ObjectType
-
The ObjectType member is for internal use. Drivers must not access this member. This member is defined starting with Windows Vista.
- CreateOptions
-
The CreateOptions member is not used. This member is defined starting with Windows Vista.
- Class
-
The Class member is not used. This member is defined starting with Windows Vista.
- SecurityDescriptor
-
The SecurityDescriptor member is not used. This member is defined starting with Windows Vista.
- SecurityQualityOfService
-
The SecurityQualityOfService member is not used. This member is defined starting with Windows Vista.
- DesiredAccess
-
The access mask that was specified by the thread that is attempting to open the registry key. This member is defined starting with Windows Vista.
- GrantedAccess
-
An access mask that indicates the access rights that have been granted to the thread that is attempting to open the registry key. For more information about this member, see Remarks. This member is defined starting with Windows Vista.
- Disposition
-
The Disposition member is not used. This member is defined starting with Windows Vista.
- ResultObject
-
A pointer to a location that receives the address of the key object that represents the opened registry key. For more information about this member, see Remarks. This member is defined starting with Windows Vista.
- CallContext
-
A pointer to driver-defined context information that the driver has associated with a registry object by calling CmSetCallbackObjectContext. This member is defined starting with Windows Vista.
- RootObjectContext
-
A pointer to a driver-defined context information that the driver has associated with the root of the path for the registry object by calling CmSetCallbackObjectContext. This member is defined starting with Windows Vista.
- Transaction
-
A pointer to a transaction object that the operation is attempted on. If this member is NULL, the operation is being performed in non-transactional context. This member is defined starting with Windows Vista.
- Reserved
-
Starting with Windows Vista, if this member is 1, then it is safe to cast this structure to type REG_OPEN_KEY_INFORMATION_V1, which contains additional parameters.
In versions of Windows before Windows Vista, this member is always 0.
Remarks
The system passes this structure to the RegistryCallback routine every time a thread attempts to open a key—for example, when a user-mode thread calls the RegOpenKey or RegOpenKeyEx function, or when or a driver calls the ZwOpenKey routine.
If the driver's RegistryCallback routine returns STATUS_CALLBACK_BYPASS for a RegNtPreOpenKeyEx notification, the driver must supply the GrantedAccess and ResultObject values.
For more information about registry filtering operations, see Filtering Registry Calls.
Requirements
|
Version | Available starting with Windows Server 2003, but some structure members are available only in Windows Vista and later versions. |
|---|---|
|
Header |
|
See also
- CmSetCallbackObjectContext
- RegistryCallback
- RegOpenKey
- RegOpenKeyEx
- REG_OPEN_KEY_INFORMATION_V1
- UNICODE_STRING
- ZwOpenKey
Send comments about this topic to Microsoft
Build date: 5/2/2013