ole: Add an accessor function for an apartment's window.

This commit is contained in:
Robert Shearman 2006-01-10 20:08:41 +01:00 committed by Alexandre Julliard
parent d175f154ba
commit fcba783fc7
3 changed files with 9 additions and 2 deletions

View File

@ -422,6 +422,12 @@ static LRESULT CALLBACK apartment_wndproc(HWND hWnd, UINT msg, WPARAM wParam, LP
}
}
HWND apartment_getwindow(struct apartment *apt)
{
assert(apt->model & COINIT_APARTMENTTHREADED);
return apt->win;
}
void apartment_joinmta(void)
{
apartment_addref(MTA);

View File

@ -230,6 +230,7 @@ static inline HRESULT apartment_getoxid(struct apartment *apt, OXID *oxid)
*oxid = apt->oxid;
return S_OK;
}
HWND apartment_getwindow(struct apartment *apt);
void apartment_joinmta(void);

View File

@ -254,7 +254,7 @@ static HRESULT WINAPI RpcChannelBuffer_SendReceive(LPRPCCHANNELBUFFER iface, RPC
TRACE("Calling apartment thread 0x%08lx...\n", apt->tid);
if (!PostMessageW(apt->win, DM_EXECUTERPC, 0, (LPARAM)params))
if (!PostMessageW(apartment_getwindow(apt), DM_EXECUTERPC, 0, (LPARAM)params))
{
ERR("PostMessage failed with error %ld\n", GetLastError());
hr = HRESULT_FROM_WIN32(GetLastError());
@ -509,7 +509,7 @@ static void __RPC_STUB dispatch_rpc(RPC_MESSAGE *msg)
TRACE("Calling apartment thread 0x%08lx...\n", apt->tid);
if (PostMessageW(apt->win, DM_EXECUTERPC, 0, (LPARAM)params))
if (PostMessageW(apartment_getwindow(apt), DM_EXECUTERPC, 0, (LPARAM)params))
WaitForSingleObject(params->handle, INFINITE);
else
{