VirtualBox

Ignore:
Timestamp:
May 15, 2013 11:53:03 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
85803
Message:

Windows 2000 fixes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/include/internal/ldrPE.h

    r46101 r46115  
    215215typedef struct _IMAGE_FILE_HEADER
    216216{
    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 */
     225AssertCompileSize(IMAGE_FILE_HEADER, 0x14);
    226226typedef IMAGE_FILE_HEADER *PIMAGE_FILE_HEADER;
    227227typedef IMAGE_FILE_HEADER const *PCIMAGE_FILE_HEADER;
     
    239239typedef struct _IMAGE_OPTIONAL_HEADER32
    240240{
    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 */
     273AssertCompileSize(IMAGE_OPTIONAL_HEADER32, 0xe0);
    273274typedef IMAGE_OPTIONAL_HEADER32 *PIMAGE_OPTIONAL_HEADER32;
    274275typedef IMAGE_OPTIONAL_HEADER32 const *PCIMAGE_OPTIONAL_HEADER32;
     
    276277typedef struct _IMAGE_OPTIONAL_HEADER64
    277278{
    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 */
    309310typedef IMAGE_OPTIONAL_HEADER64 *PIMAGE_OPTIONAL_HEADER64;
    310311typedef IMAGE_OPTIONAL_HEADER64 const *PCIMAGE_OPTIONAL_HEADER64;
     
    313314typedef struct _IMAGE_NT_HEADERS
    314315{
    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 */
     320AssertCompileSize(IMAGE_NT_HEADERS32, 0xf8);
    319321AssertCompileMemberOffset(IMAGE_NT_HEADERS32, FileHeader, 4);
    320322AssertCompileMemberOffset(IMAGE_NT_HEADERS32, OptionalHeader, 24);
     
    324326typedef struct _IMAGE_NT_HEADERS64
    325327{
    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 */
     332AssertCompileSize(IMAGE_NT_HEADERS64, 0x108);
    330333AssertCompileMemberOffset(IMAGE_NT_HEADERS64, FileHeader, 4);
    331334AssertCompileMemberOffset(IMAGE_NT_HEADERS64, OptionalHeader, 24);
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette