Commit 34a4f5bc authored by Alexandre Julliard's avatar Alexandre Julliard

wow64: Add thunks for the registry I/O syscalls.

parent 44eac154
......@@ -143,6 +143,46 @@ NTSTATUS WINAPI wow64_NtEnumerateValueKey( UINT *args )
/**********************************************************************
* wow64_NtFlushKey
*/
NTSTATUS WINAPI wow64_NtFlushKey( UINT *args )
{
HANDLE handle = get_handle( &args );
return NtFlushKey( handle );
}
/**********************************************************************
* wow64_NtLoadKey
*/
NTSTATUS WINAPI wow64_NtLoadKey( UINT *args )
{
OBJECT_ATTRIBUTES32 *attr32 = get_ptr( &args );
OBJECT_ATTRIBUTES32 *file32 = get_ptr( &args );
struct object_attr64 attr, file;
return NtLoadKey( objattr_32to64( &attr, attr32 ), objattr_32to64( &file, file32 ));
}
/**********************************************************************
* wow64_NtLoadKey2
*/
NTSTATUS WINAPI wow64_NtLoadKey2( UINT *args )
{
OBJECT_ATTRIBUTES32 *attr32 = get_ptr( &args );
OBJECT_ATTRIBUTES32 *file32 = get_ptr( &args );
ULONG flags = get_ulong( &args );
struct object_attr64 attr, file;
return NtLoadKey2( objattr_32to64( &attr, attr32 ), objattr_32to64( &file, file32 ), flags );
}
/**********************************************************************
* wow64_NtOpenKey
*/
NTSTATUS WINAPI wow64_NtOpenKey( UINT *args )
......@@ -306,6 +346,31 @@ NTSTATUS WINAPI wow64_NtReplaceKey( UINT *args )
/**********************************************************************
* wow64_NtRestoreKey
*/
NTSTATUS WINAPI wow64_NtRestoreKey( UINT *args )
{
HANDLE key = get_handle( &args );
HANDLE file = get_handle( &args );
ULONG flags = get_ulong( &args );
return NtRestoreKey( key, file, flags );
}
/**********************************************************************
* wow64_NtSaveKey
*/
NTSTATUS WINAPI wow64_NtSaveKey( UINT *args )
{
HANDLE key = get_handle( &args );
HANDLE file = get_handle( &args );
return NtSaveKey( key, file );
}
/**********************************************************************
* wow64_NtSetInformationKey
*/
NTSTATUS WINAPI wow64_NtSetInformationKey( UINT *args )
......@@ -335,3 +400,16 @@ NTSTATUS WINAPI wow64_NtSetValueKey( UINT *args )
return NtSetValueKey( handle, unicode_str_32to64( &str, str32 ), index, type, data, count );
}
/**********************************************************************
* wow64_NtUnloadKey
*/
NTSTATUS WINAPI wow64_NtUnloadKey( UINT *args )
{
OBJECT_ATTRIBUTES32 *attr32 = get_ptr( &args );
struct object_attr64 attr;
return NtUnloadKey( objattr_32to64( &attr, attr32 ));
}
......@@ -56,8 +56,11 @@
SYSCALL_ENTRY( NtEnumerateKey ) \
SYSCALL_ENTRY( NtEnumerateValueKey ) \
SYSCALL_ENTRY( NtFindAtom ) \
SYSCALL_ENTRY( NtFlushKey ) \
SYSCALL_ENTRY( NtGetCurrentProcessorNumber ) \
SYSCALL_ENTRY( NtListenPort ) \
SYSCALL_ENTRY( NtLoadKey ) \
SYSCALL_ENTRY( NtLoadKey2 ) \
SYSCALL_ENTRY( NtMakeTemporaryObject ) \
SYSCALL_ENTRY( NtOpenDirectoryObject ) \
SYSCALL_ENTRY( NtOpenEvent ) \
......@@ -100,6 +103,8 @@
SYSCALL_ENTRY( NtReplyWaitReceivePort ) \
SYSCALL_ENTRY( NtRequestWaitReplyPort ) \
SYSCALL_ENTRY( NtResetEvent ) \
SYSCALL_ENTRY( NtRestoreKey ) \
SYSCALL_ENTRY( NtSaveKey ) \
SYSCALL_ENTRY( NtSecureConnectPort ) \
SYSCALL_ENTRY( NtSetDefaultLocale ) \
SYSCALL_ENTRY( NtSetDefaultUILanguage ) \
......@@ -114,6 +119,7 @@
SYSCALL_ENTRY( NtSetValueKey ) \
SYSCALL_ENTRY( NtSignalAndWaitForSingleObject ) \
SYSCALL_ENTRY( NtTerminateJobObject ) \
SYSCALL_ENTRY( NtUnloadKey ) \
SYSCALL_ENTRY( NtWaitForDebugEvent ) \
SYSCALL_ENTRY( NtWaitForKeyedEvent ) \
SYSCALL_ENTRY( NtWaitForMultipleObjects ) \
......
......@@ -3879,6 +3879,7 @@ NTSYSAPI NTSTATUS WINAPI NtIsProcessInJob(HANDLE,HANDLE);
NTSYSAPI NTSTATUS WINAPI NtListenPort(HANDLE,PLPC_MESSAGE);
NTSYSAPI NTSTATUS WINAPI NtLoadDriver(const UNICODE_STRING *);
NTSYSAPI NTSTATUS WINAPI NtLoadKey(const OBJECT_ATTRIBUTES *,OBJECT_ATTRIBUTES *);
NTSYSAPI NTSTATUS WINAPI NtLoadKey2(const OBJECT_ATTRIBUTES *,OBJECT_ATTRIBUTES *,ULONG);
NTSYSAPI NTSTATUS WINAPI NtLockFile(HANDLE,HANDLE,PIO_APC_ROUTINE,void*,PIO_STATUS_BLOCK,PLARGE_INTEGER,PLARGE_INTEGER,ULONG*,BOOLEAN,BOOLEAN);
NTSYSAPI NTSTATUS WINAPI NtLockVirtualMemory(HANDLE,PVOID*,SIZE_T*,ULONG);
NTSYSAPI NTSTATUS WINAPI NtMakeTemporaryObject(HANDLE);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment