Stub implementation for MsiGetFileHashA/W.
diff --git a/dlls/msi/msi.c b/dlls/msi/msi.c
index 59e6fcb..ff05f4e 100644
--- a/dlls/msi/msi.c
+++ b/dlls/msi/msi.c
@@ -1988,3 +1988,23 @@
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 b8dc4fb..4d4ac2a 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 862bd04..1c63f18 100644
--- a/include/msi.h
+++ b/include/msi.h
@@ -183,6 +183,11 @@
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 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);