Home | History | Annotate | Download | only in include
      1 /**
      2  * This file is part of the mingw-w64 runtime package.
      3  * No warranty is given; refer to the file DISCLAIMER within this package.
      4  */
      5 
      6 #ifndef __PATCHWIZ_H__
      7 #define __PATCHWIZ_H__
      8 
      9 #include <winapifamily.h>
     10 #include <_mingw_unicode.h>
     11 
     12 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
     13 #include <windows.h>
     14 #include <ole2.h>
     15 #include <strsafe.h>
     16 #include <stdio.h>
     17 #include <stdlib.h>
     18 
     19 #ifdef _cplusplus
     20 extern "C" {
     21 #endif
     22 
     23   UINT WINAPI UiCreatePatchPackageA (LPCSTR szPcpPath, LPCSTR szPatchPath, LPCSTR szLogPath, HWND hwndStatus, LPCSTR szTempFolder, WINBOOL fRemoveTempFolderIfPresent);
     24   UINT WINAPI UiCreatePatchPackageW (LPCWSTR szPcpPath, LPCWSTR szPatchPath, LPCWSTR szLogPath, HWND hwndStatus, LPCWSTR szTempFolder, WINBOOL fRemoveTempFolderIfPresent);
     25   UINT WINAPI UiCreatePatchPackageExA (LPCSTR szPcpPath, LPCSTR szPatchPath, LPCSTR szLogPath, HWND hwndStatus, LPCSTR szTempFolder, WINBOOL fRemoveTempFolderIfPresent, DWORD dwFlags, DWORD dwReserved);
     26   UINT WINAPI UiCreatePatchPackageExW (LPCWSTR szPcpPath, LPCWSTR szPatchPath, LPCWSTR szLogPath, HWND hwndStatus, LPCWSTR szTempFolder, WINBOOL fRemoveTempFolderIfPresent, DWORD dwFlags, DWORD dwReserved);
     27 
     28 #ifdef _cplusplus
     29 }
     30 #endif
     31 
     32 const int cchMaxInteger = 12;
     33 const UINT LOGNONE = 0x00000000;
     34 const UINT LOGINFO = 0x00000001;
     35 const UINT LOGWARN = 0x00000002;
     36 const UINT LOGERR = 0x00000004;
     37 const UINT LOGPERFMESSAGES = 0x00000008;
     38 const UINT LOGALL = LOGINFO | LOGWARN | LOGERR | LOGPERFMESSAGES;
     39 const UINT UINONE = 0x00000000;
     40 const UINT UILOGBITS = 15;
     41 const UINT UIALL = 1 << UILOGBITS;
     42 const UINT DEFAULT_MINIMUM_REQUIRED_MSI_VERSION = 100;
     43 const UINT DEFAULT_FILE_SEQUENCE_START = 2;
     44 const UINT DEFAULT_DISK_ID = 2;
     45 
     46 #define ERROR_PCW_BASE 0xc00e5101
     47 
     48 #define ERROR_PCW_PCP_DOESNT_EXIST (ERROR_PCW_BASE + 0x00)
     49 #define ERROR_PCW_PCP_BAD_FORMAT (ERROR_PCW_BASE + 0x01)
     50 #define ERROR_PCW_CANT_CREATE_TEMP_FOLDER (ERROR_PCW_BASE + 0x02)
     51 #define ERROR_PCW_MISSING_PATCH_PATH (ERROR_PCW_BASE + 0x03)
     52 #define ERROR_PCW_CANT_OVERWRITE_PATCH (ERROR_PCW_BASE + 0x04)
     53 #define ERROR_PCW_CANT_CREATE_PATCH_FILE (ERROR_PCW_BASE + 0x05)
     54 #define ERROR_PCW_MISSING_PATCH_GUID (ERROR_PCW_BASE + 0x06)
     55 #define ERROR_PCW_BAD_PATCH_GUID (ERROR_PCW_BASE + 0x07)
     56 #define ERROR_PCW_BAD_GUIDS_TO_REPLACE (ERROR_PCW_BASE + 0x08)
     57 #define ERROR_PCW_BAD_TARGET_PRODUCT_CODE_LIST (ERROR_PCW_BASE + 0x09)
     58 #define ERROR_PCW_NO_UPGRADED_IMAGES_TO_PATCH (ERROR_PCW_BASE + 0x0a)
     59 #define ERROR_PCW_BAD_API_PATCHING_SYMBOL_FLAGS (ERROR_PCW_BASE + 0x0c)
     60 #define ERROR_PCW_OODS_COPYING_MSI (ERROR_PCW_BASE + 0x0d)
     61 #define ERROR_PCW_UPGRADED_IMAGE_NAME_TOO_LONG (ERROR_PCW_BASE + 0x0e)
     62 #define ERROR_PCW_BAD_UPGRADED_IMAGE_NAME (ERROR_PCW_BASE + 0x0f)
     63 #define ERROR_PCW_DUP_UPGRADED_IMAGE_NAME (ERROR_PCW_BASE + 0x10)
     64 #define ERROR_PCW_UPGRADED_IMAGE_PATH_TOO_LONG (ERROR_PCW_BASE + 0x11)
     65 #define ERROR_PCW_UPGRADED_IMAGE_PATH_EMPTY (ERROR_PCW_BASE + 0x12)
     66 #define ERROR_PCW_UPGRADED_IMAGE_PATH_NOT_EXIST (ERROR_PCW_BASE + 0x13)
     67 #define ERROR_PCW_UPGRADED_IMAGE_PATH_NOT_MSI (ERROR_PCW_BASE + 0x14)
     68 #define ERROR_PCW_UPGRADED_IMAGE_COMPRESSED (ERROR_PCW_BASE + 0x15)
     69 #define ERROR_PCW_TARGET_IMAGE_NAME_TOO_LONG (ERROR_PCW_BASE + 0x16)
     70 #define ERROR_PCW_BAD_TARGET_IMAGE_NAME (ERROR_PCW_BASE + 0x17)
     71 #define ERROR_PCW_DUP_TARGET_IMAGE_NAME (ERROR_PCW_BASE + 0x18)
     72 #define ERROR_PCW_TARGET_IMAGE_PATH_TOO_LONG (ERROR_PCW_BASE + 0x19)
     73 #define ERROR_PCW_TARGET_IMAGE_PATH_EMPTY (ERROR_PCW_BASE + 0x1a)
     74 #define ERROR_PCW_TARGET_IMAGE_PATH_NOT_EXIST (ERROR_PCW_BASE + 0x1b)
     75 #define ERROR_PCW_TARGET_IMAGE_PATH_NOT_MSI (ERROR_PCW_BASE + 0x1c)
     76 #define ERROR_PCW_TARGET_IMAGE_COMPRESSED (ERROR_PCW_BASE + 0x1d)
     77 #define ERROR_PCW_TARGET_BAD_PROD_VALIDATE (ERROR_PCW_BASE + 0x1e)
     78 #define ERROR_PCW_TARGET_BAD_PROD_CODE_VAL (ERROR_PCW_BASE + 0x1f)
     79 #define ERROR_PCW_UPGRADED_MISSING_SRC_FILES (ERROR_PCW_BASE + 0x20)
     80 #define ERROR_PCW_TARGET_MISSING_SRC_FILES (ERROR_PCW_BASE + 0x21)
     81 #define ERROR_PCW_IMAGE_FAMILY_NAME_TOO_LONG (ERROR_PCW_BASE + 0x22)
     82 #define ERROR_PCW_BAD_IMAGE_FAMILY_NAME (ERROR_PCW_BASE + 0x23)
     83 #define ERROR_PCW_DUP_IMAGE_FAMILY_NAME (ERROR_PCW_BASE + 0x24)
     84 #define ERROR_PCW_BAD_IMAGE_FAMILY_SRC_PROP (ERROR_PCW_BASE + 0x25)
     85 #define ERROR_PCW_UFILEDATA_LONG_FILE_TABLE_KEY (ERROR_PCW_BASE + 0x26)
     86 #define ERROR_PCW_UFILEDATA_BLANK_FILE_TABLE_KEY (ERROR_PCW_BASE + 0x27)
     87 #define ERROR_PCW_UFILEDATA_MISSING_FILE_TABLE_KEY (ERROR_PCW_BASE + 0x28)
     88 #define ERROR_PCW_EXTFILE_LONG_FILE_TABLE_KEY (ERROR_PCW_BASE + 0x29)
     89 #define ERROR_PCW_EXTFILE_BLANK_FILE_TABLE_KEY (ERROR_PCW_BASE + 0x2a)
     90 #define ERROR_PCW_EXTFILE_BAD_FAMILY_FIELD (ERROR_PCW_BASE + 0x2b)
     91 #define ERROR_PCW_EXTFILE_LONG_PATH_TO_FILE (ERROR_PCW_BASE + 0x2c)
     92 #define ERROR_PCW_EXTFILE_BLANK_PATH_TO_FILE (ERROR_PCW_BASE + 0x2d)
     93 #define ERROR_PCW_EXTFILE_MISSING_FILE (ERROR_PCW_BASE + 0x2e)
     94 #define ERROR_PCW_BAD_FILE_SEQUENCE_START (ERROR_PCW_BASE + 0x39)
     95 #define ERROR_PCW_CANT_COPY_FILE_TO_TEMP_FOLDER (ERROR_PCW_BASE + 0x3a)
     96 #define ERROR_PCW_CANT_CREATE_ONE_PATCH_FILE (ERROR_PCW_BASE + 0x3b)
     97 #define ERROR_PCW_BAD_IMAGE_FAMILY_DISKID (ERROR_PCW_BASE + 0x3c)
     98 #define ERROR_PCW_BAD_IMAGE_FAMILY_FILESEQSTART (ERROR_PCW_BASE + 0x3d)
     99 #define ERROR_PCW_BAD_UPGRADED_IMAGE_FAMILY (ERROR_PCW_BASE + 0x3e)
    100 #define ERROR_PCW_BAD_TARGET_IMAGE_UPGRADED (ERROR_PCW_BASE + 0x3f)
    101 #define ERROR_PCW_DUP_TARGET_IMAGE_PACKCODE (ERROR_PCW_BASE + 0x40)
    102 #define ERROR_PCW_UFILEDATA_BAD_UPGRADED_FIELD (ERROR_PCW_BASE + 0x41)
    103 #define ERROR_PCW_MISMATCHED_PRODUCT_CODES (ERROR_PCW_BASE + 0x42)
    104 #define ERROR_PCW_MISMATCHED_PRODUCT_VERSIONS (ERROR_PCW_BASE + 0x43)
    105 #define ERROR_PCW_CANNOT_WRITE_DDF (ERROR_PCW_BASE + 0x44)
    106 #define ERROR_PCW_CANNOT_RUN_MAKECAB (ERROR_PCW_BASE + 0x45)
    107 #define ERROR_PCW_WRITE_SUMMARY_PROPERTIES (ERROR_PCW_BASE + 0x4a)
    108 #define ERROR_PCW_TFILEDATA_LONG_FILE_TABLE_KEY (ERROR_PCW_BASE + 0x4b)
    109 #define ERROR_PCW_TFILEDATA_BLANK_FILE_TABLE_KEY (ERROR_PCW_BASE + 0x4c)
    110 #define ERROR_PCW_TFILEDATA_MISSING_FILE_TABLE_KEY (ERROR_PCW_BASE + 0x4d)
    111 #define ERROR_PCW_TFILEDATA_BAD_TARGET_FIELD (ERROR_PCW_BASE + 0x4e)
    112 #define ERROR_PCW_UPGRADED_IMAGE_PATCH_PATH_TOO_LONG (ERROR_PCW_BASE + 0x4f)
    113 #define ERROR_PCW_UPGRADED_IMAGE_PATCH_PATH_NOT_EXIST (ERROR_PCW_BASE + 0x50)
    114 #define ERROR_PCW_UPGRADED_IMAGE_PATCH_PATH_NOT_MSI (ERROR_PCW_BASE + 0x51)
    115 #define ERROR_PCW_DUP_UPGRADED_IMAGE_PACKCODE (ERROR_PCW_BASE + 0x52)
    116 #define ERROR_PCW_UFILEIGNORE_BAD_UPGRADED_FIELD (ERROR_PCW_BASE + 0x53)
    117 #define ERROR_PCW_UFILEIGNORE_LONG_FILE_TABLE_KEY (ERROR_PCW_BASE + 0x54)
    118 #define ERROR_PCW_UFILEIGNORE_BLANK_FILE_TABLE_KEY (ERROR_PCW_BASE + 0x55)
    119 #define ERROR_PCW_UFILEIGNORE_BAD_FILE_TABLE_KEY (ERROR_PCW_BASE + 0x56)
    120 #define ERROR_PCW_FAMILY_RANGE_NAME_TOO_LONG (ERROR_PCW_BASE + 0x57)
    121 #define ERROR_PCW_BAD_FAMILY_RANGE_NAME (ERROR_PCW_BASE + 0x58)
    122 #define ERROR_PCW_FAMILY_RANGE_LONG_FILE_TABLE_KEY (ERROR_PCW_BASE + 0x59)
    123 #define ERROR_PCW_FAMILY_RANGE_BLANK_FILE_TABLE_KEY (ERROR_PCW_BASE + 0x5a)
    124 #define ERROR_PCW_FAMILY_RANGE_LONG_RETAIN_OFFSETS (ERROR_PCW_BASE + 0x5b)
    125 #define ERROR_PCW_FAMILY_RANGE_BLANK_RETAIN_OFFSETS (ERROR_PCW_BASE + 0x5c)
    126 #define ERROR_PCW_FAMILY_RANGE_BAD_RETAIN_OFFSETS (ERROR_PCW_BASE + 0x5d)
    127 #define ERROR_PCW_FAMILY_RANGE_LONG_RETAIN_LENGTHS (ERROR_PCW_BASE + 0x5e)
    128 #define ERROR_PCW_FAMILY_RANGE_BLANK_RETAIN_LENGTHS (ERROR_PCW_BASE + 0x5f)
    129 #define ERROR_PCW_FAMILY_RANGE_BAD_RETAIN_LENGTHS (ERROR_PCW_BASE + 0x60)
    130 #define ERROR_PCW_FAMILY_RANGE_COUNT_MISMATCH (ERROR_PCW_BASE + 0x61)
    131 #define ERROR_PCW_EXTFILE_LONG_IGNORE_OFFSETS (ERROR_PCW_BASE + 0x62)
    132 #define ERROR_PCW_EXTFILE_BAD_IGNORE_OFFSETS (ERROR_PCW_BASE + 0x63)
    133 #define ERROR_PCW_EXTFILE_LONG_IGNORE_LENGTHS (ERROR_PCW_BASE + 0x64)
    134 #define ERROR_PCW_EXTFILE_BAD_IGNORE_LENGTHS (ERROR_PCW_BASE + 0x65)
    135 #define ERROR_PCW_EXTFILE_IGNORE_COUNT_MISMATCH (ERROR_PCW_BASE + 0x66)
    136 #define ERROR_PCW_EXTFILE_LONG_RETAIN_OFFSETS (ERROR_PCW_BASE + 0x67)
    137 #define ERROR_PCW_EXTFILE_BAD_RETAIN_OFFSETS (ERROR_PCW_BASE + 0x68)
    138 #define ERROR_PCW_TFILEDATA_LONG_IGNORE_OFFSETS (ERROR_PCW_BASE + 0x6a)
    139 #define ERROR_PCW_TFILEDATA_BAD_IGNORE_OFFSETS (ERROR_PCW_BASE + 0x6b)
    140 #define ERROR_PCW_TFILEDATA_LONG_IGNORE_LENGTHS (ERROR_PCW_BASE + 0x6c)
    141 #define ERROR_PCW_TFILEDATA_BAD_IGNORE_LENGTHS (ERROR_PCW_BASE + 0x6d)
    142 #define ERROR_PCW_TFILEDATA_IGNORE_COUNT_MISMATCH (ERROR_PCW_BASE + 0x6e)
    143 #define ERROR_PCW_TFILEDATA_LONG_RETAIN_OFFSETS (ERROR_PCW_BASE + 0x6f)
    144 #define ERROR_PCW_TFILEDATA_BAD_RETAIN_OFFSETS (ERROR_PCW_BASE + 0x70)
    145 #define ERROR_PCW_CANT_GENERATE_TRANSFORM (ERROR_PCW_BASE + 0x72)
    146 #define ERROR_PCW_CANT_CREATE_SUMMARY_INFO (ERROR_PCW_BASE + 0x73)
    147 #define ERROR_PCW_CANT_GENERATE_TRANSFORM_POUND (ERROR_PCW_BASE + 0x74)
    148 #define ERROR_PCW_CANT_CREATE_SUMMARY_INFO_POUND (ERROR_PCW_BASE + 0x75)
    149 #define ERROR_PCW_BAD_UPGRADED_IMAGE_PRODUCT_CODE (ERROR_PCW_BASE + 0x76)
    150 #define ERROR_PCW_BAD_UPGRADED_IMAGE_PRODUCT_VERSION (ERROR_PCW_BASE + 0x77)
    151 #define ERROR_PCW_BAD_UPGRADED_IMAGE_UPGRADE_CODE (ERROR_PCW_BASE + 0x78)
    152 #define ERROR_PCW_BAD_TARGET_IMAGE_PRODUCT_CODE (ERROR_PCW_BASE + 0x79)
    153 #define ERROR_PCW_BAD_TARGET_IMAGE_PRODUCT_VERSION (ERROR_PCW_BASE + 0x7a)
    154 #define ERROR_PCW_BAD_TARGET_IMAGE_UPGRADE_CODE (ERROR_PCW_BASE + 0x7b)
    155 #define ERROR_PCW_MATCHED_PRODUCT_VERSIONS (ERROR_PCW_BASE + 0x7c)
    156 #define ERROR_PCW_OBSOLETION_WITH_SEQUENCE_DATA (ERROR_PCW_BASE + 0x7d)
    157 #define ERROR_PCW_OBSOLETION_WITH_MSI30 (ERROR_PCW_BASE + 0x7e)
    158 #define ERROR_PCW_OBSOLETION_WITH_PATCHSEQUENCE (ERROR_PCW_BASE + 0x7f)
    159 #define ERROR_PCW_CANNOT_CREATE_TABLE (ERROR_PCW_BASE + 0x80)
    160 #define ERROR_PCW_CANT_GENERATE_SEQUENCEINFO_MAJORUPGD (ERROR_PCW_BASE + 0x81)
    161 #define ERROR_PCW_MAJOR_UPGD_WITHOUT_SEQUENCING (ERROR_PCW_BASE + 0x82)
    162 #define ERROR_PCW_BAD_PRODUCTVERSION_VALIDATION (ERROR_PCW_BASE + 0x83)
    163 #define ERROR_PCW_BAD_TRANSFORMSET (ERROR_PCW_BASE + 0x84)
    164 #define ERROR_PCW_BAD_TGT_UPD_IMAGES (ERROR_PCW_BASE + 0x85)
    165 #define ERROR_PCW_BAD_SUPERCEDENCE (ERROR_PCW_BASE + 0x86)
    166 #define ERROR_PCW_BAD_SEQUENCE (ERROR_PCW_BASE + 0x87)
    167 #define ERROR_PCW_BAD_TARGET (ERROR_PCW_BASE + 0x88)
    168 #define ERROR_PCW_NULL_PATCHFAMILY (ERROR_PCW_BASE + 0x89)
    169 #define ERROR_PCW_NULL_SEQUENCE_NUMBER (ERROR_PCW_BASE + 0x8a)
    170 #define ERROR_PCW_BAD_VERSION_STRING (ERROR_PCW_BASE + 0x8b)
    171 #define ERROR_PCW_BAD_MAJOR_VERSION (ERROR_PCW_BASE + 0x8c)
    172 #define ERROR_PCW_SEQUENCING_BAD_TARGET (ERROR_PCW_BASE + 0x8d)
    173 #define ERROR_PCW_PATCHMETADATA_PROP_NOT_SET (ERROR_PCW_BASE + 0x8e)
    174 #define ERROR_PCW_INVALID_PATCHMETADATA_PROP (ERROR_PCW_BASE + 0x8f)
    175 #define ERROR_PCW_INVALID_SUPERCEDENCE (ERROR_PCW_BASE + 0x90)
    176 #define ERROR_PCW_DUPLICATE_SEQUENCE_RECORD (ERROR_PCW_BASE + 0x91)
    177 #define ERROR_PCW_WRONG_PATCHMETADATA_STRD_PROP (ERROR_PCW_BASE + 0x92)
    178 #define ERROR_PCW_INVALID_PARAMETER (ERROR_PCW_BASE + 0x93)
    179 #define ERROR_PCW_CREATEFILE_LOG_FAILED (ERROR_PCW_BASE + 0x94)
    180 #define ERROR_PCW_INVALID_LOG_LEVEL (ERROR_PCW_BASE + 0x95)
    181 #define ERROR_PCW_INVALID_UI_LEVEL (ERROR_PCW_BASE + 0x96)
    182 #define ERROR_PCW_ERROR_WRITING_TO_LOG (ERROR_PCW_BASE + 0x97)
    183 #define ERROR_PCW_OUT_OF_MEMORY (ERROR_PCW_BASE + 0x98)
    184 #define ERROR_PCW_UNKNOWN_ERROR (ERROR_PCW_BASE + 0x99)
    185 #define ERROR_PCW_UNKNOWN_INFO (ERROR_PCW_BASE + 0x9a)
    186 #define ERROR_PCW_UNKNOWN_WARN (ERROR_PCW_BASE + 0x9b)
    187 #define ERROR_PCW_OPEN_VIEW (ERROR_PCW_BASE + 0x9c)
    188 #define ERROR_PCW_EXECUTE_VIEW (ERROR_PCW_BASE + 0x9d)
    189 #define ERROR_PCW_VIEW_FETCH (ERROR_PCW_BASE + 0x9e)
    190 #define ERROR_PCW_FAILED_EXPAND_PATH (ERROR_PCW_BASE + 0x9f)
    191 #define ERROR_PCW_INTERNAL_ERROR (ERROR_PCW_BASE + 0x100)
    192 #define ERROR_PCW_INVALID_PCP_PROPERTY (ERROR_PCW_BASE + 0x101)
    193 #define ERROR_PCW_INVALID_PCP_TARGETIMAGES (ERROR_PCW_BASE + 0x102)
    194 #define ERROR_PCW_LAX_VALIDATION_FLAGS (ERROR_PCW_BASE + 0x103)
    195 #define ERROR_PCW_FAILED_CREATE_TRANSFORM (ERROR_PCW_BASE + 0x104)
    196 #define ERROR_PCW_CANT_DELETE_TEMP_FOLDER (ERROR_PCW_BASE + 0x105)
    197 #define ERROR_PCW_MISSING_DIRECTORY_TABLE (ERROR_PCW_BASE + 0x106)
    198 #define ERROR_PCW_INVALID_SUPERSEDENCE_VALUE (ERROR_PCW_BASE + 0x107)
    199 #define ERROR_PCW_INVALID_PATCH_TYPE_SEQUENCING (ERROR_PCW_BASE + 0x108)
    200 #define ERROR_PCW_CANT_READ_FILE (ERROR_PCW_BASE + 0x109)
    201 #define ERROR_PCW_TARGET_WRONG_PRODUCT_VERSION_COMP (ERROR_PCW_BASE + 0x10a)
    202 #define ERROR_PCW_INVALID_PCP_UPGRADEDFILESTOIGNORE (ERROR_PCW_BASE + 0x10b)
    203 #define ERROR_PCW_INVALID_PCP_UPGRADEDIMAGES (ERROR_PCW_BASE + 0x10c)
    204 #define ERROR_PCW_INVALID_PCP_EXTERNALFILES (ERROR_PCW_BASE + 0x10d)
    205 #define ERROR_PCW_INVALID_PCP_IMAGEFAMILIES (ERROR_PCW_BASE + 0x10e)
    206 #define ERROR_PCW_INVALID_PCP_PATCHSEQUENCE (ERROR_PCW_BASE + 0x10f)
    207 #define ERROR_PCW_INVALID_PCP_TARGETFILES_OPTIONALDATA (ERROR_PCW_BASE + 0x110)
    208 #define ERROR_PCW_INVALID_PCP_UPGRADEDFILES_OPTIONALDATA (ERROR_PCW_BASE + 0x111)
    209 #define ERROR_PCW_MISSING_PATCHMETADATA (ERROR_PCW_BASE + 0x112)
    210 #define ERROR_PCW_IMAGE_PATH_NOT_EXIST (ERROR_PCW_BASE + 0x113)
    211 #define ERROR_PCW_INVALID_RANGE_ELEMENT (ERROR_PCW_BASE + 0x114)
    212 #define ERROR_PCW_INVALID_MAJOR_VERSION (ERROR_PCW_BASE + 0x115)
    213 #define ERROR_PCW_INVALID_PCP_PROPERTIES (ERROR_PCW_BASE + 0x116)
    214 #define ERROR_PCW_INVALID_PCP_FAMILYFILERANGES (ERROR_PCW_BASE + 0x117)
    215 
    216 #define INFO_BASE 0xc00f5101
    217 #define INFO_PASSED_MAIN_CONTROL (INFO_BASE + 0x00)
    218 #define INFO_ENTERING_PHASE_I_VALIDATION (INFO_BASE + 0x01)
    219 #define INFO_ENTERING_PHASE_I (INFO_BASE + 0x02)
    220 #define INFO_PCP_PATH (INFO_BASE + 0x03)
    221 #define INFO_TEMP_DIR (INFO_BASE + 0x04)
    222 #define INFO_SET_OPTIONS (INFO_BASE + 0x05)
    223 #define INFO_PROPERTY (INFO_BASE + 0x06)
    224 #define INFO_ENTERING_PHASE_II (INFO_BASE + 0x07)
    225 #define INFO_ENTERING_PHASE_III (INFO_BASE + 0x08)
    226 #define INFO_ENTERING_PHASE_IV (INFO_BASE + 0x09)
    227 #define INFO_ENTERING_PHASE_V (INFO_BASE + 0x0a)
    228 #define INFO_GENERATING_METADATA (INFO_BASE + 0x10)
    229 #define INFO_TEMP_DIR_CLEANUP (INFO_BASE + 0x11)
    230 #define INFO_PATCHCACHE_FILEINFO_FAILURE (INFO_BASE + 0x12)
    231 #define INFO_PATCHCACHE_PCI_READFAILURE (INFO_BASE + 0x13)
    232 #define INFO_PATCHCACHE_PCI_WRITEFAILURE (INFO_BASE + 0x14)
    233 #define INFO_USING_USER_MSI_FOR_PATCH_TABLES (INFO_BASE + 0x15)
    234 #define INFO_SUCCESSFUL_PATCH_CREATION (INFO_BASE + 0x16)
    235 
    236 #define WARN_BASE 0xc0105101
    237 #define WARN_MAJOR_UPGRADE_PATCH (WARN_BASE + 0x00)
    238 #define WARN_SEQUENCE_DATA_GENERATION_DISABLED (WARN_BASE + 0x01)
    239 #define WARN_SEQUENCE_DATA_SUPERSEDENCE_IGNORED (WARN_BASE + 0x02)
    240 #define WARN_IMPROPER_TRANSFORM_VALIDATION (WARN_BASE + 0x03)
    241 #define WARN_PCW_MISMATCHED_PRODUCT_CODES (WARN_BASE + 0x04)
    242 #define WARN_PCW_MISMATCHED_PRODUCT_VERSIONS (WARN_BASE + 0x05)
    243 #define WARN_INVALID_TRANSFORM_VALIDATION (WARN_BASE + 0x06)
    244 #define WARN_BAD_MAJOR_VERSION (WARN_BASE + 0x07)
    245 #define WARN_FILE_VERSION_DOWNREV (WARN_BASE + 0x08)
    246 #define WARN_EQUAL_FILE_VERSION (WARN_BASE + 0x09)
    247 #define WARN_PATCHPROPERTYNOTSET (WARN_BASE + 0x0a)
    248 #define WARN_OBSOLETION_WITH_SEQUENCE_DATA (WARN_BASE + 0x11)
    249 #define WARN_OBSOLETION_WITH_MSI30 (WARN_BASE + 0x10)
    250 #define WARN_OBSOLETION_WITH_PATCHSEQUENCE (WARN_BASE + 0x12)
    251 
    252 #define UiCreatePatchPackage __MINGW_NAME_AW(UiCreatePatchPackage)
    253 #define UiCreatePatchPackageEx __MINGW_NAME_AW(UiCreatePatchPackageEx)
    254 
    255 #endif
    256 #endif
    257