1 #ifndef __WINE_PE_IMAGE_H
2 #define __WINE_PE_IMAGE_H
9 /* modreference used for attached processes
10 * all section are calculated here, relocations etc.
13 struct pe_modref
*next
;
15 LPIMAGE_IMPORT_DESCRIPTOR pe_import
;
16 LPIMAGE_EXPORT_DIRECTORY pe_export
;
17 LPIMAGE_RESOURCE_DIRECTORY pe_resource
;
18 LPIMAGE_BASE_RELOCATION pe_reloc
;
20 #define PE_MODREF_PROCESS_ATTACHED 0x00000001
21 #define PE_MODREF_NO_DLL_CALLS 0x00000002
22 #define PE_MODREF_RELOCS_DONE 0x00000004
23 #define PE_MODREF_TLS_ALLOCED 0x00000008
29 typedef struct pe_modref PE_MODREF
;
31 extern int PE_unloadImage(HMODULE32 hModule
);
32 extern FARPROC32
PE_FindExportedFunction( struct _PDB32
*process
,
33 HMODULE32 hModule
, LPCSTR funcName
);
34 extern void my_wcstombs(char * result
, u_short
* source
, int len
);
35 extern BOOL32
PE_EnumResourceTypes32A(HMODULE32
,ENUMRESTYPEPROC32A
,LONG
);
36 extern BOOL32
PE_EnumResourceTypes32W(HMODULE32
,ENUMRESTYPEPROC32W
,LONG
);
37 extern BOOL32
PE_EnumResourceNames32A(HMODULE32
,LPCSTR
,ENUMRESNAMEPROC32A
,LONG
);
38 extern BOOL32
PE_EnumResourceNames32W(HMODULE32
,LPCWSTR
,ENUMRESNAMEPROC32W
,LONG
);
39 extern BOOL32
PE_EnumResourceLanguages32A(HMODULE32
,LPCSTR
,LPCSTR
,ENUMRESLANGPROC32A
,LONG
);
40 extern BOOL32
PE_EnumResourceLanguages32W(HMODULE32
,LPCWSTR
,LPCWSTR
,ENUMRESLANGPROC32W
,LONG
);
41 extern HRSRC32
PE_FindResourceEx32W(HINSTANCE32
,LPCWSTR
,LPCWSTR
,WORD
);
42 extern DWORD
PE_SizeofResource32(HINSTANCE32
,HRSRC32
);
43 extern HMODULE32
PE_LoadLibraryEx32A(LPCSTR
,struct _PDB32
*,HFILE32
,DWORD
);
44 extern HGLOBAL32
PE_LoadResource32(HINSTANCE32
,HRSRC32
);
46 struct _PDB32
; /* forward definition */
47 struct _THDB
; /* forward definition */
48 extern void PE_InitializeDLLs(struct _PDB32
*,DWORD
,LPVOID
);
49 extern void PE_InitTls(struct _THDB
*);
51 extern LPIMAGE_RESOURCE_DIRECTORY
GetResDirEntryW(LPIMAGE_RESOURCE_DIRECTORY
,LPCWSTR
,DWORD
,BOOL32
);
53 #endif /* __WINE_PE_IMAGE_H */