27KiDpcInterruptHandler(
VOID)
76 KxQueueReadyThread(OldThread, Prcb);
127#define MAX_SYSCALL_PARAMS 16
164 TrapFrame->
Rsp = UserRsp;
177 ServiceNumber = (
ULONG)TrapFrame->
Rax;
198 if (GdiBatchCount != 0)
208 if (ServiceNumber >= DescriptorTable->
Limit)
231 Count = DescriptorTable->
Number[ServiceNumber] / 8;
237 case 16: KernelParams[15] = UserParams[15];
238 case 15: KernelParams[14] = UserParams[14];
239 case 14: KernelParams[13] = UserParams[13];
240 case 13: KernelParams[12] = UserParams[12];
241 case 12: KernelParams[11] = UserParams[11];
242 case 11: KernelParams[10] = UserParams[10];
243 case 10: KernelParams[9] = UserParams[9];
244 case 9: KernelParams[8] = UserParams[8];
245 case 8: KernelParams[7] = UserParams[7];
246 case 7: KernelParams[6] = UserParams[6];
247 case 6: KernelParams[5] = UserParams[5];
248 case 5: KernelParams[4] = UserParams[4];
268 return (
PVOID)DescriptorTable->
Base[ServiceNumber];
#define _Requires_lock_not_held_(lock)
#define KeLowerIrql(oldIrql)
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
KIRQL FASTCALL KfRaiseIrql(IN KIRQL NewIrql)
#define KeGetCurrentThread
#define EXCEPTION_EXECUTE_HANDLER
void __cdecl _disable(void)
void __cdecl _enable(void)
void __cdecl __debugbreak(void)
PPC_QUAL unsigned long long __readmsr()
#define _AddressOfReturnAddress()
FORCEINLINE VOID KiAcquirePrcbLock(IN PKPRCB Prcb)
unsigned __int64 * PULONG64
FORCEINLINE struct _KPRCB * KeGetCurrentPrcb(VOID)
struct _KTRAP_FRAME * PKTRAP_FRAME
#define WIN32K_SERVICE_INDEX
#define TABLE_OFFSET_BITS
#define SERVICE_NUMBER_MASK
struct _KSERVICE_TABLE_DESCRIPTOR * PKSERVICE_TABLE_DESCRIPTOR
#define TABLE_NUMBER_BITS
FORCEINLINE VOID KiSendEOI(VOID)
BOOLEAN KiProcessorFreezeHandler(_In_ PKTRAP_FRAME TrapFrame, _In_ PKEXCEPTION_FRAME ExceptionFrame)
BOOLEAN FASTCALL KiSwapContext(IN KIRQL WaitIrql, IN PKTHREAD CurrentThread)
VOID NTAPI KiQuantumEnd(VOID)
BOOLEAN NTAPI KiHandleNmi(VOID)
PGDI_BATCHFLUSH_ROUTINE KeGdiFlushUserBatch
#define STATUS_INVALID_SYSTEM_SERVICE
KSERVICE_TABLE_DESCRIPTOR KeServiceDescriptorTable[SSDT_MAX_ENTRIES]
#define _SEH2_GetExceptionCode()
#define _SEH2_EXCEPT(...)
volatile ULONG DpcQueueDepth
struct _KTHREAD * CurrentThread
struct _KTHREAD * NextThread
SINGLE_LIST_ENTRY DeferredReadyListHead
struct _SINGLE_LIST_ENTRY * Next
#define MAX_SYSCALL_PARAMS
NTSTATUS KiConvertToGuiThread(VOID)
VOID KiNmiInterruptHandler(_In_ PKTRAP_FRAME TrapFrame, _In_ PKEXCEPTION_FRAME ExceptionFrame)
NTSTATUS NtSyscallFailure(void)
PVOID KiSystemCallHandler(VOID)
VOID KiRetireDpcListInDpcStack(PKPRCB Prcb, PVOID DpcStack)
VOID KiSystemService(IN PKTHREAD Thread, IN PKTRAP_FRAME TrapFrame, IN ULONG Instruction)
#define FIELD_OFFSET(t, f)
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql