ntdll: Use syscall thunks for keyed event functions.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alexandre Julliard 2020-07-16 10:31:21 +02:00
parent 9f8acda167
commit eb45a75a2e
4 changed files with 9 additions and 56 deletions

View File

@ -168,7 +168,7 @@
# @ stub NtCreateJobSet # @ stub NtCreateJobSet
@ stdcall NtCreateKey(ptr long ptr long ptr long ptr) @ stdcall NtCreateKey(ptr long ptr long ptr long ptr)
@ stdcall NtCreateKeyTransacted(ptr long ptr long ptr long long ptr) @ stdcall NtCreateKeyTransacted(ptr long ptr long ptr long long ptr)
@ stdcall NtCreateKeyedEvent(ptr long ptr long) @ stdcall -syscall NtCreateKeyedEvent(ptr long ptr long)
@ stdcall NtCreateLowBoxToken(ptr long long ptr ptr long ptr long ptr) @ stdcall NtCreateLowBoxToken(ptr long long ptr ptr long ptr long ptr)
@ stdcall NtCreateMailslotFile(ptr long ptr ptr long long long ptr) @ stdcall NtCreateMailslotFile(ptr long ptr ptr long long long ptr)
@ stdcall -syscall NtCreateMutant(ptr long ptr long) @ stdcall -syscall NtCreateMutant(ptr long ptr long)
@ -260,7 +260,7 @@
@ stdcall NtOpenKeyEx(ptr long ptr long) @ stdcall NtOpenKeyEx(ptr long ptr long)
@ stdcall NtOpenKeyTransacted(ptr long ptr long) @ stdcall NtOpenKeyTransacted(ptr long ptr long)
@ stdcall NtOpenKeyTransactedEx(ptr long ptr long long) @ stdcall NtOpenKeyTransactedEx(ptr long ptr long long)
@ stdcall NtOpenKeyedEvent(ptr long ptr) @ stdcall -syscall NtOpenKeyedEvent(ptr long ptr)
@ stdcall -syscall NtOpenMutant(ptr long ptr) @ stdcall -syscall NtOpenMutant(ptr long ptr)
@ stub NtOpenObjectAuditAlarm @ stub NtOpenObjectAuditAlarm
@ stdcall NtOpenProcess(ptr long ptr ptr) @ stdcall NtOpenProcess(ptr long ptr ptr)
@ -333,7 +333,7 @@
@ stdcall NtReadVirtualMemory(long ptr ptr long ptr) @ stdcall NtReadVirtualMemory(long ptr ptr long ptr)
@ stub NtRegisterNewDevice @ stub NtRegisterNewDevice
@ stdcall NtRegisterThreadTerminatePort(ptr) @ stdcall NtRegisterThreadTerminatePort(ptr)
@ stdcall NtReleaseKeyedEvent(long ptr long ptr) @ stdcall -syscall NtReleaseKeyedEvent(long ptr long ptr)
@ stdcall -syscall NtReleaseMutant(long ptr) @ stdcall -syscall NtReleaseMutant(long ptr)
@ stub NtReleaseProcessMutant @ stub NtReleaseProcessMutant
@ stdcall -syscall NtReleaseSemaphore(long long ptr) @ stdcall -syscall NtReleaseSemaphore(long long ptr)
@ -422,7 +422,7 @@
@ stub NtVdmControl @ stub NtVdmControl
@ stub NtW32Call @ stub NtW32Call
# @ stub NtWaitForDebugEvent # @ stub NtWaitForDebugEvent
@ stdcall NtWaitForKeyedEvent(long ptr long ptr) @ stdcall -syscall NtWaitForKeyedEvent(long ptr long ptr)
@ stdcall -syscall NtWaitForMultipleObjects(long ptr long long ptr) @ stdcall -syscall NtWaitForMultipleObjects(long ptr long long ptr)
@ stub NtWaitForProcessMutant @ stub NtWaitForProcessMutant
@ stdcall -syscall NtWaitForSingleObject(long long ptr) @ stdcall -syscall NtWaitForSingleObject(long long ptr)
@ -1157,7 +1157,7 @@
# @ stub ZwCreateJobSet # @ stub ZwCreateJobSet
@ stdcall -private ZwCreateKey(ptr long ptr long ptr long ptr) NtCreateKey @ stdcall -private ZwCreateKey(ptr long ptr long ptr long ptr) NtCreateKey
@ stdcall -private ZwCreateKeyTransacted(ptr long ptr long ptr long long ptr) NtCreateKeyTransacted @ stdcall -private ZwCreateKeyTransacted(ptr long ptr long ptr long long ptr) NtCreateKeyTransacted
@ stdcall -private ZwCreateKeyedEvent(ptr long ptr long) NtCreateKeyedEvent @ stdcall -private -syscall ZwCreateKeyedEvent(ptr long ptr long) NtCreateKeyedEvent
@ stdcall -private ZwCreateMailslotFile(ptr long ptr ptr long long long ptr) NtCreateMailslotFile @ stdcall -private ZwCreateMailslotFile(ptr long ptr ptr long long long ptr) NtCreateMailslotFile
@ stdcall -private -syscall ZwCreateMutant(ptr long ptr long) NtCreateMutant @ stdcall -private -syscall ZwCreateMutant(ptr long ptr long) NtCreateMutant
@ stdcall -private ZwCreateNamedPipeFile(ptr long ptr ptr long long long long long long long long long ptr) NtCreateNamedPipeFile @ stdcall -private ZwCreateNamedPipeFile(ptr long ptr ptr long long long long long long long long long ptr) NtCreateNamedPipeFile
@ -1244,7 +1244,7 @@
@ stdcall -private ZwOpenKeyEx(ptr long ptr long) NtOpenKeyEx @ stdcall -private ZwOpenKeyEx(ptr long ptr long) NtOpenKeyEx
@ stdcall -private ZwOpenKeyTransacted(ptr long ptr long) NtOpenKeyTransacted @ stdcall -private ZwOpenKeyTransacted(ptr long ptr long) NtOpenKeyTransacted
@ stdcall -private ZwOpenKeyTransactedEx(ptr long ptr long long) NtOpenKeyTransactedEx @ stdcall -private ZwOpenKeyTransactedEx(ptr long ptr long long) NtOpenKeyTransactedEx
@ stdcall -private ZwOpenKeyedEvent(ptr long ptr) NtOpenKeyedEvent @ stdcall -private -syscall ZwOpenKeyedEvent(ptr long ptr) NtOpenKeyedEvent
@ stdcall -private -syscall ZwOpenMutant(ptr long ptr) NtOpenMutant @ stdcall -private -syscall ZwOpenMutant(ptr long ptr) NtOpenMutant
@ stub ZwOpenObjectAuditAlarm @ stub ZwOpenObjectAuditAlarm
@ stdcall -private ZwOpenProcess(ptr long ptr ptr) NtOpenProcess @ stdcall -private ZwOpenProcess(ptr long ptr ptr) NtOpenProcess
@ -1317,7 +1317,7 @@
@ stdcall -private ZwReadVirtualMemory(long ptr ptr long ptr) NtReadVirtualMemory @ stdcall -private ZwReadVirtualMemory(long ptr ptr long ptr) NtReadVirtualMemory
@ stub ZwRegisterNewDevice @ stub ZwRegisterNewDevice
@ stdcall -private ZwRegisterThreadTerminatePort(ptr) NtRegisterThreadTerminatePort @ stdcall -private ZwRegisterThreadTerminatePort(ptr) NtRegisterThreadTerminatePort
@ stdcall -private ZwReleaseKeyedEvent(long ptr long ptr) NtReleaseKeyedEvent @ stdcall -private -syscall ZwReleaseKeyedEvent(long ptr long ptr) NtReleaseKeyedEvent
@ stdcall -private -syscall ZwReleaseMutant(long ptr) NtReleaseMutant @ stdcall -private -syscall ZwReleaseMutant(long ptr) NtReleaseMutant
@ stub ZwReleaseProcessMutant @ stub ZwReleaseProcessMutant
@ stdcall -private -syscall ZwReleaseSemaphore(long long ptr) NtReleaseSemaphore @ stdcall -private -syscall ZwReleaseSemaphore(long long ptr) NtReleaseSemaphore
@ -1406,7 +1406,7 @@
@ stub ZwVdmControl @ stub ZwVdmControl
@ stub ZwW32Call @ stub ZwW32Call
# @ stub ZwWaitForDebugEvent # @ stub ZwWaitForDebugEvent
@ stdcall -private ZwWaitForKeyedEvent(long ptr long ptr) NtWaitForKeyedEvent @ stdcall -private -syscall ZwWaitForKeyedEvent(long ptr long ptr) NtWaitForKeyedEvent
@ stdcall -private -syscall ZwWaitForMultipleObjects(long ptr long long ptr) NtWaitForMultipleObjects @ stdcall -private -syscall ZwWaitForMultipleObjects(long ptr long long ptr) NtWaitForMultipleObjects
@ stub ZwWaitForProcessMutant @ stub ZwWaitForProcessMutant
@ stdcall -private -syscall ZwWaitForSingleObject(long long ptr) NtWaitForSingleObject @ stdcall -private -syscall ZwWaitForSingleObject(long long ptr) NtWaitForSingleObject

