Changeset 3404 for trunk/src/kernel32/winimagebase.h
- Timestamp:
- Apr 16, 2000, 12:42:13 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/winimagebase.h
r3398 r3404 1 /* $Id: winimagebase.h,v 1. 5 2000-04-16 04:27:38 birdExp $ */1 /* $Id: winimagebase.h,v 1.6 2000-04-16 10:42:12 sandervl Exp $ */ 2 2 3 3 /* 4 4 * Win32 PE Image base class 5 5 * 6 * Copyright 1998- 2000Sander van Leeuwen (sandervl@xs4all.nl)6 * Copyright 1998-1999 Sander van Leeuwen (sandervl@xs4all.nl) 7 7 * 8 8 * … … 65 65 char *getFullPath() { return fullpath; }; 66 66 67 char *getModuleName(){ return szModule; };67 char *getModuleName() { return szModule; }; 68 68 69 69 virtual HRSRC findResourceA(LPCSTR lpszName, LPSTR lpszType, ULONG lang = LANG_GETFIRST); … … 73 73 virtual BOOL enumResourceNamesA(HMODULE hmod, LPCTSTR lpszType, ENUMRESNAMEPROCA lpEnumFunc, LONG lParam); 74 74 virtual BOOL enumResourceNamesW(HMODULE hmod, LPCWSTR lpszType, ENUMRESNAMEPROCW lpEnumFunc, LONG lParam); 75 virtual BOOL enumResourceTypesA(HMODULE hmod, ENUMRESTYPEPROCA lpEnumFunc, 75 virtual BOOL enumResourceTypesA(HMODULE hmod, ENUMRESTYPEPROCA lpEnumFunc, 76 76 LONG lParam); 77 virtual BOOL enumResourceTypesW(HMODULE hmod, ENUMRESTYPEPROCW lpEnumFunc, 77 virtual BOOL enumResourceTypesW(HMODULE hmod, ENUMRESTYPEPROCW lpEnumFunc, 78 78 LONG lParam); 79 79 … … 85 85 int cchFullName, const char *pszAltPath = NULL); 86 86 87 87 void setEntryPoint(ULONG startAddress) { entryPoint = startAddress; }; 88 88 89 void setTLSAddress(LPVOID dwTlsAddress) 90 void setTLSIndexAddr(LPDWORD dwTlsIndexAddr) 91 void setTLSInitSize(ULONG dwTlsSize) 92 void setTLSTotalSize(ULONG dwTlsSize) 89 void setTLSAddress(LPVOID dwTlsAddress) { tlsAddress = dwTlsAddress; }; 90 void setTLSIndexAddr(LPDWORD dwTlsIndexAddr) { tlsIndexAddr = dwTlsIndexAddr; }; 91 void setTLSInitSize(ULONG dwTlsSize) { tlsInitSize = dwTlsSize; }; 92 void setTLSTotalSize(ULONG dwTlsSize) { tlsTotalSize = dwTlsSize; }; 93 93 void setTLSCallBackAddr(PIMAGE_TLS_CALLBACK *dwTlsCallBackAddr) 94 95 96 94 { 95 tlsCallBackAddr = dwTlsCallBackAddr; 96 }; 97 97 98 void tlsAttachThread();//setup TLS structures for new thread99 void tlsDetachThread();//destroy TLS structures98 void tlsAttachThread(); //setup TLS structures for new thread 99 void tlsDetachThread(); //destroy TLS structures 100 100 101 virtual ULONGgetApi(char *name) = 0;102 virtual ULONG 101 virtual ULONG getApi(char *name) = 0; 102 virtual ULONG getApi(int ordinal) = 0; 103 103 104 104 virtual BOOL isDll() = 0; … … 106 106 static Win32ImageBase * findModule(HMODULE hModule); 107 107 108 109 108 //Add image to dependency list of this image 109 void addDependency(Win32DllBase *dll); 110 110 BOOL dependsOn(Win32DllBase *dll); 111 111 112 112 protected: 113 void tlsAlloc();//Allocate TLS index for this module114 void tlsDelete();//Destroy TLS index for this module113 void tlsAlloc(); //Allocate TLS index for this module 114 void tlsDelete(); //Destroy TLS index for this module 115 115 116 116 Win32Resource *winres; … … 119 119 120 120 char *fullpath; 121 charszModule[CCHMAXPATH];122 121 char szModule[CCHMAXPATH]; 122 char szFileName[CCHMAXPATH]; 123 123 124 124 HINSTANCE hinstance; 125 125 126 LPVOID tlsAddress;//address of TLS data127 LPDWORD tlsIndexAddr;//address of DWORD that receives the TLS index128 ULONG tlsInitSize;//size of initialized TLS memory block129 ULONG tlsTotalSize;//size of TLS memory block130 PIMAGE_TLS_CALLBACK *tlsCallBackAddr;//ptr to TLS callback array131 ULONG tlsIndex;//module TLS index126 LPVOID tlsAddress; //address of TLS data 127 LPDWORD tlsIndexAddr; //address of DWORD that receives the TLS index 128 ULONG tlsInitSize; //size of initialized TLS memory block 129 ULONG tlsTotalSize; //size of TLS memory block 130 PIMAGE_TLS_CALLBACK *tlsCallBackAddr; //ptr to TLS callback array 131 ULONG tlsIndex; //module TLS index 132 132 133 133 ULONG getPEResourceSize(ULONG id, ULONG type, ULONG lang = LANG_GETFIRST); … … 144 144 ULONG ulRVAResourceSection; 145 145 146 147 Queue 146 //linked list of dlls loaded on behalf of this executable image (dll or exe) 147 Queue loadedDlls; 148 148 private: 149 149 … … 162 162 } WINIMAGE_LOOKUP; 163 163 164 #define WINIMAGE_LOOKUPADDR(a) 164 #define WINIMAGE_LOOKUPADDR(a) (WINIMAGE_LOOKUP *)((ULONG)a + PAGE_SIZE - sizeof(WINIMAGE_LOOKUP)) 165 165 166 166 #endif //__WINIMAGEBASE_H__
Note:
See TracChangeset
for help on using the changeset viewer.