VirtualBox

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


Ignore:
Timestamp:
Jan 18, 2022 10:38:27 AM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
149363
Message:

IPRT/ldrPE,pecoff.h: Another IMAGE_LOAD_CONFIG_DIRECTORY field.

File:
1 edited

Legend:

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

    r93115 r93295  
    13201320typedef IMAGE_LOAD_CONFIG_DIRECTORY32_V12 const *PCIMAGE_LOAD_CONFIG_DIRECTORY32_V12;
    13211321
    1322 typedef IMAGE_LOAD_CONFIG_DIRECTORY32_V12   IMAGE_LOAD_CONFIG_DIRECTORY32;
    1323 typedef PIMAGE_LOAD_CONFIG_DIRECTORY32_V12  PIMAGE_LOAD_CONFIG_DIRECTORY32;
    1324 typedef PCIMAGE_LOAD_CONFIG_DIRECTORY32_V12 PCIMAGE_LOAD_CONFIG_DIRECTORY32;
     1322/** @since  Visual C++ 2019 16.x (found in 16.11.9) / RS5_IMAGE_LOAD_CONFIG_DIRECTORY32. */
     1323typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY32_V13
     1324{
     1325    uint32_t  Size;                                 /**< 0x00 - virtual address */
     1326    uint32_t  TimeDateStamp;                        /**< 0x04 */
     1327    uint16_t  MajorVersion;                         /**< 0x08 */
     1328    uint16_t  MinorVersion;                         /**< 0x0a */
     1329    uint32_t  GlobalFlagsClear;                     /**< 0x0c */
     1330    uint32_t  GlobalFlagsSet;                       /**< 0x10 */
     1331    uint32_t  CriticalSectionDefaultTimeout;        /**< 0x14 */
     1332    uint32_t  DeCommitFreeBlockThreshold;           /**< 0x18 - virtual address */
     1333    uint32_t  DeCommitTotalFreeThreshold;           /**< 0x1c - virtual address */
     1334    uint32_t  LockPrefixTable;                      /**< 0x20 */
     1335    uint32_t  MaximumAllocationSize;                /**< 0x24 */
     1336    uint32_t  VirtualMemoryThreshold;               /**< 0x28 - virtual address of pointer variable */
     1337    uint32_t  ProcessHeapFlags;                     /**< 0x2c - virtual address of pointer variable */
     1338    uint32_t  ProcessAffinityMask;                  /**< 0x30 - virtual address */
     1339    uint16_t  CSDVersion;                           /**< 0x34 */
     1340    uint16_t  DependentLoadFlags;                   /**< 0x36 */
     1341    uint32_t  EditList;                             /**< 0x38 */
     1342    uint32_t  SecurityCookie;                       /**< 0x3c - virtual address */
     1343    uint32_t  SEHandlerTable;                       /**< 0x40 */
     1344    uint32_t  SEHandlerCount;                       /**< 0x44 - virtual address */
     1345    uint32_t  GuardCFCCheckFunctionPointer;         /**< 0x48 */
     1346    uint32_t  GuardCFDispatchFunctionPointer;       /**< 0x4c - virtual address */
     1347    uint32_t  GuardCFFunctionTable;                 /**< 0x50 */
     1348    uint32_t  GuardCFFunctionCount;                 /**< 0x54 - virtual address */
     1349    uint32_t  GuardFlags;                           /**< 0x58 - virtual address of pointer variable */
     1350    IMAGE_LOAD_CONFIG_CODE_INTEGRITY CodeIntegrity; /**< 0x5c */
     1351    uint32_t  GuardAddressTakenIatEntryTable;       /**< 0x68 - virtual address */
     1352    uint32_t  GuardAddressTakenIatEntryCount;       /**< 0x6c */
     1353    uint32_t  GuardLongJumpTargetTable;             /**< 0x70 - virtual address */
     1354    uint32_t  GuardLongJumpTargetCount;             /**< 0x74 */
     1355    uint32_t  DynamicValueRelocTable;               /**< 0x78 - virtual address */
     1356    uint32_t  CHPEMetadataPointer;                  /**< 0x7c Not sure when this was renamed from HybridMetadataPointer. */
     1357    uint32_t  GuardRFFailureRoutine;                /**< 0x80 - virtual address */
     1358    uint32_t  GuardRFFailureRoutineFunctionPointer; /**< 0x84 - virtual address of pointer variable */
     1359    uint32_t  DynamicValueRelocTableOffset;         /**< 0x88 */
     1360    uint16_t  DynamicValueRelocTableSection;        /**< 0x8c */
     1361    uint16_t  Reserved2;                            /**< 0x8e */
     1362    uint32_t  GuardRFVerifyStackPointerFunctionPointer; /**< 0x90 - virtual address of pointer variable */
     1363    uint32_t  HotPatchTableOffset;                  /**< 0x94 */
     1364    uint32_t  Reserved3;                            /**< 0x98 */
     1365    uint32_t  EnclaveConfigurationPointer;          /**< 0x9c - virtual address of pointer variable */
     1366    uint32_t  VolatileMetadataPointer;              /**< 0xa0 - virtual address of pointer variable */
     1367    uint32_t  GuardEHContinuationTable;             /**< 0xa4 - virtual address */
     1368    uint32_t  GuardEHContinuationCount;             /**< 0xa8 */
     1369    uint32_t  GuardXFGCheckFunctionPointer;         /**< 0xac - virtual address of pointer variable */
     1370    uint32_t  GuardXFGDispatchFunctionPointer;      /**< 0xb0 - virtual address of pointer variable */
     1371    uint32_t  GuardXFGTableDispatchFunctionPointer; /**< 0xb4 - virtual address of pointer variable */
     1372    uint32_t  CastGuardOsDeterminedFailureMode;     /**< 0xb8 - virtual address */
     1373} IMAGE_LOAD_CONFIG_DIRECTORY32_V13;
     1374AssertCompileSize(IMAGE_LOAD_CONFIG_DIRECTORY32_V13, 0xbc);
     1375typedef IMAGE_LOAD_CONFIG_DIRECTORY32_V13 *PIMAGE_LOAD_CONFIG_DIRECTORY32_V13;
     1376typedef IMAGE_LOAD_CONFIG_DIRECTORY32_V13 const *PCIMAGE_LOAD_CONFIG_DIRECTORY32_V13;
     1377
     1378typedef IMAGE_LOAD_CONFIG_DIRECTORY32_V13   IMAGE_LOAD_CONFIG_DIRECTORY32;
     1379typedef PIMAGE_LOAD_CONFIG_DIRECTORY32_V13  PIMAGE_LOAD_CONFIG_DIRECTORY32;
     1380typedef PCIMAGE_LOAD_CONFIG_DIRECTORY32_V13 PCIMAGE_LOAD_CONFIG_DIRECTORY32;
    13251381
    13261382
     
    18001856typedef IMAGE_LOAD_CONFIG_DIRECTORY64_V12 const *PCIMAGE_LOAD_CONFIG_DIRECTORY64_V12;
    18011857
    1802 typedef IMAGE_LOAD_CONFIG_DIRECTORY64_V12   IMAGE_LOAD_CONFIG_DIRECTORY64;
    1803 typedef PIMAGE_LOAD_CONFIG_DIRECTORY64_V12  PIMAGE_LOAD_CONFIG_DIRECTORY64;
    1804 typedef PCIMAGE_LOAD_CONFIG_DIRECTORY64_V12 PCIMAGE_LOAD_CONFIG_DIRECTORY64;
     1858/** @since  Visual C++ 2019 16.x (found in 16.11.9) / RS5_IMAGE_LOAD_CONFIG_DIRECTORY32. */
     1859typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY64_V13
     1860{
     1861    uint32_t  Size;                                 /**< 0x00 */
     1862    uint32_t  TimeDateStamp;                        /**< 0x04 */
     1863    uint16_t  MajorVersion;                         /**< 0x08 */
     1864    uint16_t  MinorVersion;                         /**< 0x0a */
     1865    uint32_t  GlobalFlagsClear;                     /**< 0x0c */
     1866    uint32_t  GlobalFlagsSet;                       /**< 0x10 */
     1867    uint32_t  CriticalSectionDefaultTimeout;        /**< 0x14 */
     1868    uint64_t  DeCommitFreeBlockThreshold;           /**< 0x18 */
     1869    uint64_t  DeCommitTotalFreeThreshold;           /**< 0x20 */
     1870    uint64_t  LockPrefixTable;                      /**< 0x28 - virtual address */
     1871    uint64_t  MaximumAllocationSize;                /**< 0x30 */
     1872    uint64_t  VirtualMemoryThreshold;               /**< 0x38 */
     1873    uint64_t  ProcessAffinityMask;                  /**< 0x40 */
     1874    uint32_t  ProcessHeapFlags;                     /**< 0x48 */
     1875    uint16_t  CSDVersion;                           /**< 0x4c */
     1876    uint16_t  DependentLoadFlags;                   /**< 0x4e */
     1877    uint64_t  EditList;                             /**< 0x50 - virtual address */
     1878    uint64_t  SecurityCookie;                       /**< 0x58 - virtual address */
     1879    uint64_t  SEHandlerTable;                       /**< 0x60 */
     1880    uint64_t  SEHandlerCount;                       /**< 0x68 */
     1881    uint64_t  GuardCFCCheckFunctionPointer;         /**< 0x70 - virtual address of pointer variable */
     1882    uint64_t  GuardCFDispatchFunctionPointer;       /**< 0x78 - virtual address of pointer variable */
     1883    uint64_t  GuardCFFunctionTable;                 /**< 0x80 - virtual address */
     1884    uint64_t  GuardCFFunctionCount;                 /**< 0x88 */
     1885    uint32_t  GuardFlags;                           /**< 0x90 */
     1886    IMAGE_LOAD_CONFIG_CODE_INTEGRITY CodeIntegrity; /**< 0x94 */
     1887    uint64_t  GuardAddressTakenIatEntryTable;       /**< 0xa0 - virtual address */
     1888    uint64_t  GuardAddressTakenIatEntryCount;       /**< 0xa8 */
     1889    uint64_t  GuardLongJumpTargetTable;             /**< 0xb0 - virtual address */
     1890    uint64_t  GuardLongJumpTargetCount;             /**< 0xb8 */
     1891    uint64_t  DynamicValueRelocTable;               /**< 0xc0 - virtual address */
     1892    uint64_t  CHPEMetadataPointer;                  /**< 0xc8 */
     1893    uint64_t  GuardRFFailureRoutine;                /**< 0xd0 - virtual address */
     1894    uint64_t  GuardRFFailureRoutineFunctionPointer; /**< 0xd8 - virtual address of pointer variable */
     1895    uint32_t  DynamicValueRelocTableOffset;         /**< 0xe0 */
     1896    uint16_t  DynamicValueRelocTableSection;        /**< 0xe4 */
     1897    uint16_t  Reserved2;                            /**< 0xe6 */
     1898    uint64_t  GuardRFVerifyStackPointerFunctionPointer; /**< 0xe8 - virtual address of pointer variable */
     1899    uint32_t  HotPatchTableOffset;                  /**< 0xf0 */
     1900    uint32_t  Reserved3;                            /**< 0xf4 */
     1901    uint64_t  EnclaveConfigurationPointer;          /**< 0xf8 - seen in bcrypt and bcryptprimitives pointing to the string "L". */
     1902    uint64_t  VolatileMetadataPointer;              /**< 0x100 - virtual address of pointer variable */
     1903    uint64_t  GuardEHContinuationTable;             /**< 0x108 - virtual address */
     1904    uint64_t  GuardEHContinuationCount;             /**< 0x110 */
     1905    uint64_t  GuardXFGCheckFunctionPointer;         /**< 0x118 - virtual address of pointer variable */
     1906    uint64_t  GuardXFGDispatchFunctionPointer;      /**< 0x120 - virtual address of pointer variable */
     1907    uint64_t  GuardXFGTableDispatchFunctionPointer; /**< 0x128 - virtual address of pointer variable */
     1908    uint64_t  CastGuardOsDeterminedFailureMode;     /**< 0x130 - virtual address */
     1909} IMAGE_LOAD_CONFIG_DIRECTORY64_V13;
     1910AssertCompileSize(IMAGE_LOAD_CONFIG_DIRECTORY64_V13, 0x138);
     1911typedef IMAGE_LOAD_CONFIG_DIRECTORY64_V13 *PIMAGE_LOAD_CONFIG_DIRECTORY64_V13;
     1912typedef IMAGE_LOAD_CONFIG_DIRECTORY64_V13 const *PCIMAGE_LOAD_CONFIG_DIRECTORY64_V13;
     1913
     1914typedef IMAGE_LOAD_CONFIG_DIRECTORY64_V13   IMAGE_LOAD_CONFIG_DIRECTORY64;
     1915typedef PIMAGE_LOAD_CONFIG_DIRECTORY64_V13  PIMAGE_LOAD_CONFIG_DIRECTORY64;
     1916typedef PCIMAGE_LOAD_CONFIG_DIRECTORY64_V13 PCIMAGE_LOAD_CONFIG_DIRECTORY64;
    18051917
    18061918/** @} */
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