View File

@ -167,41 +167,6 @@ NTSTATUS WINAPI NtSetTimerResolution(IN ULONG resolution,
/******************************************************************************
* NtCreateKeyedEvent (NTDLL.@)
*/
NTSTATUS WINAPI NtCreateKeyedEvent( HANDLE *handle, ACCESS_MASK access,
const OBJECT_ATTRIBUTES *attr, ULONG flags )
{
return unix_funcs->NtCreateKeyedEvent( handle, access, attr, flags );
}
/******************************************************************************
* NtOpenKeyedEvent (NTDLL.@)
*/
NTSTATUS WINAPI NtOpenKeyedEvent( HANDLE *handle, ACCESS_MASK access, const OBJECT_ATTRIBUTES *attr )
{
return unix_funcs->NtOpenKeyedEvent( handle, access, attr );
}
/******************************************************************************
* NtWaitForKeyedEvent (NTDLL.@)
*/
NTSTATUS WINAPI NtWaitForKeyedEvent( HANDLE handle, const void *key,
BOOLEAN alertable, const LARGE_INTEGER *timeout )
{
return unix_funcs->NtWaitForKeyedEvent( handle, key, alertable, timeout );
}
/******************************************************************************
* NtReleaseKeyedEvent (NTDLL.@)
*/
NTSTATUS WINAPI NtReleaseKeyedEvent( HANDLE handle, const void *key,
BOOLEAN alertable, const LARGE_INTEGER *timeout )
{
return unix_funcs->NtReleaseKeyedEvent( handle, key, alertable, timeout );
}
/****************************************************************** /******************************************************************
* NtCreateIoCompletion (NTDLL.@) * NtCreateIoCompletion (NTDLL.@)
* ZwCreateIoCompletion (NTDLL.@) * ZwCreateIoCompletion (NTDLL.@)

View File

@ -1365,7 +1365,6 @@ static struct unix_funcs unix_funcs =
NtClose, NtClose,
NtContinue, NtContinue,
NtCreateIoCompletion, NtCreateIoCompletion,
NtCreateKeyedEvent,
NtCreateMailslotFile, NtCreateMailslotFile,
NtCreateNamedPipeFile, NtCreateNamedPipeFile,
NtCreateSection, NtCreateSection,
@ -1388,7 +1387,6 @@ static struct unix_funcs unix_funcs =
NtMapViewOfSection, NtMapViewOfSection,
NtNotifyChangeDirectoryFile, NtNotifyChangeDirectoryFile,
NtOpenIoCompletion, NtOpenIoCompletion,
NtOpenKeyedEvent,
NtOpenProcess, NtOpenProcess,
NtOpenSection, NtOpenSection,
NtOpenThread, NtOpenThread,
@ -1414,7 +1412,6 @@ static struct unix_funcs unix_funcs =
NtReadFile, NtReadFile,
NtReadFileScatter, NtReadFileScatter,
NtReadVirtualMemory, NtReadVirtualMemory,
NtReleaseKeyedEvent,
NtRemoveIoCompletion, NtRemoveIoCompletion,
NtRemoveIoCompletionEx, NtRemoveIoCompletionEx,
NtResetWriteWatch, NtResetWriteWatch,
@ -1435,7 +1432,6 @@ static struct unix_funcs unix_funcs =
NtTerminateThread, NtTerminateThread,
NtUnlockVirtualMemory, NtUnlockVirtualMemory,
NtUnmapViewOfSection, NtUnmapViewOfSection,
NtWaitForKeyedEvent,
NtWriteFile, NtWriteFile,
NtWriteFileGather, NtWriteFileGather,
NtWriteVirtualMemory, NtWriteVirtualMemory,

View File

@ -28,7 +28,7 @@ struct msghdr;
struct _DISPATCHER_CONTEXT; struct _DISPATCHER_CONTEXT;
/* increment this when you change the function table */ /* increment this when you change the function table */
#define NTDLL_UNIXLIB_VERSION 80 #define NTDLL_UNIXLIB_VERSION 81
struct unix_funcs struct unix_funcs
{ {
@ -42,8 +42,6 @@ struct unix_funcs
NTSTATUS (WINAPI *NtContinue)( CONTEXT *context, BOOLEAN alertable ); NTSTATUS (WINAPI *NtContinue)( CONTEXT *context, BOOLEAN alertable );
NTSTATUS (WINAPI *NtCreateIoCompletion)( HANDLE *handle, ACCESS_MASK access, NTSTATUS (WINAPI *NtCreateIoCompletion)( HANDLE *handle, ACCESS_MASK access,
OBJECT_ATTRIBUTES *attr, ULONG threads ); OBJECT_ATTRIBUTES *attr, ULONG threads );
NTSTATUS (WINAPI *NtCreateKeyedEvent)( HANDLE *handle, ACCESS_MASK access,
const OBJECT_ATTRIBUTES *attr, ULONG flags );
NTSTATUS (WINAPI *NtCreateMailslotFile)( HANDLE *handle, ULONG access, OBJECT_ATTRIBUTES *attr, NTSTATUS (WINAPI *NtCreateMailslotFile)( HANDLE *handle, ULONG access, OBJECT_ATTRIBUTES *attr,
IO_STATUS_BLOCK *io, ULONG options, ULONG quota, IO_STATUS_BLOCK *io, ULONG options, ULONG quota,
ULONG msg_size, LARGE_INTEGER *timeout ); ULONG msg_size, LARGE_INTEGER *timeout );
@ -101,8 +99,6 @@ struct unix_funcs
ULONG filter, BOOLEAN subtree ); ULONG filter, BOOLEAN subtree );
NTSTATUS (WINAPI *NtOpenIoCompletion)( HANDLE *handle, ACCESS_MASK access, NTSTATUS (WINAPI *NtOpenIoCompletion)( HANDLE *handle, ACCESS_MASK access,
const OBJECT_ATTRIBUTES *attr ); const OBJECT_ATTRIBUTES *attr );
NTSTATUS (WINAPI *NtOpenKeyedEvent)( HANDLE *handle, ACCESS_MASK access,
const OBJECT_ATTRIBUTES *attr );
NTSTATUS (WINAPI *NtOpenProcess)( HANDLE *handle, ACCESS_MASK access, NTSTATUS (WINAPI *NtOpenProcess)( HANDLE *handle, ACCESS_MASK access,
const OBJECT_ATTRIBUTES *attr, const CLIENT_ID *id ); const OBJECT_ATTRIBUTES *attr, const CLIENT_ID *id );
NTSTATUS (WINAPI *NtOpenSection)( HANDLE *handle, ACCESS_MASK access, NTSTATUS (WINAPI *NtOpenSection)( HANDLE *handle, ACCESS_MASK access,
@ -158,8 +154,6 @@ struct unix_funcs
LARGE_INTEGER *offset, ULONG *key ); LARGE_INTEGER *offset, ULONG *key );
NTSTATUS (WINAPI *NtReadVirtualMemory)( HANDLE process, const void *addr, void *buffer, NTSTATUS (WINAPI *NtReadVirtualMemory)( HANDLE process, const void *addr, void *buffer,
SIZE_T size, SIZE_T *bytes_read ); SIZE_T size, SIZE_T *bytes_read );
NTSTATUS (WINAPI *NtReleaseKeyedEvent)( HANDLE handle, const void *key,
BOOLEAN alertable, const LARGE_INTEGER *timeout );
NTSTATUS (WINAPI *NtRemoveIoCompletion)( HANDLE handle, ULONG_PTR *key, ULONG_PTR *value, NTSTATUS (WINAPI *NtRemoveIoCompletion)( HANDLE handle, ULONG_PTR *key, ULONG_PTR *value,
IO_STATUS_BLOCK *io, LARGE_INTEGER *timeout ); IO_STATUS_BLOCK *io, LARGE_INTEGER *timeout );
NTSTATUS (WINAPI *NtRemoveIoCompletionEx)( HANDLE handle, FILE_IO_COMPLETION_INFORMATION *info, NTSTATUS (WINAPI *NtRemoveIoCompletionEx)( HANDLE handle, FILE_IO_COMPLETION_INFORMATION *info,
@ -190,8 +184,6 @@ struct unix_funcs
NTSTATUS (WINAPI *NtUnlockVirtualMemory)( HANDLE process, PVOID *addr, NTSTATUS (WINAPI *NtUnlockVirtualMemory)( HANDLE process, PVOID *addr,
SIZE_T *size, ULONG unknown ); SIZE_T *size, ULONG unknown );
NTSTATUS (WINAPI *NtUnmapViewOfSection)( HANDLE process, PVOID addr ); NTSTATUS (WINAPI *NtUnmapViewOfSection)( HANDLE process, PVOID addr );
NTSTATUS (WINAPI *NtWaitForKeyedEvent)( HANDLE handle, const void *key, BOOLEAN alertable,
const LARGE_INTEGER *timeout );
NTSTATUS (WINAPI *NtWriteFile)( HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc, void *apc_user, NTSTATUS (WINAPI *NtWriteFile)( HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc, void *apc_user,
IO_STATUS_BLOCK *io, const void *buffer, ULONG length, IO_STATUS_BLOCK *io, const void *buffer, ULONG length,
LARGE_INTEGER *offset, ULONG *key ); LARGE_INTEGER *offset, ULONG *key );