extern HRESULT WINAPI QUARTZ_DllCanUnloadNow(void) DECLSPEC_HIDDEN;
extern BOOL WINAPI QUARTZ_DllMain(HINSTANCE, DWORD, LPVOID) DECLSPEC_HIDDEN;
+static LONG server_locks = 0;
+
/* For the moment, do nothing here. */
BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
{
{
IClassFactoryImpl *This = impl_from_IClassFactory(iface);
FIXME("(%p)->(%d),stub!\n",This,dolock);
+ if(dolock)
+ InterlockedIncrement(&server_locks);
+ else
+ InterlockedDecrement(&server_locks);
return S_OK;
}
*/
HRESULT WINAPI DllCanUnloadNow(void)
{
- return QUARTZ_DllCanUnloadNow();
+ if(server_locks == 0 && QUARTZ_DllCanUnloadNow() == S_OK)
+ return S_OK;
+ return S_FALSE;
}