mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-19 23:28:16 +00:00
ntdll: Use syscall thunks for object manager functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
40d403c926
commit
0534beb331
|
@ -200,7 +200,7 @@
|
|||
@ stdcall NtDeleteValueKey(long ptr)
|
||||
@ stdcall -syscall NtDeviceIoControlFile(long long ptr ptr ptr long ptr long ptr long)
|
||||
@ stdcall NtDisplayString(ptr)
|
||||
@ stdcall NtDuplicateObject(long long long ptr long long long)
|
||||
@ stdcall -syscall NtDuplicateObject(long long long ptr long long long)
|
||||
@ stdcall NtDuplicateToken(long long ptr long long ptr)
|
||||
# @ stub NtEnumerateBootEntries
|
||||
@ stub NtEnumerateBus
|
||||
|
@ -305,7 +305,7 @@
|
|||
@ stdcall NtQueryLicenseValue(ptr ptr ptr long ptr)
|
||||
@ stdcall NtQueryMultipleValueKey(long ptr long ptr long ptr)
|
||||
@ stdcall -syscall NtQueryMutant(long long ptr long ptr)
|
||||
@ stdcall NtQueryObject(long long ptr long ptr)
|
||||
@ stdcall -syscall NtQueryObject(long long ptr long ptr)
|
||||
@ stub NtQueryOpenSubKeys
|
||||
@ stdcall NtQueryPerformanceCounter(ptr ptr)
|
||||
# @ stub NtQueryPortInformationProcess
|
||||
|
@ -376,7 +376,7 @@
|
|||
@ stdcall -syscall NtSetInformationFile(long ptr ptr long long)
|
||||
@ stdcall -syscall NtSetInformationJobObject(long long ptr long)
|
||||
@ stdcall NtSetInformationKey(long long ptr long)
|
||||
@ stdcall NtSetInformationObject(long long ptr long)
|
||||
@ stdcall -syscall NtSetInformationObject(long long ptr long)
|
||||
@ stdcall -syscall NtSetInformationProcess(long long ptr long)
|
||||
@ stdcall -syscall NtSetInformationThread(long long ptr long)
|
||||
@ stdcall NtSetInformationToken(long long ptr long)
|
||||
|
@ -1187,7 +1187,7 @@
|
|||
@ stdcall -private ZwDeleteValueKey(long ptr) NtDeleteValueKey
|
||||
@ stdcall -private -syscall ZwDeviceIoControlFile(long long ptr ptr ptr long ptr long ptr long) NtDeviceIoControlFile
|
||||
@ stdcall -private ZwDisplayString(ptr) NtDisplayString
|
||||
@ stdcall -private ZwDuplicateObject(long long long ptr long long long) NtDuplicateObject
|
||||
@ stdcall -private -syscall ZwDuplicateObject(long long long ptr long long long) NtDuplicateObject
|
||||
@ stdcall -private ZwDuplicateToken(long long ptr long long ptr) NtDuplicateToken
|
||||
# @ stub ZwEnumerateBootEntries
|
||||
@ stub ZwEnumerateBus
|
||||
|
@ -1292,7 +1292,7 @@
|
|||
@ stdcall -private ZwQueryLicenseValue(ptr ptr ptr long ptr) NtQueryLicenseValue
|
||||
@ stdcall -private ZwQueryMultipleValueKey(long ptr long ptr long ptr) NtQueryMultipleValueKey
|
||||
@ stdcall -private -syscall ZwQueryMutant(long long ptr long ptr) NtQueryMutant
|
||||
@ stdcall -private ZwQueryObject(long long ptr long ptr) NtQueryObject
|
||||
@ stdcall -private -syscall ZwQueryObject(long long ptr long ptr) NtQueryObject
|
||||
@ stub ZwQueryOpenSubKeys
|
||||
@ stdcall -private ZwQueryPerformanceCounter(ptr ptr) NtQueryPerformanceCounter
|
||||
# @ stub ZwQueryPortInformationProcess
|
||||
|
@ -1363,7 +1363,7 @@
|
|||
@ stdcall -private -syscall ZwSetInformationFile(long ptr ptr long long) NtSetInformationFile
|
||||
@ stdcall -private -syscall ZwSetInformationJobObject(long long ptr long) NtSetInformationJobObject
|
||||
@ stdcall -private ZwSetInformationKey(long long ptr long) NtSetInformationKey
|
||||
@ stdcall -private ZwSetInformationObject(long long ptr long) NtSetInformationObject
|
||||
@ stdcall -private -syscall ZwSetInformationObject(long long ptr long) NtSetInformationObject
|
||||
@ stdcall -private -syscall ZwSetInformationProcess(long long ptr long) NtSetInformationProcess
|
||||
@ stdcall -private -syscall ZwSetInformationThread(long long ptr long) NtSetInformationThread
|
||||
@ stdcall -private ZwSetInformationToken(long long ptr long) NtSetInformationToken
|
||||
|
|
|
@ -39,29 +39,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(ntdll);
|
|||
* Generic object functions
|
||||
*/
|
||||
|
||||
/******************************************************************************
|
||||
* NtQueryObject [NTDLL.@]
|
||||
* ZwQueryObject [NTDLL.@]
|
||||
*/
|
||||
NTSTATUS WINAPI NtQueryObject(IN HANDLE handle,
|
||||
IN OBJECT_INFORMATION_CLASS info_class,
|
||||
OUT PVOID ptr, IN ULONG len, OUT PULONG used_len)
|
||||
{
|
||||
return unix_funcs->NtQueryObject( handle, info_class, ptr, len, used_len );
|
||||
}
|
||||
|
||||
/******************************************************************
|
||||
* NtSetInformationObject [NTDLL.@]
|
||||
* ZwSetInformationObject [NTDLL.@]
|
||||
*
|
||||
*/
|
||||
NTSTATUS WINAPI NtSetInformationObject(IN HANDLE handle,
|
||||
IN OBJECT_INFORMATION_CLASS info_class,
|
||||
IN PVOID ptr, IN ULONG len)
|
||||
{
|
||||
return unix_funcs->NtSetInformationObject( handle, info_class, ptr, len );
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
* NtQuerySecurityObject [NTDLL.@]
|
||||
*
|
||||
|
@ -150,18 +127,6 @@ NtQuerySecurityObject(
|
|||
}
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
* NtDuplicateObject [NTDLL.@]
|
||||
* ZwDuplicateObject [NTDLL.@]
|
||||
*/
|
||||
NTSTATUS WINAPI NtDuplicateObject( HANDLE source_process, HANDLE source,
|
||||
HANDLE dest_process, PHANDLE dest,
|
||||
ACCESS_MASK access, ULONG attributes, ULONG options )
|
||||
{
|
||||
return unix_funcs->NtDuplicateObject( source_process, source, dest_process,
|
||||
dest, access, attributes, options );
|
||||
}
|
||||
|
||||
static LONG WINAPI invalid_handle_exception_handler( EXCEPTION_POINTERS *eptr )
|
||||
{
|
||||
EXCEPTION_RECORD *rec = eptr->ExceptionRecord;
|
||||
|
|
|
@ -1360,11 +1360,8 @@ static struct unix_funcs unix_funcs =
|
|||
{
|
||||
NtClose,
|
||||
NtCurrentTeb,
|
||||
NtDuplicateObject,
|
||||
NtGetContextThread,
|
||||
NtQueryObject,
|
||||
NtQueryPerformanceCounter,
|
||||
NtSetInformationObject,
|
||||
DbgUiIssueRemoteBreakin,
|
||||
RtlGetSystemTimePrecise,
|
||||
RtlWaitOnAddress,
|
||||
|
|
|
@ -28,22 +28,15 @@ struct msghdr;
|
|||
struct _DISPATCHER_CONTEXT;
|
||||
|
||||
/* increment this when you change the function table */
|
||||
#define NTDLL_UNIXLIB_VERSION 87
|
||||
#define NTDLL_UNIXLIB_VERSION 88
|
||||
|
||||
struct unix_funcs
|
||||
{
|
||||
/* Nt* functions */
|
||||
NTSTATUS (WINAPI *NtClose)( HANDLE handle );
|
||||
TEB * (WINAPI *NtCurrentTeb)(void);
|
||||
NTSTATUS (WINAPI *NtDuplicateObject)( HANDLE source_process, HANDLE source,
|
||||
HANDLE dest_process, HANDLE *dest,
|
||||
ACCESS_MASK access, ULONG attributes, ULONG options );
|
||||
NTSTATUS (WINAPI *NtGetContextThread)( HANDLE handle, CONTEXT *context );
|
||||
NTSTATUS (WINAPI *NtQueryObject)( HANDLE handle, OBJECT_INFORMATION_CLASS info_class,
|
||||
void *ptr, ULONG len, ULONG *used_len );
|
||||
NTSTATUS (WINAPI *NtQueryPerformanceCounter)( LARGE_INTEGER *counter, LARGE_INTEGER *frequency );
|
||||
NTSTATUS (WINAPI *NtSetInformationObject)( HANDLE handle, OBJECT_INFORMATION_CLASS info_class,
|
||||
void *ptr, ULONG len );
|
||||
|
||||
/* other Win32 API functions */
|
||||
NTSTATUS (WINAPI *DbgUiIssueRemoteBreakin)( HANDLE process );
|
||||
|
|
Loading…
Reference in a new issue