VirtualBox

Changeset 66484 in vbox for trunk/include/iprt/formats


Ignore:
Timestamp:
Apr 8, 2017 5:20:26 PM (8 years ago)
Author:
vboxsync
Message:

SUPHardNt: Improved file version dumping. Version hack for dgmaster.sys.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/formats/pecoff.h

    r65240 r66484  
    544544#define IMAGE_SNAP_BY_ORDINAL64(ord)        (!!((ord) & IMAGE_ORDINAL_FLAG64))
    545545/** @} */
     546
     547/** @name PE Resource directory
     548 * @{ */
     549typedef struct _IMAGE_RESOURCE_DIRECTORY
     550{
     551    uint32_t    Characteristics;
     552    uint32_t    TimeDateStamp;
     553    uint16_t    MajorVersion;
     554    uint16_t    MinorVersion;
     555    uint16_t    NumberOfNamedEntries;
     556    uint16_t    NumberOfIdEntries;
     557} IMAGE_RESOURCE_DIRECTORY;
     558typedef IMAGE_RESOURCE_DIRECTORY *PIMAGE_RESOURCE_DIRECTORY;
     559typedef IMAGE_RESOURCE_DIRECTORY const *PCIMAGE_RESOURCE_DIRECTORY;
     560
     561typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY
     562{
     563    union
     564    {
     565        struct
     566        {
     567            uint32_t NameOffset        : 31;
     568            uint32_t NameIsString      : 1; /**< IMAGE_RESOURCE_NAME_IS_STRING */
     569        } s;
     570        uint32_t Name;
     571        uint16_t Id;
     572    } u;
     573    union
     574    {
     575        struct
     576        {
     577            uint32_t OffsetToDirectory : 31;
     578            uint32_t DataIsDirectory   : 1; /**< IMAGE_RESOURCE_DATA_IS_DIRECTORY*/
     579        } s2;
     580        uint32_t OffsetToData;
     581    } u2;
     582} IMAGE_RESOURCE_DIRECTORY_ENTRY;
     583typedef IMAGE_RESOURCE_DIRECTORY_ENTRY *PIMAGE_RESOURCE_DIRECTORY_ENTRY;
     584typedef IMAGE_RESOURCE_DIRECTORY_ENTRY const *PCIMAGE_RESOURCE_DIRECTORY_ENTRY;
     585
     586#define IMAGE_RESOURCE_NAME_IS_STRING       UINT32_C(0x80000000)
     587#define IMAGE_RESOURCE_DATA_IS_DIRECTORY    UINT32_C(0x80000000)
     588
     589typedef struct _IMAGE_RESOURCE_DIRECTORY_STRING
     590{
     591    uint16_t    Length;
     592    char        NameString[1];
     593} IMAGE_RESOURCE_DIRECTORY_STRING;
     594typedef IMAGE_RESOURCE_DIRECTORY_STRING *PIMAGE_RESOURCE_DIRECTORY_STRING;
     595typedef IMAGE_RESOURCE_DIRECTORY_STRING const *PCIMAGE_RESOURCE_DIRECTORY_STRING;
     596
     597
     598typedef struct _IMAGE_RESOURCE_DIR_STRING_U
     599{
     600    uint16_t    Length;
     601    RTUTF16     NameString[1];
     602} IMAGE_RESOURCE_DIR_STRING_U;
     603typedef IMAGE_RESOURCE_DIR_STRING_U *PIMAGE_RESOURCE_DIR_STRING_U;
     604typedef IMAGE_RESOURCE_DIR_STRING_U const *PCIMAGE_RESOURCE_DIR_STRING_U;
     605
     606
     607typedef struct _IMAGE_RESOURCE_DATA_ENTRY
     608{
     609    uint32_t    OffsetToData;
     610    uint32_t    Size;
     611    uint32_t    CodePage;
     612    uint32_t    Reserved;
     613} IMAGE_RESOURCE_DATA_ENTRY;
     614typedef IMAGE_RESOURCE_DATA_ENTRY *PIMAGE_RESOURCE_DATA_ENTRY;
     615typedef IMAGE_RESOURCE_DATA_ENTRY const *PCIMAGE_RESOURCE_DATA_ENTRY;
     616
     617/** @} */
     618
     619
    546620
    547621/** @name Image load config directories
Note: See TracChangeset for help on using the changeset viewer.

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