2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS kernel
4 * FILE: include/internal/ldr.h
5 * PURPOSE: Header for loader module
8 #ifndef __INCLUDE_INTERNAL_LDR_H
9 #define __INCLUDE_INTERNAL_LDR_H
12 #include <internal/io.h>
13 #include <internal/module.h>
15 #define KERNEL_MODULE_NAME L"ntoskrnl.exe"
16 #define HAL_MODULE_NAME L"hal.dll"
17 #define DRIVER_ROOT_NAME L"\\Driver\\"
18 #define FILESYSTEM_ROOT_NAME L"\\FileSystem\\"
21 extern ULONG_PTR LdrHalBase
;
24 LdrLoadInitialProcess(PHANDLE ProcessHandle
,
25 PHANDLE ThreadHandle
);
28 LdrLoadAutoConfigDrivers (
32 LdrInitModuleManagement (
39 PVOID
* LdrStartupAddress
42 LdrpGetSystemDllEntryPoint (VOID
);
44 LdrpGetSystemDllApcDispatcher(VOID
);
46 LdrpGetSystemDllExceptionDispatcher(VOID
);
48 LdrpGetSystemDllCallbackDispatcher(VOID
);
50 LdrpGetSystemDllRaiseExceptionDispatcher(VOID
);
60 LdrGetProcedureAddress (IN PVOID BaseAddress
,
63 OUT PVOID
*ProcedureAddress
);
66 LdrpLoadImage(PUNICODE_STRING DriverName
,
68 PVOID
*SectionPointer
,
70 PVOID
*ExportDirectory
);
73 LdrpUnloadImage(PVOID ModuleBase
);
76 LdrpLoadAndCallImage(PUNICODE_STRING DriverName
);
79 LdrpQueryModuleInformation(PVOID Buffer
,
84 RtlImageDirectoryEntryToData (
86 IN BOOLEAN ImageLoaded
,
92 LdrInitDebug(PLOADER_MODULE Module
, PWCH Name
);
94 PVOID
LdrSafePEProcessModule(
97 PVOID ImportModuleBase
,
101 LdrLoadModule(PUNICODE_STRING Filename
,
102 PMODULE_OBJECT
*ModuleObject
);
105 LdrUnloadModule(PMODULE_OBJECT ModuleObject
);
108 LdrGetModuleObject(PUNICODE_STRING ModuleName
);
110 #endif /* __INCLUDE_INTERNAL_LDR_H */