ReactOS  0.4.15-dev-3173-g40ee59d
peloader.h
Go to the documentation of this file.
1 /*
2  * PROJECT: FreeLoader
3  * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4  * PURPOSE: Provides routines for loading PE files.
5  * (Deprecated remark) To be merged with arch/i386/loader.c in future.
6  *
7  * COPYRIGHT: Copyright 1998-2003 Brian Palmer <brianp@sginet.com>
8  * Copyright 2006-2019 Aleksey Bragin <aleksey@reactos.org>
9  *
10  * NOTES: The source code in this file is based on the work of respective
11  * authors of PE loading code in ReactOS and Brian Palmer and
12  * Alex Ionescu's arch/i386/loader.c, and my research project
13  * (creating a native EFI loader for Windows).
14  *
15  * This article was very handy during development:
16  * http://msdn.microsoft.com/msdnmag/issues/02/03/PE2/
17  */
18 
19 #pragma once
20 
21 BOOLEAN
24  IN TYPE_OF_MEMORY MemoryType,
25  OUT PVOID *ImageBasePA);
26 
27 BOOLEAN
30  IN PCCH BaseDllName,
32  IN PVOID BasePA,
33  OUT PLDR_DATA_TABLE_ENTRY *NewEntry);
34 
35 BOOLEAN
38  IN PCCH DirectoryPath,
39  IN PLDR_DATA_TABLE_ENTRY ScanDTE);
40 
41 BOOLEAN
44  IN PCH DllName,
45  OUT PLDR_DATA_TABLE_ENTRY *LoadedEntry);
signed char * PCHAR
Definition: retypes.h:7
BOOLEAN PeLdrScanImportDescriptorTable(IN OUT PLIST_ENTRY ModuleListHead, IN PCCH DirectoryPath, IN PLDR_DATA_TABLE_ENTRY ScanDTE)
Definition: peloader.c:509
#define IN
Definition: typedefs.h:39
BOOLEAN PeLdrLoadImage(IN PCHAR FileName, IN TYPE_OF_MEMORY MemoryType, OUT PVOID *ImageBasePA)
Definition: peloader.c:701
enum _TYPE_OF_MEMORY TYPE_OF_MEMORY
CHAR * PCH
Definition: ntbasedef.h:391
unsigned char BOOLEAN
_In_ PCWSTR FullDllName
Definition: ldrtypes.h:247
CONST CHAR * PCCH
Definition: ntbasedef.h:392
Definition: btrfs_drv.h:1922
Definition: typedefs.h:119
#define OUT
Definition: typedefs.h:40
BOOLEAN PeLdrCheckForLoadedDll(IN OUT PLIST_ENTRY ModuleListHead, IN PCH DllName, OUT PLDR_DATA_TABLE_ENTRY *LoadedEntry)
Definition: peloader.c:465
BOOLEAN PeLdrAllocateDataTableEntry(IN OUT PLIST_ENTRY ModuleListHead, IN PCCH BaseDllName, IN PCCH FullDllName, IN PVOID BasePA, OUT PLDR_DATA_TABLE_ENTRY *NewEntry)
Definition: peloader.c:585
LIST_ENTRY * ModuleListHead
Definition: kdpacket.c:23