📄 jwapatchwiz.pas
字号:
ERROR_PCW_TFILEDATA_LONG_FILE_TABLE_KEY = (ERROR_PCW_BASE + $4b);
{$EXTERNALSYM ERROR_PCW_TFILEDATA_LONG_FILE_TABLE_KEY}
ERROR_PCW_TFILEDATA_BLANK_FILE_TABLE_KEY = (ERROR_PCW_BASE + $4c);
{$EXTERNALSYM ERROR_PCW_TFILEDATA_BLANK_FILE_TABLE_KEY}
ERROR_PCW_TFILEDATA_MISSING_FILE_TABLE_KEY = (ERROR_PCW_BASE + $4d);
{$EXTERNALSYM ERROR_PCW_TFILEDATA_MISSING_FILE_TABLE_KEY}
ERROR_PCW_TFILEDATA_BAD_TARGET_FIELD = (ERROR_PCW_BASE + $4e);
{$EXTERNALSYM ERROR_PCW_TFILEDATA_BAD_TARGET_FIELD}
ERROR_PCW_UPGRADED_IMAGE_PATCH_PATH_TOO_LONG = (ERROR_PCW_BASE + $4f);
{$EXTERNALSYM ERROR_PCW_UPGRADED_IMAGE_PATCH_PATH_TOO_LONG}
ERROR_PCW_UPGRADED_IMAGE_PATCH_PATH_NOT_EXIST = (ERROR_PCW_BASE + $50);
{$EXTERNALSYM ERROR_PCW_UPGRADED_IMAGE_PATCH_PATH_NOT_EXIST}
ERROR_PCW_UPGRADED_IMAGE_PATCH_PATH_NOT_MSI = (ERROR_PCW_BASE + $51);
{$EXTERNALSYM ERROR_PCW_UPGRADED_IMAGE_PATCH_PATH_NOT_MSI}
ERROR_PCW_DUP_UPGRADED_IMAGE_PACKCODE = (ERROR_PCW_BASE + $52);
{$EXTERNALSYM ERROR_PCW_DUP_UPGRADED_IMAGE_PACKCODE}
ERROR_PCW_UFILEIGNORE_BAD_UPGRADED_FIELD = (ERROR_PCW_BASE + $53);
{$EXTERNALSYM ERROR_PCW_UFILEIGNORE_BAD_UPGRADED_FIELD}
ERROR_PCW_UFILEIGNORE_LONG_FILE_TABLE_KEY = (ERROR_PCW_BASE + $54);
{$EXTERNALSYM ERROR_PCW_UFILEIGNORE_LONG_FILE_TABLE_KEY}
ERROR_PCW_UFILEIGNORE_BLANK_FILE_TABLE_KEY = (ERROR_PCW_BASE + $55);
{$EXTERNALSYM ERROR_PCW_UFILEIGNORE_BLANK_FILE_TABLE_KEY}
ERROR_PCW_UFILEIGNORE_BAD_FILE_TABLE_KEY = (ERROR_PCW_BASE + $56);
{$EXTERNALSYM ERROR_PCW_UFILEIGNORE_BAD_FILE_TABLE_KEY}
ERROR_PCW_FAMILY_RANGE_NAME_TOO_LONG = (ERROR_PCW_BASE + $57);
{$EXTERNALSYM ERROR_PCW_FAMILY_RANGE_NAME_TOO_LONG}
ERROR_PCW_BAD_FAMILY_RANGE_NAME = (ERROR_PCW_BASE + $58);
{$EXTERNALSYM ERROR_PCW_BAD_FAMILY_RANGE_NAME}
ERROR_PCW_FAMILY_RANGE_LONG_FILE_TABLE_KEY = (ERROR_PCW_BASE + $59);
{$EXTERNALSYM ERROR_PCW_FAMILY_RANGE_LONG_FILE_TABLE_KEY}
ERROR_PCW_FAMILY_RANGE_BLANK_FILE_TABLE_KEY = (ERROR_PCW_BASE + $5a);
{$EXTERNALSYM ERROR_PCW_FAMILY_RANGE_BLANK_FILE_TABLE_KEY}
ERROR_PCW_FAMILY_RANGE_LONG_RETAIN_OFFSETS = (ERROR_PCW_BASE + $5b);
{$EXTERNALSYM ERROR_PCW_FAMILY_RANGE_LONG_RETAIN_OFFSETS}
ERROR_PCW_FAMILY_RANGE_BLANK_RETAIN_OFFSETS = (ERROR_PCW_BASE + $5c);
{$EXTERNALSYM ERROR_PCW_FAMILY_RANGE_BLANK_RETAIN_OFFSETS}
ERROR_PCW_FAMILY_RANGE_BAD_RETAIN_OFFSETS = (ERROR_PCW_BASE + $5d);
{$EXTERNALSYM ERROR_PCW_FAMILY_RANGE_BAD_RETAIN_OFFSETS}
ERROR_PCW_FAMILY_RANGE_LONG_RETAIN_LENGTHS = (ERROR_PCW_BASE + $5e);
{$EXTERNALSYM ERROR_PCW_FAMILY_RANGE_LONG_RETAIN_LENGTHS}
ERROR_PCW_FAMILY_RANGE_BLANK_RETAIN_LENGTHS = (ERROR_PCW_BASE + $5f);
{$EXTERNALSYM ERROR_PCW_FAMILY_RANGE_BLANK_RETAIN_LENGTHS}
ERROR_PCW_FAMILY_RANGE_BAD_RETAIN_LENGTHS = (ERROR_PCW_BASE + $60);
{$EXTERNALSYM ERROR_PCW_FAMILY_RANGE_BAD_RETAIN_LENGTHS}
ERROR_PCW_FAMILY_RANGE_COUNT_MISMATCH = (ERROR_PCW_BASE + $61);
{$EXTERNALSYM ERROR_PCW_FAMILY_RANGE_COUNT_MISMATCH}
ERROR_PCW_EXTFILE_LONG_IGNORE_OFFSETS = (ERROR_PCW_BASE + $62);
{$EXTERNALSYM ERROR_PCW_EXTFILE_LONG_IGNORE_OFFSETS}
ERROR_PCW_EXTFILE_BAD_IGNORE_OFFSETS = (ERROR_PCW_BASE + $63);
{$EXTERNALSYM ERROR_PCW_EXTFILE_BAD_IGNORE_OFFSETS}
ERROR_PCW_EXTFILE_LONG_IGNORE_LENGTHS = (ERROR_PCW_BASE + $64);
{$EXTERNALSYM ERROR_PCW_EXTFILE_LONG_IGNORE_LENGTHS}
ERROR_PCW_EXTFILE_BAD_IGNORE_LENGTHS = (ERROR_PCW_BASE + $65);
{$EXTERNALSYM ERROR_PCW_EXTFILE_BAD_IGNORE_LENGTHS}
ERROR_PCW_EXTFILE_IGNORE_COUNT_MISMATCH = (ERROR_PCW_BASE + $66);
{$EXTERNALSYM ERROR_PCW_EXTFILE_IGNORE_COUNT_MISMATCH}
ERROR_PCW_EXTFILE_LONG_RETAIN_OFFSETS = (ERROR_PCW_BASE + $67);
{$EXTERNALSYM ERROR_PCW_EXTFILE_LONG_RETAIN_OFFSETS}
ERROR_PCW_EXTFILE_BAD_RETAIN_OFFSETS = (ERROR_PCW_BASE + $68);
{$EXTERNALSYM ERROR_PCW_EXTFILE_BAD_RETAIN_OFFSETS}
//#define ERROR_PCW_EXTFILE_RETAIN_COUNT_MISMATCH (ERROR_PCW_BASE + 0x69) -- obsolete
ERROR_PCW_TFILEDATA_LONG_IGNORE_OFFSETS = (ERROR_PCW_BASE + $6a);
{$EXTERNALSYM ERROR_PCW_TFILEDATA_LONG_IGNORE_OFFSETS}
ERROR_PCW_TFILEDATA_BAD_IGNORE_OFFSETS = (ERROR_PCW_BASE + $6b);
{$EXTERNALSYM ERROR_PCW_TFILEDATA_BAD_IGNORE_OFFSETS}
ERROR_PCW_TFILEDATA_LONG_IGNORE_LENGTHS = (ERROR_PCW_BASE + $6c);
{$EXTERNALSYM ERROR_PCW_TFILEDATA_LONG_IGNORE_LENGTHS}
ERROR_PCW_TFILEDATA_BAD_IGNORE_LENGTHS = (ERROR_PCW_BASE + $6d);
{$EXTERNALSYM ERROR_PCW_TFILEDATA_BAD_IGNORE_LENGTHS}
ERROR_PCW_TFILEDATA_IGNORE_COUNT_MISMATCH = (ERROR_PCW_BASE + $6e);
{$EXTERNALSYM ERROR_PCW_TFILEDATA_IGNORE_COUNT_MISMATCH}
ERROR_PCW_TFILEDATA_LONG_RETAIN_OFFSETS = (ERROR_PCW_BASE + $6f);
{$EXTERNALSYM ERROR_PCW_TFILEDATA_LONG_RETAIN_OFFSETS}
ERROR_PCW_TFILEDATA_BAD_RETAIN_OFFSETS = (ERROR_PCW_BASE + $70);
{$EXTERNALSYM ERROR_PCW_TFILEDATA_BAD_RETAIN_OFFSETS}
//#define ERROR_PCW_TFILEDATA_RETAIN_COUNT_MISMATCH (ERROR_PCW_BASE + 0x71) -- obsolete
ERROR_PCW_CANT_GENERATE_TRANSFORM = (ERROR_PCW_BASE + $72);
{$EXTERNALSYM ERROR_PCW_CANT_GENERATE_TRANSFORM}
ERROR_PCW_CANT_CREATE_SUMMARY_INFO = (ERROR_PCW_BASE + $73);
{$EXTERNALSYM ERROR_PCW_CANT_CREATE_SUMMARY_INFO}
ERROR_PCW_CANT_GENERATE_TRANSFORM_POUND = (ERROR_PCW_BASE + $74);
{$EXTERNALSYM ERROR_PCW_CANT_GENERATE_TRANSFORM_POUND}
ERROR_PCW_CANT_CREATE_SUMMARY_INFO_POUND = (ERROR_PCW_BASE + $75);
{$EXTERNALSYM ERROR_PCW_CANT_CREATE_SUMMARY_INFO_POUND}
ERROR_PCW_BAD_UPGRADED_IMAGE_PRODUCT_CODE = (ERROR_PCW_BASE + $76);
{$EXTERNALSYM ERROR_PCW_BAD_UPGRADED_IMAGE_PRODUCT_CODE}
ERROR_PCW_BAD_UPGRADED_IMAGE_PRODUCT_VERSION = (ERROR_PCW_BASE + $77);
{$EXTERNALSYM ERROR_PCW_BAD_UPGRADED_IMAGE_PRODUCT_VERSION}
ERROR_PCW_BAD_UPGRADED_IMAGE_UPGRADE_CODE = (ERROR_PCW_BASE + $78);
{$EXTERNALSYM ERROR_PCW_BAD_UPGRADED_IMAGE_UPGRADE_CODE}
ERROR_PCW_BAD_TARGET_IMAGE_PRODUCT_CODE = (ERROR_PCW_BASE + $79);
{$EXTERNALSYM ERROR_PCW_BAD_TARGET_IMAGE_PRODUCT_CODE}
ERROR_PCW_BAD_TARGET_IMAGE_PRODUCT_VERSION = (ERROR_PCW_BASE + $7a);
{$EXTERNALSYM ERROR_PCW_BAD_TARGET_IMAGE_PRODUCT_VERSION}
ERROR_PCW_BAD_TARGET_IMAGE_UPGRADE_CODE = (ERROR_PCW_BASE + $7b);
{$EXTERNALSYM ERROR_PCW_BAD_TARGET_IMAGE_UPGRADE_CODE}
ERROR_PCW_MATCHED_PRODUCT_VERSIONS = (ERROR_PCW_BASE + $7c);
{$EXTERNALSYM ERROR_PCW_MATCHED_PRODUCT_VERSIONS}
ERROR_PCW_NEXTxd = (ERROR_PCW_BASE + $7d);
{$EXTERNALSYM ERROR_PCW_NEXTxd}
ERROR_PCW_NEXTxe = (ERROR_PCW_BASE + $7e);
{$EXTERNALSYM ERROR_PCW_NEXTxe}
ERROR_PCW_NEXTxf = (ERROR_PCW_BASE + $7f);
{$EXTERNALSYM ERROR_PCW_NEXTxf}
(*
#define ERROR_PCW_NEXTx0 (ERROR_PCW_BASE + 0x80)
#define ERROR_PCW_NEXTx1 (ERROR_PCW_BASE + 0x81)
#define ERROR_PCW_NEXTx2 (ERROR_PCW_BASE + 0x82)
#define ERROR_PCW_NEXTx3 (ERROR_PCW_BASE + 0x83)
#define ERROR_PCW_NEXTx4 (ERROR_PCW_BASE + 0x84)
#define ERROR_PCW_NEXTx5 (ERROR_PCW_BASE + 0x85)
#define ERROR_PCW_NEXTx6 (ERROR_PCW_BASE + 0x86)
#define ERROR_PCW_NEXTx7 (ERROR_PCW_BASE + 0x87)
#define ERROR_PCW_NEXTx8 (ERROR_PCW_BASE + 0x88)
#define ERROR_PCW_NEXTx9 (ERROR_PCW_BASE + 0x89)
#define ERROR_PCW_NEXTxa (ERROR_PCW_BASE + 0x8a)
#define ERROR_PCW_NEXTxb (ERROR_PCW_BASE + 0x8b)
#define ERROR_PCW_NEXTxc (ERROR_PCW_BASE + 0x8c)
#define ERROR_PCW_NEXTxd (ERROR_PCW_BASE + 0x8d)
#define ERROR_PCW_NEXTxe (ERROR_PCW_BASE + 0x8e)
#define ERROR_PCW_NEXTxf (ERROR_PCW_BASE + 0x8f)
*)
// Control IDs for hwndStatus child Text controls; title is required
IDC_STATUS_TITLE = ($1cf0);
{$EXTERNALSYM IDC_STATUS_TITLE}
IDC_STATUS_DATA1 = ($1cf1);
{$EXTERNALSYM IDC_STATUS_DATA1}
IDC_STATUS_DATA2 = ($1cf2);
{$EXTERNALSYM IDC_STATUS_DATA2}
function UiCreatePatchPackageA(szaPcpPath, szaPatchPath, szaLogPath: LPSTR; hwndStatus: HWND; szaTempFolder: LPSTR; fRemoveTempFolderIfPresent: BOOL): UINT; stdcall;
{$EXTERNALSYM UiCreatePatchPackageA}
function UiCreatePatchPackageW(szwPcpPath, szwPatchPath, szwLogPath: LPWSTR; hwndStatus: HWND; szwTempFolder: LPWSTR; fRemoveTempFolderIfPresent: BOOL): UINT; stdcall;
{$EXTERNALSYM UiCreatePatchPackageW}
{$IFDEF UNICODE}
function UiCreatePatchPackage(szwPcpPath, szwPatchPath, szwLogPath: LPWSTR; hwndStatus: HWND; szwTempFolder: LPWSTR; fRemoveTempFolderIfPresent: BOOL): UINT; stdcall;
{$EXTERNALSYM UiCreatePatchPackage}
{$ELSE}
function UiCreatePatchPackage(szaPcpPath, szaPatchPath, szaLogPath: LPSTR; hwndStatus: HWND; szaTempFolder: LPSTR; fRemoveTempFolderIfPresent: BOOL): UINT; stdcall;
{$EXTERNALSYM UiCreatePatchPackage}
{$ENDIF}
implementation
const
patchwiz = 'patchwiz.dll'; // mvb Installed in Samples\SysMgmt\Msi\Patching
{$IFDEF DYNAMIC_LINK}
var
_UiCreatePatchPackageA: Pointer;
function UiCreatePatchPackageA;
begin
GetProcedureAddress(_UiCreatePatchPackageA, patchwiz, 'UiCreatePatchPackageA');
asm
mov esp, ebp
pop ebp
jmp [_UiCreatePatchPackageA]
end;
end;
{$ELSE}
function UiCreatePatchPackageA; external patchwiz name 'UiCreatePatchPackageA';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_UiCreatePatchPackageW: Pointer;
function UiCreatePatchPackageW;
begin
GetProcedureAddress(_UiCreatePatchPackageW, patchwiz, 'UiCreatePatchPackageW');
asm
mov esp, ebp
pop ebp
jmp [_UiCreatePatchPackageW]
end;
end;
{$ELSE}
function UiCreatePatchPackageW; external patchwiz name 'UiCreatePatchPackageW';
{$ENDIF DYNAMIC_LINK}
{$IFDEF UNICODE}
{$IFDEF DYNAMIC_LINK}
var
_UiCreatePatchPackage: Pointer;
function UiCreatePatchPackage;
begin
GetProcedureAddress(_UiCreatePatchPackage, patchwiz, 'UiCreatePatchPackageW');
asm
mov esp, ebp
pop ebp
jmp [_UiCreatePatchPackage]
end;
end;
{$ELSE}
function UiCreatePatchPackage; external patchwiz name 'UiCreatePatchPackageW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}
{$IFDEF DYNAMIC_LINK}
var
_UiCreatePatchPackage: Pointer;
function UiCreatePatchPackage;
begin
GetProcedureAddress(_UiCreatePatchPackage, patchwiz, 'UiCreatePatchPackageA');
asm
mov esp, ebp
pop ebp
jmp [_UiCreatePatchPackage]
end;
end;
{$ELSE}
function UiCreatePatchPackage; external patchwiz name 'UiCreatePatchPackageA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -