msi.spec different parameter count of exported functions
Marcus Meissner
meissner at suse.de
Tue Mar 22 03:46:52 CST 2005
On Tue, Mar 22, 2005 at 12:19:17AM +0100, Stefan Leichter wrote:
> Hello,
>
> when played with native msi.dll i found three functions with have a different
> parameter count between msi.spec of wine and the native dll. Here are the
> snoop logs of the native dll and wine:
>
> 0009:RET msi.MsiDatabaseImportA(00000000,00000000,00000000) retval=00000006
> ret=004013fc
> 0009:RET msi.MsiDatabaseImportW(00000000,00000000,00000000) retval=00000006
> ret=004013fc
> 0009:RET msi.MsiCreateAndVerifyInstallerDirectory(00000000) retval=00000000
> ret=004013fc
>
> I have used the msi.dll version 2.6.2600.11833 for testing. The question now
> is: Can we trust the +snoop logging?
No, snoop is just using heuristics.
MSDN says 3 arguments for MsiDatabaseImport*.
MsiCreateAndVerifyInstallerDirectory is not documented in MSDN, looking for
a "retn X" instruction in assembly finds "retn 4".
Ciao, Marcus
Changelog:
Correct number of arguments for MsiDatabaseImport*,
MsiCreateAndVerifyInstallerDirectory stubs.
Index: dlls/msi/msi.c
===================================================================
RCS file: /home/wine/wine/dlls/msi/msi.c,v
retrieving revision 1.67
diff -u -r1.67 msi.c
--- dlls/msi/msi.c 10 Mar 2005 11:15:40 -0000 1.67
+++ dlls/msi/msi.c 22 Mar 2005 09:46:09 -0000
@@ -701,15 +701,15 @@
return hr;
}
-UINT WINAPI MsiDatabaseImportA(LPCSTR szFolderPath, LPCSTR szFilename)
+UINT WINAPI MsiDatabaseImportA(MSIHANDLE handle, LPCSTR szFolderPath, LPCSTR szFilename)
{
- FIXME("%s %s\n",debugstr_a(szFolderPath), debugstr_a(szFilename));
+ FIXME("%lx %s %s\n",handle,debugstr_a(szFolderPath), debugstr_a(szFilename));
return ERROR_CALL_NOT_IMPLEMENTED;
}
-UINT WINAPI MsiDatabaseImportW(LPCWSTR szFolderPath, LPCWSTR szFilename)
+UINT WINAPI MsiDatabaseImportW(MSIHANDLE handle, LPCWSTR szFolderPath, LPCWSTR szFilename)
{
- FIXME("%s %s\n",debugstr_w(szFolderPath), debugstr_w(szFilename));
+ FIXME("%lx %s %s\n",handle,debugstr_w(szFolderPath), debugstr_w(szFilename));
return ERROR_CALL_NOT_IMPLEMENTED;
}
@@ -1580,9 +1580,9 @@
return ERROR_CALL_NOT_IMPLEMENTED;
}
-UINT WINAPI MsiCreateAndVerifyInstallerDirectory(void)
+UINT WINAPI MsiCreateAndVerifyInstallerDirectory(DWORD dwReserved)
{
- FIXME("\n");
+ FIXME("%ld\n", dwReserved);
return ERROR_CALL_NOT_IMPLEMENTED;
}
Index: dlls/msi/msi.spec
===================================================================
RCS file: /home/wine/wine/dlls/msi/msi.spec,v
retrieving revision 1.33
diff -u -r1.33 msi.spec
--- dlls/msi/msi.spec 16 Feb 2005 16:24:38 -0000 1.33
+++ dlls/msi/msi.spec 22 Mar 2005 09:46:09 -0000
@@ -24,8 +24,8 @@
24 stdcall MsiDatabaseGenerateTransformW(long long wstr long long)
25 stdcall MsiDatabaseGetPrimaryKeysA(long str ptr)
26 stdcall MsiDatabaseGetPrimaryKeysW(long wstr ptr)
-27 stdcall MsiDatabaseImportA(str str)
-28 stdcall MsiDatabaseImportW(wstr wstr)
+27 stdcall MsiDatabaseImportA(str str long)
+28 stdcall MsiDatabaseImportW(wstr wstr long)
29 stub MsiDatabaseMergeA
30 stub MsiDatabaseMergeW
31 stdcall MsiDatabaseOpenViewA(long str ptr)
@@ -219,7 +219,7 @@
219 stub MsiGetFileHashW
220 stub MsiEnumComponentCostsA
221 stub MsiEnumComponentCostsW
-222 stdcall MsiCreateAndVerifyInstallerDirectory()
+222 stdcall MsiCreateAndVerifyInstallerDirectory(long)
223 stdcall MsiGetFileSignatureInformationA(str long ptr ptr ptr)
224 stdcall MsiGetFileSignatureInformationW(wstr long ptr ptr ptr)
225 stdcall MsiProvideAssemblyA(str str long long str ptr)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20050322/e8d10a1d/attachment.pgp
More information about the wine-devel
mailing list