diff --git a/dlls/msi/msi.c b/dlls/msi/msi.c index 59e6fcbb4cb..ff05f4e8761 100644 --- a/dlls/msi/msi.c +++ b/dlls/msi/msi.c @@ -1988,3 +1988,23 @@ UINT WINAPI MsiEnumPatchesW( LPCWSTR szProduct, DWORD iPatchIndex, iPatchIndex, lpPatchBuf, lpTransformsBuf, pcchTransformsBuf); return ERROR_NO_MORE_ITEMS; } + +/*********************************************************************** + * MsiGetFileHashW [MSI.@] + */ +UINT WINAPI MsiGetFileHashW( LPCWSTR szFilePath, DWORD dwOptions, + PMSIFILEHASHINFO pHash ) +{ + FIXME("%s %08lx %p\n", debugstr_w(szFilePath), dwOptions, pHash ); + return ERROR_CALL_NOT_IMPLEMENTED; +} + +/*********************************************************************** + * MsiGetFileHashA [MSI.@] + */ +UINT WINAPI MsiGetFileHashA( LPCSTR szFilePath, DWORD dwOptions, + PMSIFILEHASHINFO pHash ) +{ + FIXME("%s %08lx %p\n", debugstr_a(szFilePath), dwOptions, pHash ); + return ERROR_CALL_NOT_IMPLEMENTED; +} diff --git a/dlls/msi/msi.spec b/dlls/msi/msi.spec index b8dc4fb7cfa..4d4ac2a70fc 100644 --- a/dlls/msi/msi.spec +++ b/dlls/msi/msi.spec @@ -211,8 +211,8 @@ 215 stub MsiIsProductElevatedW 216 stdcall MsiGetShortcutTargetA(str ptr ptr ptr) 217 stdcall MsiGetShortcutTargetW(wstr ptr ptr ptr) -218 stub MsiGetFileHashA -219 stub MsiGetFileHashW +218 stdcall MsiGetFileHashA(str long ptr) +219 stdcall MsiGetFileHashW(wstr long ptr) 220 stub MsiEnumComponentCostsA 221 stub MsiEnumComponentCostsW 222 stdcall MsiCreateAndVerifyInstallerDirectory(long) diff --git a/include/msi.h b/include/msi.h index 862bd041335..1c63f18ef37 100644 --- a/include/msi.h +++ b/include/msi.h @@ -183,6 +183,11 @@ typedef enum tagMSICODE MSICODE_PATCH = 0x40000000L } MSICODE; +typedef struct _MSIFILEHASHINFO { + ULONG dwFileHashInfoSize; + ULONG dwData[4]; +} MSIFILEHASHINFO, *PMSIFILEHASHINFO; + #define MAX_FEATURE_CHARS 38 /* Strings defined in msi.h */ @@ -531,6 +536,10 @@ UINT WINAPI MsiEnumPatchesA(LPCSTR, DWORD, LPSTR, LPSTR, DWORD*); UINT WINAPI MsiEnumPatchesW(LPCWSTR, DWORD, LPWSTR, LPWSTR, DWORD*); #define MsiEnumPatches WINELIB_NAME_AW(MsiEnumPatches) +UINT WINAPI MsiGetFileHashA(LPCSTR, DWORD, PMSIFILEHASHINFO); +UINT WINAPI MsiGetFileHashW(LPCWSTR, DWORD, PMSIFILEHASHINFO); +#define MsiGetFileHash WINELIB_NAME_AW(MsiGetFileHash) + /* Non Unicode */ UINT WINAPI MsiCloseHandle(MSIHANDLE); UINT WINAPI MsiCloseAllHandles(void);