📄 mstask.idl
字号:
HRESULT GetStatus(
[out] HRESULT * phrStatus);
HRESULT GetExitCode(
[out] DWORD * pdwExitCode);
// Properties:
HRESULT SetComment(
[in] LPCWSTR pwszComment);
HRESULT GetComment(
[out] LPWSTR * ppwszComment);
HRESULT SetCreator(
[in] LPCWSTR pwszCreator);
HRESULT GetCreator(
[out] LPWSTR * ppwszCreator);
HRESULT SetWorkItemData(
[in] WORD cbData,
[in] BYTE rgbData[]);
HRESULT GetWorkItemData(
[out] WORD * pcbData,
[out] BYTE ** prgbData);
HRESULT SetErrorRetryCount(
[in] WORD wRetryCount);
HRESULT GetErrorRetryCount(
[out] WORD * pwRetryCount);
HRESULT SetErrorRetryInterval(
[in] WORD wRetryInterval);
HRESULT GetErrorRetryInterval(
[out] WORD * pwRetryInterval);
HRESULT SetFlags(
[in] DWORD dwFlags);
HRESULT GetFlags(
[out] DWORD * pdwFlags);
HRESULT SetAccountInformation(
[in] LPCWSTR pwszAccountName,
[in] LPCWSTR pwszPassword);
HRESULT GetAccountInformation(
[out] LPWSTR * ppwszAccountName);
}
//+----------------------------------------------------------------------------
//
// Interface: ITask
//
// Synopsis: Task object interface. The primary means of task object
// manipulation.
//
//-----------------------------------------------------------------------------
cpp_quote("// {148BD524-A2AB-11CE-B11F-00AA00530503}")
cpp_quote("DEFINE_GUID(IID_ITask, 0x148BD524L, 0xA2AB, 0x11CE, 0xB1, 0x1F, 0x00, 0xAA, 0x00, 0x53, 0x05, 0x03);")
interface ITask;
[
local,
object,
uuid(148BD524-A2AB-11CE-B11F-00AA00530503),
pointer_default(unique)
]
interface ITask : IScheduledWorkItem
{
// Properties that correspond to parameters of CreateProcess:
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(
[out] LPWSTR * ppwszWorkingDirectory);
HRESULT SetPriority(
[in] DWORD dwPriority);
HRESULT GetPriority(
[out] DWORD * pdwPriority);
// Other properties:
HRESULT SetTaskFlags(
[in] DWORD dwFlags);
HRESULT GetTaskFlags(
[out] DWORD * pdwFlags);
HRESULT SetMaxRunTime(
[in] DWORD dwMaxRunTimeMS);
HRESULT GetMaxRunTime(
[out] DWORD * pdwMaxRunTimeMS);
}
//+----------------------------------------------------------------------------
//
// Interface: IEnumWorkItems
//
// Synopsis: Work item object enumerator. Enumerates the work item objects
// within the Tasks folder.
//
//-----------------------------------------------------------------------------
cpp_quote("// {148BD528-A2AB-11CE-B11F-00AA00530503}")
cpp_quote("DEFINE_GUID(IID_IEnumWorkItems, 0x148BD528L, 0xA2AB, 0x11CE, 0xB1, 0x1F, 0x00, 0xAA, 0x00, 0x53, 0x05, 0x03);")
interface IEnumWorkItems;
[
local,
object,
uuid(148BD528-A2AB-11CE-B11F-00AA00530503),
pointer_default(unique)
]
interface IEnumWorkItems : IUnknown
{
// Methods:
HRESULT Next(
[in] ULONG celt,
[out] LPWSTR ** rgpwszNames,
[out] ULONG * pceltFetched);
HRESULT Skip(
[in] ULONG celt);
HRESULT Reset(
void);
HRESULT Clone(
[out] IEnumWorkItems ** ppEnumWorkItems);
}
//+----------------------------------------------------------------------------
//
// Interface: ITaskScheduler
//
// Synopsis: Task Scheduler interface. Provides location transparent
// manipulation of task and/or queue objects within the Tasks
// folder.
//
//-----------------------------------------------------------------------------
cpp_quote("// {148BD527-A2AB-11CE-B11F-00AA00530503}")
cpp_quote("DEFINE_GUID(IID_ITaskScheduler, 0x148BD527L, 0xA2AB, 0x11CE, 0xB1, 0x1F, 0x00, 0xAA, 0x00, 0x53, 0x05, 0x03);")
interface ITaskScheduler;
[
local,
object,
uuid(148BD527-A2AB-11CE-B11F-00AA00530503),
pointer_default(unique)
]
interface ITaskScheduler : IUnknown
{
// Methods:
HRESULT SetTargetComputer(
[in] LPCWSTR pwszComputer);
HRESULT GetTargetComputer(
[out] LPWSTR * ppwszComputer);
HRESULT Enum(
[out] IEnumWorkItems ** ppEnumWorkItems);
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);
}
cpp_quote("EXTERN_C const CLSID CLSID_CTask;")
cpp_quote("EXTERN_C const CLSID CLSID_CTaskScheduler;")
cpp_quote(" ")
cpp_quote("// {148BD520-A2AB-11CE-B11F-00AA00530503}")
cpp_quote("DEFINE_GUID(CLSID_CTask, 0x148BD520, 0xA2AB, 0x11CE, 0xB1, 0x1F, 0x00, 0xAA, 0x00, 0x53, 0x05, 0x03);")
cpp_quote(" ")
cpp_quote("// {148BD52A-A2AB-11CE-B11F-00AA00530503}")
cpp_quote("DEFINE_GUID(CLSID_CTaskScheduler, 0x148BD52A, 0xA2AB, 0x11CE, 0xB1, 0x1F, 0x00, 0xAA, 0x00, 0x53, 0x05, 0x03);")
cpp_quote(" ")
//
// NOTE: Definition of HPROPSHEETPAGE is from sdk\inc\prsht.h
// Including this header file causes numerous redefinition errors.
//
struct _PSP;
typedef struct _PSP * HPROPSHEETPAGE;
typedef enum _TASKPAGE {
TASKPAGE_TASK = 0,
TASKPAGE_SCHEDULE = 1,
TASKPAGE_SETTINGS = 2
} TASKPAGE;
//+----------------------------------------------------------------------------
//
// Interface: IProvideTaskPage
//
// Synopsis: Task property page retrieval interface. With this interface,
// it is possible to retrieve one or more property pages
// associated with a task object. Task objects inherit this
// interface.
//
//-----------------------------------------------------------------------------
cpp_quote("// {4086658a-cbbb-11cf-b604-00c04fd8d565}")
cpp_quote("DEFINE_GUID(IID_IProvideTaskPage, 0x4086658aL, 0xcbbb, 0x11cf, 0xb6, 0x04, 0x00, 0xc0, 0x4f, 0xd8, 0xd5, 0x65);")
interface IProvideTaskPage;
[
local,
object,
uuid(4086658a-cbbb-11cf-b604-00c04fd8d565),
pointer_default(unique)
]
interface IProvideTaskPage : IUnknown
{
// Methods:
HRESULT GetPage(
[in] TASKPAGE tpType,
[in] BOOL fPersistChanges,
[out] HPROPSHEETPAGE * phPage);
}
cpp_quote("#define ISchedulingAgent ITaskScheduler")
cpp_quote("#define IID_ISchedulingAgent IID_ITaskScheduler")
cpp_quote("#define CLSID_CSchedulingAgent CLSID_CTaskScheduler")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -