Changeset 3567 for trunk/kStuff/kLdr/kLdrModPE.h
- Timestamp:
- Aug 27, 2007, 9:54:05 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kStuff/kLdr/kLdrModPE.h
r3537 r3567 176 176 typedef struct _IMAGE_FILE_HEADER 177 177 { 178 uint16_tMachine;179 uint16_tNumberOfSections;180 uint32_tTimeDateStamp;181 uint32_tPointerToSymbolTable;182 uint32_tNumberOfSymbols;183 uint16_tSizeOfOptionalHeader;184 uint16_tCharacteristics;178 KU16 Machine; 179 KU16 NumberOfSections; 180 KU32 TimeDateStamp; 181 KU32 PointerToSymbolTable; 182 KU32 NumberOfSymbols; 183 KU16 SizeOfOptionalHeader; 184 KU16 Characteristics; 185 185 } IMAGE_FILE_HEADER; 186 186 typedef IMAGE_FILE_HEADER *PIMAGE_FILE_HEADER; … … 189 189 typedef struct _IMAGE_DATA_DIRECTORY 190 190 { 191 uint32_tVirtualAddress;192 uint32_tSize;191 KU32 VirtualAddress; 192 KU32 Size; 193 193 } IMAGE_DATA_DIRECTORY; 194 194 typedef IMAGE_DATA_DIRECTORY *PIMAGE_DATA_DIRECTORY; … … 197 197 typedef struct _IMAGE_OPTIONAL_HEADER32 198 198 { 199 uint16_tMagic;200 uint8_tMajorLinkerVersion;201 uint8_tMinorLinkerVersion;202 uint32_tSizeOfCode;203 uint32_tSizeOfInitializedData;204 uint32_tSizeOfUninitializedData;205 uint32_tAddressOfEntryPoint;206 uint32_tBaseOfCode;207 uint32_tBaseOfData;208 uint32_tImageBase;209 uint32_tSectionAlignment;210 uint32_tFileAlignment;211 uint16_tMajorOperatingSystemVersion;212 uint16_tMinorOperatingSystemVersion;213 uint16_tMajorImageVersion;214 uint16_tMinorImageVersion;215 uint16_tMajorSubsystemVersion;216 uint16_tMinorSubsystemVersion;217 uint32_tWin32VersionValue;218 uint32_tSizeOfImage;219 uint32_tSizeOfHeaders;220 uint32_tCheckSum;221 uint16_tSubsystem;222 uint16_tDllCharacteristics;223 uint32_tSizeOfStackReserve;224 uint32_tSizeOfStackCommit;225 uint32_tSizeOfHeapReserve;226 uint32_tSizeOfHeapCommit;227 uint32_tLoaderFlags;228 uint32_tNumberOfRvaAndSizes;199 KU16 Magic; 200 KU8 MajorLinkerVersion; 201 KU8 MinorLinkerVersion; 202 KU32 SizeOfCode; 203 KU32 SizeOfInitializedData; 204 KU32 SizeOfUninitializedData; 205 KU32 AddressOfEntryPoint; 206 KU32 BaseOfCode; 207 KU32 BaseOfData; 208 KU32 ImageBase; 209 KU32 SectionAlignment; 210 KU32 FileAlignment; 211 KU16 MajorOperatingSystemVersion; 212 KU16 MinorOperatingSystemVersion; 213 KU16 MajorImageVersion; 214 KU16 MinorImageVersion; 215 KU16 MajorSubsystemVersion; 216 KU16 MinorSubsystemVersion; 217 KU32 Win32VersionValue; 218 KU32 SizeOfImage; 219 KU32 SizeOfHeaders; 220 KU32 CheckSum; 221 KU16 Subsystem; 222 KU16 DllCharacteristics; 223 KU32 SizeOfStackReserve; 224 KU32 SizeOfStackCommit; 225 KU32 SizeOfHeapReserve; 226 KU32 SizeOfHeapCommit; 227 KU32 LoaderFlags; 228 KU32 NumberOfRvaAndSizes; 229 229 IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; 230 230 } IMAGE_OPTIONAL_HEADER32; … … 233 233 typedef struct _IMAGE_OPTIONAL_HEADER64 234 234 { 235 uint16_tMagic;236 uint8_tMajorLinkerVersion;237 uint8_tMinorLinkerVersion;238 uint32_tSizeOfCode;239 uint32_tSizeOfInitializedData;240 uint32_tSizeOfUninitializedData;241 uint32_tAddressOfEntryPoint;242 uint32_tBaseOfCode;243 uint64_tImageBase;244 uint32_tSectionAlignment;245 uint32_tFileAlignment;246 uint16_tMajorOperatingSystemVersion;247 uint16_tMinorOperatingSystemVersion;248 uint16_tMajorImageVersion;249 uint16_tMinorImageVersion;250 uint16_tMajorSubsystemVersion;251 uint16_tMinorSubsystemVersion;252 uint32_tWin32VersionValue;253 uint32_tSizeOfImage;254 uint32_tSizeOfHeaders;255 uint32_tCheckSum;256 uint16_tSubsystem;257 uint16_tDllCharacteristics;258 uint64_tSizeOfStackReserve;259 uint64_tSizeOfStackCommit;260 uint64_tSizeOfHeapReserve;261 uint64_tSizeOfHeapCommit;262 uint32_tLoaderFlags;263 uint32_tNumberOfRvaAndSizes;235 KU16 Magic; 236 KU8 MajorLinkerVersion; 237 KU8 MinorLinkerVersion; 238 KU32 SizeOfCode; 239 KU32 SizeOfInitializedData; 240 KU32 SizeOfUninitializedData; 241 KU32 AddressOfEntryPoint; 242 KU32 BaseOfCode; 243 KU64 ImageBase; 244 KU32 SectionAlignment; 245 KU32 FileAlignment; 246 KU16 MajorOperatingSystemVersion; 247 KU16 MinorOperatingSystemVersion; 248 KU16 MajorImageVersion; 249 KU16 MinorImageVersion; 250 KU16 MajorSubsystemVersion; 251 KU16 MinorSubsystemVersion; 252 KU32 Win32VersionValue; 253 KU32 SizeOfImage; 254 KU32 SizeOfHeaders; 255 KU32 CheckSum; 256 KU16 Subsystem; 257 KU16 DllCharacteristics; 258 KU64 SizeOfStackReserve; 259 KU64 SizeOfStackCommit; 260 KU64 SizeOfHeapReserve; 261 KU64 SizeOfHeapCommit; 262 KU32 LoaderFlags; 263 KU32 NumberOfRvaAndSizes; 264 264 IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; 265 265 } IMAGE_OPTIONAL_HEADER64; … … 269 269 typedef struct _IMAGE_NT_HEADERS 270 270 { 271 uint32_tSignature;271 KU32 Signature; 272 272 IMAGE_FILE_HEADER FileHeader; 273 273 IMAGE_OPTIONAL_HEADER32 OptionalHeader; … … 277 277 typedef struct _IMAGE_NT_HEADERS64 278 278 { 279 uint32_tSignature;279 KU32 Signature; 280 280 IMAGE_FILE_HEADER FileHeader; 281 281 IMAGE_OPTIONAL_HEADER64 OptionalHeader; … … 286 286 typedef struct _IMAGE_SECTION_HEADER 287 287 { 288 uint8_tName[IMAGE_SIZEOF_SHORT_NAME];288 KU8 Name[IMAGE_SIZEOF_SHORT_NAME]; 289 289 union 290 290 { 291 uint32_tPhysicalAddress;292 uint32_tVirtualSize;291 KU32 PhysicalAddress; 292 KU32 VirtualSize; 293 293 } Misc; 294 uint32_tVirtualAddress;295 uint32_tSizeOfRawData;296 uint32_tPointerToRawData;297 uint32_tPointerToRelocations;298 uint32_tPointerToLinenumbers;299 uint16_tNumberOfRelocations;300 uint16_tNumberOfLinenumbers;301 uint32_tCharacteristics;294 KU32 VirtualAddress; 295 KU32 SizeOfRawData; 296 KU32 PointerToRawData; 297 KU32 PointerToRelocations; 298 KU32 PointerToLinenumbers; 299 KU16 NumberOfRelocations; 300 KU16 NumberOfLinenumbers; 301 KU32 Characteristics; 302 302 } IMAGE_SECTION_HEADER; 303 303 typedef IMAGE_SECTION_HEADER *PIMAGE_SECTION_HEADER; … … 306 306 typedef struct _IMAGE_BASE_RELOCATION 307 307 { 308 uint32_tVirtualAddress;309 uint32_tSizeOfBlock;308 KU32 VirtualAddress; 309 KU32 SizeOfBlock; 310 310 } IMAGE_BASE_RELOCATION; 311 311 typedef IMAGE_BASE_RELOCATION *PIMAGE_BASE_RELOCATION; … … 314 314 typedef struct _IMAGE_EXPORT_DIRECTORY 315 315 { 316 uint32_tCharacteristics;317 uint32_tTimeDateStamp;318 uint16_tMajorVersion;319 uint16_tMinorVersion;320 uint32_tName;321 uint32_tBase;322 uint32_tNumberOfFunctions;323 uint32_tNumberOfNames;324 uint32_tAddressOfFunctions;325 uint32_tAddressOfNames;326 uint32_tAddressOfNameOrdinals;316 KU32 Characteristics; 317 KU32 TimeDateStamp; 318 KU16 MajorVersion; 319 KU16 MinorVersion; 320 KU32 Name; 321 KU32 Base; 322 KU32 NumberOfFunctions; 323 KU32 NumberOfNames; 324 KU32 AddressOfFunctions; 325 KU32 AddressOfNames; 326 KU32 AddressOfNameOrdinals; 327 327 } IMAGE_EXPORT_DIRECTORY, *PIMAGE_EXPORT_DIRECTORY; 328 328 … … 332 332 union 333 333 { 334 uint32_tCharacteristics;335 uint32_tOriginalFirstThunk;334 KU32 Characteristics; 335 KU32 OriginalFirstThunk; 336 336 } u; 337 uint32_tTimeDateStamp;338 uint32_tForwarderChain;339 uint32_tName;340 uint32_tFirstThunk;337 KU32 TimeDateStamp; 338 KU32 ForwarderChain; 339 KU32 Name; 340 KU32 FirstThunk; 341 341 } IMAGE_IMPORT_DESCRIPTOR; 342 342 typedef IMAGE_IMPORT_DESCRIPTOR *PIMAGE_IMPORT_DESCRIPTOR; … … 345 345 typedef struct _IMAGE_IMPORT_BY_NAME 346 346 { 347 uint16_tHint;348 uint8_tName[1];347 KU16 Hint; 348 KU8 Name[1]; 349 349 } IMAGE_IMPORT_BY_NAME; 350 350 typedef IMAGE_IMPORT_BY_NAME *PIMAGE_IMPORT_BY_NAME; … … 356 356 union 357 357 { 358 uint64_tForwarderString;359 uint64_tFunction;360 uint64_tOrdinal;361 uint64_tAddressOfData;358 KU64 ForwarderString; 359 KU64 Function; 360 KU64 Ordinal; 361 KU64 AddressOfData; 362 362 } u1; 363 363 } IMAGE_THUNK_DATA64; … … 368 368 union 369 369 { 370 uint32_tForwarderString;371 uint32_tFunction;372 uint32_tOrdinal;373 uint32_tAddressOfData;370 KU32 ForwarderString; 371 KU32 Function; 372 KU32 Ordinal; 373 KU32 AddressOfData; 374 374 } u1; 375 375 } IMAGE_THUNK_DATA32; … … 379 379 typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY32 380 380 { 381 uint32_tSize;382 uint32_tTimeDateStamp;383 uint16_tMajorVersion;384 uint16_tMinorVersion;385 uint32_tGlobalFlagsClear;386 uint32_tGlobalFlagsSet;387 uint32_tCriticalSectionDefaultTimeout;388 uint32_tDeCommitFreeBlockThreshold;389 uint32_tDeCommitTotalFreeThreshold;390 uint32_tLockPrefixTable;391 uint32_tMaximumAllocationSize;392 uint32_tVirtualMemoryThreshold;393 uint32_tProcessHeapFlags;394 uint32_tProcessAffinityMask;395 uint16_tCSDVersion;396 uint16_tReserved1;397 uint32_tEditList;398 uint32_tSecurityCookie;399 uint32_tSEHandlerTable;400 uint32_tSEHandlerCount;381 KU32 Size; 382 KU32 TimeDateStamp; 383 KU16 MajorVersion; 384 KU16 MinorVersion; 385 KU32 GlobalFlagsClear; 386 KU32 GlobalFlagsSet; 387 KU32 CriticalSectionDefaultTimeout; 388 KU32 DeCommitFreeBlockThreshold; 389 KU32 DeCommitTotalFreeThreshold; 390 KU32 LockPrefixTable; 391 KU32 MaximumAllocationSize; 392 KU32 VirtualMemoryThreshold; 393 KU32 ProcessHeapFlags; 394 KU32 ProcessAffinityMask; 395 KU16 CSDVersion; 396 KU16 Reserved1; 397 KU32 EditList; 398 KU32 SecurityCookie; 399 KU32 SEHandlerTable; 400 KU32 SEHandlerCount; 401 401 } IMAGE_LOAD_CONFIG_DIRECTORY32; 402 402 typedef IMAGE_LOAD_CONFIG_DIRECTORY32 PIMAGE_LOAD_CONFIG_DIRECTORY32; … … 404 404 typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY64 405 405 { 406 uint32_tSize;407 uint32_tTimeDateStamp;408 uint16_tMajorVersion;409 uint16_tMinorVersion;410 uint32_tGlobalFlagsClear;411 uint32_tGlobalFlagsSet;412 uint32_tCriticalSectionDefaultTimeout;413 uint64_tDeCommitFreeBlockThreshold;414 uint64_tDeCommitTotalFreeThreshold;415 uint64_tLockPrefixTable;416 uint64_tMaximumAllocationSize;417 uint64_tVirtualMemoryThreshold;418 uint64_tProcessAffinityMask;419 uint32_tProcessHeapFlags;420 uint16_tCSDVersion;421 uint16_tReserved1;422 uint64_tEditList;423 uint64_tSecurityCookie;424 uint64_tSEHandlerTable;425 uint64_tSEHandlerCount;406 KU32 Size; 407 KU32 TimeDateStamp; 408 KU16 MajorVersion; 409 KU16 MinorVersion; 410 KU32 GlobalFlagsClear; 411 KU32 GlobalFlagsSet; 412 KU32 CriticalSectionDefaultTimeout; 413 KU64 DeCommitFreeBlockThreshold; 414 KU64 DeCommitTotalFreeThreshold; 415 KU64 LockPrefixTable; 416 KU64 MaximumAllocationSize; 417 KU64 VirtualMemoryThreshold; 418 KU64 ProcessAffinityMask; 419 KU32 ProcessHeapFlags; 420 KU16 CSDVersion; 421 KU16 Reserved1; 422 KU64 EditList; 423 KU64 SecurityCookie; 424 KU64 SEHandlerTable; 425 KU64 SEHandlerCount; 426 426 } IMAGE_LOAD_CONFIG_DIRECTORY64; 427 427 typedef IMAGE_LOAD_CONFIG_DIRECTORY64 *PIMAGE_LOAD_CONFIG_DIRECTORY64; … … 429 429 typedef struct _IMAGE_DEBUG_DIRECTORY 430 430 { 431 uint32_tCharacteristics;432 uint32_tTimeDateStamp;433 uint16_tMajorVersion;434 uint16_tMinorVersion;435 uint32_tType;436 uint32_tSizeOfData;437 uint32_tAddressOfRawData;438 uint32_tPointerToRawData;431 KU32 Characteristics; 432 KU32 TimeDateStamp; 433 KU16 MajorVersion; 434 KU16 MinorVersion; 435 KU32 Type; 436 KU32 SizeOfData; 437 KU32 AddressOfRawData; 438 KU32 PointerToRawData; 439 439 } IMAGE_DEBUG_DIRECTORY; 440 440 typedef IMAGE_DEBUG_DIRECTORY *PIMAGE_DEBUG_DIRECTORY; … … 451 451 typedef struct _IMAGE_TLS_DIRECTORY32 452 452 { 453 uint32_tStartAddressOfRawData;454 uint32_tEndAddressOfRawData;455 uint32_tAddressOfIndex;456 uint32_tAddressOfCallBacks;457 uint32_tSizeOfZeroFill;458 uint32_tCharacteristics;453 KU32 StartAddressOfRawData; 454 KU32 EndAddressOfRawData; 455 KU32 AddressOfIndex; 456 KU32 AddressOfCallBacks; 457 KU32 SizeOfZeroFill; 458 KU32 Characteristics; 459 459 } IMAGE_TLS_DIRECTORY32; 460 460 typedef IMAGE_TLS_DIRECTORY32 *PIMAGE_TLS_DIRECTORY32; … … 462 462 typedef struct _IMAGE_TLS_DIRECTORY64 463 463 { 464 uint64_tStartAddressOfRawData;465 uint64_tEndAddressOfRawData;466 uint64_tAddressOfIndex;467 uint64_tAddressOfCallBacks;468 uint32_tSizeOfZeroFill;469 uint32_tCharacteristics;464 KU64 StartAddressOfRawData; 465 KU64 EndAddressOfRawData; 466 KU64 AddressOfIndex; 467 KU64 AddressOfCallBacks; 468 KU32 SizeOfZeroFill; 469 KU32 Characteristics; 470 470 } IMAGE_TLS_DIRECTORY64; 471 471 typedef IMAGE_TLS_DIRECTORY64 *PIMAGE_TLS_DIRECTORY64;
Note:
See TracChangeset
for help on using the changeset viewer.