mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 01:15:09 +00:00
[MSTASK]
* Sync with Wine 1.7.1. CORE-7469 svn path=/trunk/; revision=60334
This commit is contained in:
parent
7882bfa033
commit
ee3382a831
6 changed files with 57 additions and 27 deletions
|
@ -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__)
|
||||
include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine)
|
||||
generate_idl_iids(mstask_local.idl)
|
||||
|
@ -16,12 +10,11 @@ list(APPEND SOURCE
|
|||
task.c
|
||||
task_scheduler.c
|
||||
task_trigger.c
|
||||
rsrc.rc
|
||||
${CMAKE_CURRENT_BINARY_DIR}/mstask_local_i.c
|
||||
${CMAKE_CURRENT_BINARY_DIR}/mstask_stubs.c
|
||||
${CMAKE_CURRENT_BINARY_DIR}/mstask.def)
|
||||
|
||||
add_library(mstask SHARED ${SOURCE})
|
||||
add_library(mstask SHARED ${SOURCE} rsrc.rc)
|
||||
set_module_type(mstask win32dll)
|
||||
target_link_libraries(mstask uuid wine)
|
||||
add_importlibs(mstask ole32 msvcrt kernel32 ntdll)
|
||||
|
|
|
@ -56,14 +56,14 @@ static HRESULT WINAPI MSTASK_IClassFactory_QueryInterface(
|
|||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
static ULONG WINAPI MSTASK_IClassFactory_AddRef(LPCLASSFACTORY iface)
|
||||
static ULONG WINAPI MSTASK_IClassFactory_AddRef(IClassFactory *face)
|
||||
{
|
||||
TRACE("\n");
|
||||
InterlockedIncrement(&dll_ref);
|
||||
return 2;
|
||||
}
|
||||
|
||||
static ULONG WINAPI MSTASK_IClassFactory_Release(LPCLASSFACTORY iface)
|
||||
static ULONG WINAPI MSTASK_IClassFactory_Release(IClassFactory *iface)
|
||||
{
|
||||
TRACE("\n");
|
||||
InterlockedDecrement(&dll_ref);
|
||||
|
@ -71,8 +71,8 @@ static ULONG WINAPI MSTASK_IClassFactory_Release(LPCLASSFACTORY iface)
|
|||
}
|
||||
|
||||
static HRESULT WINAPI MSTASK_IClassFactory_CreateInstance(
|
||||
LPCLASSFACTORY iface,
|
||||
LPUNKNOWN pUnkOuter,
|
||||
IClassFactory *iface,
|
||||
IUnknown *pUnkOuter,
|
||||
REFIID riid,
|
||||
LPVOID *ppvObj)
|
||||
{
|
||||
|
@ -89,21 +89,21 @@ static HRESULT WINAPI MSTASK_IClassFactory_CreateInstance(
|
|||
if (FAILED(res))
|
||||
return res;
|
||||
|
||||
res = ITaskScheduler_QueryInterface(punk, riid, ppvObj);
|
||||
ITaskScheduler_Release(punk);
|
||||
res = IUnknown_QueryInterface(punk, riid, ppvObj);
|
||||
IUnknown_Release(punk);
|
||||
return res;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI MSTASK_IClassFactory_LockServer(
|
||||
LPCLASSFACTORY iface,
|
||||
IClassFactory *iface,
|
||||
BOOL fLock)
|
||||
{
|
||||
TRACE("\n");
|
||||
|
||||
if (fLock != FALSE)
|
||||
MSTASK_IClassFactory_AddRef(iface);
|
||||
if (fLock)
|
||||
IClassFactory_AddRef(iface);
|
||||
else
|
||||
MSTASK_IClassFactory_Release(iface);
|
||||
IClassFactory_Release(iface);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -42,8 +42,6 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
|||
DisableThreadLibraryCalls(hinstDLL);
|
||||
hInst = hinstDLL;
|
||||
break;
|
||||
case DLL_PROCESS_DETACH:
|
||||
break;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
|
|
|
@ -89,16 +89,57 @@ static HRESULT WINAPI MSTASK_ITaskScheduler_SetTargetComputer(
|
|||
ITaskScheduler* iface,
|
||||
LPCWSTR pwszComputer)
|
||||
{
|
||||
FIXME("%p, %s: stub\n", iface, debugstr_w(pwszComputer));
|
||||
return E_NOTIMPL;
|
||||
TaskSchedulerImpl *This = impl_from_ITaskScheduler(iface);
|
||||
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(
|
||||
ITaskScheduler* iface,
|
||||
LPWSTR *ppwszComputer)
|
||||
{
|
||||
FIXME("%p, %p: stub\n", iface, ppwszComputer);
|
||||
return E_NOTIMPL;
|
||||
TaskSchedulerImpl *This = impl_from_ITaskScheduler(iface);
|
||||
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(
|
||||
|
|
|
@ -142,8 +142,6 @@ static HRESULT WINAPI MSTASK_ITaskTrigger_SetTrigger(
|
|||
if (pTrigger->MinutesDuration <= pTrigger->MinutesInterval &&
|
||||
pTrigger->MinutesInterval > 0)
|
||||
return E_INVALIDARG;
|
||||
if (pTrigger->MinutesDuration > 0 && pTrigger->MinutesInterval == 0)
|
||||
return E_INVALIDARG;
|
||||
tmp_trigger_cond.MinutesDuration = pTrigger->MinutesDuration;
|
||||
tmp_trigger_cond.MinutesInterval = pTrigger->MinutesInterval;
|
||||
|
||||
|
|
|
@ -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/mssign32 # 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/msvcrt40 # Out of sync
|
||||
reactos/dll/win32/msvfw32 # Autosync
|
||||
|
|
Loading…
Reference in a new issue