patchwiz.h 15 KB

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