taskschd: Add registration for TaskScheduler interfaces.

This commit is contained in:
Dmitry Timoshkov 2013-12-24 19:56:00 +09:00 committed by Alexandre Julliard
parent 58b1b6b77f
commit c0ecc10257
6 changed files with 47 additions and 4 deletions

2
configure vendored
View File

@ -17152,7 +17152,7 @@ wine_fn_config_test dlls/sxs/tests sxs_test
wine_fn_config_dll system.drv16 enable_win16 wine_fn_config_dll system.drv16 enable_win16
wine_fn_config_dll t2embed enable_t2embed wine_fn_config_dll t2embed enable_t2embed
wine_fn_config_dll tapi32 enable_tapi32 implib wine_fn_config_dll tapi32 enable_tapi32 implib
wine_fn_config_dll taskschd enable_taskschd wine_fn_config_dll taskschd enable_taskschd clean
wine_fn_config_dll toolhelp.dll16 enable_win16 wine_fn_config_dll toolhelp.dll16 enable_win16
wine_fn_config_dll traffic enable_traffic wine_fn_config_dll traffic enable_traffic
wine_fn_config_dll twain.dll16 enable_win16 wine_fn_config_dll twain.dll16 enable_win16

View File

@ -3195,7 +3195,7 @@ WINE_CONFIG_TEST(dlls/sxs/tests)
WINE_CONFIG_DLL(system.drv16,enable_win16) WINE_CONFIG_DLL(system.drv16,enable_win16)
WINE_CONFIG_DLL(t2embed) WINE_CONFIG_DLL(t2embed)
WINE_CONFIG_DLL(tapi32,,[implib]) WINE_CONFIG_DLL(tapi32,,[implib])
WINE_CONFIG_DLL(taskschd) WINE_CONFIG_DLL(taskschd,,[clean])
WINE_CONFIG_DLL(toolhelp.dll16,enable_win16) WINE_CONFIG_DLL(toolhelp.dll16,enable_win16)
WINE_CONFIG_DLL(traffic) WINE_CONFIG_DLL(traffic)
WINE_CONFIG_DLL(twain.dll16,enable_win16) WINE_CONFIG_DLL(twain.dll16,enable_win16)

View File

@ -4,4 +4,6 @@ C_SRCS = \
task.c \ task.c \
taskschd.c taskschd.c
IDL_TLB_SRCS = taskschd_tlb.idl
@MAKE_DLL_RULES@ @MAKE_DLL_RULES@

View File

@ -26,6 +26,7 @@
#include "windef.h" #include "windef.h"
#include "winbase.h" #include "winbase.h"
#include "objbase.h" #include "objbase.h"
#include "rpcproxy.h"
#include "taskschd.h" #include "taskschd.h"
#include "taskschd_private.h" #include "taskschd_private.h"
@ -33,6 +34,8 @@
WINE_DEFAULT_DEBUG_CHANNEL(taskschd); WINE_DEFAULT_DEBUG_CHANNEL(taskschd);
static HINSTANCE schd_instance;
typedef struct typedef struct
{ {
IClassFactory IClassFactory_iface; IClassFactory IClassFactory_iface;
@ -123,6 +126,7 @@ BOOL WINAPI DllMain(HINSTANCE hinst, DWORD reason, LPVOID reserved)
return FALSE; /* prefer native version */ return FALSE; /* prefer native version */
case DLL_PROCESS_ATTACH: case DLL_PROCESS_ATTACH:
schd_instance = hinst;
DisableThreadLibraryCalls(hinst); DisableThreadLibraryCalls(hinst);
break; break;
} }
@ -161,6 +165,22 @@ HRESULT WINAPI DllCanUnloadNow(void)
return S_FALSE; return S_FALSE;
} }
/***********************************************************************
* DllRegisterServer
*/
HRESULT WINAPI DllRegisterServer(void)
{
return __wine_register_resources(schd_instance);
}
/***********************************************************************
* DllUnregisterServer
*/
HRESULT WINAPI DllUnregisterServer(void)
{
return __wine_unregister_resources(schd_instance);
}
const char *debugstr_variant(const VARIANT *v) const char *debugstr_variant(const VARIANT *v)
{ {
if (!v) return "(null)"; if (!v) return "(null)";

View File

@ -1,5 +1,5 @@
@ stdcall -private DllCanUnloadNow() @ stdcall -private DllCanUnloadNow()
@ stdcall -private DllGetClassObject(ptr ptr ptr) @ stdcall -private DllGetClassObject(ptr ptr ptr)
@ stub DllGetVersion @ stub DllGetVersion
@ stub DllRegisterServer @ stdcall -private DllRegisterServer()
@ stub DllUnregisterServer @ stdcall -private DllUnregisterServer()

View File

@ -0,0 +1,21 @@
/*
* Copyright 2013 Dmitry Timoshkov
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#pragma makedep regtypelib
#include "taskschd.idl"