push a68a33e62d41ba03b0e27371e671eaa1e09ebd44
[wine/hacks.git] / dlls / mstask / mstask_main.c
blob61e0a99c813725f0a703f580fa47463c73ba359b
1 /*
2 * Copyright (C) 2008 Google (Roy Shea)
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #include "mstask_private.h"
20 #include "wine/debug.h"
22 WINE_DEFAULT_DEBUG_CHANNEL(mstask);
24 LONG dll_ref = 0;
26 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
28 TRACE("(%p, %d, %p)\n", hinstDLL, fdwReason, lpvReserved);
30 switch (fdwReason)
32 case DLL_WINE_PREATTACH:
33 return FALSE;
34 case DLL_PROCESS_ATTACH:
35 DisableThreadLibraryCalls(hinstDLL);
36 break;
37 case DLL_PROCESS_DETACH:
38 break;
41 return TRUE;
44 HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID iid, LPVOID *ppv)
46 TRACE("(%s %s %p)\n", debugstr_guid(rclsid), debugstr_guid(iid), ppv);
48 if (IsEqualGUID(rclsid, &CLSID_CTaskScheduler)) {
49 return IClassFactory_QueryInterface((LPCLASSFACTORY)&MSTASK_ClassFactory, iid, ppv);
52 FIXME("Not supported class: %s\n", debugstr_guid(rclsid));
53 return CLASS_E_CLASSNOTAVAILABLE;
56 HRESULT WINAPI DllCanUnloadNow(void)
58 return dll_ref != 0 ? S_FALSE : S_OK;