mstask: Implement ClassFactory, DllGetClassObject, and DllCanUnloadNow.
diff --git a/dlls/mstask/mstask_main.c b/dlls/mstask/mstask_main.c
index b1984eb..61e0a99 100644
--- a/dlls/mstask/mstask_main.c
+++ b/dlls/mstask/mstask_main.c
@@ -21,6 +21,8 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL(mstask);
 
+LONG dll_ref = 0;
+
 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
 {
     TRACE("(%p, %d, %p)\n", hinstDLL, fdwReason, lpvReserved);
@@ -38,3 +40,20 @@
 
     return TRUE;
 }
+
+HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID iid, LPVOID *ppv)
+{
+    TRACE("(%s %s %p)\n", debugstr_guid(rclsid), debugstr_guid(iid), ppv);
+
+    if (IsEqualGUID(rclsid, &CLSID_CTaskScheduler)) {
+        return IClassFactory_QueryInterface((LPCLASSFACTORY)&MSTASK_ClassFactory, iid, ppv);
+    }
+
+    FIXME("Not supported class: %s\n", debugstr_guid(rclsid));
+    return CLASS_E_CLASSNOTAVAILABLE;
+}
+
+HRESULT WINAPI DllCanUnloadNow(void)
+{
+    return dll_ref != 0 ? S_FALSE : S_OK;
+}