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