wow64: Add thunks for the I/O completion syscalls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
863fda0b0f
commit
0ae72a3c06
|
@ -118,6 +118,27 @@ NTSTATUS WINAPI wow64_NtCreateEvent( UINT *args )
|
|||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* wow64_NtCreateIoCompletion
|
||||
*/
|
||||
NTSTATUS WINAPI wow64_NtCreateIoCompletion( UINT *args )
|
||||
{
|
||||
ULONG *handle_ptr = get_ptr( &args );
|
||||
ACCESS_MASK access = get_ulong( &args );
|
||||
OBJECT_ATTRIBUTES32 *attr32 = get_ptr( &args );
|
||||
ULONG threads = get_ulong( &args );
|
||||
|
||||
struct object_attr64 attr;
|
||||
HANDLE handle = 0;
|
||||
NTSTATUS status;
|
||||
|
||||
*handle_ptr = 0;
|
||||
status = NtCreateIoCompletion( &handle, access, objattr_32to64( &attr, attr32 ), threads );
|
||||
put_handle( handle_ptr, handle );
|
||||
return status;
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* wow64_NtCreateKeyedEvent
|
||||
*/
|
||||
|
@ -258,6 +279,26 @@ NTSTATUS WINAPI wow64_NtOpenEvent( UINT *args )
|
|||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* wow64_NtOpenIoCompletion
|
||||
*/
|
||||
NTSTATUS WINAPI wow64_NtOpenIoCompletion( 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 = NtOpenIoCompletion( &handle, access, objattr_32to64( &attr, attr32 ));
|
||||
put_handle( handle_ptr, handle );
|
||||
return status;
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* wow64_NtOpenKeyedEvent
|
||||
*/
|
||||
|
@ -402,6 +443,21 @@ NTSTATUS WINAPI wow64_NtQueryEvent( UINT *args )
|
|||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* wow64_NtQueryIoCompletion
|
||||
*/
|
||||
NTSTATUS WINAPI wow64_NtQueryIoCompletion( UINT *args )
|
||||
{
|
||||
HANDLE handle = get_handle( &args );
|
||||
IO_COMPLETION_INFORMATION_CLASS class = get_ulong( &args );
|
||||
void *info = get_ptr( &args );
|
||||
ULONG len = get_ulong( &args );
|
||||
ULONG *retlen = get_ptr( &args );
|
||||
|
||||
return NtQueryIoCompletion( handle, class, info, len, retlen );
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* wow64_NtQueryMutant
|
||||
*/
|
||||
|
@ -525,6 +581,21 @@ NTSTATUS WINAPI wow64_NtSetInformationDebugObject( UINT *args )
|
|||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* wow64_NtSetIoCompletion
|
||||
*/
|
||||
NTSTATUS WINAPI wow64_NtSetIoCompletion( UINT *args )
|
||||
{
|
||||
HANDLE handle = get_handle( &args );
|
||||
ULONG_PTR key = get_ulong( &args );
|
||||
ULONG_PTR value = get_ulong( &args );
|
||||
NTSTATUS status = get_ulong( &args );
|
||||
SIZE_T count = get_ulong( &args );
|
||||
|
||||
return NtSetIoCompletion( handle, key, value, status, count );
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* wow64_NtSetTimer
|
||||
*/
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
SYSCALL_ENTRY( NtCreateDebugObject ) \
|
||||
SYSCALL_ENTRY( NtCreateDirectoryObject ) \
|
||||
SYSCALL_ENTRY( NtCreateEvent ) \
|
||||
SYSCALL_ENTRY( NtCreateIoCompletion ) \
|
||||
SYSCALL_ENTRY( NtCreateKeyedEvent ) \
|
||||
SYSCALL_ENTRY( NtCreateMutant ) \
|
||||
SYSCALL_ENTRY( NtCreateSemaphore ) \
|
||||
|
@ -41,6 +42,7 @@
|
|||
SYSCALL_ENTRY( NtGetCurrentProcessorNumber ) \
|
||||
SYSCALL_ENTRY( NtOpenDirectoryObject ) \
|
||||
SYSCALL_ENTRY( NtOpenEvent ) \
|
||||
SYSCALL_ENTRY( NtOpenIoCompletion ) \
|
||||
SYSCALL_ENTRY( NtOpenKeyedEvent ) \
|
||||
SYSCALL_ENTRY( NtOpenMutant ) \
|
||||
SYSCALL_ENTRY( NtOpenSemaphore ) \
|
||||
|
@ -52,6 +54,7 @@
|
|||
SYSCALL_ENTRY( NtQueryEvent ) \
|
||||
SYSCALL_ENTRY( NtQueryInformationAtom ) \
|
||||
SYSCALL_ENTRY( NtQueryInstallUILanguage ) \
|
||||
SYSCALL_ENTRY( NtQueryIoCompletion ) \
|
||||
SYSCALL_ENTRY( NtQueryMutant ) \
|
||||
SYSCALL_ENTRY( NtQuerySemaphore ) \
|
||||
SYSCALL_ENTRY( NtQueryTimer ) \
|
||||
|
@ -63,6 +66,7 @@
|
|||
SYSCALL_ENTRY( NtSetDefaultUILanguage ) \
|
||||
SYSCALL_ENTRY( NtSetEvent ) \
|
||||
SYSCALL_ENTRY( NtSetInformationDebugObject ) \
|
||||
SYSCALL_ENTRY( NtSetIoCompletion ) \
|
||||
SYSCALL_ENTRY( NtSetTimer ) \
|
||||
SYSCALL_ENTRY( NtWaitForDebugEvent ) \
|
||||
SYSCALL_ENTRY( NtWaitForKeyedEvent )
|
||||
|
|
Loading…
Reference in New Issue