Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
d821ddaa
Commit
d821ddaa
authored
Apr 13, 2024
by
Isaac Marovitz
Committed by
Alexandre Julliard
Apr 17, 2024
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ntdll: Implement NtQueueApcThreadEx().
parent
f42391b5
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
38 additions
and
0 deletions
+38
-0
ntdll.spec
dlls/ntdll/ntdll.spec
+2
-0
ntsyscalls.h
dlls/ntdll/ntsyscalls.h
+0
-0
signal_arm64ec.c
dlls/ntdll/signal_arm64ec.c
+7
-0
thread.c
dlls/ntdll/unix/thread.c
+11
-0
process.c
dlls/wow64/process.c
+17
-0
winternl.h
include/winternl.h
+1
-0
No files found.
dlls/ntdll/ntdll.spec
View file @
d821ddaa
...
...
@@ -338,6 +338,7 @@
@ stdcall -syscall NtQueryVirtualMemory(long ptr long ptr long ptr)
@ stdcall -syscall NtQueryVolumeInformationFile(long ptr ptr long long)
@ stdcall -syscall NtQueueApcThread(long ptr long long long)
@ stdcall -syscall NtQueueApcThreadEx(long long ptr long long long)
@ stdcall -syscall NtRaiseException(ptr ptr long)
@ stdcall -syscall NtRaiseHardError(long long ptr ptr long ptr)
@ stdcall -syscall NtReadFile(long long ptr ptr ptr ptr long ptr ptr)
...
...
@@ -1387,6 +1388,7 @@
@ stdcall -private -syscall ZwQueryVirtualMemory(long ptr long ptr long ptr) NtQueryVirtualMemory
@ stdcall -private -syscall ZwQueryVolumeInformationFile(long ptr ptr long long) NtQueryVolumeInformationFile
@ stdcall -private -syscall ZwQueueApcThread(long ptr long long long) NtQueueApcThread
@ stdcall -private -syscall ZwQueueApcThreadEx(long long ptr long long long) NtQueueApcThreadEx
@ stdcall -private -syscall ZwRaiseException(ptr ptr long) NtRaiseException
@ stdcall -private -syscall ZwRaiseHardError(long long ptr ptr long ptr) NtRaiseHardError
@ stdcall -private -syscall ZwReadFile(long long ptr ptr ptr ptr long ptr ptr) NtReadFile
...
...
dlls/ntdll/ntsyscalls.h
View file @
d821ddaa
This diff is collapsed.
Click to expand it.
dlls/ntdll/signal_arm64ec.c
View file @
d821ddaa
...
...
@@ -1013,6 +1013,13 @@ NTSTATUS SYSCALL_API NtQueueApcThread( HANDLE handle, PNTAPCFUNC func, ULONG_PTR
SYSCALL_FUNC
(
NtQueueApcThread
);
}
NTSTATUS
SYSCALL_API
NtQueueApcThreadEx
(
HANDLE
handle
,
HANDLE
reserve_handle
,
PNTAPCFUNC
func
,
ULONG_PTR
arg1
,
ULONG_PTR
arg2
,
ULONG_PTR
arg3
)
{
SYSCALL_FUNC
(
NtQueueApcThreadEx
);
}
static
NTSTATUS
SYSCALL_API
syscall_NtRaiseException
(
EXCEPTION_RECORD
*
rec
,
ARM64_NT_CONTEXT
*
context
,
BOOL
first_chance
)
{
__ASM_SYSCALL_FUNC
(
__id_NtRaiseException
,
syscall_NtRaiseException
);
...
...
dlls/ntdll/unix/thread.c
View file @
d821ddaa
...
...
@@ -1689,6 +1689,17 @@ NTSTATUS WINAPI NtQueueApcThread( HANDLE handle, PNTAPCFUNC func, ULONG_PTR arg1
}
/******************************************************************************
* NtQueueApcThreadEx (NTDLL.@)
*/
NTSTATUS
WINAPI
NtQueueApcThreadEx
(
HANDLE
handle
,
HANDLE
reserve_handle
,
PNTAPCFUNC
func
,
ULONG_PTR
arg1
,
ULONG_PTR
arg2
,
ULONG_PTR
arg3
)
{
FIXME
(
"reserve handle should be used: %p
\n
"
,
reserve_handle
);
return
NtQueueApcThread
(
handle
,
func
,
arg1
,
arg2
,
arg3
);
}
/***********************************************************************
* set_thread_context
*/
...
...
dlls/wow64/process.c
View file @
d821ddaa
...
...
@@ -800,6 +800,23 @@ NTSTATUS WINAPI wow64_NtQueueApcThread( UINT *args )
/**********************************************************************
* wow64_NtQueueApcThreadEx
*/
NTSTATUS
WINAPI
wow64_NtQueueApcThreadEx
(
UINT
*
args
)
{
HANDLE
handle
=
get_handle
(
&
args
);
HANDLE
reserve_handle
=
get_handle
(
&
args
);
ULONG
func
=
get_ulong
(
&
args
);
ULONG
arg1
=
get_ulong
(
&
args
);
ULONG
arg2
=
get_ulong
(
&
args
);
ULONG
arg3
=
get_ulong
(
&
args
);
return
NtQueueApcThreadEx
(
handle
,
reserve_handle
,
apc_32to64
(
func
),
(
ULONG_PTR
)
apc_param_32to64
(
func
,
arg1
),
arg2
,
arg3
);
}
/**********************************************************************
* wow64_NtRemoveProcessDebug
*/
NTSTATUS
WINAPI
wow64_NtRemoveProcessDebug
(
UINT
*
args
)
...
...
include/winternl.h
View file @
d821ddaa
...
...
@@ -4517,6 +4517,7 @@ NTSYSAPI NTSTATUS WINAPI NtPrivilegedServiceAuditAlarm(PUNICODE_STRING,PUNICODE
NTSYSAPI
NTSTATUS
WINAPI
NtProtectVirtualMemory
(
HANDLE
,
PVOID
*
,
SIZE_T
*
,
ULONG
,
ULONG
*
);
NTSYSAPI
NTSTATUS
WINAPI
NtPulseEvent
(
HANDLE
,
LONG
*
);
NTSYSAPI
NTSTATUS
WINAPI
NtQueueApcThread
(
HANDLE
,
PNTAPCFUNC
,
ULONG_PTR
,
ULONG_PTR
,
ULONG_PTR
);
NTSYSAPI
NTSTATUS
WINAPI
NtQueueApcThreadEx
(
HANDLE
,
HANDLE
,
PNTAPCFUNC
,
ULONG_PTR
,
ULONG_PTR
,
ULONG_PTR
);
NTSYSAPI
NTSTATUS
WINAPI
NtQueryAttributesFile
(
const
OBJECT_ATTRIBUTES
*
,
FILE_BASIC_INFORMATION
*
);
NTSYSAPI
NTSTATUS
WINAPI
NtQueryDefaultLocale
(
BOOLEAN
,
LCID
*
);
NTSYSAPI
NTSTATUS
WINAPI
NtQueryDefaultUILanguage
(
LANGID
*
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment