[Kernel/Sketchy] Implemented NtQueueApcThread

Signed-off-by: Gliniak <Gliniak93@gmail.com>
This commit is contained in:
Gliniak 2019-12-04 20:32:02 +01:00
parent fadf52381a
commit b458351ad4
1 changed files with 10 additions and 4 deletions

View File

@ -970,12 +970,18 @@ void KfLowerIrql(dword_t old_value) {
DECLARE_XBOXKRNL_EXPORT2(KfLowerIrql, kThreading, kImplemented, kHighFrequency); DECLARE_XBOXKRNL_EXPORT2(KfLowerIrql, kThreading, kImplemented, kHighFrequency);
void NtQueueApcThread(dword_t thread_handle, lpvoid_t apc_routine, void NtQueueApcThread(dword_t thread_handle, lpvoid_t apc_routine,
lpvoid_t arg1, lpvoid_t arg2, lpvoid_t arg3) { lpvoid_t apc_routine_context, lpvoid_t arg1,
// Alloc APC object (from somewhere) and insert. lpvoid_t arg2) {
auto thread =
kernel_state()->object_table()->LookupObject<XThread>(thread_handle);
assert_always("not implemented"); if (!thread) {
return;
} }
// DECLARE_XBOXKRNL_EXPORT1(NtQueueApcThread, kThreading, kStub);
thread->EnqueueApc(apc_routine, apc_routine_context, arg1, arg2);
}
DECLARE_XBOXKRNL_EXPORT1(NtQueueApcThread, kThreading, kSketchy);
void KeInitializeApc(pointer_t<XAPC> apc, lpvoid_t thread_ptr, void KeInitializeApc(pointer_t<XAPC> apc, lpvoid_t thread_ptr,
lpvoid_t kernel_routine, lpvoid_t rundown_routine, lpvoid_t kernel_routine, lpvoid_t rundown_routine,