diff --git a/reactos/include/ddk/cmtypes.h b/reactos/include/ddk/cmtypes.h index c2a01d9ee8a..a98cc95a123 100644 --- a/reactos/include/ddk/cmtypes.h +++ b/reactos/include/ddk/cmtypes.h @@ -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 */ diff --git a/reactos/ntoskrnl/cm/ntfunc.c b/reactos/ntoskrnl/cm/ntfunc.c index f5f75b0f1f7..31c335c566d 100644 --- a/reactos/ntoskrnl/cm/ntfunc.c +++ b/reactos/ntoskrnl/cm/ntfunc.c @@ -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);