* Sync with Wine 1.7.1.
CORE-7469

svn path=/trunk/; revision=60334
This commit is contained in:
Amine Khaldi 2013-09-23 11:33:50 +00:00
parent 7882bfa033
commit ee3382a831
6 changed files with 57 additions and 27 deletions

View file

@ -1,10 +1,4 @@
remove_definitions(-DWINVER=0x502)
add_definitions(-DWINVER=0x600)
remove_definitions(-D_WIN32_WINNT=0x502)
add_definitions(-D_WIN32_WINNT=0x600)
add_definitions(-D__WINESRC__) add_definitions(-D__WINESRC__)
include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine)
generate_idl_iids(mstask_local.idl) generate_idl_iids(mstask_local.idl)
@ -16,12 +10,11 @@ list(APPEND SOURCE
task.c task.c
task_scheduler.c task_scheduler.c
task_trigger.c task_trigger.c
rsrc.rc
${CMAKE_CURRENT_BINARY_DIR}/mstask_local_i.c ${CMAKE_CURRENT_BINARY_DIR}/mstask_local_i.c
${CMAKE_CURRENT_BINARY_DIR}/mstask_stubs.c ${CMAKE_CURRENT_BINARY_DIR}/mstask_stubs.c
${CMAKE_CURRENT_BINARY_DIR}/mstask.def) ${CMAKE_CURRENT_BINARY_DIR}/mstask.def)
add_library(mstask SHARED ${SOURCE}) add_library(mstask SHARED ${SOURCE} rsrc.rc)
set_module_type(mstask win32dll) set_module_type(mstask win32dll)
target_link_libraries(mstask uuid wine) target_link_libraries(mstask uuid wine)
add_importlibs(mstask ole32 msvcrt kernel32 ntdll) add_importlibs(mstask ole32 msvcrt kernel32 ntdll)

View file

@ -56,14 +56,14 @@ static HRESULT WINAPI MSTASK_IClassFactory_QueryInterface(
return E_NOINTERFACE; return E_NOINTERFACE;
} }
static ULONG WINAPI MSTASK_IClassFactory_AddRef(LPCLASSFACTORY iface) static ULONG WINAPI MSTASK_IClassFactory_AddRef(IClassFactory *face)
{ {
TRACE("\n"); TRACE("\n");
InterlockedIncrement(&dll_ref); InterlockedIncrement(&dll_ref);
return 2; return 2;
} }
static ULONG WINAPI MSTASK_IClassFactory_Release(LPCLASSFACTORY iface) static ULONG WINAPI MSTASK_IClassFactory_Release(IClassFactory *iface)
{ {
TRACE("\n"); TRACE("\n");
InterlockedDecrement(&dll_ref); InterlockedDecrement(&dll_ref);
@ -71,8 +71,8 @@ static ULONG WINAPI MSTASK_IClassFactory_Release(LPCLASSFACTORY iface)
} }
static HRESULT WINAPI MSTASK_IClassFactory_CreateInstance( static HRESULT WINAPI MSTASK_IClassFactory_CreateInstance(
LPCLASSFACTORY iface, IClassFactory *iface,
LPUNKNOWN pUnkOuter, IUnknown *pUnkOuter,
REFIID riid, REFIID riid,
LPVOID *ppvObj) LPVOID *ppvObj)
{ {
@ -89,21 +89,21 @@ static HRESULT WINAPI MSTASK_IClassFactory_CreateInstance(
if (FAILED(res)) if (FAILED(res))
return res; return res;
res = ITaskScheduler_QueryInterface(punk, riid, ppvObj); res = IUnknown_QueryInterface(punk, riid, ppvObj);
ITaskScheduler_Release(punk); IUnknown_Release(punk);
return res; return res;
} }
static HRESULT WINAPI MSTASK_IClassFactory_LockServer( static HRESULT WINAPI MSTASK_IClassFactory_LockServer(
LPCLASSFACTORY iface, IClassFactory *iface,
BOOL fLock) BOOL fLock)
{ {
TRACE("\n"); TRACE("\n");
if (fLock != FALSE) if (fLock)
MSTASK_IClassFactory_AddRef(iface); IClassFactory_AddRef(iface);
else else
MSTASK_IClassFactory_Release(iface); IClassFactory_Release(iface);
return S_OK; return S_OK;
} }

View file

@ -42,8 +42,6 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
DisableThreadLibraryCalls(hinstDLL); DisableThreadLibraryCalls(hinstDLL);
hInst = hinstDLL; hInst = hinstDLL;
break; break;
case DLL_PROCESS_DETACH:
break;
} }
return TRUE; return TRUE;

View file

