diff --git a/dlls/wow64/sync.c b/dlls/wow64/sync.c index 0a3e2cd099a..7d8ad3edac3 100644 --- a/dlls/wow64/sync.c +++ b/dlls/wow64/sync.c @@ -139,6 +139,26 @@ NTSTATUS WINAPI wow64_NtCreateIoCompletion( UINT *args ) } +/********************************************************************** + * wow64_NtCreateJobObject + */ +NTSTATUS WINAPI wow64_NtCreateJobObject( UINT *args ) +{ + ULONG *handle_ptr = get_ptr( &args ); + ACCESS_MASK access = get_ulong( &args ); + OBJECT_ATTRIBUTES32 *attr32 = get_ptr( &args ); + + struct object_attr64 attr; + HANDLE handle = 0; + NTSTATUS status; + + *handle_ptr = 0; + status = NtCreateJobObject( &handle, access, objattr_32to64( &attr, attr32 )); + put_handle( handle_ptr, handle ); + return status; +} + + /********************************************************************** * wow64_NtCreateKeyedEvent */ @@ -299,6 +319,26 @@ NTSTATUS WINAPI wow64_NtOpenIoCompletion( UINT *args ) } +/********************************************************************** + * wow64_NtOpenJobObject + */ +NTSTATUS WINAPI wow64_NtOpenJobObject( UINT *args ) +{ + ULONG *handle_ptr = get_ptr( &args ); + ACCESS_MASK access = get_ulong( &args ); + OBJECT_ATTRIBUTES32 *attr32 = get_ptr( &args ); + + struct object_attr64 attr; + HANDLE handle = 0; + NTSTATUS status; + + *handle_ptr = 0; + status = NtOpenJobObject( &handle, access, objattr_32to64( &attr, attr32 )); + put_handle( handle_ptr, handle ); + return status; +} + + /********************************************************************** * wow64_NtOpenKeyedEvent */ @@ -614,6 +654,18 @@ NTSTATUS WINAPI wow64_NtSetTimer( UINT *args ) } +/********************************************************************** + * wow64_NtTerminateJobObject + */ +NTSTATUS WINAPI wow64_NtTerminateJobObject( UINT *args ) +{ + HANDLE handle = get_handle( &args ); + NTSTATUS status = get_ulong( &args ); + + return NtTerminateJobObject( handle, status ); +} + + /********************************************************************** * wow64_NtWaitForDebugEvent */ diff --git a/dlls/wow64/syscall.h b/dlls/wow64/syscall.h index c32f4b5fece..677e92f1a37 100644 --- a/dlls/wow64/syscall.h +++ b/dlls/wow64/syscall.h @@ -32,6 +32,7 @@ SYSCALL_ENTRY( NtCreateDirectoryObject ) \ SYSCALL_ENTRY( NtCreateEvent ) \ SYSCALL_ENTRY( NtCreateIoCompletion ) \ + SYSCALL_ENTRY( NtCreateJobObject ) \ SYSCALL_ENTRY( NtCreateKeyedEvent ) \ SYSCALL_ENTRY( NtCreateMutant ) \ SYSCALL_ENTRY( NtCreateSemaphore ) \ @@ -43,6 +44,7 @@ SYSCALL_ENTRY( NtOpenDirectoryObject ) \ SYSCALL_ENTRY( NtOpenEvent ) \ SYSCALL_ENTRY( NtOpenIoCompletion ) \ + SYSCALL_ENTRY( NtOpenJobObject ) \ SYSCALL_ENTRY( NtOpenKeyedEvent ) \ SYSCALL_ENTRY( NtOpenMutant ) \ SYSCALL_ENTRY( NtOpenSemaphore ) \ @@ -68,6 +70,7 @@ SYSCALL_ENTRY( NtSetInformationDebugObject ) \ SYSCALL_ENTRY( NtSetIoCompletion ) \ SYSCALL_ENTRY( NtSetTimer ) \ + SYSCALL_ENTRY( NtTerminateJobObject ) \ SYSCALL_ENTRY( NtWaitForDebugEvent ) \ SYSCALL_ENTRY( NtWaitForKeyedEvent )