Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1990 Microsoft Corporation
Module Name:
kulookup.c
Abstract:
The module implements the code necessary to lookup user mode entry points in the system DLL for exception dispatching and APC delivery.
Author:
David N. Cutler (davec) 8-Oct-90
Revision History:
--*/
#include "psp.h"
#pragma alloc_text(INIT, PspLookupKernelUserEntryPoints)
NTSTATUS PspLookupKernelUserEntryPoints ( VOID )
/*++
Routine Description:
The function locates the address of the exception dispatch and user APC delivery routine in the system DLL and stores the respective addresses in the PCR.
Arguments:
None.
Return Value:
NTSTATUS
--*/
{
NTSTATUS Status; PSZ EntryName;
//
// Lookup the user mode "trampoline" code for exception dispatching
//
EntryName = "KiUserExceptionDispatcher"; Status = PspLookupSystemDllEntryPoint(EntryName, (PVOID *)&KeUserExceptionDispatcher); if (NT_SUCCESS(Status) == FALSE) { KdPrint(("Ps: Cannot find user exception dispatcher address\n")); return Status; }
//
// Lookup the user mode "trampoline" code for APC dispatching
//
EntryName = "KiUserApcDispatcher"; Status = PspLookupSystemDllEntryPoint(EntryName, (PVOID *)&KeUserApcDispatcher); if (NT_SUCCESS(Status) == FALSE) { KdPrint(("Ps: Cannot find user apc dispatcher address\n")); return Status; }
//
// Lookup the user mode "trampoline" code for callback dispatching.
//
EntryName = "KiUserCallbackDispatcher"; Status = PspLookupSystemDllEntryPoint(EntryName, (PVOID *)&KeUserCallbackDispatcher); if (NT_SUCCESS(Status) == FALSE) { KdPrint(("Ps: Cannot find user callback dispatcher address\n")); return Status; }
//
// Lookup the user mode "trampoline" code for raising a usermode exception
//
EntryName = "KiRaiseUserExceptionDispatcher"; Status = PspLookupSystemDllEntryPoint(EntryName, (PVOID *)&KeRaiseUserExceptionDispatcher); if (NT_SUCCESS(Status) == FALSE) { KdPrint(("Ps: Cannot find raise user exception dispatcher address\n")); return Status; }
return Status; }
|