-/* $Id: zw.h,v 1.9 2003/03/19 23:16:00 gdalsnes Exp $
+/* $Id: zw.h,v 1.10 2003/03/22 11:25:33 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
OUT TIME *CurrentTime
);
-/*
- * FUNCTION: Loads a registry key.
- * ARGUMENTS:
- * KeyHandle = Handle to the registry key
- * ObjectAttributes = ???
- * Unknown3 = ???
- * REMARK:
- * This procedure maps to the win32 procedure RegLoadKey
- * RETURNS: Status
- */
-NTSTATUS
-STDCALL
-NtLoadKey2 (
- PHANDLE KeyHandle,
- POBJECT_ATTRIBUTES ObjectAttributes,
- ULONG Unknown3
- );
-NTSTATUS
-STDCALL
-ZwLoadKey2 (
- PHANDLE KeyHandle,
- POBJECT_ATTRIBUTES ObjectAttributes,
- ULONG Unknown3
- );
-
/*
* FUNCTION: Copies a handle from one process space to another
* ARGUMENTS:
/*
* FUNCTION: Loads a registry key.
* ARGUMENTS:
- * KeyHandle = Handle to the registry key
- * ObjectAttributes = ???
+ * KeyObjectAttributes = Key to be loaded
+ * FileObjectAttributes = File to load the key from
* REMARK:
* This procedure maps to the win32 procedure RegLoadKey
* RETURNS: Status
*/
NTSTATUS
-STDCALL
+STDCALL
NtLoadKey(
- PHANDLE KeyHandle,
- POBJECT_ATTRIBUTES ObjectAttributes
+ IN POBJECT_ATTRIBUTES KeyObjectAttributes,
+ IN POBJECT_ATTRIBUTES FileObjectAttributes
);
NTSTATUS
-STDCALL
+STDCALL
ZwLoadKey(
- PHANDLE KeyHandle,
- POBJECT_ATTRIBUTES ObjectAttributes
+ IN POBJECT_ATTRIBUTES KeyObjectAttributes,
+ IN POBJECT_ATTRIBUTES FileObjectAttributes
);
/*
- * FUNCTION: Locks a range of virtual memory.
+ * FUNCTION: Loads a registry key.
+ * ARGUMENTS:
+ * KeyObjectAttributes = Key to be loaded
+ * FileObjectAttributes = File to load the key from
+ * Flags = ???
+ * REMARK:
+ * This procedure maps to the win32 procedure RegLoadKey
+ * RETURNS: Status
+ */
+NTSTATUS
+STDCALL
+NtLoadKey2(
+ IN POBJECT_ATTRIBUTES KeyObjectAttributes,
+ IN POBJECT_ATTRIBUTES FileObjectAttributes,
+ IN ULONG Flags
+ );
+NTSTATUS
+STDCALL
+ZwLoadKey2(
+ IN POBJECT_ATTRIBUTES KeyObjectAttributes,
+ IN POBJECT_ATTRIBUTES FileObjectAttributes,
+ IN ULONG Flags
+ );
+
+/*
+ * FUNCTION: Locks a range of virtual memory.
* ARGUMENTS:
* ProcessHandle = Handle to the process
- * BaseAddress = Lower boundary of the range of bytes to lock.
+ * BaseAddress = Lower boundary of the range of bytes to lock.
* NumberOfBytesLock = Offset to the upper boundary.
* NumberOfBytesLocked (OUT) = Number of bytes actually locked.
* REMARK:
- This procedure maps to the win32 procedure VirtualLock
+ This procedure maps to the win32 procedure VirtualLock.
* RETURNS: Status [STATUS_SUCCESS | STATUS_WAS_LOCKED ]
*/
NTSTATUS
-STDCALL
+STDCALL
NtLockVirtualMemory(
HANDLE ProcessHandle,
PVOID BaseAddress,
);
NTSTATUS
-STDCALL
+STDCALL
ZwLockVirtualMemory(
HANDLE ProcessHandle,
PVOID BaseAddress,
NTSTATUS
STDCALL
NtUnloadKey(
- HANDLE KeyHandle
+ IN POBJECT_ATTRIBUTES KeyObjectAttributes
);
NTSTATUS
STDCALL
ZwUnloadKey(
- HANDLE KeyHandle
+ IN POBJECT_ATTRIBUTES KeyObjectAttributes
);
/*
NULL);
if (!NT_SUCCESS(Status))
{
-CHECKPOINT1;
return Status;
}
-CHECKPOINT1;
/* Acquire hive lock */
ExAcquireResourceSharedLite(&KeyObject->RegistryHive->HiveResource, TRUE);
-CHECKPOINT1;
VERIFY_KEY_OBJECT(KeyObject);
switch (KeyInformationClass)
{
case KeyBasicInformation:
-CHECKPOINT1;
/* Check size of buffer */
if (Length < sizeof(KEY_BASIC_INFORMATION) +
KeyObject->NameSize * sizeof(WCHAR))
*ResultLength = sizeof(KEY_BASIC_INFORMATION) +
KeyObject->NameSize * sizeof(WCHAR);
}
-CHECKPOINT1;
break;
case KeyNodeInformation:
break;
}
-CHECKPOINT1;
ExReleaseResourceLite(&KeyObject->RegistryHive->HiveResource);
-CHECKPOINT1;
ObDereferenceObject(KeyObject);
-CHECKPOINT1;
return(Status);
}
PHBIN pBin;
ULONG DesiredAccess;
- DPRINT("NtSetValueKey(KeyHandle %x ValueName %S Type %d)\n",
- KeyHandle, ValueName? ValueName->Buffer : NULL, Type);
+ DPRINT("NtSetValueKey(KeyHandle %x ValueName '%wZ' Type %d)\n",
+ KeyHandle, ValueName, Type);
DesiredAccess = KEY_SET_VALUE;
if (Type == REG_LINK)
return Status;
}
-
+/*
+ * NOTE:
+ * KeyObjectAttributes->RootDirectory specifies the handle to the parent key and
+ * KeyObjectAttributes->Name specifies the name of the key to load.
+ */
NTSTATUS STDCALL
-NtLoadKey(PHANDLE KeyHandle,
- POBJECT_ATTRIBUTES ObjectAttributes)
+NtLoadKey(IN POBJECT_ATTRIBUTES KeyObjectAttributes,
+ IN POBJECT_ATTRIBUTES FileObjectAttributes)
{
- return NtLoadKey2(KeyHandle, ObjectAttributes, 0);
+ return NtLoadKey2(KeyObjectAttributes, FileObjectAttributes, 0);
}
+/*
+ * NOTE:
+ * KeyObjectAttributes->RootDirectory specifies the handle to the parent key and
+ * KeyObjectAttributes->Name specifies the name of the key to load.
+ */
NTSTATUS STDCALL
-NtLoadKey2(IN PHANDLE KeyHandle,
- IN POBJECT_ATTRIBUTES ObjectAttributes,
- IN ULONG Flags)
+NtLoadKey2(IN POBJECT_ATTRIBUTES KeyObjectAttributes,
+ IN POBJECT_ATTRIBUTES FileObjectAttributes,
+ IN ULONG Flags)
{
- UNIMPLEMENTED;
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
}
}
+/*
+ * NOTE:
+ * KeyObjectAttributes->RootDirectory specifies the handle to the parent key and
+ * KeyObjectAttributes->Name specifies the name of the key to unload.
+ */
NTSTATUS STDCALL
-NtUnloadKey(IN HANDLE KeyHandle)
+NtUnloadKey(IN POBJECT_ATTRIBUTES KeyObjectAttributes)
{
UNIMPLEMENTED;
}