⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jwapatchwiz.pas

📁 比较全面的win32api开发包
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  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 + -