msi: Fix the MsiEnumProductsEx*(), MsiQueryComponentState*() and MsiProvideQualifiedComponentEx*() prototypes.
diff --git a/dlls/msi/msi.c b/dlls/msi/msi.c
index b669c37..47c08a9 100644
--- a/dlls/msi/msi.c
+++ b/dlls/msi/msi.c
@@ -732,7 +732,7 @@
return ERROR_SUCCESS;
}
-UINT WINAPI MsiQueryComponentStateA(LPSTR szProductCode, LPSTR szUserSid, MSIINSTALLCONTEXT dwContext, LPCSTR szComponent, INSTALLSTATE *pdwState)
+UINT WINAPI MsiQueryComponentStateA(LPCSTR szProductCode, LPCSTR szUserSid, MSIINSTALLCONTEXT dwContext, LPCSTR szComponent, INSTALLSTATE *pdwState)
{
FIXME("(%s, %s, %d, %s, %p): stub!\n", debugstr_a(szProductCode), debugstr_a(szUserSid), dwContext, debugstr_a(szComponent), pdwState);
@@ -1009,14 +1009,14 @@
}
UINT WINAPI MsiProvideComponentFromDescriptorA( LPCSTR szDescriptor,
- LPSTR szPath, DWORD *pcchPath, DWORD *pcchArgs )
+ LPSTR szPath, LPDWORD pcchPath, LPDWORD pcchArgs )
{
FIXME("%s %p %p %p\n", debugstr_a(szDescriptor), szPath, pcchPath, pcchArgs );
return ERROR_CALL_NOT_IMPLEMENTED;
}
UINT WINAPI MsiProvideComponentFromDescriptorW( LPCWSTR szDescriptor,
- LPWSTR szPath, DWORD *pcchPath, DWORD *pcchArgs )
+ LPWSTR szPath, LPDWORD pcchPath, LPDWORD pcchArgs )
{
FIXME("%s %p %p %p\n", debugstr_w(szDescriptor), szPath, pcchPath, pcchArgs );
return ERROR_CALL_NOT_IMPLEMENTED;
@@ -1583,9 +1583,9 @@
* MsiProvideQualifiedComponentExW [MSI.@]
*/
UINT WINAPI MsiProvideQualifiedComponentExW(LPCWSTR szComponent,
- LPCWSTR szQualifier, DWORD dwInstallMode, LPWSTR szProduct,
+ LPCWSTR szQualifier, DWORD dwInstallMode, LPCWSTR szProduct,
DWORD Unused1, DWORD Unused2, LPWSTR lpPathBuf,
- DWORD* pcchPathBuf)
+ LPDWORD pcchPathBuf)
{
awstring path;
@@ -1600,9 +1600,9 @@
* MsiProvideQualifiedComponentExA [MSI.@]
*/
UINT WINAPI MsiProvideQualifiedComponentExA(LPCSTR szComponent,
- LPCSTR szQualifier, DWORD dwInstallMode, LPSTR szProduct,
+ LPCSTR szQualifier, DWORD dwInstallMode, LPCSTR szProduct,
DWORD Unused1, DWORD Unused2, LPSTR lpPathBuf,
- DWORD* pcchPathBuf)
+ LPDWORD pcchPathBuf)
{
LPWSTR szwComponent, szwQualifier = NULL, szwProduct = NULL;
UINT r = ERROR_OUTOFMEMORY;
diff --git a/dlls/msi/registry.c b/dlls/msi/registry.c
index 013d152..6aedc71 100644
--- a/dlls/msi/registry.c
+++ b/dlls/msi/registry.c
@@ -1387,7 +1387,7 @@
}
UINT WINAPI MsiEnumProductsExA( LPCSTR szProductCode, LPCSTR szUserSid,
- DWORD dwContext, DWORD dwIndex, LPSTR szInstalledProductCode,
+ DWORD dwContext, DWORD dwIndex, CHAR szInstalledProductCode[39],
MSIINSTALLCONTEXT* pdwInstalledContext, LPSTR szSid, LPDWORD pcchSid)
{
FIXME("%s %s %d %d %p %p %p %p\n", debugstr_a(szProductCode), debugstr_a(szUserSid),
@@ -1397,7 +1397,7 @@
}
UINT WINAPI MsiEnumProductsExW( LPCWSTR szProductCode, LPCWSTR szUserSid,
- DWORD dwContext, DWORD dwIndex, LPWSTR szInstalledProductCode,
+ DWORD dwContext, DWORD dwIndex, WCHAR szInstalledProductCode[39],
MSIINSTALLCONTEXT* pdwInstalledContext, LPWSTR szSid, LPDWORD pcchSid)
{
FIXME("%s %s %d %d %p %p %p %p\n", debugstr_w(szProductCode), debugstr_w(szUserSid),
diff --git a/include/msi.h b/include/msi.h
index 1f78c66..2956ae9 100644
--- a/include/msi.h
+++ b/include/msi.h
@@ -389,6 +389,10 @@
UINT WINAPI MsiEnumProductsW(DWORD, LPWSTR);
#define MsiEnumProducts WINELIB_NAME_AW(MsiEnumProducts)
+UINT WINAPI MsiEnumProductsExA(LPCSTR, LPCSTR, DWORD, DWORD, CHAR[39], MSIINSTALLCONTEXT*, LPSTR, LPDWORD);
+UINT WINAPI MsiEnumProductsExW(LPCWSTR, LPCWSTR, DWORD, DWORD, WCHAR[39], MSIINSTALLCONTEXT*, LPWSTR, LPDWORD);
+#define MsiEnumProductsEx WINELIB_NAME_AW(MsiEnumProductsEx)
+
UINT WINAPI MsiEnumFeaturesA(LPCSTR, DWORD, LPSTR, LPSTR);
UINT WINAPI MsiEnumFeaturesW(LPCWSTR, DWORD, LPWSTR, LPWSTR);
#define MsiEnumFeatures WINELIB_NAME_AW(MsiEnumFeatures)
@@ -421,8 +425,8 @@
UINT WINAPI MsiVerifyPackageW(LPCWSTR);
#define MsiVerifyPackage WINELIB_NAME_AW(MsiVerifyPackage)
-UINT WINAPI MsiQueryComponentStateA(LPSTR,LPSTR,MSIINSTALLCONTEXT,LPCSTR,INSTALLSTATE*);
-UINT WINAPI MsiQueryComponentStateW(LPWSTR,LPWSTR,MSIINSTALLCONTEXT,LPCWSTR,INSTALLSTATE*);
+UINT WINAPI MsiQueryComponentStateA(LPCSTR,LPCSTR,MSIINSTALLCONTEXT,LPCSTR,INSTALLSTATE*);
+UINT WINAPI MsiQueryComponentStateW(LPCWSTR,LPCWSTR,MSIINSTALLCONTEXT,LPCWSTR,INSTALLSTATE*);
#define MsiQueryComponentState WINELIB_NAME_AW(MsiQueryComponentState)
INSTALLSTATE WINAPI MsiQueryProductStateA(LPCSTR);
@@ -489,8 +493,8 @@
UINT WINAPI MsiMessageBoxW(HWND, LPCWSTR, LPCWSTR, UINT, WORD, DWORD);
#define MsiMessageBox WINELIB_NAME_AW(MsiMessageBox)
-UINT WINAPI MsiProvideQualifiedComponentExA(LPCSTR, LPCSTR, DWORD, LPSTR, DWORD, DWORD, LPSTR, DWORD*);
-UINT WINAPI MsiProvideQualifiedComponentExW(LPCWSTR, LPCWSTR, DWORD, LPWSTR, DWORD, DWORD, LPWSTR, DWORD*);
+UINT WINAPI MsiProvideQualifiedComponentExA(LPCSTR, LPCSTR, DWORD, LPCSTR, DWORD, DWORD, LPSTR, LPDWORD);
+UINT WINAPI MsiProvideQualifiedComponentExW(LPCWSTR, LPCWSTR, DWORD, LPCWSTR, DWORD, DWORD, LPWSTR, LPDWORD);
#define MsiProvideQualifiedComponentEx WINELIB_NAME_AW(MsiProvideQualifiedComponentEx)
UINT WINAPI MsiProvideQualifiedComponentA(LPCSTR, LPCSTR, DWORD, LPSTR, DWORD*);