atl100: Added AtlWaitWithMessageLoop implementation.

This commit is contained in:
Jacek Caban 2013-01-10 13:27:05 +01:00 committed by Alexandre Julliard
parent 07065b4d93
commit 0c67e653c0
5 changed files with 32 additions and 3 deletions

View File

@ -16,7 +16,7 @@
21 stdcall AtlModuleTerm(ptr) 21 stdcall AtlModuleTerm(ptr)
22 stdcall AtlModuleUnregisterServer(ptr ptr) 22 stdcall AtlModuleUnregisterServer(ptr ptr)
23 stdcall AtlModuleUpdateRegistryFromResourceD(ptr wstr long ptr ptr) 23 stdcall AtlModuleUpdateRegistryFromResourceD(ptr wstr long ptr ptr)
24 stub AtlWaitWithMessageLoop 24 stdcall AtlWaitWithMessageLoop(long) atl100.AtlWaitWithMessageLoop
25 stub AtlSetErrorInfo 25 stub AtlSetErrorInfo
26 stdcall AtlCreateTargetDC(long ptr) atl100.AtlCreateTargetDC 26 stdcall AtlCreateTargetDC(long ptr) atl100.AtlCreateTargetDC
27 stdcall AtlHiMetricToPixel(ptr ptr) atl100.AtlHiMetricToPixel 27 stdcall AtlHiMetricToPixel(ptr ptr) atl100.AtlHiMetricToPixel

View File

@ -517,6 +517,34 @@ HRESULT WINAPI AtlRegisterClassCategoriesHelper(REFCLSID clsid, const struct _AT
return S_OK; return S_OK;
} }
/***********************************************************************
* AtlWaitWithMessageLoop [atl100.24]
*/
BOOL WINAPI AtlWaitWithMessageLoop(HANDLE handle)
{
MSG msg;
DWORD res;
TRACE("(%p)\n", handle);
while(1) {
res = MsgWaitForMultipleObjects(1, &handle, FALSE, INFINITE, QS_ALLINPUT);
switch(res) {
case WAIT_OBJECT_0:
return TRUE;
case WAIT_OBJECT_0+1:
if(GetMessageW(&msg, NULL, 0, 0) < 0)
return FALSE;
TranslateMessage(&msg);
DispatchMessageW(&msg);
break;
default:
return FALSE;
}
}
}
/*********************************************************************** /***********************************************************************
* AtlGetVersion [atl100.@] * AtlGetVersion [atl100.@]
*/ */

View File

@ -8,7 +8,7 @@
20 stub AtlComModuleRevokeClassObjects 20 stub AtlComModuleRevokeClassObjects
22 stub AtlComModuleUnregisterServer 22 stub AtlComModuleUnregisterServer
23 stdcall AtlUpdateRegistryFromResourceD(long wstr long ptr ptr) 23 stdcall AtlUpdateRegistryFromResourceD(long wstr long ptr ptr)
24 stub AtlWaitWithMessageLoop 24 stdcall AtlWaitWithMessageLoop(long)
25 stub AtlSetErrorInfo 25 stub AtlSetErrorInfo
26 stdcall AtlCreateTargetDC(long ptr) 26 stdcall AtlCreateTargetDC(long ptr)
27 stdcall AtlHiMetricToPixel(ptr ptr) 27 stdcall AtlHiMetricToPixel(ptr ptr)

View File

@ -10,7 +10,7 @@
20 stub AtlComModuleRevokeClassObjects 20 stub AtlComModuleRevokeClassObjects
22 stub AtlComModuleUnregisterServer 22 stub AtlComModuleUnregisterServer
23 stdcall AtlUpdateRegistryFromResourceD(long wstr long ptr ptr) atl100.AtlUpdateRegistryFromResourceD 23 stdcall AtlUpdateRegistryFromResourceD(long wstr long ptr ptr) atl100.AtlUpdateRegistryFromResourceD
24 stub AtlWaitWithMessageLoop 24 stdcall AtlWaitWithMessageLoop(long) atl100.AtlWaitWithMessageLoop
25 stub AtlSetErrorInfo 25 stub AtlSetErrorInfo
26 stdcall AtlCreateTargetDC(long ptr) atl100.AtlCreateTargetDC 26 stdcall AtlCreateTargetDC(long ptr) atl100.AtlCreateTargetDC
27 stdcall AtlHiMetricToPixel(ptr ptr) atl100.AtlHiMetricToPixel 27 stdcall AtlHiMetricToPixel(ptr ptr) atl100.AtlHiMetricToPixel

View File

@ -255,5 +255,6 @@ HRESULT WINAPI AtlLoadTypeLib(HINSTANCE,LPCOLESTR,BSTR*,ITypeLib**);
HRESULT WINAPI AtlRegisterTypeLib(HINSTANCE,LPCOLESTR); HRESULT WINAPI AtlRegisterTypeLib(HINSTANCE,LPCOLESTR);
HRESULT WINAPI AtlRegisterClassCategoriesHelper(REFCLSID,const struct _ATL_CATMAP_ENTRY*,BOOL); HRESULT WINAPI AtlRegisterClassCategoriesHelper(REFCLSID,const struct _ATL_CATMAP_ENTRY*,BOOL);
HRESULT WINAPI AtlComModuleGetClassObject(_ATL_COM_MODULE*,REFCLSID,REFIID,void**); HRESULT WINAPI AtlComModuleGetClassObject(_ATL_COM_MODULE*,REFCLSID,REFIID,void**);
BOOL WINAPI AtlWaitWithMessageLoop(HANDLE);
#endif /* __WINE_ATLBASE_H__ */ #endif /* __WINE_ATLBASE_H__ */