{
UNICODE_STRING SubKeyString;
UNICODE_STRING ClassString;
- OBJECT_ATTRIBUTES Attributes;
+ OBJECT_ATTRIBUTES ObjectAttributes;
HANDLE ParentKey;
+ ULONG Attributes = OBJ_CASE_INSENSITIVE;
NTSTATUS Status;
TRACE("RegCreateKeyExA() called\n");
lpClass);
}
+ if (dwOptions & REG_OPTION_OPEN_LINK)
+ Attributes |= OBJ_OPENLINK;
+
RtlCreateUnicodeStringFromAsciiz(&SubKeyString,
(LPSTR)lpSubKey);
- InitializeObjectAttributes(&Attributes,
+ InitializeObjectAttributes(&ObjectAttributes,
&SubKeyString,
- OBJ_CASE_INSENSITIVE,
+ Attributes,
(HANDLE)ParentKey,
lpSecurityAttributes ? (PSECURITY_DESCRIPTOR)lpSecurityAttributes->lpSecurityDescriptor : NULL);
Status = CreateNestedKey(phkResult,
- &Attributes,
+ &ObjectAttributes,
(lpClass == NULL)? NULL : &ClassString,
dwOptions,
samDesired,
{
UNICODE_STRING SubKeyString;
UNICODE_STRING ClassString;
- OBJECT_ATTRIBUTES Attributes;
+ OBJECT_ATTRIBUTES ObjectAttributes;
HANDLE ParentKey;
+ ULONG Attributes = OBJ_CASE_INSENSITIVE;
NTSTATUS Status;
TRACE("RegCreateKeyExW() called\n");
TRACE("ParentKey %p\n", ParentKey);
+ if (dwOptions & REG_OPTION_OPEN_LINK)
+ Attributes |= OBJ_OPENLINK;
+
RtlInitUnicodeString(&ClassString,
lpClass);
RtlInitUnicodeString(&SubKeyString,
lpSubKey);
- InitializeObjectAttributes(&Attributes,
+ InitializeObjectAttributes(&ObjectAttributes,
&SubKeyString,
- OBJ_CASE_INSENSITIVE,
+ Attributes,
(HANDLE)ParentKey,
lpSecurityAttributes ? (PSECURITY_DESCRIPTOR)lpSecurityAttributes->lpSecurityDescriptor : NULL);
Status = CreateNestedKey(phkResult,
- &Attributes,
+ &ObjectAttributes,
(lpClass == NULL)? NULL : &ClassString,
dwOptions,
samDesired,
UNICODE_STRING SubKeyString;
HANDLE KeyHandle;
NTSTATUS Status;
+ ULONG Attributes = OBJ_CASE_INSENSITIVE;
LONG ErrorCode = ERROR_SUCCESS;
TRACE("RegOpenKeyExA hKey 0x%x lpSubKey %s ulOptions 0x%x samDesired 0x%x phkResult %p\n",
return RtlNtStatusToDosError(Status);
}
+ if (ulOptions & REG_OPTION_OPEN_LINK)
+ Attributes |= OBJ_OPENLINK;
+
RtlCreateUnicodeStringFromAsciiz(&SubKeyString,
(LPSTR)lpSubKey);
InitializeObjectAttributes(&ObjectAttributes,
&SubKeyString,
- OBJ_CASE_INSENSITIVE,
+ Attributes,
KeyHandle,
NULL);
UNICODE_STRING SubKeyString;
HANDLE KeyHandle;
NTSTATUS Status;
+ ULONG Attributes = OBJ_CASE_INSENSITIVE;
LONG ErrorCode = ERROR_SUCCESS;
TRACE("RegOpenKeyExW hKey 0x%x lpSubKey %S ulOptions 0x%x samDesired 0x%x phkResult %p\n",
return RtlNtStatusToDosError(Status);
}
+ if (ulOptions & REG_OPTION_OPEN_LINK)
+ Attributes |= OBJ_OPENLINK;
+
if (lpSubKey != NULL)
RtlInitUnicodeString(&SubKeyString, (LPWSTR)lpSubKey);
else
InitializeObjectAttributes(&ObjectAttributes,
&SubKeyString,
- OBJ_CASE_INSENSITIVE,
+ Attributes,
KeyHandle,
NULL);