taskschd: Implement IExecAction_put_Path.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Hans Leidekker 2017-11-30 09:37:10 +01:00 committed by Alexandre Julliard
parent 8d739937d3
commit e0fbe82e66
1 changed files with 12 additions and 1 deletions

View File

@ -1638,6 +1638,7 @@ typedef struct
{ {
IExecAction IExecAction_iface; IExecAction IExecAction_iface;
LONG ref; LONG ref;
WCHAR *path;
} ExecAction; } ExecAction;
static inline ExecAction *impl_from_IExecAction(IExecAction *iface) static inline ExecAction *impl_from_IExecAction(IExecAction *iface)
@ -1659,6 +1660,7 @@ static ULONG WINAPI ExecAction_Release(IExecAction *iface)
if (!ref) if (!ref)
{ {
TRACE("destroying %p\n", iface); TRACE("destroying %p\n", iface);
heap_free(action->path);
heap_free(action); heap_free(action);
} }
@ -1744,7 +1746,15 @@ static HRESULT WINAPI ExecAction_get_Path(IExecAction *iface, BSTR *path)
static HRESULT WINAPI ExecAction_put_Path(IExecAction *iface, BSTR path) static HRESULT WINAPI ExecAction_put_Path(IExecAction *iface, BSTR path)
{ {
FIXME("%p,%s: stub\n", iface, debugstr_w(path)); ExecAction *action = impl_from_IExecAction(iface);
WCHAR *str = NULL;
TRACE("%p,%s\n", iface, debugstr_w(path));
if (path && !(str = heap_strdupW((path)))) return E_OUTOFMEMORY;
heap_free(action->path);
action->path = str;
return S_OK; return S_OK;
} }
@ -1801,6 +1811,7 @@ static HRESULT ExecAction_create(IExecAction **obj)
action->IExecAction_iface.lpVtbl = &Action_vtbl; action->IExecAction_iface.lpVtbl = &Action_vtbl;
action->ref = 1; action->ref = 1;
action->path = NULL;
*obj = &action->IExecAction_iface; *obj = &action->IExecAction_iface;