Changeset 46115 in vbox for trunk/src/VBox/Runtime/include/internal
- Timestamp:
- May 15, 2013 11:53:03 PM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 85803
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/include/internal/ldrPE.h
r46101 r46115 215 215 typedef struct _IMAGE_FILE_HEADER 216 216 { 217 uint16_t Machine; 218 uint16_t NumberOfSections; 219 uint32_t TimeDateStamp; 220 uint32_t PointerToSymbolTable; 221 uint32_t NumberOfSymbols; 222 uint16_t SizeOfOptionalHeader; 223 uint16_t Characteristics; 224 } IMAGE_FILE_HEADER; 225 AssertCompileSize(IMAGE_FILE_HEADER, 2+2+4+4+4+2+2);217 uint16_t Machine; /**< 0x00 */ 218 uint16_t NumberOfSections; /**< 0x02 */ 219 uint32_t TimeDateStamp; /**< 0x04 */ 220 uint32_t PointerToSymbolTable; /**< 0x08 */ 221 uint32_t NumberOfSymbols; /**< 0x0c */ 222 uint16_t SizeOfOptionalHeader; /**< 0x10 */ 223 uint16_t Characteristics; /**< 0x12 */ 224 } IMAGE_FILE_HEADER; /* size: 0x14 */ 225 AssertCompileSize(IMAGE_FILE_HEADER, 0x14); 226 226 typedef IMAGE_FILE_HEADER *PIMAGE_FILE_HEADER; 227 227 typedef IMAGE_FILE_HEADER const *PCIMAGE_FILE_HEADER; … … 239 239 typedef struct _IMAGE_OPTIONAL_HEADER32 240 240 { 241 uint16_t Magic; 242 uint8_t MajorLinkerVersion; 243 uint8_t MinorLinkerVersion; 244 uint32_t SizeOfCode; 245 uint32_t SizeOfInitializedData; 246 uint32_t SizeOfUninitializedData; 247 uint32_t AddressOfEntryPoint; 248 uint32_t BaseOfCode; 249 uint32_t BaseOfData; 250 uint32_t ImageBase; 251 uint32_t SectionAlignment; 252 uint32_t FileAlignment; 253 uint16_t MajorOperatingSystemVersion; 254 uint16_t MinorOperatingSystemVersion; 255 uint16_t MajorImageVersion; 256 uint16_t MinorImageVersion; 257 uint16_t MajorSubsystemVersion; 258 uint16_t MinorSubsystemVersion; 259 uint32_t Win32VersionValue; 260 uint32_t SizeOfImage; 261 uint32_t SizeOfHeaders; 262 uint32_t CheckSum; 263 uint16_t Subsystem; 264 uint16_t DllCharacteristics; 265 uint32_t SizeOfStackReserve; 266 uint32_t SizeOfStackCommit; 267 uint32_t SizeOfHeapReserve; 268 uint32_t SizeOfHeapCommit; 269 uint32_t LoaderFlags; 270 uint32_t NumberOfRvaAndSizes; 271 IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; 272 } IMAGE_OPTIONAL_HEADER32; 241 uint16_t Magic; /**< 0x00 */ 242 uint8_t MajorLinkerVersion; /**< 0x02 */ 243 uint8_t MinorLinkerVersion; /**< 0x03 */ 244 uint32_t SizeOfCode; /**< 0x04 */ 245 uint32_t SizeOfInitializedData; /**< 0x08 */ 246 uint32_t SizeOfUninitializedData; /**< 0x0c */ 247 uint32_t AddressOfEntryPoint; /**< 0x10 */ 248 uint32_t BaseOfCode; /**< 0x14 */ 249 uint32_t BaseOfData; /**< 0x18 */ 250 uint32_t ImageBase; /**< 0x1c */ 251 uint32_t SectionAlignment; /**< 0x20 */ 252 uint32_t FileAlignment; /**< 0x24 */ 253 uint16_t MajorOperatingSystemVersion; /**< 0x28 */ 254 uint16_t MinorOperatingSystemVersion; /**< 0x2a */ 255 uint16_t MajorImageVersion; /**< 0x2c */ 256 uint16_t MinorImageVersion; /**< 0x2e */ 257 uint16_t MajorSubsystemVersion; /**< 0x30 */ 258 uint16_t MinorSubsystemVersion; /**< 0x32 */ 259 uint32_t Win32VersionValue; /**< 0x34 */ 260 uint32_t SizeOfImage; /**< 0x38 */ 261 uint32_t SizeOfHeaders; /**< 0x3c */ 262 uint32_t CheckSum; /**< 0x40 */ 263 uint16_t Subsystem; /**< 0x44 */ 264 uint16_t DllCharacteristics; /**< 0x46 */ 265 uint32_t SizeOfStackReserve; /**< 0x48 */ 266 uint32_t SizeOfStackCommit; /**< 0x4c */ 267 uint32_t SizeOfHeapReserve; /**< 0x50 */ 268 uint32_t SizeOfHeapCommit; /**< 0x54 */ 269 uint32_t LoaderFlags; /**< 0x58 */ 270 uint32_t NumberOfRvaAndSizes; /**< 0x5c */ 271 IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; /**< 0x60; 0x10*8 = 0x80 */ 272 } IMAGE_OPTIONAL_HEADER32; /* size: 0xe0 */ 273 AssertCompileSize(IMAGE_OPTIONAL_HEADER32, 0xe0); 273 274 typedef IMAGE_OPTIONAL_HEADER32 *PIMAGE_OPTIONAL_HEADER32; 274 275 typedef IMAGE_OPTIONAL_HEADER32 const *PCIMAGE_OPTIONAL_HEADER32; … … 276 277 typedef struct _IMAGE_OPTIONAL_HEADER64 277 278 { 278 uint16_t Magic; 279 uint8_t MajorLinkerVersion; 280 uint8_t MinorLinkerVersion; 281 uint32_t SizeOfCode; 282 uint32_t SizeOfInitializedData; 283 uint32_t SizeOfUninitializedData; 284 uint32_t AddressOfEntryPoint; 285 uint32_t BaseOfCode; 286 uint64_t ImageBase; 287 uint32_t SectionAlignment; 288 uint32_t FileAlignment; 289 uint16_t MajorOperatingSystemVersion; 290 uint16_t MinorOperatingSystemVersion; 291 uint16_t MajorImageVersion; 292 uint16_t MinorImageVersion; 293 uint16_t MajorSubsystemVersion; 294 uint16_t MinorSubsystemVersion; 295 uint32_t Win32VersionValue; 296 uint32_t SizeOfImage; 297 uint32_t SizeOfHeaders; 298 uint32_t CheckSum; 299 uint16_t Subsystem; 300 uint16_t DllCharacteristics; 301 uint64_t SizeOfStackReserve; 302 uint64_t SizeOfStackCommit; 303 uint64_t SizeOfHeapReserve; 304 uint64_t SizeOfHeapCommit; 305 uint32_t LoaderFlags; 306 uint32_t NumberOfRvaAndSizes; 307 IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; 308 } IMAGE_OPTIONAL_HEADER64; 279 uint16_t Magic; /**< 0x00 */ 280 uint8_t MajorLinkerVersion; /**< 0x02 */ 281 uint8_t MinorLinkerVersion; /**< 0x03 */ 282 uint32_t SizeOfCode; /**< 0x04 */ 283 uint32_t SizeOfInitializedData; /**< 0x08 */ 284 uint32_t SizeOfUninitializedData; /**< 0x0c */ 285 uint32_t AddressOfEntryPoint; /**< 0x10 */ 286 uint32_t BaseOfCode; /**< 0x14 */ 287 uint64_t ImageBase; /**< 0x18 */ 288 uint32_t SectionAlignment; /**< 0x20 */ 289 uint32_t FileAlignment; /**< 0x24 */ 290 uint16_t MajorOperatingSystemVersion; /**< 0x28 */ 291 uint16_t MinorOperatingSystemVersion; /**< 0x2a */ 292 uint16_t MajorImageVersion; /**< 0x2c */ 293 uint16_t MinorImageVersion; /**< 0x2e */ 294 uint16_t MajorSubsystemVersion; /**< 0x30 */ 295 uint16_t MinorSubsystemVersion; /**< 0x32 */ 296 uint32_t Win32VersionValue; /**< 0x34 */ 297 uint32_t SizeOfImage; /**< 0x38 */ 298 uint32_t SizeOfHeaders; /**< 0x3c */ 299 uint32_t CheckSum; /**< 0x40 */ 300 uint16_t Subsystem; /**< 0x44 */ 301 uint16_t DllCharacteristics; /**< 0x46 */ 302 uint64_t SizeOfStackReserve; /**< 0x48 */ 303 uint64_t SizeOfStackCommit; /**< 0x50 */ 304 uint64_t SizeOfHeapReserve; /**< 0x58 */ 305 uint64_t SizeOfHeapCommit; /**< 0x60 */ 306 uint32_t LoaderFlags; /**< 0x68 */ 307 uint32_t NumberOfRvaAndSizes; /**< 0x6c */ 308 IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; /**< 0x70; 0x10*8 = 0x80 */ 309 } IMAGE_OPTIONAL_HEADER64; /* size: 0xf0 */ 309 310 typedef IMAGE_OPTIONAL_HEADER64 *PIMAGE_OPTIONAL_HEADER64; 310 311 typedef IMAGE_OPTIONAL_HEADER64 const *PCIMAGE_OPTIONAL_HEADER64; … … 313 314 typedef struct _IMAGE_NT_HEADERS 314 315 { 315 uint32_t Signature; 316 IMAGE_FILE_HEADER FileHeader; 317 IMAGE_OPTIONAL_HEADER32 OptionalHeader; 318 } IMAGE_NT_HEADERS32; 316 uint32_t Signature; /**< 0x00 */ 317 IMAGE_FILE_HEADER FileHeader; /**< 0x04 */ 318 IMAGE_OPTIONAL_HEADER32 OptionalHeader; /**< 0x18 */ 319 } IMAGE_NT_HEADERS32; /* size: 0xf8 */ 320 AssertCompileSize(IMAGE_NT_HEADERS32, 0xf8); 319 321 AssertCompileMemberOffset(IMAGE_NT_HEADERS32, FileHeader, 4); 320 322 AssertCompileMemberOffset(IMAGE_NT_HEADERS32, OptionalHeader, 24); … … 324 326 typedef struct _IMAGE_NT_HEADERS64 325 327 { 326 uint32_t Signature; 327 IMAGE_FILE_HEADER FileHeader; 328 IMAGE_OPTIONAL_HEADER64 OptionalHeader; 329 } IMAGE_NT_HEADERS64; 328 uint32_t Signature; /**< 0x00 */ 329 IMAGE_FILE_HEADER FileHeader; /**< 0x04 */ 330 IMAGE_OPTIONAL_HEADER64 OptionalHeader; /**< 0x18 */ 331 } IMAGE_NT_HEADERS64; /**< 0x108 */ 332 AssertCompileSize(IMAGE_NT_HEADERS64, 0x108); 330 333 AssertCompileMemberOffset(IMAGE_NT_HEADERS64, FileHeader, 4); 331 334 AssertCompileMemberOffset(IMAGE_NT_HEADERS64, OptionalHeader, 24);
Note:
See TracChangeset
for help on using the changeset viewer.