Alexandre Julliard : wow64: Add thunks for the job object syscalls.

Alexandre Julliard julliard at winehq.org
Fri Jul 23 18:08:01 CDT 2021


Module: wine
Branch: master
Commit: 0e374683cf0342bcf769d58f7c4cfa07a58e0eda
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=0e374683cf0342bcf769d58f7c4cfa07a58e0eda

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Jul 23 17:30:11 2021 +0200

wow64: Add thunks for the job object syscalls.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wow64/sync.c    | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 dlls/wow64/syscall.h |  3 +++
 2 files changed, 55 insertions(+)

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 )
 




More information about the wine-cvs mailing list