@ -89,16 +89,57 @@ static HRESULT WINAPI MSTASK_ITaskScheduler_SetTargetComputer(
ITaskScheduler* iface, ITaskScheduler* iface,
LPCWSTR pwszComputer) LPCWSTR pwszComputer)
{ {
FIXME("%p, %s: stub\n", iface, debugstr_w(pwszComputer)); TaskSchedulerImpl *This = impl_from_ITaskScheduler(iface);
return E_NOTIMPL; WCHAR buffer[MAX_COMPUTERNAME_LENGTH + 3]; /* extra space for two '\' and a zero */
DWORD len = MAX_COMPUTERNAME_LENGTH + 1; /* extra space for a zero */
TRACE("(%p)->(%s)\n", This, debugstr_w(pwszComputer));
/* NULL is an alias for the local computer */
if (!pwszComputer)
return S_OK;
buffer[0] = '\\';
buffer[1] = '\\';
if (GetComputerNameW(buffer + 2, &len))
{
if (!lstrcmpiW(buffer, pwszComputer) || /* full unc name */
!lstrcmpiW(buffer + 2, pwszComputer)) /* name without backslash */
return S_OK;
}
FIXME("remote computer %s not supported\n", debugstr_w(pwszComputer));
return HRESULT_FROM_WIN32(ERROR_BAD_NETPATH);
} }
static HRESULT WINAPI MSTASK_ITaskScheduler_GetTargetComputer( static HRESULT WINAPI MSTASK_ITaskScheduler_GetTargetComputer(
ITaskScheduler* iface, ITaskScheduler* iface,
LPWSTR *ppwszComputer) LPWSTR *ppwszComputer)
{ {
FIXME("%p, %p: stub\n", iface, ppwszComputer); TaskSchedulerImpl *This = impl_from_ITaskScheduler(iface);
return E_NOTIMPL; LPWSTR buffer;
DWORD len = MAX_COMPUTERNAME_LENGTH + 1; /* extra space for the zero */
TRACE("(%p)->(%p)\n", This, ppwszComputer);
if (!ppwszComputer)
return E_INVALIDARG;
/* extra space for two '\' and a zero */
buffer = CoTaskMemAlloc((MAX_COMPUTERNAME_LENGTH + 3) * sizeof(WCHAR));
if (buffer)
{
buffer[0] = '\\';
buffer[1] = '\\';
if (GetComputerNameW(buffer + 2, &len))
{
*ppwszComputer = buffer;
return S_OK;
}
CoTaskMemFree(buffer);
}
*ppwszComputer = NULL;
return HRESULT_FROM_WIN32(GetLastError());
} }
static HRESULT WINAPI MSTASK_ITaskScheduler_Enum( static HRESULT WINAPI MSTASK_ITaskScheduler_Enum(

View file

@ -142,8 +142,6 @@ static HRESULT WINAPI MSTASK_ITaskTrigger_SetTrigger(
if (pTrigger->MinutesDuration <= pTrigger->MinutesInterval && if (pTrigger->MinutesDuration <= pTrigger->MinutesInterval &&
pTrigger->MinutesInterval > 0) pTrigger->MinutesInterval > 0)
return E_INVALIDARG; return E_INVALIDARG;
if (pTrigger->MinutesDuration > 0 && pTrigger->MinutesInterval == 0)
return E_INVALIDARG;
tmp_trigger_cond.MinutesDuration = pTrigger->MinutesDuration; tmp_trigger_cond.MinutesDuration = pTrigger->MinutesDuration;
tmp_trigger_cond.MinutesInterval = pTrigger->MinutesInterval; tmp_trigger_cond.MinutesInterval = pTrigger->MinutesInterval;

View file

@ -125,7 +125,7 @@ reactos/dll/win32/msnet32 # Synced to Wine-1.5.19
reactos/dll/win32/msrle32 # Synced to Wine-1.7.1 reactos/dll/win32/msrle32 # Synced to Wine-1.7.1
reactos/dll/win32/mssign32 # Synced to Wine-1.7.1 reactos/dll/win32/mssign32 # Synced to Wine-1.7.1
reactos/dll/win32/mssip32 # Synced to Wine-1.7.1 reactos/dll/win32/mssip32 # Synced to Wine-1.7.1
reactos/dll/win32/mstask # Synced to Wine-1.5.4 reactos/dll/win32/mstask # Synced to Wine-1.7.1
reactos/dll/win32/msvcrt20 # Out of sync reactos/dll/win32/msvcrt20 # Out of sync
reactos/dll/win32/msvcrt40 # Out of sync reactos/dll/win32/msvcrt40 # Out of sync
reactos/dll/win32/msvfw32 # Autosync reactos/dll/win32/msvfw32 # Autosync