mstask.idl revision 4b9d6701570cb98fd36e209314239d104ec584d3
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync/*
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync * Task Scheduler Service interface
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync *
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync * Copyright (C) 2008 Google (Roy Shea)
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync *
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync * This library is free software; you can redistribute it and/or
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync * modify it under the terms of the GNU Lesser General Public
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync * License as published by the Free Software Foundation; either
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync * version 2.1 of the License, or (at your option) any later version.
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync *
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync * This library is distributed in the hope that it will be useful,
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync * Lesser General Public License for more details.
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync *
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync * You should have received a copy of the GNU Lesser General Public
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync * License along with this library; if not, write to the Free Software
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync *
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync */
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync/*
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync * a choice of LGPL license versions is made available with the language indicating
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync * of the LGPL is applied is otherwise unspecified.
421f8a82f5330c53443c1e893e3279f7ce27b0advboxsync */
95d42763b8808d795c23148d7dbc00a3b7b40d6fvboxsync
5624b5f5d3f03f40350e197b28420bf8604bdf49vboxsyncimport "oaidl.idl";
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsyncimport "oleidl.idl";
5624b5f5d3f03f40350e197b28420bf8604bdf49vboxsync
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsynccpp_quote("#define TASK_SUNDAY 0x1")
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsynccpp_quote("#define TASK_MONDAY 0x2")
5828e9d7f59d4682a58585195d67153abdabacfcvboxsynccpp_quote("#define TASK_TUESDAY 0x4")
5828e9d7f59d4682a58585195d67153abdabacfcvboxsynccpp_quote("#define TASK_WEDNESDAY 0x8")
5828e9d7f59d4682a58585195d67153abdabacfcvboxsynccpp_quote("#define TASK_THURSDAY 0x10")
5828e9d7f59d4682a58585195d67153abdabacfcvboxsynccpp_quote("#define TASK_FRIDAY 0x20")
5828e9d7f59d4682a58585195d67153abdabacfcvboxsynccpp_quote("#define TASK_SATURDAY 0x40")
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync
5828e9d7f59d4682a58585195d67153abdabacfcvboxsynccpp_quote("#define TASK_FIRST_WEEK 1")
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsynccpp_quote("#define TASK_SECOND_WEEK 2")
5828e9d7f59d4682a58585195d67153abdabacfcvboxsynccpp_quote("#define TASK_THIRD_WEEK 3")
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsynccpp_quote("#define TASK_FOURTH_WEEK 4")
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsynccpp_quote("#define TASK_LAST_WEEK 5")
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsynccpp_quote("#define TASK_JANUARY 0x1")
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsynccpp_quote("#define TASK_FEBRUARY 0x2")
5828e9d7f59d4682a58585195d67153abdabacfcvboxsynccpp_quote("#define TASK_MARCH 0x4")
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsynccpp_quote("#define TASK_APRIL 0x8")
5828e9d7f59d4682a58585195d67153abdabacfcvboxsynccpp_quote("#define TASK_MAY 0x10")
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsynccpp_quote("#define TASK_JUNE 0x20")
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsynccpp_quote("#define TASK_JULY 0x40")
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsynccpp_quote("#define TASK_AUGUST 0x80")
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsynccpp_quote("#define TASK_SEPTEMBER 0x100")
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsynccpp_quote("#define TASK_OCTOBER 0x200")
5828e9d7f59d4682a58585195d67153abdabacfcvboxsynccpp_quote("#define TASK_NOVEMBER 0x400")
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsynccpp_quote("#define TASK_DECEMBER 0x800")
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync
1ec5a5157645798be8b5f57f197700bb86765b44vboxsynccpp_quote("#define TASK_TRIGGER_FLAG_HAS_END_DATE 0x1")
5828e9d7f59d4682a58585195d67153abdabacfcvboxsynccpp_quote("#define TASK_TRIGGER_FLAG_KILL_AT_DURATION_END 0x2")
e86b61a73c007051e5d85795d3f533fdf10f38a0vboxsynccpp_quote("#define TASK_TRIGGER_FLAG_DISABLED 0x4")
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync[
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync local,
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync object,
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync uuid(148BD528-A2AB-11CE-B11F-00AA00530503),
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync pointer_default(unique)
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync]
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsyncinterface IEnumWorkItems : IUnknown
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync{
5624b5f5d3f03f40350e197b28420bf8604bdf49vboxsync HRESULT Next(
5624b5f5d3f03f40350e197b28420bf8604bdf49vboxsync [in] ULONG celt,
5624b5f5d3f03f40350e197b28420bf8604bdf49vboxsync [out] LPWSTR **rgpwszNames,
5624b5f5d3f03f40350e197b28420bf8604bdf49vboxsync [out] ULONG *pceltFetched);
5624b5f5d3f03f40350e197b28420bf8604bdf49vboxsync
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync HRESULT Skip(
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync [in] ULONG celt);
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync HRESULT Reset();
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync HRESULT Clone(
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync [out] IEnumWorkItems **ppEnumWorkItems);
d69930a3cf6b803abb7b78052fed26021afbc602vboxsync}
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync
d69930a3cf6b803abb7b78052fed26021afbc602vboxsynccpp_quote("#ifndef _HPROPSHEETPAGE_DEFINED")
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsynctypedef struct _PSP *HPROPSHEETPAGE;
d69930a3cf6b803abb7b78052fed26021afbc602vboxsynccpp_quote("#define _HPROPSHEETPAGE_DEFINED")
5828e9d7f59d4682a58585195d67153abdabacfcvboxsynccpp_quote("#endif")
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync[
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync local,
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync object,
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync uuid(4086658a-cbbb-11cf-b604-00c04fd8d565),
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync pointer_default(unique)
421f8a82f5330c53443c1e893e3279f7ce27b0advboxsync]
421f8a82f5330c53443c1e893e3279f7ce27b0advboxsyncinterface IProvideTaskPage : IUnknown
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync{
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync typedef enum _TASKPAGE {
421f8a82f5330c53443c1e893e3279f7ce27b0advboxsync TASKPAGE_TASK = 0,
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync TASKPAGE_SCHEDULE = 1,
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync TASKPAGE_SETTINGS = 2
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync } TASKPAGE;
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync HRESULT GetPage(
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync [in] TASKPAGE tpType,
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync [in] BOOL fPersistChanges,
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync [out] HPROPSHEETPAGE *phPage);
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync}
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync[
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync local,
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync object,
78bc21b26041085260be615bb02307d23274789cvboxsync uuid(148BD52B-A2AB-11CE-B11F-00AA00530503),
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync pointer_default(unique)
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync]
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsyncinterface ITaskTrigger : IUnknown
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync{
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync typedef enum _TASK_TRIGGER_TYPE {
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync TASK_TIME_TRIGGER_ONCE = 0,
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync TASK_TIME_TRIGGER_DAILY = 1,
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync TASK_TIME_TRIGGER_WEEKLY = 2,
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync TASK_TIME_TRIGGER_MONTHLYDATE = 3,
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync TASK_TIME_TRIGGER_MONTHLYDOW = 4,
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync TASK_EVENT_TRIGGER_ON_IDLE = 5,
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync TASK_EVENT_TRIGGER_AT_SYSTEMSTART = 6,
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync TASK_EVENT_TRIGGER_AT_LOGON = 7
d69930a3cf6b803abb7b78052fed26021afbc602vboxsync } TASK_TRIGGER_TYPE, *PTASK_TRIGGER_TYPE;
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync typedef struct _DAILY {
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync WORD DaysInterval;
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync } DAILY;
8941c379efb460127c48a74f4525a79d77b21da3vboxsync
8941c379efb460127c48a74f4525a79d77b21da3vboxsync typedef struct _WEEKLY {
8941c379efb460127c48a74f4525a79d77b21da3vboxsync WORD WeeksInterval;
8941c379efb460127c48a74f4525a79d77b21da3vboxsync WORD rgfDaysOfTheWeek;
8941c379efb460127c48a74f4525a79d77b21da3vboxsync } WEEKLY;
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync typedef struct _MONTHLYDATE {
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync DWORD rgfDays;
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync WORD rgfMonths;
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync } MONTHLYDATE;
b63a8e349101c3cacb413cfdc13472bd1f639c4bvboxsync
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync typedef struct _MONTHLYDOW {
d69930a3cf6b803abb7b78052fed26021afbc602vboxsync WORD wWhichWeek;
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync WORD rgfDaysOfTheWeek;
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync WORD rgfMonths;
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync } MONTHLYDOW;
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync typedef union _TRIGGER_TYPE_UNION {
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync DAILY Daily;
d69930a3cf6b803abb7b78052fed26021afbc602vboxsync WEEKLY Weekly;
d69930a3cf6b803abb7b78052fed26021afbc602vboxsync MONTHLYDATE MonthlyDate;
c6b64c517598aa515d93f4f8713d56a44bb5f88avboxsync MONTHLYDOW MonthlyDOW;
d69930a3cf6b803abb7b78052fed26021afbc602vboxsync } TRIGGER_TYPE_UNION;
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync
efda5c4c4db213abd0692df0ea34a26f6230d59avboxsync typedef struct _TASK_TRIGGER {
d69930a3cf6b803abb7b78052fed26021afbc602vboxsync WORD cbTriggerSize;
c6b64c517598aa515d93f4f8713d56a44bb5f88avboxsync WORD Reserved1;
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync WORD wBeginYear;
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync WORD wBeginMonth;
d69930a3cf6b803abb7b78052fed26021afbc602vboxsync WORD wBeginDay;
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync WORD wEndYear;
95d42763b8808d795c23148d7dbc00a3b7b40d6fvboxsync WORD wEndMonth;
95d42763b8808d795c23148d7dbc00a3b7b40d6fvboxsync WORD wEndDay;
421f8a82f5330c53443c1e893e3279f7ce27b0advboxsync WORD wStartHour;
e09178154a8657b70c883cb8acf3acdd788107cevboxsync WORD wStartMinute;
95d42763b8808d795c23148d7dbc00a3b7b40d6fvboxsync DWORD MinutesDuration;
95d42763b8808d795c23148d7dbc00a3b7b40d6fvboxsync DWORD MinutesInterval;
95d42763b8808d795c23148d7dbc00a3b7b40d6fvboxsync DWORD rgFlags;
421f8a82f5330c53443c1e893e3279f7ce27b0advboxsync TASK_TRIGGER_TYPE TriggerType;
95d42763b8808d795c23148d7dbc00a3b7b40d6fvboxsync TRIGGER_TYPE_UNION Type;
95d42763b8808d795c23148d7dbc00a3b7b40d6fvboxsync WORD Reserved2;
421f8a82f5330c53443c1e893e3279f7ce27b0advboxsync WORD wRandomMinutesInterval;
413bcee2544737625e272c38f00358355b73dd02vboxsync } TASK_TRIGGER, *PTASK_TRIGGER;
95d42763b8808d795c23148d7dbc00a3b7b40d6fvboxsync
95d42763b8808d795c23148d7dbc00a3b7b40d6fvboxsync HRESULT SetTrigger(
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync [in] const PTASK_TRIGGER pTrigger);
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync HRESULT GetTrigger(
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync [out] PTASK_TRIGGER pTrigger);
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync HRESULT GetTriggerString(
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync [out] LPWSTR *ppwszTrigger);
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync}
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync[
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync local,
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync object,
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync uuid(a6b952f0-a4b1-11d0-997d-00aa006887ec),
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync pointer_default(unique)
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync]
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsyncinterface IScheduledWorkItem : IUnknown
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync{
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync HRESULT CreateTrigger(
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync [out] WORD *piNewTrigger,
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync [out] ITaskTrigger **ppTrigger);
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync HRESULT DeleteTrigger(
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync [in] WORD iTrigger);
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync
95d42763b8808d795c23148d7dbc00a3b7b40d6fvboxsync HRESULT GetTriggerCount(
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync [out] WORD *plCount);
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync HRESULT GetTrigger(
78bc21b26041085260be615bb02307d23274789cvboxsync [in] WORD iTrigger,
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync [out] ITaskTrigger **ppTrigger);
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync
78bc21b26041085260be615bb02307d23274789cvboxsync HRESULT GetTriggerString(
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync [in] WORD iTrigger,
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync [out] LPWSTR *ppwszTrigger);
413bcee2544737625e272c38f00358355b73dd02vboxsync
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync HRESULT GetRunTimes(
deac0fbd5d65e79e311713cff78df42d5451f5b0vboxsync [in] const LPSYSTEMTIME pstBegin,
78bc21b26041085260be615bb02307d23274789cvboxsync [in] const LPSYSTEMTIME pstEnd,
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync [in, out] WORD *pCount,
5828e9d7f59d4682a58585195d67153abdabacfcvboxsync [out] LPSYSTEMTIME *rgstTaskTimes);
HRESULT GetNextRunTime(
[out] SYSTEMTIME *pstNextRun);
HRESULT SetIdleWait(
[in] WORD wIdleMinutes,
[in] WORD wDeadlineMinutes);
HRESULT GetIdleWait(
[out] WORD *pwIdleMinutes,
[out] WORD *pwDeadlineMinutes);
HRESULT Run();
HRESULT Terminate();
HRESULT EditWorkItem(
[in] HWND hParent,
[in] DWORD dwReserved);
HRESULT GetMostRecentRunTime(
[out] SYSTEMTIME *pstLastRun);
HRESULT GetStatus(
[out] HRESULT *phrStatus);
HRESULT GetExitCode(
[out] DWORD *pdwExitCode);
HRESULT SetComment(
[in] LPCWSTR pwszComment);
HRESULT GetComment(
[out] LPWSTR *ppwszComment);
HRESULT SetCreator(
LPCWSTR pwszCreator);
HRESULT GetCreator(
[out] LPWSTR *ppwszCreator);
HRESULT SetWorkItemData(
[in] WORD cBytes,
[in] BYTE rgbData[]);
HRESULT GetWorkItemData(
[out] WORD *pcBytes,
[out] BYTE **ppBytes);
HRESULT SetErrorRetryCount(
WORD wRetryCount);
HRESULT GetErrorRetryCount(
[out] WORD *pwRetryCount);
HRESULT SetErrorRetryInterval(
WORD wRetryInterval);
HRESULT GetErrorRetryInterval(
[out] WORD *pwRetryInterval);
HRESULT SetFlags(
DWORD dwFlags);
HRESULT GetFlags(
[out] DWORD *pdwFlags);
HRESULT SetAccountInformation(
[in] LPCWSTR pwszAccountName,
[in] LPCWSTR pwszPassword);
HRESULT GetAccountInformation(
[out] LPWSTR *ppwszAccountName);
}
[
local,
object,
uuid(148BD524-A2AB-11CE-B11F-00AA00530503),
pointer_default(unique)
]
interface ITask : IScheduledWorkItem
{
HRESULT SetApplicationName(
[in] LPCWSTR pwszApplicationName);
HRESULT GetApplicationName(
[out] LPWSTR *ppwszApplicationName);
HRESULT SetParameters(
[in] LPCWSTR pwszParameters);
HRESULT GetParameters(
[out] LPWSTR *ppwszParameters);
HRESULT SetWorkingDirectory(
[in] LPCWSTR pwszWorkingDirectory);
HRESULT GetWorkingDirectory(
[in] LPWSTR *ppwszWorkingDirectory);
HRESULT SetPriority(
[in] DWORD dwPriority);
HRESULT GetPriority(
[out] DWORD *pdwPriority);
HRESULT SetTaskFlags(
[in] DWORD dwFlags);
HRESULT GetTaskFlags(
[out] DWORD *pdwFlags);
HRESULT SetMaxRunTime(
[in] DWORD dwMaxRunTime);
HRESULT GetMaxRunTime(
[out] DWORD *pdwMaxRunTime);
}
[
local,
object,
uuid(148BD527-A2AB-11CE-B11F-00AA00530503),
pointer_default(unique)
]
interface ITaskScheduler : IUnknown
{
HRESULT SetTargetComputer(
[in] LPCWSTR pwszComputer);
HRESULT GetTargetComputer(
[out] LPWSTR *ppwszComputer);
HRESULT Enum(
[out] IEnumWorkItems **ppEnumTasks);
HRESULT Activate(
[in] LPCWSTR pwszName,
[in] REFIID riid,
[out] IUnknown **ppunk);
HRESULT Delete(
[in] LPCWSTR pwszName);
HRESULT NewWorkItem(
[in] LPCWSTR pwszTaskName,
[in] REFCLSID rclsid,
[in] REFIID riid,
[out] IUnknown **ppunk);
HRESULT AddWorkItem(
[in] LPCWSTR pwszTaskName,
[in] IScheduledWorkItem *pWorkItem);
HRESULT IsOfType(
[in] LPCWSTR pwszName,
[in] REFIID riid);
}
[
uuid(148BD52A-A2AB-11CE-B11F-00AA00530503)
]
coclass CTaskScheduler
{
[default] interface ITaskScheduler;
};
[
uuid(148BD520-A2AB-11CE-B11F-00AA00530503)
]
coclass CTask
{
[default] interface ITask;
};