Commit 9ab15d4e authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

msi: Make MsiViewClose() RPC-compatible.

parent 2ca4c836
...@@ -440,9 +440,16 @@ UINT WINAPI MsiViewClose(MSIHANDLE hView) ...@@ -440,9 +440,16 @@ UINT WINAPI MsiViewClose(MSIHANDLE hView)
TRACE("%d\n", hView ); TRACE("%d\n", hView );
query = msihandle2msiinfo( hView, MSIHANDLETYPE_VIEW ); query = msihandle2msiinfo( hView, MSIHANDLETYPE_VIEW );
if( !query ) if (!query)
{
MSIHANDLE remote;
if (!(remote = msi_get_remote(hView)))
return ERROR_INVALID_HANDLE; return ERROR_INVALID_HANDLE;
return remote_ViewClose(remote);
}
ret = MSI_ViewClose( query ); ret = MSI_ViewClose( query );
msiobj_release( &query->hdr ); msiobj_release( &query->hdr );
return ret; return ret;
...@@ -1055,6 +1062,11 @@ MSICONDITION WINAPI MsiDatabaseIsTablePersistentW( ...@@ -1055,6 +1062,11 @@ MSICONDITION WINAPI MsiDatabaseIsTablePersistentW(
return r; return r;
} }
UINT __cdecl remote_ViewClose(MSIHANDLE view)
{
return MsiViewClose(view);
}
UINT __cdecl remote_ViewExecute(MSIHANDLE view, struct wire_record *remote_rec) UINT __cdecl remote_ViewExecute(MSIHANDLE view, struct wire_record *remote_rec)
{ {
MSIHANDLE rec = 0; MSIHANDLE rec = 0;
......
...@@ -316,6 +316,9 @@ static void test_db(MSIHANDLE hinst) ...@@ -316,6 +316,9 @@ static void test_db(MSIHANDLE hinst)
ok(hinst, r == ERROR_NO_MORE_ITEMS, "got %u\n", r); ok(hinst, r == ERROR_NO_MORE_ITEMS, "got %u\n", r);
ok(hinst, !rec2, "got %u\n", rec2); ok(hinst, !rec2, "got %u\n", rec2);
r = MsiViewClose(view);
ok(hinst, !r, "got %u\n", r);
r = MsiCloseHandle(view); r = MsiCloseHandle(view);
ok(hinst, !r, "got %u\n", r); ok(hinst, !r, "got %u\n", r);
......
...@@ -56,6 +56,7 @@ struct wire_record { ...@@ -56,6 +56,7 @@ struct wire_record {
] ]
interface IWineMsiRemote interface IWineMsiRemote
{ {
UINT remote_ViewClose( [in] MSIHANDLE view );
UINT remote_ViewExecute( [in] MSIHANDLE view, [in, unique] struct wire_record *record ); UINT remote_ViewExecute( [in] MSIHANDLE view, [in, unique] struct wire_record *record );
UINT remote_ViewFetch( [in] MSIHANDLE view, [out] struct wire_record **record ); UINT remote_ViewFetch( [in] MSIHANDLE view, [out] struct wire_record **record );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment