Changeset 5448 for trunk/src/kernel32/winimagebase.cpp
- Timestamp:
- Apr 3, 2001, 12:51:58 AM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/winimagebase.cpp
r4523 r5448 1 /* $Id: winimagebase.cpp,v 1.3 0 2000-10-23 13:42:44sandervl Exp $ */1 /* $Id: winimagebase.cpp,v 1.31 2001-04-02 22:51:58 sandervl Exp $ */ 2 2 3 3 /* … … 204 204 //the Characteristics member of the file header structure) 205 205 //****************************************************************************** 206 ULONG Win32ImageBase::isPEImage(char *szFileName, DWORD *Characteristics )206 ULONG Win32ImageBase::isPEImage(char *szFileName, DWORD *Characteristics, DWORD *subsystem) 207 207 { 208 208 char filename[CCHMAXPATH]; … … 210 210 HFILE dllfile; 211 211 IMAGE_FILE_HEADER fh; 212 IMAGE_OPTIONAL_HEADER oh; 212 213 HFILE win32handle; 213 214 ULONG ulAction = 0; /* Action taken by DosOpen */ … … 262 263 return ERROR_INVALID_EXE_SIGNATURE_W; 263 264 } 264 ULONG hdrsize = pdoshdr->e_lfanew + SIZE_OF_NT_SIGNATURE + sizeof(IMAGE_FILE_HEADER) ;265 ULONG hdrsize = pdoshdr->e_lfanew + SIZE_OF_NT_SIGNATURE + sizeof(IMAGE_FILE_HEADER) + sizeof(IMAGE_OPTIONAL_HEADER); 265 266 free(pdoshdr); 266 267 … … 281 282 goto failure; 282 283 } 284 if(GetPEOptionalHeader (win32file, &oh) == FALSE) { 285 goto failure; 286 } 283 287 284 288 if(!(fh.Characteristics & IMAGE_FILE_EXECUTABLE_IMAGE)) {//not valid … … 294 298 if(Characteristics) { 295 299 *Characteristics = fh.Characteristics; 300 } 301 if(subsystem) { 302 *subsystem = oh.Subsystem; 296 303 } 297 304 DosClose(win32handle);
Note:
See TracChangeset
for help on using the changeset viewer.