-/* $Id: rtl.h,v 1.27 2001/05/27 11:10:25 ekohl Exp $
+/* $Id: rtl.h,v 1.28 2001/06/17 22:52:37 ekohl Exp $
*
*/
IN ULONG Index
);
+NTSTATUS
+STDCALL
+RtlpNtCreateKey (
+ OUT HANDLE KeyHandle,
+ IN ACCESS_MASK DesiredAccess,
+ IN POBJECT_ATTRIBUTES ObjectAttributes,
+ IN ULONG Unused1,
+ OUT PULONG Disposition,
+ IN ULONG Unused2
+ );
+
+NTSTATUS
+STDCALL
+RtlpNtMakeTemporaryKey (
+ IN HANDLE KeyHandle
+ );
+
+NTSTATUS
+STDCALL
+RtlpNtOpenKey (
+ OUT HANDLE KeyHandle,
+ IN ACCESS_MASK DesiredAccess,
+ IN POBJECT_ATTRIBUTES ObjectAttributes,
+ IN ULONG Unused
+ );
+
#endif /* __INCLUDE_NTDLL_RTL_H */
/* EOF */
-; $Id: ntdll.edf,v 1.64 2001/06/17 20:05:10 ea Exp $
+; $Id: ntdll.edf,v 1.65 2001/06/17 22:53:14 ekohl Exp $
;
; ReactOS Operating System
;
RtlWriteRegistryValue=RtlWriteRegistryValue@24
;RtlZeroHeap
RtlZeroMemory=RtlZeroMemory@8
-;RtlpNtCreateKey
+RtlpNtCreateKey=RtlpNtCreateKey@24
;RtlpNtEnumerateSubKey
RtlpNtMakeTemporaryKey=RtlpNtMakeTemporaryKey@4
-;RtlpNtOpenKey
+RtlpNtOpenKey=RtlpNtOpenKey@16
;RtlpNtQueryValueKey
;RtlpNtSetValueKey
;RtlpUnWaitCriticalSection
-/* $Id: registry.c,v 1.3 2001/05/30 20:00:34 ekohl Exp $
+/* $Id: registry.c,v 1.4 2001/06/17 22:53:57 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
NTSTATUS STDCALL
RtlFormatCurrentUserKeyPath(PUNICODE_STRING KeyPath)
{
- return STATUS_UNSUCCESSFUL;
+ RtlCreateUnicodeString(KeyPath,
+ L"\\Registry\\User\\.Default");
+ return STATUS_SUCCESS;
}
/*
NTSTATUS STDCALL
-RtlpNtMakeTemporaryKey(HANDLE KeyHandle)
+RtlpNtCreateKey(OUT HANDLE KeyHandle,
+ IN ACCESS_MASK DesiredAccess,
+ IN POBJECT_ATTRIBUTES ObjectAttributes,
+ IN ULONG Unused1,
+ OUT PULONG Disposition,
+ IN ULONG Unused2)
+{
+ if (ObjectAttributes != NULL)
+ ObjectAttributes->Attributes &=
+ ~(OBJ_PERMANENT | OBJ_EXCLUSIVE);
+
+ return(NtCreateKey(KeyHandle,
+ DesiredAccess,
+ ObjectAttributes,
+ 0,
+ NULL,
+ 0,
+ Disposition));
+}
+
+
+NTSTATUS STDCALL
+RtlpNtMakeTemporaryKey(IN HANDLE KeyHandle)
{
- return NtDeleteKey(KeyHandle);
+ return(NtDeleteKey(KeyHandle));
+}
+
+
+NTSTATUS STDCALL
+RtlpNtOpenKey(OUT HANDLE KeyHandle,
+ IN ACCESS_MASK DesiredAccess,
+ IN POBJECT_ATTRIBUTES ObjectAttributes,
+ IN ULONG Unused)
+{
+ if (ObjectAttributes != NULL)
+ ObjectAttributes->Attributes &=
+ ~(OBJ_PERMANENT | OBJ_EXCLUSIVE);
+
+ return(NtOpenKey(KeyHandle,
+ DesiredAccess,
+ ObjectAttributes));
}