Use proper name for the NtSetInformationKey Info classes/structures, as well as add new XP+ class/structure

svn path=/trunk/; revision=12677
This commit is contained in:
Alex Ionescu 2005-01-01 02:08:13 +00:00
parent 56f3b59cfb
commit d5882cfd80
2 changed files with 14 additions and 10 deletions

View file

@ -49,15 +49,19 @@ typedef struct _KEY_NODE_INFORMATION
/* key set information class */
typedef enum _KEY_SET_INFORMATION_CLASS
{
KeyLastWriteTimeInformation
typedef enum _KEY_SET_INFORMATION_CLASS {
KeyWriteTimeInformation,
KeyUserFlagsInformation,
MaxKeySetInfoClass
} KEY_SET_INFORMATION_CLASS;
typedef struct _KEY_LAST_WRITE_TIME_INFORMATION
{
LARGE_INTEGER LastWriteTime;
} KEY_LAST_WRITE_TIME_INFORMATION, *PKEY_LAST_WRITE_TIME_INFORMATION;
typedef struct _KEY_WRITE_TIME_INFORMATION {
LARGE_INTEGER LastWriteTime;
} KEY_WRITE_TIME_INFORMATION, *PKEY_WRITE_TIME_INFORMATION;
typedef struct _KEY_USER_FLAGS_INFORMATION {
ULONG UserFlags;
} KEY_USER_FLAGS_INFORMATION, *PKEY_USER_FLAGS_INFORMATION;
/* key value information class */

View file

@ -2054,10 +2054,10 @@ NtSetInformationKey (IN HANDLE KeyHandle,
PKEY_OBJECT KeyObject;
NTSTATUS Status;
if (KeyInformationClass != KeyLastWriteTimeInformation)
if (KeyInformationClass != KeyWriteTimeInformation)
return STATUS_INVALID_INFO_CLASS;
if (KeyInformationLength != sizeof (KEY_LAST_WRITE_TIME_INFORMATION))
if (KeyInformationLength != sizeof (KEY_WRITE_TIME_INFORMATION))
return STATUS_INFO_LENGTH_MISMATCH;
/* Verify that the handle is valid and is a registry key */
@ -2080,7 +2080,7 @@ NtSetInformationKey (IN HANDLE KeyHandle,
VERIFY_KEY_OBJECT(KeyObject);
KeyObject->KeyCell->LastWriteTime.QuadPart =
((PKEY_LAST_WRITE_TIME_INFORMATION)KeyInformation)->LastWriteTime.QuadPart;
((PKEY_WRITE_TIME_INFORMATION)KeyInformation)->LastWriteTime.QuadPart;
CmiMarkBlockDirty (KeyObject->RegistryHive,
KeyObject->KeyCellOffset);