ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

stubs.c File Reference
#include <ntoskrnl.h>
#include <debug.h>

Go to the source code of this file.

Defines

#define NDEBUG

Functions

VOID KiRetireDpcListInDpcStack (PKPRCB Prcb, PVOID DpcStack)
VOID NTAPI KiDpcInterruptHandler (VOID)
VOID FASTCALL KeZeroPages (IN PVOID Address, IN ULONG Size)
PVOID NTAPI KeSwitchKernelStack (PVOID StackBase, PVOID StackLimit)
NTSTATUS NTAPI KeUserModeCallback (IN ULONG RoutineIndex, IN PVOID Argument, IN ULONG ArgumentLength, OUT PVOID *Result, OUT PULONG ResultLength)
VOID FASTCALL KiIdleLoop (VOID)

KiInitializeUserApc

Prepares the current trap frame (which must have come from user mode) with the ntdll.KiUserApcDispatcher entrypoint, copying a CONTEXT record with the context from the old trap frame to the threads user mode stack.

Parameters:
ExceptionFrame
TrapFrame
NormalRoutine
NormalContext
SystemArgument1
SystemArgument2
Remarks:
This function is called from KiDeliverApc, when the trap frame came from user mode. This happens before a systemcall or interrupt exits back to usermode or when a thread is started from PspUserThreadstartup. The trap exit code will then leave to KiUserApcDispatcher which in turn calls the NormalRoutine, passing NormalContext, SystemArgument1 and SystemArgument2 as parameters. When that function returns, it calls NtContinue to return back to the kernel, where the old context that was saved on the usermode stack is restored and execution is transferred back to usermode, where the original trap originated from.

--

#define MAX_SYSCALL_PARAMS   16
ULONG ProcessCount
BOOLEAN CcPfEnablePrefetcher
VOID NTAPI KiInitializeUserApc (IN PKEXCEPTION_FRAME ExceptionFrame, IN PKTRAP_FRAME TrapFrame, IN PKNORMAL_ROUTINE NormalRoutine, IN PVOID NormalContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2)
VOID NTAPI KiSwapProcess (IN PKPROCESS NewProcess, IN PKPROCESS OldProcess)
NTSTATUS NtSyscallFailure (void)
PVOID KiSystemCallHandler (IN PKTRAP_FRAME TrapFrame, IN ULONG64 P2, IN ULONG64 P3, IN ULONG64 P4)
VOID KiSystemService (IN PKTHREAD Thread, IN PKTRAP_FRAME TrapFrame, IN ULONG Instruction)
NTSYSAPI NTSTATUS NTAPI NtCallbackReturn (IN PVOID Result OPTIONAL, IN ULONG ResultLength, IN NTSTATUS Status)
NTSTATUS NTAPI NtSetLdtEntries (ULONG Selector1, LDT_ENTRY LdtEntry1, ULONG Selector2, LDT_ENTRY LdtEntry2)
NTSTATUS NTAPI NtVdmControl (IN ULONG ControlCode, IN PVOID ControlData)
NTSTATUS NTAPI KiCallUserMode (IN PVOID *OutputBuffer, IN PULONG OutputLength)
NTKERNELAPI USHORT ExQueryDepthSList (IN PSLIST_HEADER ListHead)

Generated on Sat May 26 2012 05:01:41 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.