MSTask.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:67k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for mstask.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext, robust
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __mstask_h__
  27. #define __mstask_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __ITaskTrigger_FWD_DEFINED__
  33. #define __ITaskTrigger_FWD_DEFINED__
  34. typedef interface ITaskTrigger ITaskTrigger;
  35. #endif  /* __ITaskTrigger_FWD_DEFINED__ */
  36. #ifndef __IScheduledWorkItem_FWD_DEFINED__
  37. #define __IScheduledWorkItem_FWD_DEFINED__
  38. typedef interface IScheduledWorkItem IScheduledWorkItem;
  39. #endif  /* __IScheduledWorkItem_FWD_DEFINED__ */
  40. #ifndef __ITask_FWD_DEFINED__
  41. #define __ITask_FWD_DEFINED__
  42. typedef interface ITask ITask;
  43. #endif  /* __ITask_FWD_DEFINED__ */
  44. #ifndef __IEnumWorkItems_FWD_DEFINED__
  45. #define __IEnumWorkItems_FWD_DEFINED__
  46. typedef interface IEnumWorkItems IEnumWorkItems;
  47. #endif  /* __IEnumWorkItems_FWD_DEFINED__ */
  48. #ifndef __ITaskScheduler_FWD_DEFINED__
  49. #define __ITaskScheduler_FWD_DEFINED__
  50. typedef interface ITaskScheduler ITaskScheduler;
  51. #endif  /* __ITaskScheduler_FWD_DEFINED__ */
  52. #ifndef __IProvideTaskPage_FWD_DEFINED__
  53. #define __IProvideTaskPage_FWD_DEFINED__
  54. typedef interface IProvideTaskPage IProvideTaskPage;
  55. #endif  /* __IProvideTaskPage_FWD_DEFINED__ */
  56. /* header files for imported files */
  57. #include "oaidl.h"
  58. #include "oleidl.h"
  59. #ifdef __cplusplus
  60. extern "C"{
  61. #endif 
  62. void * __RPC_USER MIDL_user_allocate(size_t);
  63. void __RPC_USER MIDL_user_free( void * ); 
  64. /* interface __MIDL_itf_mstask_0000 */
  65. /* [local] */ 
  66. #define TASK_SUNDAY       (0x1)
  67. #define TASK_MONDAY       (0x2)
  68. #define TASK_TUESDAY      (0x4)
  69. #define TASK_WEDNESDAY    (0x8)
  70. #define TASK_THURSDAY     (0x10)
  71. #define TASK_FRIDAY       (0x20)
  72. #define TASK_SATURDAY     (0x40)
  73. #define TASK_FIRST_WEEK   (1)
  74. #define TASK_SECOND_WEEK  (2)
  75. #define TASK_THIRD_WEEK   (3)
  76. #define TASK_FOURTH_WEEK  (4)
  77. #define TASK_LAST_WEEK    (5)
  78. #define TASK_JANUARY      (0x1)
  79. #define TASK_FEBRUARY     (0x2)
  80. #define TASK_MARCH        (0x4)
  81. #define TASK_APRIL        (0x8)
  82. #define TASK_MAY          (0x10)
  83. #define TASK_JUNE         (0x20)
  84. #define TASK_JULY         (0x40)
  85. #define TASK_AUGUST       (0x80)
  86. #define TASK_SEPTEMBER    (0x100)
  87. #define TASK_OCTOBER      (0x200)
  88. #define TASK_NOVEMBER     (0x400)
  89. #define TASK_DECEMBER     (0x800)
  90. #define TASK_FLAG_INTERACTIVE                  (0x1)
  91. #define TASK_FLAG_DELETE_WHEN_DONE             (0x2)
  92. #define TASK_FLAG_DISABLED                     (0x4)
  93. #define TASK_FLAG_START_ONLY_IF_IDLE           (0x10)
  94. #define TASK_FLAG_KILL_ON_IDLE_END             (0x20)
  95. #define TASK_FLAG_DONT_START_IF_ON_BATTERIES   (0x40)
  96. #define TASK_FLAG_KILL_IF_GOING_ON_BATTERIES   (0x80)
  97. #define TASK_FLAG_RUN_ONLY_IF_DOCKED           (0x100)
  98. #define TASK_FLAG_HIDDEN                       (0x200)
  99. #define TASK_FLAG_RUN_IF_CONNECTED_TO_INTERNET (0x400)
  100. #define TASK_FLAG_RESTART_ON_IDLE_RESUME       (0x800)
  101. #define TASK_FLAG_SYSTEM_REQUIRED              (0x1000)
  102. #define TASK_FLAG_RUN_ONLY_IF_LOGGED_ON        (0x2000)
  103. #define TASK_TRIGGER_FLAG_HAS_END_DATE         (0x1)
  104. #define TASK_TRIGGER_FLAG_KILL_AT_DURATION_END (0x2)
  105. #define TASK_TRIGGER_FLAG_DISABLED             (0x4)
  106. #define TASK_MAX_RUN_TIMES ( 1440 )
  107. typedef 
  108. enum _TASK_TRIGGER_TYPE
  109.     { TASK_TIME_TRIGGER_ONCE = 0,
  110. TASK_TIME_TRIGGER_DAILY = 1,
  111. TASK_TIME_TRIGGER_WEEKLY = 2,
  112. TASK_TIME_TRIGGER_MONTHLYDATE = 3,
  113. TASK_TIME_TRIGGER_MONTHLYDOW = 4,
  114. TASK_EVENT_TRIGGER_ON_IDLE = 5,
  115. TASK_EVENT_TRIGGER_AT_SYSTEMSTART = 6,
  116. TASK_EVENT_TRIGGER_AT_LOGON = 7
  117.     }  TASK_TRIGGER_TYPE;
  118. typedef enum _TASK_TRIGGER_TYPE *PTASK_TRIGGER_TYPE;
  119. typedef struct _DAILY
  120.     {
  121.     WORD DaysInterval;
  122.     }  DAILY;
  123. typedef struct _WEEKLY
  124.     {
  125.     WORD WeeksInterval;
  126.     WORD rgfDaysOfTheWeek;
  127.     }  WEEKLY;
  128. typedef struct _MONTHLYDATE
  129.     {
  130.     DWORD rgfDays;
  131.     WORD rgfMonths;
  132.     }  MONTHLYDATE;
  133. typedef struct _MONTHLYDOW
  134.     {
  135.     WORD wWhichWeek;
  136.     WORD rgfDaysOfTheWeek;
  137.     WORD rgfMonths;
  138.     }  MONTHLYDOW;
  139. typedef union _TRIGGER_TYPE_UNION
  140.     {
  141.     DAILY Daily;
  142.     WEEKLY Weekly;
  143.     MONTHLYDATE MonthlyDate;
  144.     MONTHLYDOW MonthlyDOW;
  145.     }  TRIGGER_TYPE_UNION;
  146. typedef struct _TASK_TRIGGER
  147.     {
  148.     WORD cbTriggerSize;
  149.     WORD Reserved1;
  150.     WORD wBeginYear;
  151.     WORD wBeginMonth;
  152.     WORD wBeginDay;
  153.     WORD wEndYear;
  154.     WORD wEndMonth;
  155.     WORD wEndDay;
  156.     WORD wStartHour;
  157.     WORD wStartMinute;
  158.     DWORD MinutesDuration;
  159.     DWORD MinutesInterval;
  160.     DWORD rgFlags;
  161.     TASK_TRIGGER_TYPE TriggerType;
  162.     TRIGGER_TYPE_UNION Type;
  163.     WORD Reserved2;
  164.     WORD wRandomMinutesInterval;
  165.     }  TASK_TRIGGER;
  166. typedef struct _TASK_TRIGGER *PTASK_TRIGGER;
  167. // {148BD52B-A2AB-11CE-B11F-00AA00530503}
  168. DEFINE_GUID(IID_ITaskTrigger, 0x148BD52BL, 0xA2AB, 0x11CE, 0xB1, 0x1F, 0x00, 0xAA, 0x00, 0x53, 0x05, 0x03);
  169. extern RPC_IF_HANDLE __MIDL_itf_mstask_0000_v0_0_c_ifspec;
  170. extern RPC_IF_HANDLE __MIDL_itf_mstask_0000_v0_0_s_ifspec;
  171. #ifndef __ITaskTrigger_INTERFACE_DEFINED__
  172. #define __ITaskTrigger_INTERFACE_DEFINED__
  173. /* interface ITaskTrigger */
  174. /* [unique][uuid][object][local] */ 
  175. EXTERN_C const IID IID_ITaskTrigger;
  176. #if defined(__cplusplus) && !defined(CINTERFACE)
  177.     
  178.     MIDL_INTERFACE("148BD52B-A2AB-11CE-B11F-00AA00530503")
  179.     ITaskTrigger : public IUnknown
  180.     {
  181.     public:
  182.         virtual HRESULT STDMETHODCALLTYPE SetTrigger( 
  183.             /* [in] */ const PTASK_TRIGGER pTrigger) = 0;
  184.         
  185.         virtual HRESULT STDMETHODCALLTYPE GetTrigger( 
  186.             /* [out] */ PTASK_TRIGGER pTrigger) = 0;
  187.         
  188.         virtual HRESULT STDMETHODCALLTYPE GetTriggerString( 
  189.             /* [out] */ LPWSTR *ppwszTrigger) = 0;
  190.         
  191.     };
  192.     
  193. #else  /* C style interface */
  194.     typedef struct ITaskTriggerVtbl
  195.     {
  196.         BEGIN_INTERFACE
  197.         
  198.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  199.             ITaskTrigger * This,
  200.             /* [in] */ REFIID riid,
  201.             /* [iid_is][out] */ void **ppvObject);
  202.         
  203.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  204.             ITaskTrigger * This);
  205.         
  206.         ULONG ( STDMETHODCALLTYPE *Release )( 
  207.             ITaskTrigger * This);
  208.         
  209.         HRESULT ( STDMETHODCALLTYPE *SetTrigger )( 
  210.             ITaskTrigger * This,
  211.             /* [in] */ const PTASK_TRIGGER pTrigger);
  212.         
  213.         HRESULT ( STDMETHODCALLTYPE *GetTrigger )( 
  214.             ITaskTrigger * This,
  215.             /* [out] */ PTASK_TRIGGER pTrigger);
  216.         
  217.         HRESULT ( STDMETHODCALLTYPE *GetTriggerString )( 
  218.             ITaskTrigger * This,
  219.             /* [out] */ LPWSTR *ppwszTrigger);
  220.         
  221.         END_INTERFACE
  222.     } ITaskTriggerVtbl;
  223.     interface ITaskTrigger
  224.     {
  225.         CONST_VTBL struct ITaskTriggerVtbl *lpVtbl;
  226.     };
  227.     
  228. #ifdef COBJMACROS
  229. #define ITaskTrigger_QueryInterface(This,riid,ppvObject)
  230.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  231. #define ITaskTrigger_AddRef(This)
  232.     (This)->lpVtbl -> AddRef(This)
  233. #define ITaskTrigger_Release(This)
  234.     (This)->lpVtbl -> Release(This)
  235. #define ITaskTrigger_SetTrigger(This,pTrigger)
  236.     (This)->lpVtbl -> SetTrigger(This,pTrigger)
  237. #define ITaskTrigger_GetTrigger(This,pTrigger)
  238.     (This)->lpVtbl -> GetTrigger(This,pTrigger)
  239. #define ITaskTrigger_GetTriggerString(This,ppwszTrigger)
  240.     (This)->lpVtbl -> GetTriggerString(This,ppwszTrigger)
  241. #endif /* COBJMACROS */
  242. #endif  /* C style interface */
  243. HRESULT STDMETHODCALLTYPE ITaskTrigger_SetTrigger_Proxy( 
  244.     ITaskTrigger * This,
  245.     /* [in] */ const PTASK_TRIGGER pTrigger);
  246. void __RPC_STUB ITaskTrigger_SetTrigger_Stub(
  247.     IRpcStubBuffer *This,
  248.     IRpcChannelBuffer *_pRpcChannelBuffer,
  249.     PRPC_MESSAGE _pRpcMessage,
  250.     DWORD *_pdwStubPhase);
  251. HRESULT STDMETHODCALLTYPE ITaskTrigger_GetTrigger_Proxy( 
  252.     ITaskTrigger * This,
  253.     /* [out] */ PTASK_TRIGGER pTrigger);
  254. void __RPC_STUB ITaskTrigger_GetTrigger_Stub(
  255.     IRpcStubBuffer *This,
  256.     IRpcChannelBuffer *_pRpcChannelBuffer,
  257.     PRPC_MESSAGE _pRpcMessage,
  258.     DWORD *_pdwStubPhase);
  259. HRESULT STDMETHODCALLTYPE ITaskTrigger_GetTriggerString_Proxy( 
  260.     ITaskTrigger * This,
  261.     /* [out] */ LPWSTR *ppwszTrigger);
  262. void __RPC_STUB ITaskTrigger_GetTriggerString_Stub(
  263.     IRpcStubBuffer *This,
  264.     IRpcChannelBuffer *_pRpcChannelBuffer,
  265.     PRPC_MESSAGE _pRpcMessage,
  266.     DWORD *_pdwStubPhase);
  267. #endif  /* __ITaskTrigger_INTERFACE_DEFINED__ */
  268. /* interface __MIDL_itf_mstask_0135 */
  269. /* [local] */ 
  270. // {a6b952f0-a4b1-11d0-997d-00aa006887ec}
  271. DEFINE_GUID(IID_IScheduledWorkItem, 0xa6b952f0L, 0xa4b1, 0x11d0, 0x99, 0x7d, 0x00, 0xaa, 0x00, 0x68, 0x87, 0xec);
  272. extern RPC_IF_HANDLE __MIDL_itf_mstask_0135_v0_0_c_ifspec;
  273. extern RPC_IF_HANDLE __MIDL_itf_mstask_0135_v0_0_s_ifspec;
  274. #ifndef __IScheduledWorkItem_INTERFACE_DEFINED__
  275. #define __IScheduledWorkItem_INTERFACE_DEFINED__
  276. /* interface IScheduledWorkItem */
  277. /* [unique][uuid][object][local] */ 
  278. EXTERN_C const IID IID_IScheduledWorkItem;
  279. #if defined(__cplusplus) && !defined(CINTERFACE)
  280.     
  281.     MIDL_INTERFACE("a6b952f0-a4b1-11d0-997d-00aa006887ec")
  282.     IScheduledWorkItem : public IUnknown
  283.     {
  284.     public:
  285.         virtual HRESULT STDMETHODCALLTYPE CreateTrigger( 
  286.             /* [out] */ WORD *piNewTrigger,
  287.             /* [out] */ ITaskTrigger **ppTrigger) = 0;
  288.         
  289.         virtual HRESULT STDMETHODCALLTYPE DeleteTrigger( 
  290.             /* [in] */ WORD iTrigger) = 0;
  291.         
  292.         virtual HRESULT STDMETHODCALLTYPE GetTriggerCount( 
  293.             /* [out] */ WORD *pwCount) = 0;
  294.         
  295.         virtual HRESULT STDMETHODCALLTYPE GetTrigger( 
  296.             /* [in] */ WORD iTrigger,
  297.             /* [out] */ ITaskTrigger **ppTrigger) = 0;
  298.         
  299.         virtual HRESULT STDMETHODCALLTYPE GetTriggerString( 
  300.             /* [in] */ WORD iTrigger,
  301.             /* [out] */ LPWSTR *ppwszTrigger) = 0;
  302.         
  303.         virtual HRESULT STDMETHODCALLTYPE GetRunTimes( 
  304.             /* [in] */ const LPSYSTEMTIME pstBegin,
  305.             /* [in] */ const LPSYSTEMTIME pstEnd,
  306.             /* [out][in] */ WORD *pCount,
  307.             /* [out] */ LPSYSTEMTIME *rgstTaskTimes) = 0;
  308.         
  309.         virtual HRESULT STDMETHODCALLTYPE GetNextRunTime( 
  310.             /* [out][in] */ SYSTEMTIME *pstNextRun) = 0;
  311.         
  312.         virtual HRESULT STDMETHODCALLTYPE SetIdleWait( 
  313.             /* [in] */ WORD wIdleMinutes,
  314.             /* [in] */ WORD wDeadlineMinutes) = 0;
  315.         
  316.         virtual HRESULT STDMETHODCALLTYPE GetIdleWait( 
  317.             /* [out] */ WORD *pwIdleMinutes,
  318.             /* [out] */ WORD *pwDeadlineMinutes) = 0;
  319.         
  320.         virtual HRESULT STDMETHODCALLTYPE Run( void) = 0;
  321.         
  322.         virtual HRESULT STDMETHODCALLTYPE Terminate( void) = 0;
  323.         
  324.         virtual HRESULT STDMETHODCALLTYPE EditWorkItem( 
  325.             /* [in] */ HWND hParent,
  326.             /* [in] */ DWORD dwReserved) = 0;
  327.         
  328.         virtual HRESULT STDMETHODCALLTYPE GetMostRecentRunTime( 
  329.             /* [out] */ SYSTEMTIME *pstLastRun) = 0;
  330.         
  331.         virtual HRESULT STDMETHODCALLTYPE GetStatus( 
  332.             /* [out] */ HRESULT *phrStatus) = 0;
  333.         
  334.         virtual HRESULT STDMETHODCALLTYPE GetExitCode( 
  335.             /* [out] */ DWORD *pdwExitCode) = 0;
  336.         
  337.         virtual HRESULT STDMETHODCALLTYPE SetComment( 
  338.             /* [in] */ LPCWSTR pwszComment) = 0;
  339.         
  340.         virtual HRESULT STDMETHODCALLTYPE GetComment( 
  341.             /* [out] */ LPWSTR *ppwszComment) = 0;
  342.         
  343.         virtual HRESULT STDMETHODCALLTYPE SetCreator( 
  344.             /* [in] */ LPCWSTR pwszCreator) = 0;
  345.         
  346.         virtual HRESULT STDMETHODCALLTYPE GetCreator( 
  347.             /* [out] */ LPWSTR *ppwszCreator) = 0;
  348.         
  349.         virtual HRESULT STDMETHODCALLTYPE SetWorkItemData( 
  350.             /* [in] */ WORD cbData,
  351.             /* [in] */ BYTE rgbData[  ]) = 0;
  352.         
  353.         virtual HRESULT STDMETHODCALLTYPE GetWorkItemData( 
  354.             /* [out] */ WORD *pcbData,
  355.             /* [out] */ BYTE **prgbData) = 0;
  356.         
  357.         virtual HRESULT STDMETHODCALLTYPE SetErrorRetryCount( 
  358.             /* [in] */ WORD wRetryCount) = 0;
  359.         
  360.         virtual HRESULT STDMETHODCALLTYPE GetErrorRetryCount( 
  361.             /* [out] */ WORD *pwRetryCount) = 0;
  362.         
  363.         virtual HRESULT STDMETHODCALLTYPE SetErrorRetryInterval( 
  364.             /* [in] */ WORD wRetryInterval) = 0;
  365.         
  366.         virtual HRESULT STDMETHODCALLTYPE GetErrorRetryInterval( 
  367.             /* [out] */ WORD *pwRetryInterval) = 0;
  368.         
  369.         virtual HRESULT STDMETHODCALLTYPE SetFlags( 
  370.             /* [in] */ DWORD dwFlags) = 0;
  371.         
  372.         virtual HRESULT STDMETHODCALLTYPE GetFlags( 
  373.             /* [out] */ DWORD *pdwFlags) = 0;
  374.         
  375.         virtual HRESULT STDMETHODCALLTYPE SetAccountInformation( 
  376.             /* [in] */ LPCWSTR pwszAccountName,
  377.             /* [in] */ LPCWSTR pwszPassword) = 0;
  378.         
  379.         virtual HRESULT STDMETHODCALLTYPE GetAccountInformation( 
  380.             /* [out] */ LPWSTR *ppwszAccountName) = 0;
  381.         
  382.     };
  383.     
  384. #else  /* C style interface */
  385.     typedef struct IScheduledWorkItemVtbl
  386.     {
  387.         BEGIN_INTERFACE
  388.         
  389.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  390.             IScheduledWorkItem * This,
  391.             /* [in] */ REFIID riid,
  392.             /* [iid_is][out] */ void **ppvObject);
  393.         
  394.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  395.             IScheduledWorkItem * This);
  396.         
  397.         ULONG ( STDMETHODCALLTYPE *Release )( 
  398.             IScheduledWorkItem * This);
  399.         
  400.         HRESULT ( STDMETHODCALLTYPE *CreateTrigger )( 
  401.             IScheduledWorkItem * This,
  402.             /* [out] */ WORD *piNewTrigger,
  403.             /* [out] */ ITaskTrigger **ppTrigger);
  404.         
  405.         HRESULT ( STDMETHODCALLTYPE *DeleteTrigger )( 
  406.             IScheduledWorkItem * This,
  407.             /* [in] */ WORD iTrigger);
  408.         
  409.         HRESULT ( STDMETHODCALLTYPE *GetTriggerCount )( 
  410.             IScheduledWorkItem * This,
  411.             /* [out] */ WORD *pwCount);
  412.         
  413.         HRESULT ( STDMETHODCALLTYPE *GetTrigger )( 
  414.             IScheduledWorkItem * This,
  415.             /* [in] */ WORD iTrigger,
  416.             /* [out] */ ITaskTrigger **ppTrigger);
  417.         
  418.         HRESULT ( STDMETHODCALLTYPE *GetTriggerString )( 
  419.             IScheduledWorkItem * This,
  420.             /* [in] */ WORD iTrigger,
  421.             /* [out] */ LPWSTR *ppwszTrigger);
  422.         
  423.         HRESULT ( STDMETHODCALLTYPE *GetRunTimes )( 
  424.             IScheduledWorkItem * This,
  425.             /* [in] */ const LPSYSTEMTIME pstBegin,
  426.             /* [in] */ const LPSYSTEMTIME pstEnd,
  427.             /* [out][in] */ WORD *pCount,
  428.             /* [out] */ LPSYSTEMTIME *rgstTaskTimes);
  429.         
  430.         HRESULT ( STDMETHODCALLTYPE *GetNextRunTime )( 
  431.             IScheduledWorkItem * This,
  432.             /* [out][in] */ SYSTEMTIME *pstNextRun);
  433.         
  434.         HRESULT ( STDMETHODCALLTYPE *SetIdleWait )( 
  435.             IScheduledWorkItem * This,
  436.             /* [in] */ WORD wIdleMinutes,
  437.             /* [in] */ WORD wDeadlineMinutes);
  438.         
  439.         HRESULT ( STDMETHODCALLTYPE *GetIdleWait )( 
  440.             IScheduledWorkItem * This,
  441.             /* [out] */ WORD *pwIdleMinutes,
  442.             /* [out] */ WORD *pwDeadlineMinutes);
  443.         
  444.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  445.             IScheduledWorkItem * This);
  446.         
  447.         HRESULT ( STDMETHODCALLTYPE *Terminate )( 
  448.             IScheduledWorkItem * This);
  449.         
  450.         HRESULT ( STDMETHODCALLTYPE *EditWorkItem )( 
  451.             IScheduledWorkItem * This,
  452.             /* [in] */ HWND hParent,
  453.             /* [in] */ DWORD dwReserved);
  454.         
  455.         HRESULT ( STDMETHODCALLTYPE *GetMostRecentRunTime )( 
  456.             IScheduledWorkItem * This,
  457.             /* [out] */ SYSTEMTIME *pstLastRun);
  458.         
  459.         HRESULT ( STDMETHODCALLTYPE *GetStatus )( 
  460.             IScheduledWorkItem * This,
  461.             /* [out] */ HRESULT *phrStatus);
  462.         
  463.         HRESULT ( STDMETHODCALLTYPE *GetExitCode )( 
  464.             IScheduledWorkItem * This,
  465.             /* [out] */ DWORD *pdwExitCode);
  466.         
  467.         HRESULT ( STDMETHODCALLTYPE *SetComment )( 
  468.             IScheduledWorkItem * This,
  469.             /* [in] */ LPCWSTR pwszComment);
  470.         
  471.         HRESULT ( STDMETHODCALLTYPE *GetComment )( 
  472.             IScheduledWorkItem * This,
  473.             /* [out] */ LPWSTR *ppwszComment);
  474.         
  475.         HRESULT ( STDMETHODCALLTYPE *SetCreator )( 
  476.             IScheduledWorkItem * This,
  477.             /* [in] */ LPCWSTR pwszCreator);
  478.         
  479.         HRESULT ( STDMETHODCALLTYPE *GetCreator )( 
  480.             IScheduledWorkItem * This,
  481.             /* [out] */ LPWSTR *ppwszCreator);
  482.         
  483.         HRESULT ( STDMETHODCALLTYPE *SetWorkItemData )( 
  484.             IScheduledWorkItem * This,
  485.             /* [in] */ WORD cbData,
  486.             /* [in] */ BYTE rgbData[  ]);
  487.         
  488.         HRESULT ( STDMETHODCALLTYPE *GetWorkItemData )( 
  489.             IScheduledWorkItem * This,
  490.             /* [out] */ WORD *pcbData,
  491.             /* [out] */ BYTE **prgbData);
  492.         
  493.         HRESULT ( STDMETHODCALLTYPE *SetErrorRetryCount )( 
  494.             IScheduledWorkItem * This,
  495.             /* [in] */ WORD wRetryCount);
  496.         
  497.         HRESULT ( STDMETHODCALLTYPE *GetErrorRetryCount )( 
  498.             IScheduledWorkItem * This,
  499.             /* [out] */ WORD *pwRetryCount);
  500.         
  501.         HRESULT ( STDMETHODCALLTYPE *SetErrorRetryInterval )( 
  502.             IScheduledWorkItem * This,
  503.             /* [in] */ WORD wRetryInterval);
  504.         
  505.         HRESULT ( STDMETHODCALLTYPE *GetErrorRetryInterval )( 
  506.             IScheduledWorkItem * This,
  507.             /* [out] */ WORD *pwRetryInterval);
  508.         
  509.         HRESULT ( STDMETHODCALLTYPE *SetFlags )( 
  510.             IScheduledWorkItem * This,
  511.             /* [in] */ DWORD dwFlags);
  512.         
  513.         HRESULT ( STDMETHODCALLTYPE *GetFlags )( 
  514.             IScheduledWorkItem * This,
  515.             /* [out] */ DWORD *pdwFlags);
  516.         
  517.         HRESULT ( STDMETHODCALLTYPE *SetAccountInformation )( 
  518.             IScheduledWorkItem * This,
  519.             /* [in] */ LPCWSTR pwszAccountName,
  520.             /* [in] */ LPCWSTR pwszPassword);
  521.         
  522.         HRESULT ( STDMETHODCALLTYPE *GetAccountInformation )( 
  523.             IScheduledWorkItem * This,
  524.             /* [out] */ LPWSTR *ppwszAccountName);
  525.         
  526.         END_INTERFACE
  527.     } IScheduledWorkItemVtbl;
  528.     interface IScheduledWorkItem
  529.     {
  530.         CONST_VTBL struct IScheduledWorkItemVtbl *lpVtbl;
  531.     };
  532.     
  533. #ifdef COBJMACROS
  534. #define IScheduledWorkItem_QueryInterface(This,riid,ppvObject)
  535.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  536. #define IScheduledWorkItem_AddRef(This)
  537.     (This)->lpVtbl -> AddRef(This)
  538. #define IScheduledWorkItem_Release(This)
  539.     (This)->lpVtbl -> Release(This)
  540. #define IScheduledWorkItem_CreateTrigger(This,piNewTrigger,ppTrigger)
  541.     (This)->lpVtbl -> CreateTrigger(This,piNewTrigger,ppTrigger)
  542. #define IScheduledWorkItem_DeleteTrigger(This,iTrigger)
  543.     (This)->lpVtbl -> DeleteTrigger(This,iTrigger)
  544. #define IScheduledWorkItem_GetTriggerCount(This,pwCount)
  545.     (This)->lpVtbl -> GetTriggerCount(This,pwCount)
  546. #define IScheduledWorkItem_GetTrigger(This,iTrigger,ppTrigger)
  547.     (This)->lpVtbl -> GetTrigger(This,iTrigger,ppTrigger)
  548. #define IScheduledWorkItem_GetTriggerString(This,iTrigger,ppwszTrigger)
  549.     (This)->lpVtbl -> GetTriggerString(This,iTrigger,ppwszTrigger)
  550. #define IScheduledWorkItem_GetRunTimes(This,pstBegin,pstEnd,pCount,rgstTaskTimes)
  551.     (This)->lpVtbl -> GetRunTimes(This,pstBegin,pstEnd,pCount,rgstTaskTimes)
  552. #define IScheduledWorkItem_GetNextRunTime(This,pstNextRun)
  553.     (This)->lpVtbl -> GetNextRunTime(This,pstNextRun)
  554. #define IScheduledWorkItem_SetIdleWait(This,wIdleMinutes,wDeadlineMinutes)
  555.     (This)->lpVtbl -> SetIdleWait(This,wIdleMinutes,wDeadlineMinutes)
  556. #define IScheduledWorkItem_GetIdleWait(This,pwIdleMinutes,pwDeadlineMinutes)
  557.     (This)->lpVtbl -> GetIdleWait(This,pwIdleMinutes,pwDeadlineMinutes)
  558. #define IScheduledWorkItem_Run(This)
  559.     (This)->lpVtbl -> Run(This)
  560. #define IScheduledWorkItem_Terminate(This)
  561.     (This)->lpVtbl -> Terminate(This)
  562. #define IScheduledWorkItem_EditWorkItem(This,hParent,dwReserved)
  563.     (This)->lpVtbl -> EditWorkItem(This,hParent,dwReserved)
  564. #define IScheduledWorkItem_GetMostRecentRunTime(This,pstLastRun)
  565.     (This)->lpVtbl -> GetMostRecentRunTime(This,pstLastRun)
  566. #define IScheduledWorkItem_GetStatus(This,phrStatus)
  567.     (This)->lpVtbl -> GetStatus(This,phrStatus)
  568. #define IScheduledWorkItem_GetExitCode(This,pdwExitCode)
  569.     (This)->lpVtbl -> GetExitCode(This,pdwExitCode)
  570. #define IScheduledWorkItem_SetComment(This,pwszComment)
  571.     (This)->lpVtbl -> SetComment(This,pwszComment)
  572. #define IScheduledWorkItem_GetComment(This,ppwszComment)
  573.     (This)->lpVtbl -> GetComment(This,ppwszComment)
  574. #define IScheduledWorkItem_SetCreator(This,pwszCreator)
  575.     (This)->lpVtbl -> SetCreator(This,pwszCreator)
  576. #define IScheduledWorkItem_GetCreator(This,ppwszCreator)
  577.     (This)->lpVtbl -> GetCreator(This,ppwszCreator)
  578. #define IScheduledWorkItem_SetWorkItemData(This,cbData,rgbData)
  579.     (This)->lpVtbl -> SetWorkItemData(This,cbData,rgbData)
  580. #define IScheduledWorkItem_GetWorkItemData(This,pcbData,prgbData)
  581.     (This)->lpVtbl -> GetWorkItemData(This,pcbData,prgbData)
  582. #define IScheduledWorkItem_SetErrorRetryCount(This,wRetryCount)
  583.     (This)->lpVtbl -> SetErrorRetryCount(This,wRetryCount)
  584. #define IScheduledWorkItem_GetErrorRetryCount(This,pwRetryCount)
  585.     (This)->lpVtbl -> GetErrorRetryCount(This,pwRetryCount)
  586. #define IScheduledWorkItem_SetErrorRetryInterval(This,wRetryInterval)
  587.     (This)->lpVtbl -> SetErrorRetryInterval(This,wRetryInterval)
  588. #define IScheduledWorkItem_GetErrorRetryInterval(This,pwRetryInterval)
  589.     (This)->lpVtbl -> GetErrorRetryInterval(This,pwRetryInterval)
  590. #define IScheduledWorkItem_SetFlags(This,dwFlags)
  591.     (This)->lpVtbl -> SetFlags(This,dwFlags)
  592. #define IScheduledWorkItem_GetFlags(This,pdwFlags)
  593.     (This)->lpVtbl -> GetFlags(This,pdwFlags)
  594. #define IScheduledWorkItem_SetAccountInformation(This,pwszAccountName,pwszPassword)
  595.     (This)->lpVtbl -> SetAccountInformation(This,pwszAccountName,pwszPassword)
  596. #define IScheduledWorkItem_GetAccountInformation(This,ppwszAccountName)
  597.     (This)->lpVtbl -> GetAccountInformation(This,ppwszAccountName)
  598. #endif /* COBJMACROS */
  599. #endif  /* C style interface */
  600. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_CreateTrigger_Proxy( 
  601.     IScheduledWorkItem * This,
  602.     /* [out] */ WORD *piNewTrigger,
  603.     /* [out] */ ITaskTrigger **ppTrigger);
  604. void __RPC_STUB IScheduledWorkItem_CreateTrigger_Stub(
  605.     IRpcStubBuffer *This,
  606.     IRpcChannelBuffer *_pRpcChannelBuffer,
  607.     PRPC_MESSAGE _pRpcMessage,
  608.     DWORD *_pdwStubPhase);
  609. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_DeleteTrigger_Proxy( 
  610.     IScheduledWorkItem * This,
  611.     /* [in] */ WORD iTrigger);
  612. void __RPC_STUB IScheduledWorkItem_DeleteTrigger_Stub(
  613.     IRpcStubBuffer *This,
  614.     IRpcChannelBuffer *_pRpcChannelBuffer,
  615.     PRPC_MESSAGE _pRpcMessage,
  616.     DWORD *_pdwStubPhase);
  617. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_GetTriggerCount_Proxy( 
  618.     IScheduledWorkItem * This,
  619.     /* [out] */ WORD *pwCount);
  620. void __RPC_STUB IScheduledWorkItem_GetTriggerCount_Stub(
  621.     IRpcStubBuffer *This,
  622.     IRpcChannelBuffer *_pRpcChannelBuffer,
  623.     PRPC_MESSAGE _pRpcMessage,
  624.     DWORD *_pdwStubPhase);
  625. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_GetTrigger_Proxy( 
  626.     IScheduledWorkItem * This,
  627.     /* [in] */ WORD iTrigger,
  628.     /* [out] */ ITaskTrigger **ppTrigger);
  629. void __RPC_STUB IScheduledWorkItem_GetTrigger_Stub(
  630.     IRpcStubBuffer *This,
  631.     IRpcChannelBuffer *_pRpcChannelBuffer,
  632.     PRPC_MESSAGE _pRpcMessage,
  633.     DWORD *_pdwStubPhase);
  634. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_GetTriggerString_Proxy( 
  635.     IScheduledWorkItem * This,
  636.     /* [in] */ WORD iTrigger,
  637.     /* [out] */ LPWSTR *ppwszTrigger);
  638. void __RPC_STUB IScheduledWorkItem_GetTriggerString_Stub(
  639.     IRpcStubBuffer *This,
  640.     IRpcChannelBuffer *_pRpcChannelBuffer,
  641.     PRPC_MESSAGE _pRpcMessage,
  642.     DWORD *_pdwStubPhase);
  643. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_GetRunTimes_Proxy( 
  644.     IScheduledWorkItem * This,
  645.     /* [in] */ const LPSYSTEMTIME pstBegin,
  646.     /* [in] */ const LPSYSTEMTIME pstEnd,
  647.     /* [out][in] */ WORD *pCount,
  648.     /* [out] */ LPSYSTEMTIME *rgstTaskTimes);
  649. void __RPC_STUB IScheduledWorkItem_GetRunTimes_Stub(
  650.     IRpcStubBuffer *This,
  651.     IRpcChannelBuffer *_pRpcChannelBuffer,
  652.     PRPC_MESSAGE _pRpcMessage,
  653.     DWORD *_pdwStubPhase);
  654. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_GetNextRunTime_Proxy( 
  655.     IScheduledWorkItem * This,
  656.     /* [out][in] */ SYSTEMTIME *pstNextRun);
  657. void __RPC_STUB IScheduledWorkItem_GetNextRunTime_Stub(
  658.     IRpcStubBuffer *This,
  659.     IRpcChannelBuffer *_pRpcChannelBuffer,
  660.     PRPC_MESSAGE _pRpcMessage,
  661.     DWORD *_pdwStubPhase);
  662. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_SetIdleWait_Proxy( 
  663.     IScheduledWorkItem * This,
  664.     /* [in] */ WORD wIdleMinutes,
  665.     /* [in] */ WORD wDeadlineMinutes);
  666. void __RPC_STUB IScheduledWorkItem_SetIdleWait_Stub(
  667.     IRpcStubBuffer *This,
  668.     IRpcChannelBuffer *_pRpcChannelBuffer,
  669.     PRPC_MESSAGE _pRpcMessage,
  670.     DWORD *_pdwStubPhase);
  671. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_GetIdleWait_Proxy( 
  672.     IScheduledWorkItem * This,
  673.     /* [out] */ WORD *pwIdleMinutes,
  674.     /* [out] */ WORD *pwDeadlineMinutes);
  675. void __RPC_STUB IScheduledWorkItem_GetIdleWait_Stub(
  676.     IRpcStubBuffer *This,
  677.     IRpcChannelBuffer *_pRpcChannelBuffer,
  678.     PRPC_MESSAGE _pRpcMessage,
  679.     DWORD *_pdwStubPhase);
  680. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_Run_Proxy( 
  681.     IScheduledWorkItem * This);
  682. void __RPC_STUB IScheduledWorkItem_Run_Stub(
  683.     IRpcStubBuffer *This,
  684.     IRpcChannelBuffer *_pRpcChannelBuffer,
  685.     PRPC_MESSAGE _pRpcMessage,
  686.     DWORD *_pdwStubPhase);
  687. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_Terminate_Proxy( 
  688.     IScheduledWorkItem * This);
  689. void __RPC_STUB IScheduledWorkItem_Terminate_Stub(
  690.     IRpcStubBuffer *This,
  691.     IRpcChannelBuffer *_pRpcChannelBuffer,
  692.     PRPC_MESSAGE _pRpcMessage,
  693.     DWORD *_pdwStubPhase);
  694. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_EditWorkItem_Proxy( 
  695.     IScheduledWorkItem * This,
  696.     /* [in] */ HWND hParent,
  697.     /* [in] */ DWORD dwReserved);
  698. void __RPC_STUB IScheduledWorkItem_EditWorkItem_Stub(
  699.     IRpcStubBuffer *This,
  700.     IRpcChannelBuffer *_pRpcChannelBuffer,
  701.     PRPC_MESSAGE _pRpcMessage,
  702.     DWORD *_pdwStubPhase);
  703. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_GetMostRecentRunTime_Proxy( 
  704.     IScheduledWorkItem * This,
  705.     /* [out] */ SYSTEMTIME *pstLastRun);
  706. void __RPC_STUB IScheduledWorkItem_GetMostRecentRunTime_Stub(
  707.     IRpcStubBuffer *This,
  708.     IRpcChannelBuffer *_pRpcChannelBuffer,
  709.     PRPC_MESSAGE _pRpcMessage,
  710.     DWORD *_pdwStubPhase);
  711. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_GetStatus_Proxy( 
  712.     IScheduledWorkItem * This,
  713.     /* [out] */ HRESULT *phrStatus);
  714. void __RPC_STUB IScheduledWorkItem_GetStatus_Stub(
  715.     IRpcStubBuffer *This,
  716.     IRpcChannelBuffer *_pRpcChannelBuffer,
  717.     PRPC_MESSAGE _pRpcMessage,
  718.     DWORD *_pdwStubPhase);
  719. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_GetExitCode_Proxy( 
  720.     IScheduledWorkItem * This,
  721.     /* [out] */ DWORD *pdwExitCode);
  722. void __RPC_STUB IScheduledWorkItem_GetExitCode_Stub(
  723.     IRpcStubBuffer *This,
  724.     IRpcChannelBuffer *_pRpcChannelBuffer,
  725.     PRPC_MESSAGE _pRpcMessage,
  726.     DWORD *_pdwStubPhase);
  727. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_SetComment_Proxy( 
  728.     IScheduledWorkItem * This,
  729.     /* [in] */ LPCWSTR pwszComment);
  730. void __RPC_STUB IScheduledWorkItem_SetComment_Stub(
  731.     IRpcStubBuffer *This,
  732.     IRpcChannelBuffer *_pRpcChannelBuffer,
  733.     PRPC_MESSAGE _pRpcMessage,
  734.     DWORD *_pdwStubPhase);
  735. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_GetComment_Proxy( 
  736.     IScheduledWorkItem * This,
  737.     /* [out] */ LPWSTR *ppwszComment);
  738. void __RPC_STUB IScheduledWorkItem_GetComment_Stub(
  739.     IRpcStubBuffer *This,
  740.     IRpcChannelBuffer *_pRpcChannelBuffer,
  741.     PRPC_MESSAGE _pRpcMessage,
  742.     DWORD *_pdwStubPhase);
  743. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_SetCreator_Proxy( 
  744.     IScheduledWorkItem * This,
  745.     /* [in] */ LPCWSTR pwszCreator);
  746. void __RPC_STUB IScheduledWorkItem_SetCreator_Stub(
  747.     IRpcStubBuffer *This,
  748.     IRpcChannelBuffer *_pRpcChannelBuffer,
  749.     PRPC_MESSAGE _pRpcMessage,
  750.     DWORD *_pdwStubPhase);
  751. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_GetCreator_Proxy( 
  752.     IScheduledWorkItem * This,
  753.     /* [out] */ LPWSTR *ppwszCreator);
  754. void __RPC_STUB IScheduledWorkItem_GetCreator_Stub(
  755.     IRpcStubBuffer *This,
  756.     IRpcChannelBuffer *_pRpcChannelBuffer,
  757.     PRPC_MESSAGE _pRpcMessage,
  758.     DWORD *_pdwStubPhase);
  759. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_SetWorkItemData_Proxy( 
  760.     IScheduledWorkItem * This,
  761.     /* [in] */ WORD cbData,
  762.     /* [in] */ BYTE rgbData[  ]);
  763. void __RPC_STUB IScheduledWorkItem_SetWorkItemData_Stub(
  764.     IRpcStubBuffer *This,
  765.     IRpcChannelBuffer *_pRpcChannelBuffer,
  766.     PRPC_MESSAGE _pRpcMessage,
  767.     DWORD *_pdwStubPhase);
  768. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_GetWorkItemData_Proxy( 
  769.     IScheduledWorkItem * This,
  770.     /* [out] */ WORD *pcbData,
  771.     /* [out] */ BYTE **prgbData);
  772. void __RPC_STUB IScheduledWorkItem_GetWorkItemData_Stub(
  773.     IRpcStubBuffer *This,
  774.     IRpcChannelBuffer *_pRpcChannelBuffer,
  775.     PRPC_MESSAGE _pRpcMessage,
  776.     DWORD *_pdwStubPhase);
  777. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_SetErrorRetryCount_Proxy( 
  778.     IScheduledWorkItem * This,
  779.     /* [in] */ WORD wRetryCount);
  780. void __RPC_STUB IScheduledWorkItem_SetErrorRetryCount_Stub(
  781.     IRpcStubBuffer *This,
  782.     IRpcChannelBuffer *_pRpcChannelBuffer,
  783.     PRPC_MESSAGE _pRpcMessage,
  784.     DWORD *_pdwStubPhase);
  785. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_GetErrorRetryCount_Proxy( 
  786.     IScheduledWorkItem * This,
  787.     /* [out] */ WORD *pwRetryCount);
  788. void __RPC_STUB IScheduledWorkItem_GetErrorRetryCount_Stub(
  789.     IRpcStubBuffer *This,
  790.     IRpcChannelBuffer *_pRpcChannelBuffer,
  791.     PRPC_MESSAGE _pRpcMessage,
  792.     DWORD *_pdwStubPhase);
  793. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_SetErrorRetryInterval_Proxy( 
  794.     IScheduledWorkItem * This,
  795.     /* [in] */ WORD wRetryInterval);
  796. void __RPC_STUB IScheduledWorkItem_SetErrorRetryInterval_Stub(
  797.     IRpcStubBuffer *This,
  798.     IRpcChannelBuffer *_pRpcChannelBuffer,
  799.     PRPC_MESSAGE _pRpcMessage,
  800.     DWORD *_pdwStubPhase);
  801. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_GetErrorRetryInterval_Proxy( 
  802.     IScheduledWorkItem * This,
  803.     /* [out] */ WORD *pwRetryInterval);
  804. void __RPC_STUB IScheduledWorkItem_GetErrorRetryInterval_Stub(
  805.     IRpcStubBuffer *This,
  806.     IRpcChannelBuffer *_pRpcChannelBuffer,
  807.     PRPC_MESSAGE _pRpcMessage,
  808.     DWORD *_pdwStubPhase);
  809. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_SetFlags_Proxy( 
  810.     IScheduledWorkItem * This,
  811.     /* [in] */ DWORD dwFlags);
  812. void __RPC_STUB IScheduledWorkItem_SetFlags_Stub(
  813.     IRpcStubBuffer *This,
  814.     IRpcChannelBuffer *_pRpcChannelBuffer,
  815.     PRPC_MESSAGE _pRpcMessage,
  816.     DWORD *_pdwStubPhase);
  817. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_GetFlags_Proxy( 
  818.     IScheduledWorkItem * This,
  819.     /* [out] */ DWORD *pdwFlags);
  820. void __RPC_STUB IScheduledWorkItem_GetFlags_Stub(
  821.     IRpcStubBuffer *This,
  822.     IRpcChannelBuffer *_pRpcChannelBuffer,
  823.     PRPC_MESSAGE _pRpcMessage,
  824.     DWORD *_pdwStubPhase);
  825. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_SetAccountInformation_Proxy( 
  826.     IScheduledWorkItem * This,
  827.     /* [in] */ LPCWSTR pwszAccountName,
  828.     /* [in] */ LPCWSTR pwszPassword);
  829. void __RPC_STUB IScheduledWorkItem_SetAccountInformation_Stub(
  830.     IRpcStubBuffer *This,
  831.     IRpcChannelBuffer *_pRpcChannelBuffer,
  832.     PRPC_MESSAGE _pRpcMessage,
  833.     DWORD *_pdwStubPhase);
  834. HRESULT STDMETHODCALLTYPE IScheduledWorkItem_GetAccountInformation_Proxy( 
  835.     IScheduledWorkItem * This,
  836.     /* [out] */ LPWSTR *ppwszAccountName);
  837. void __RPC_STUB IScheduledWorkItem_GetAccountInformation_Stub(
  838.     IRpcStubBuffer *This,
  839.     IRpcChannelBuffer *_pRpcChannelBuffer,
  840.     PRPC_MESSAGE _pRpcMessage,
  841.     DWORD *_pdwStubPhase);
  842. #endif  /* __IScheduledWorkItem_INTERFACE_DEFINED__ */
  843. /* interface __MIDL_itf_mstask_0136 */
  844. /* [local] */ 
  845. // {148BD524-A2AB-11CE-B11F-00AA00530503}
  846. DEFINE_GUID(IID_ITask, 0x148BD524L, 0xA2AB, 0x11CE, 0xB1, 0x1F, 0x00, 0xAA, 0x00, 0x53, 0x05, 0x03);
  847. extern RPC_IF_HANDLE __MIDL_itf_mstask_0136_v0_0_c_ifspec;
  848. extern RPC_IF_HANDLE __MIDL_itf_mstask_0136_v0_0_s_ifspec;
  849. #ifndef __ITask_INTERFACE_DEFINED__
  850. #define __ITask_INTERFACE_DEFINED__
  851. /* interface ITask */
  852. /* [unique][uuid][object][local] */ 
  853. EXTERN_C const IID IID_ITask;
  854. #if defined(__cplusplus) && !defined(CINTERFACE)
  855.     
  856.     MIDL_INTERFACE("148BD524-A2AB-11CE-B11F-00AA00530503")
  857.     ITask : public IScheduledWorkItem
  858.     {
  859.     public:
  860.         virtual HRESULT STDMETHODCALLTYPE SetApplicationName( 
  861.             /* [in] */ LPCWSTR pwszApplicationName) = 0;
  862.         
  863.         virtual HRESULT STDMETHODCALLTYPE GetApplicationName( 
  864.             /* [out] */ LPWSTR *ppwszApplicationName) = 0;
  865.         
  866.         virtual HRESULT STDMETHODCALLTYPE SetParameters( 
  867.             /* [in] */ LPCWSTR pwszParameters) = 0;
  868.         
  869.         virtual HRESULT STDMETHODCALLTYPE GetParameters( 
  870.             /* [out] */ LPWSTR *ppwszParameters) = 0;
  871.         
  872.         virtual HRESULT STDMETHODCALLTYPE SetWorkingDirectory( 
  873.             /* [in] */ LPCWSTR pwszWorkingDirectory) = 0;
  874.         
  875.         virtual HRESULT STDMETHODCALLTYPE GetWorkingDirectory( 
  876.             /* [out] */ LPWSTR *ppwszWorkingDirectory) = 0;
  877.         
  878.         virtual HRESULT STDMETHODCALLTYPE SetPriority( 
  879.             /* [in] */ DWORD dwPriority) = 0;
  880.         
  881.         virtual HRESULT STDMETHODCALLTYPE GetPriority( 
  882.             /* [out] */ DWORD *pdwPriority) = 0;
  883.         
  884.         virtual HRESULT STDMETHODCALLTYPE SetTaskFlags( 
  885.             /* [in] */ DWORD dwFlags) = 0;
  886.         
  887.         virtual HRESULT STDMETHODCALLTYPE GetTaskFlags( 
  888.             /* [out] */ DWORD *pdwFlags) = 0;
  889.         
  890.         virtual HRESULT STDMETHODCALLTYPE SetMaxRunTime( 
  891.             /* [in] */ DWORD dwMaxRunTimeMS) = 0;
  892.         
  893.         virtual HRESULT STDMETHODCALLTYPE GetMaxRunTime( 
  894.             /* [out] */ DWORD *pdwMaxRunTimeMS) = 0;
  895.         
  896.     };
  897.     
  898. #else  /* C style interface */
  899.     typedef struct ITaskVtbl
  900.     {
  901.         BEGIN_INTERFACE
  902.         
  903.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  904.             ITask * This,
  905.             /* [in] */ REFIID riid,
  906.             /* [iid_is][out] */ void **ppvObject);
  907.         
  908.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  909.             ITask * This);
  910.         
  911.         ULONG ( STDMETHODCALLTYPE *Release )( 
  912.             ITask * This);
  913.         
  914.         HRESULT ( STDMETHODCALLTYPE *CreateTrigger )( 
  915.             ITask * This,
  916.             /* [out] */ WORD *piNewTrigger,
  917.             /* [out] */ ITaskTrigger **ppTrigger);
  918.         
  919.         HRESULT ( STDMETHODCALLTYPE *DeleteTrigger )( 
  920.             ITask * This,
  921.             /* [in] */ WORD iTrigger);
  922.         
  923.         HRESULT ( STDMETHODCALLTYPE *GetTriggerCount )( 
  924.             ITask * This,
  925.             /* [out] */ WORD *pwCount);
  926.         
  927.         HRESULT ( STDMETHODCALLTYPE *GetTrigger )( 
  928.             ITask * This,
  929.             /* [in] */ WORD iTrigger,
  930.             /* [out] */ ITaskTrigger **ppTrigger);
  931.         
  932.         HRESULT ( STDMETHODCALLTYPE *GetTriggerString )( 
  933.             ITask * This,
  934.             /* [in] */ WORD iTrigger,
  935.             /* [out] */ LPWSTR *ppwszTrigger);
  936.         
  937.         HRESULT ( STDMETHODCALLTYPE *GetRunTimes )( 
  938.             ITask * This,
  939.             /* [in] */ const LPSYSTEMTIME pstBegin,
  940.             /* [in] */ const LPSYSTEMTIME pstEnd,
  941.             /* [out][in] */ WORD *pCount,
  942.             /* [out] */ LPSYSTEMTIME *rgstTaskTimes);
  943.         
  944.         HRESULT ( STDMETHODCALLTYPE *GetNextRunTime )( 
  945.             ITask * This,
  946.             /* [out][in] */ SYSTEMTIME *pstNextRun);
  947.         
  948.         HRESULT ( STDMETHODCALLTYPE *SetIdleWait )( 
  949.             ITask * This,
  950.             /* [in] */ WORD wIdleMinutes,
  951.             /* [in] */ WORD wDeadlineMinutes);
  952.         
  953.         HRESULT ( STDMETHODCALLTYPE *GetIdleWait )( 
  954.             ITask * This,
  955.             /* [out] */ WORD *pwIdleMinutes,
  956.             /* [out] */ WORD *pwDeadlineMinutes);
  957.         
  958.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  959.             ITask * This);
  960.         
  961.         HRESULT ( STDMETHODCALLTYPE *Terminate )( 
  962.             ITask * This);
  963.         
  964.         HRESULT ( STDMETHODCALLTYPE *EditWorkItem )( 
  965.             ITask * This,
  966.             /* [in] */ HWND hParent,
  967.             /* [in] */ DWORD dwReserved);
  968.         
  969.         HRESULT ( STDMETHODCALLTYPE *GetMostRecentRunTime )( 
  970.             ITask * This,
  971.             /* [out] */ SYSTEMTIME *pstLastRun);
  972.         
  973.         HRESULT ( STDMETHODCALLTYPE *GetStatus )( 
  974.             ITask * This,
  975.             /* [out] */ HRESULT *phrStatus);
  976.         
  977.         HRESULT ( STDMETHODCALLTYPE *GetExitCode )( 
  978.             ITask * This,
  979.             /* [out] */ DWORD *pdwExitCode);
  980.         
  981.         HRESULT ( STDMETHODCALLTYPE *SetComment )( 
  982.             ITask * This,
  983.             /* [in] */ LPCWSTR pwszComment);
  984.         
  985.         HRESULT ( STDMETHODCALLTYPE *GetComment )( 
  986.             ITask * This,
  987.             /* [out] */ LPWSTR *ppwszComment);
  988.         
  989.         HRESULT ( STDMETHODCALLTYPE *SetCreator )( 
  990.             ITask * This,
  991.             /* [in] */ LPCWSTR pwszCreator);
  992.         
  993.         HRESULT ( STDMETHODCALLTYPE *GetCreator )( 
  994.             ITask * This,
  995.             /* [out] */ LPWSTR *ppwszCreator);
  996.         
  997.         HRESULT ( STDMETHODCALLTYPE *SetWorkItemData )( 
  998.             ITask * This,
  999.             /* [in] */ WORD cbData,
  1000.             /* [in] */ BYTE rgbData[  ]);
  1001.         
  1002.         HRESULT ( STDMETHODCALLTYPE *GetWorkItemData )( 
  1003.             ITask * This,
  1004.             /* [out] */ WORD *pcbData,
  1005.             /* [out] */ BYTE **prgbData);
  1006.         
  1007.         HRESULT ( STDMETHODCALLTYPE *SetErrorRetryCount )( 
  1008.             ITask * This,
  1009.             /* [in] */ WORD wRetryCount);
  1010.         
  1011.         HRESULT ( STDMETHODCALLTYPE *GetErrorRetryCount )( 
  1012.             ITask * This,
  1013.             /* [out] */ WORD *pwRetryCount);
  1014.         
  1015.         HRESULT ( STDMETHODCALLTYPE *SetErrorRetryInterval )( 
  1016.             ITask * This,
  1017.             /* [in] */ WORD wRetryInterval);
  1018.         
  1019.         HRESULT ( STDMETHODCALLTYPE *GetErrorRetryInterval )( 
  1020.             ITask * This,
  1021.             /* [out] */ WORD *pwRetryInterval);
  1022.         
  1023.         HRESULT ( STDMETHODCALLTYPE *SetFlags )( 
  1024.             ITask * This,
  1025.             /* [in] */ DWORD dwFlags);
  1026.         
  1027.         HRESULT ( STDMETHODCALLTYPE *GetFlags )( 
  1028.             ITask * This,
  1029.             /* [out] */ DWORD *pdwFlags);
  1030.         
  1031.         HRESULT ( STDMETHODCALLTYPE *SetAccountInformation )( 
  1032.             ITask * This,
  1033.             /* [in] */ LPCWSTR pwszAccountName,
  1034.             /* [in] */ LPCWSTR pwszPassword);
  1035.         
  1036.         HRESULT ( STDMETHODCALLTYPE *GetAccountInformation )( 
  1037.             ITask * This,
  1038.             /* [out] */ LPWSTR *ppwszAccountName);
  1039.         
  1040.         HRESULT ( STDMETHODCALLTYPE *SetApplicationName )( 
  1041.             ITask * This,
  1042.             /* [in] */ LPCWSTR pwszApplicationName);
  1043.         
  1044.         HRESULT ( STDMETHODCALLTYPE *GetApplicationName )( 
  1045.             ITask * This,
  1046.             /* [out] */ LPWSTR *ppwszApplicationName);
  1047.         
  1048.         HRESULT ( STDMETHODCALLTYPE *SetParameters )( 
  1049.             ITask * This,
  1050.             /* [in] */ LPCWSTR pwszParameters);
  1051.         
  1052.         HRESULT ( STDMETHODCALLTYPE *GetParameters )( 
  1053.             ITask * This,
  1054.             /* [out] */ LPWSTR *ppwszParameters);
  1055.         
  1056.         HRESULT ( STDMETHODCALLTYPE *SetWorkingDirectory )( 
  1057.             ITask * This,
  1058.             /* [in] */ LPCWSTR pwszWorkingDirectory);
  1059.         
  1060.         HRESULT ( STDMETHODCALLTYPE *GetWorkingDirectory )( 
  1061.             ITask * This,
  1062.             /* [out] */ LPWSTR *ppwszWorkingDirectory);
  1063.         
  1064.         HRESULT ( STDMETHODCALLTYPE *SetPriority )( 
  1065.             ITask * This,
  1066.             /* [in] */ DWORD dwPriority);
  1067.         
  1068.         HRESULT ( STDMETHODCALLTYPE *GetPriority )( 
  1069.             ITask * This,
  1070.             /* [out] */ DWORD *pdwPriority);
  1071.         
  1072.         HRESULT ( STDMETHODCALLTYPE *SetTaskFlags )( 
  1073.             ITask * This,
  1074.             /* [in] */ DWORD dwFlags);
  1075.         
  1076.         HRESULT ( STDMETHODCALLTYPE *GetTaskFlags )( 
  1077.             ITask * This,
  1078.             /* [out] */ DWORD *pdwFlags);
  1079.         
  1080.         HRESULT ( STDMETHODCALLTYPE *SetMaxRunTime )( 
  1081.             ITask * This,
  1082.             /* [in] */ DWORD dwMaxRunTimeMS);
  1083.         
  1084.         HRESULT ( STDMETHODCALLTYPE *GetMaxRunTime )( 
  1085.             ITask * This,
  1086.             /* [out] */ DWORD *pdwMaxRunTimeMS);
  1087.         
  1088.         END_INTERFACE
  1089.     } ITaskVtbl;
  1090.     interface ITask
  1091.     {
  1092.         CONST_VTBL struct ITaskVtbl *lpVtbl;
  1093.     };
  1094.     
  1095. #ifdef COBJMACROS
  1096. #define ITask_QueryInterface(This,riid,ppvObject)
  1097.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1098. #define ITask_AddRef(This)
  1099.     (This)->lpVtbl -> AddRef(This)
  1100. #define ITask_Release(This)
  1101.     (This)->lpVtbl -> Release(This)
  1102. #define ITask_CreateTrigger(This,piNewTrigger,ppTrigger)
  1103.     (This)->lpVtbl -> CreateTrigger(This,piNewTrigger,ppTrigger)
  1104. #define ITask_DeleteTrigger(This,iTrigger)
  1105.     (This)->lpVtbl -> DeleteTrigger(This,iTrigger)
  1106. #define ITask_GetTriggerCount(This,pwCount)
  1107.     (This)->lpVtbl -> GetTriggerCount(This,pwCount)
  1108. #define ITask_GetTrigger(This,iTrigger,ppTrigger)
  1109.     (This)->lpVtbl -> GetTrigger(This,iTrigger,ppTrigger)
  1110. #define ITask_GetTriggerString(This,iTrigger,ppwszTrigger)
  1111.     (This)->lpVtbl -> GetTriggerString(This,iTrigger,ppwszTrigger)
  1112. #define ITask_GetRunTimes(This,pstBegin,pstEnd,pCount,rgstTaskTimes)
  1113.     (This)->lpVtbl -> GetRunTimes(This,pstBegin,pstEnd,pCount,rgstTaskTimes)
  1114. #define ITask_GetNextRunTime(This,pstNextRun)
  1115.     (This)->lpVtbl -> GetNextRunTime(This,pstNextRun)
  1116. #define ITask_SetIdleWait(This,wIdleMinutes,wDeadlineMinutes)
  1117.     (This)->lpVtbl -> SetIdleWait(This,wIdleMinutes,wDeadlineMinutes)
  1118. #define ITask_GetIdleWait(This,pwIdleMinutes,pwDeadlineMinutes)
  1119.     (This)->lpVtbl -> GetIdleWait(This,pwIdleMinutes,pwDeadlineMinutes)
  1120. #define ITask_Run(This)
  1121.     (This)->lpVtbl -> Run(This)
  1122. #define ITask_Terminate(This)
  1123.     (This)->lpVtbl -> Terminate(This)
  1124. #define ITask_EditWorkItem(This,hParent,dwReserved)
  1125.     (This)->lpVtbl -> EditWorkItem(This,hParent,dwReserved)
  1126. #define ITask_GetMostRecentRunTime(This,pstLastRun)
  1127.     (This)->lpVtbl -> GetMostRecentRunTime(This,pstLastRun)
  1128. #define ITask_GetStatus(This,phrStatus)
  1129.     (This)->lpVtbl -> GetStatus(This,phrStatus)
  1130. #define ITask_GetExitCode(This,pdwExitCode)
  1131.     (This)->lpVtbl -> GetExitCode(This,pdwExitCode)
  1132. #define ITask_SetComment(This,pwszComment)
  1133.     (This)->lpVtbl -> SetComment(This,pwszComment)
  1134. #define ITask_GetComment(This,ppwszComment)
  1135.     (This)->lpVtbl -> GetComment(This,ppwszComment)
  1136. #define ITask_SetCreator(This,pwszCreator)
  1137.     (This)->lpVtbl -> SetCreator(This,pwszCreator)
  1138. #define ITask_GetCreator(This,ppwszCreator)
  1139.     (This)->lpVtbl -> GetCreator(This,ppwszCreator)
  1140. #define ITask_SetWorkItemData(This,cbData,rgbData)
  1141.     (This)->lpVtbl -> SetWorkItemData(This,cbData,rgbData)
  1142. #define ITask_GetWorkItemData(This,pcbData,prgbData)
  1143.     (This)->lpVtbl -> GetWorkItemData(This,pcbData,prgbData)
  1144. #define ITask_SetErrorRetryCount(This,wRetryCount)
  1145.     (This)->lpVtbl -> SetErrorRetryCount(This,wRetryCount)
  1146. #define ITask_GetErrorRetryCount(This,pwRetryCount)
  1147.     (This)->lpVtbl -> GetErrorRetryCount(This,pwRetryCount)
  1148. #define ITask_SetErrorRetryInterval(This,wRetryInterval)
  1149.     (This)->lpVtbl -> SetErrorRetryInterval(This,wRetryInterval)
  1150. #define ITask_GetErrorRetryInterval(This,pwRetryInterval)
  1151.     (This)->lpVtbl -> GetErrorRetryInterval(This,pwRetryInterval)
  1152. #define ITask_SetFlags(This,dwFlags)
  1153.     (This)->lpVtbl -> SetFlags(This,dwFlags)
  1154. #define ITask_GetFlags(This,pdwFlags)
  1155.     (This)->lpVtbl -> GetFlags(This,pdwFlags)
  1156. #define ITask_SetAccountInformation(This,pwszAccountName,pwszPassword)
  1157.     (This)->lpVtbl -> SetAccountInformation(This,pwszAccountName,pwszPassword)
  1158. #define ITask_GetAccountInformation(This,ppwszAccountName)
  1159.     (This)->lpVtbl -> GetAccountInformation(This,ppwszAccountName)
  1160. #define ITask_SetApplicationName(This,pwszApplicationName)
  1161.     (This)->lpVtbl -> SetApplicationName(This,pwszApplicationName)
  1162. #define ITask_GetApplicationName(This,ppwszApplicationName)
  1163.     (This)->lpVtbl -> GetApplicationName(This,ppwszApplicationName)
  1164. #define ITask_SetParameters(This,pwszParameters)
  1165.     (This)->lpVtbl -> SetParameters(This,pwszParameters)
  1166. #define ITask_GetParameters(This,ppwszParameters)
  1167.     (This)->lpVtbl -> GetParameters(This,ppwszParameters)
  1168. #define ITask_SetWorkingDirectory(This,pwszWorkingDirectory)
  1169.     (This)->lpVtbl -> SetWorkingDirectory(This,pwszWorkingDirectory)
  1170. #define ITask_GetWorkingDirectory(This,ppwszWorkingDirectory)
  1171.     (This)->lpVtbl -> GetWorkingDirectory(This,ppwszWorkingDirectory)
  1172. #define ITask_SetPriority(This,dwPriority)
  1173.     (This)->lpVtbl -> SetPriority(This,dwPriority)
  1174. #define ITask_GetPriority(This,pdwPriority)
  1175.     (This)->lpVtbl -> GetPriority(This,pdwPriority)
  1176. #define ITask_SetTaskFlags(This,dwFlags)
  1177.     (This)->lpVtbl -> SetTaskFlags(This,dwFlags)
  1178. #define ITask_GetTaskFlags(This,pdwFlags)
  1179.     (This)->lpVtbl -> GetTaskFlags(This,pdwFlags)
  1180. #define ITask_SetMaxRunTime(This,dwMaxRunTimeMS)
  1181.     (This)->lpVtbl -> SetMaxRunTime(This,dwMaxRunTimeMS)
  1182. #define ITask_GetMaxRunTime(This,pdwMaxRunTimeMS)
  1183.     (This)->lpVtbl -> GetMaxRunTime(This,pdwMaxRunTimeMS)
  1184. #endif /* COBJMACROS */
  1185. #endif  /* C style interface */
  1186. HRESULT STDMETHODCALLTYPE ITask_SetApplicationName_Proxy( 
  1187.     ITask * This,
  1188.     /* [in] */ LPCWSTR pwszApplicationName);
  1189. void __RPC_STUB ITask_SetApplicationName_Stub(
  1190.     IRpcStubBuffer *This,
  1191.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1192.     PRPC_MESSAGE _pRpcMessage,
  1193.     DWORD *_pdwStubPhase);
  1194. HRESULT STDMETHODCALLTYPE ITask_GetApplicationName_Proxy( 
  1195.     ITask * This,
  1196.     /* [out] */ LPWSTR *ppwszApplicationName);
  1197. void __RPC_STUB ITask_GetApplicationName_Stub(
  1198.     IRpcStubBuffer *This,
  1199.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1200.     PRPC_MESSAGE _pRpcMessage,
  1201.     DWORD *_pdwStubPhase);
  1202. HRESULT STDMETHODCALLTYPE ITask_SetParameters_Proxy( 
  1203.     ITask * This,
  1204.     /* [in] */ LPCWSTR pwszParameters);
  1205. void __RPC_STUB ITask_SetParameters_Stub(
  1206.     IRpcStubBuffer *This,
  1207.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1208.     PRPC_MESSAGE _pRpcMessage,
  1209.     DWORD *_pdwStubPhase);
  1210. HRESULT STDMETHODCALLTYPE ITask_GetParameters_Proxy( 
  1211.     ITask * This,
  1212.     /* [out] */ LPWSTR *ppwszParameters);
  1213. void __RPC_STUB ITask_GetParameters_Stub(
  1214.     IRpcStubBuffer *This,
  1215.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1216.     PRPC_MESSAGE _pRpcMessage,
  1217.     DWORD *_pdwStubPhase);
  1218. HRESULT STDMETHODCALLTYPE ITask_SetWorkingDirectory_Proxy( 
  1219.     ITask * This,
  1220.     /* [in] */ LPCWSTR pwszWorkingDirectory);
  1221. void __RPC_STUB ITask_SetWorkingDirectory_Stub(
  1222.     IRpcStubBuffer *This,
  1223.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1224.     PRPC_MESSAGE _pRpcMessage,
  1225.     DWORD *_pdwStubPhase);
  1226. HRESULT STDMETHODCALLTYPE ITask_GetWorkingDirectory_Proxy( 
  1227.     ITask * This,
  1228.     /* [out] */ LPWSTR *ppwszWorkingDirectory);
  1229. void __RPC_STUB ITask_GetWorkingDirectory_Stub(
  1230.     IRpcStubBuffer *This,
  1231.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1232.     PRPC_MESSAGE _pRpcMessage,
  1233.     DWORD *_pdwStubPhase);
  1234. HRESULT STDMETHODCALLTYPE ITask_SetPriority_Proxy( 
  1235.     ITask * This,
  1236.     /* [in] */ DWORD dwPriority);
  1237. void __RPC_STUB ITask_SetPriority_Stub(
  1238.     IRpcStubBuffer *This,
  1239.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1240.     PRPC_MESSAGE _pRpcMessage,
  1241.     DWORD *_pdwStubPhase);
  1242. HRESULT STDMETHODCALLTYPE ITask_GetPriority_Proxy( 
  1243.     ITask * This,
  1244.     /* [out] */ DWORD *pdwPriority);
  1245. void __RPC_STUB ITask_GetPriority_Stub(
  1246.     IRpcStubBuffer *This,
  1247.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1248.     PRPC_MESSAGE _pRpcMessage,
  1249.     DWORD *_pdwStubPhase);
  1250. HRESULT STDMETHODCALLTYPE ITask_SetTaskFlags_Proxy( 
  1251.     ITask * This,
  1252.     /* [in] */ DWORD dwFlags);
  1253. void __RPC_STUB ITask_SetTaskFlags_Stub(
  1254.     IRpcStubBuffer *This,
  1255.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1256.     PRPC_MESSAGE _pRpcMessage,
  1257.     DWORD *_pdwStubPhase);
  1258. HRESULT STDMETHODCALLTYPE ITask_GetTaskFlags_Proxy( 
  1259.     ITask * This,
  1260.     /* [out] */ DWORD *pdwFlags);
  1261. void __RPC_STUB ITask_GetTaskFlags_Stub(
  1262.     IRpcStubBuffer *This,
  1263.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1264.     PRPC_MESSAGE _pRpcMessage,
  1265.     DWORD *_pdwStubPhase);
  1266. HRESULT STDMETHODCALLTYPE ITask_SetMaxRunTime_Proxy( 
  1267.     ITask * This,
  1268.     /* [in] */ DWORD dwMaxRunTimeMS);
  1269. void __RPC_STUB ITask_SetMaxRunTime_Stub(
  1270.     IRpcStubBuffer *This,
  1271.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1272.     PRPC_MESSAGE _pRpcMessage,
  1273.     DWORD *_pdwStubPhase);
  1274. HRESULT STDMETHODCALLTYPE ITask_GetMaxRunTime_Proxy( 
  1275.     ITask * This,
  1276.     /* [out] */ DWORD *pdwMaxRunTimeMS);
  1277. void __RPC_STUB ITask_GetMaxRunTime_Stub(
  1278.     IRpcStubBuffer *This,
  1279.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1280.     PRPC_MESSAGE _pRpcMessage,
  1281.     DWORD *_pdwStubPhase);
  1282. #endif  /* __ITask_INTERFACE_DEFINED__ */
  1283. /* interface __MIDL_itf_mstask_0137 */
  1284. /* [local] */ 
  1285. // {148BD528-A2AB-11CE-B11F-00AA00530503}
  1286. DEFINE_GUID(IID_IEnumWorkItems, 0x148BD528L, 0xA2AB, 0x11CE, 0xB1, 0x1F, 0x00, 0xAA, 0x00, 0x53, 0x05, 0x03);
  1287. extern RPC_IF_HANDLE __MIDL_itf_mstask_0137_v0_0_c_ifspec;
  1288. extern RPC_IF_HANDLE __MIDL_itf_mstask_0137_v0_0_s_ifspec;
  1289. #ifndef __IEnumWorkItems_INTERFACE_DEFINED__
  1290. #define __IEnumWorkItems_INTERFACE_DEFINED__
  1291. /* interface IEnumWorkItems */
  1292. /* [unique][uuid][object][local] */ 
  1293. EXTERN_C const IID IID_IEnumWorkItems;
  1294. #if defined(__cplusplus) && !defined(CINTERFACE)
  1295.     
  1296.     MIDL_INTERFACE("148BD528-A2AB-11CE-B11F-00AA00530503")
  1297.     IEnumWorkItems : public IUnknown
  1298.     {
  1299.     public:
  1300.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1301.             /* [in] */ ULONG celt,
  1302.             /* [out] */ LPWSTR **rgpwszNames,
  1303.             /* [out] */ ULONG *pceltFetched) = 0;
  1304.         
  1305.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1306.             /* [in] */ ULONG celt) = 0;
  1307.         
  1308.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1309.         
  1310.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1311.             /* [out] */ IEnumWorkItems **ppEnumWorkItems) = 0;
  1312.         
  1313.     };
  1314.     
  1315. #else  /* C style interface */
  1316.     typedef struct IEnumWorkItemsVtbl
  1317.     {
  1318.         BEGIN_INTERFACE
  1319.         
  1320.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1321.             IEnumWorkItems * This,
  1322.             /* [in] */ REFIID riid,
  1323.             /* [iid_is][out] */ void **ppvObject);
  1324.         
  1325.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1326.             IEnumWorkItems * This);
  1327.         
  1328.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1329.             IEnumWorkItems * This);
  1330.         
  1331.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1332.             IEnumWorkItems * This,
  1333.             /* [in] */ ULONG celt,
  1334.             /* [out] */ LPWSTR **rgpwszNames,
  1335.             /* [out] */ ULONG *pceltFetched);
  1336.         
  1337.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1338.             IEnumWorkItems * This,
  1339.             /* [in] */ ULONG celt);
  1340.         
  1341.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1342.             IEnumWorkItems * This);
  1343.         
  1344.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1345.             IEnumWorkItems * This,
  1346.             /* [out] */ IEnumWorkItems **ppEnumWorkItems);
  1347.         
  1348.         END_INTERFACE
  1349.     } IEnumWorkItemsVtbl;
  1350.     interface IEnumWorkItems
  1351.     {
  1352.         CONST_VTBL struct IEnumWorkItemsVtbl *lpVtbl;
  1353.     };
  1354.     
  1355. #ifdef COBJMACROS
  1356. #define IEnumWorkItems_QueryInterface(This,riid,ppvObject)
  1357.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1358. #define IEnumWorkItems_AddRef(This)
  1359.     (This)->lpVtbl -> AddRef(This)
  1360. #define IEnumWorkItems_Release(This)
  1361.     (This)->lpVtbl -> Release(This)
  1362. #define IEnumWorkItems_Next(This,celt,rgpwszNames,pceltFetched)
  1363.     (This)->lpVtbl -> Next(This,celt,rgpwszNames,pceltFetched)
  1364. #define IEnumWorkItems_Skip(This,celt)
  1365.     (This)->lpVtbl -> Skip(This,celt)
  1366. #define IEnumWorkItems_Reset(This)
  1367.     (This)->lpVtbl -> Reset(This)
  1368. #define IEnumWorkItems_Clone(This,ppEnumWorkItems)
  1369.     (This)->lpVtbl -> Clone(This,ppEnumWorkItems)
  1370. #endif /* COBJMACROS */
  1371. #endif  /* C style interface */
  1372. HRESULT STDMETHODCALLTYPE IEnumWorkItems_Next_Proxy( 
  1373.     IEnumWorkItems * This,
  1374.     /* [in] */ ULONG celt,
  1375.     /* [out] */ LPWSTR **rgpwszNames,
  1376.     /* [out] */ ULONG *pceltFetched);
  1377. void __RPC_STUB IEnumWorkItems_Next_Stub(
  1378.     IRpcStubBuffer *This,
  1379.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1380.     PRPC_MESSAGE _pRpcMessage,
  1381.     DWORD *_pdwStubPhase);
  1382. HRESULT STDMETHODCALLTYPE IEnumWorkItems_Skip_Proxy( 
  1383.     IEnumWorkItems * This,
  1384.     /* [in] */ ULONG celt);
  1385. void __RPC_STUB IEnumWorkItems_Skip_Stub(
  1386.     IRpcStubBuffer *This,
  1387.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1388.     PRPC_MESSAGE _pRpcMessage,
  1389.     DWORD *_pdwStubPhase);
  1390. HRESULT STDMETHODCALLTYPE IEnumWorkItems_Reset_Proxy( 
  1391.     IEnumWorkItems * This);
  1392. void __RPC_STUB IEnumWorkItems_Reset_Stub(
  1393.     IRpcStubBuffer *This,
  1394.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1395.     PRPC_MESSAGE _pRpcMessage,
  1396.     DWORD *_pdwStubPhase);
  1397. HRESULT STDMETHODCALLTYPE IEnumWorkItems_Clone_Proxy( 
  1398.     IEnumWorkItems * This,
  1399.     /* [out] */ IEnumWorkItems **ppEnumWorkItems);
  1400. void __RPC_STUB IEnumWorkItems_Clone_Stub(
  1401.     IRpcStubBuffer *This,
  1402.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1403.     PRPC_MESSAGE _pRpcMessage,
  1404.     DWORD *_pdwStubPhase);
  1405. #endif  /* __IEnumWorkItems_INTERFACE_DEFINED__ */
  1406. /* interface __MIDL_itf_mstask_0138 */
  1407. /* [local] */ 
  1408. // {148BD527-A2AB-11CE-B11F-00AA00530503}
  1409. DEFINE_GUID(IID_ITaskScheduler, 0x148BD527L, 0xA2AB, 0x11CE, 0xB1, 0x1F, 0x00, 0xAA, 0x00, 0x53, 0x05, 0x03);
  1410. extern RPC_IF_HANDLE __MIDL_itf_mstask_0138_v0_0_c_ifspec;
  1411. extern RPC_IF_HANDLE __MIDL_itf_mstask_0138_v0_0_s_ifspec;
  1412. #ifndef __ITaskScheduler_INTERFACE_DEFINED__
  1413. #define __ITaskScheduler_INTERFACE_DEFINED__
  1414. /* interface ITaskScheduler */
  1415. /* [unique][uuid][object][local] */ 
  1416. EXTERN_C const IID IID_ITaskScheduler;
  1417. #if defined(__cplusplus) && !defined(CINTERFACE)
  1418.     
  1419.     MIDL_INTERFACE("148BD527-A2AB-11CE-B11F-00AA00530503")
  1420.     ITaskScheduler : public IUnknown
  1421.     {
  1422.     public:
  1423.         virtual HRESULT STDMETHODCALLTYPE SetTargetComputer( 
  1424.             /* [in] */ LPCWSTR pwszComputer) = 0;
  1425.         
  1426.         virtual HRESULT STDMETHODCALLTYPE GetTargetComputer( 
  1427.             /* [out] */ LPWSTR *ppwszComputer) = 0;
  1428.         
  1429.         virtual HRESULT STDMETHODCALLTYPE Enum( 
  1430.             /* [out] */ IEnumWorkItems **ppEnumWorkItems) = 0;
  1431.         
  1432.         virtual HRESULT STDMETHODCALLTYPE Activate( 
  1433.             /* [in] */ LPCWSTR pwszName,
  1434.             /* [in] */ REFIID riid,
  1435.             /* [out] */ IUnknown **ppUnk) = 0;
  1436.         
  1437.         virtual HRESULT STDMETHODCALLTYPE Delete( 
  1438.             /* [in] */ LPCWSTR pwszName) = 0;
  1439.         
  1440.         virtual HRESULT STDMETHODCALLTYPE NewWorkItem( 
  1441.             /* [in] */ LPCWSTR pwszTaskName,
  1442.             /* [in] */ REFCLSID rclsid,
  1443.             /* [in] */ REFIID riid,
  1444.             /* [out] */ IUnknown **ppUnk) = 0;
  1445.         
  1446.         virtual HRESULT STDMETHODCALLTYPE AddWorkItem( 
  1447.             /* [in] */ LPCWSTR pwszTaskName,
  1448.             /* [in] */ IScheduledWorkItem *pWorkItem) = 0;
  1449.         
  1450.         virtual HRESULT STDMETHODCALLTYPE IsOfType( 
  1451.             /* [in] */ LPCWSTR pwszName,
  1452.             /* [in] */ REFIID riid) = 0;
  1453.         
  1454.     };
  1455.     
  1456. #else  /* C style interface */
  1457.     typedef struct ITaskSchedulerVtbl
  1458.     {
  1459.         BEGIN_INTERFACE
  1460.         
  1461.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1462.             ITaskScheduler * This,
  1463.             /* [in] */ REFIID riid,
  1464.             /* [iid_is][out] */ void **ppvObject);
  1465.         
  1466.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1467.             ITaskScheduler * This);
  1468.         
  1469.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1470.             ITaskScheduler * This);
  1471.         
  1472.         HRESULT ( STDMETHODCALLTYPE *SetTargetComputer )( 
  1473.             ITaskScheduler * This,
  1474.             /* [in] */ LPCWSTR pwszComputer);
  1475.         
  1476.         HRESULT ( STDMETHODCALLTYPE *GetTargetComputer )( 
  1477.             ITaskScheduler * This,
  1478.             /* [out] */ LPWSTR *ppwszComputer);
  1479.         
  1480.         HRESULT ( STDMETHODCALLTYPE *Enum )( 
  1481.             ITaskScheduler * This,
  1482.             /* [out] */ IEnumWorkItems **ppEnumWorkItems);
  1483.         
  1484.         HRESULT ( STDMETHODCALLTYPE *Activate )( 
  1485.             ITaskScheduler * This,
  1486.             /* [in] */ LPCWSTR pwszName,
  1487.             /* [in] */ REFIID riid,
  1488.             /* [out] */ IUnknown **ppUnk);
  1489.         
  1490.         HRESULT ( STDMETHODCALLTYPE *Delete )( 
  1491.             ITaskScheduler * This,
  1492.             /* [in] */ LPCWSTR pwszName);
  1493.         
  1494.         HRESULT ( STDMETHODCALLTYPE *NewWorkItem )( 
  1495.             ITaskScheduler * This,
  1496.             /* [in] */ LPCWSTR pwszTaskName,
  1497.             /* [in] */ REFCLSID rclsid,
  1498.             /* [in] */ REFIID riid,
  1499.             /* [out] */ IUnknown **ppUnk);
  1500.         
  1501.         HRESULT ( STDMETHODCALLTYPE *AddWorkItem )( 
  1502.             ITaskScheduler * This,
  1503.             /* [in] */ LPCWSTR pwszTaskName,
  1504.             /* [in] */ IScheduledWorkItem *pWorkItem);
  1505.         
  1506.         HRESULT ( STDMETHODCALLTYPE *IsOfType )( 
  1507.             ITaskScheduler * This,
  1508.             /* [in] */ LPCWSTR pwszName,
  1509.             /* [in] */ REFIID riid);
  1510.         
  1511.         END_INTERFACE
  1512.     } ITaskSchedulerVtbl;
  1513.     interface ITaskScheduler
  1514.     {
  1515.         CONST_VTBL struct ITaskSchedulerVtbl *lpVtbl;
  1516.     };
  1517.     
  1518. #ifdef COBJMACROS
  1519. #define ITaskScheduler_QueryInterface(This,riid,ppvObject)
  1520.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1521. #define ITaskScheduler_AddRef(This)
  1522.     (This)->lpVtbl -> AddRef(This)
  1523. #define ITaskScheduler_Release(This)
  1524.     (This)->lpVtbl -> Release(This)
  1525. #define ITaskScheduler_SetTargetComputer(This,pwszComputer)
  1526.     (This)->lpVtbl -> SetTargetComputer(This,pwszComputer)
  1527. #define ITaskScheduler_GetTargetComputer(This,ppwszComputer)
  1528.     (This)->lpVtbl -> GetTargetComputer(This,ppwszComputer)
  1529. #define ITaskScheduler_Enum(This,ppEnumWorkItems)
  1530.     (This)->lpVtbl -> Enum(This,ppEnumWorkItems)
  1531. #define ITaskScheduler_Activate(This,pwszName,riid,ppUnk)
  1532.     (This)->lpVtbl -> Activate(This,pwszName,riid,ppUnk)
  1533. #define ITaskScheduler_Delete(This,pwszName)
  1534.     (This)->lpVtbl -> Delete(This,pwszName)
  1535. #define ITaskScheduler_NewWorkItem(This,pwszTaskName,rclsid,riid,ppUnk)
  1536.     (This)->lpVtbl -> NewWorkItem(This,pwszTaskName,rclsid,riid,ppUnk)
  1537. #define ITaskScheduler_AddWorkItem(This,pwszTaskName,pWorkItem)
  1538.     (This)->lpVtbl -> AddWorkItem(This,pwszTaskName,pWorkItem)
  1539. #define ITaskScheduler_IsOfType(This,pwszName,riid)
  1540.     (This)->lpVtbl -> IsOfType(This,pwszName,riid)
  1541. #endif /* COBJMACROS */
  1542. #endif  /* C style interface */
  1543. HRESULT STDMETHODCALLTYPE ITaskScheduler_SetTargetComputer_Proxy( 
  1544.     ITaskScheduler * This,
  1545.     /* [in] */ LPCWSTR pwszComputer);
  1546. void __RPC_STUB ITaskScheduler_SetTargetComputer_Stub(
  1547.     IRpcStubBuffer *This,
  1548.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1549.     PRPC_MESSAGE _pRpcMessage,
  1550.     DWORD *_pdwStubPhase);
  1551. HRESULT STDMETHODCALLTYPE ITaskScheduler_GetTargetComputer_Proxy( 
  1552.     ITaskScheduler * This,
  1553.     /* [out] */ LPWSTR *ppwszComputer);
  1554. void __RPC_STUB ITaskScheduler_GetTargetComputer_Stub(
  1555.     IRpcStubBuffer *This,
  1556.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1557.     PRPC_MESSAGE _pRpcMessage,
  1558.     DWORD *_pdwStubPhase);
  1559. HRESULT STDMETHODCALLTYPE ITaskScheduler_Enum_Proxy( 
  1560.     ITaskScheduler * This,
  1561.     /* [out] */ IEnumWorkItems **ppEnumWorkItems);
  1562. void __RPC_STUB ITaskScheduler_Enum_Stub(
  1563.     IRpcStubBuffer *This,
  1564.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1565.     PRPC_MESSAGE _pRpcMessage,
  1566.     DWORD *_pdwStubPhase);
  1567. HRESULT STDMETHODCALLTYPE ITaskScheduler_Activate_Proxy( 
  1568.     ITaskScheduler * This,
  1569.     /* [in] */ LPCWSTR pwszName,
  1570.     /* [in] */ REFIID riid,
  1571.     /* [out] */ IUnknown **ppUnk);
  1572. void __RPC_STUB ITaskScheduler_Activate_Stub(
  1573.     IRpcStubBuffer *This,
  1574.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1575.     PRPC_MESSAGE _pRpcMessage,
  1576.     DWORD *_pdwStubPhase);
  1577. HRESULT STDMETHODCALLTYPE ITaskScheduler_Delete_Proxy( 
  1578.     ITaskScheduler * This,
  1579.     /* [in] */ LPCWSTR pwszName);
  1580. void __RPC_STUB ITaskScheduler_Delete_Stub(
  1581.     IRpcStubBuffer *This,
  1582.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1583.     PRPC_MESSAGE _pRpcMessage,
  1584.     DWORD *_pdwStubPhase);
  1585. HRESULT STDMETHODCALLTYPE ITaskScheduler_NewWorkItem_Proxy( 
  1586.     ITaskScheduler * This,
  1587.     /* [in] */ LPCWSTR pwszTaskName,
  1588.     /* [in] */ REFCLSID rclsid,
  1589.     /* [in] */ REFIID riid,
  1590.     /* [out] */ IUnknown **ppUnk);
  1591. void __RPC_STUB ITaskScheduler_NewWorkItem_Stub(
  1592.     IRpcStubBuffer *This,
  1593.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1594.     PRPC_MESSAGE _pRpcMessage,
  1595.     DWORD *_pdwStubPhase);
  1596. HRESULT STDMETHODCALLTYPE ITaskScheduler_AddWorkItem_Proxy( 
  1597.     ITaskScheduler * This,
  1598.     /* [in] */ LPCWSTR pwszTaskName,
  1599.     /* [in] */ IScheduledWorkItem *pWorkItem);
  1600. void __RPC_STUB ITaskScheduler_AddWorkItem_Stub(
  1601.     IRpcStubBuffer *This,
  1602.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1603.     PRPC_MESSAGE _pRpcMessage,
  1604.     DWORD *_pdwStubPhase);
  1605. HRESULT STDMETHODCALLTYPE ITaskScheduler_IsOfType_Proxy( 
  1606.     ITaskScheduler * This,
  1607.     /* [in] */ LPCWSTR pwszName,
  1608.     /* [in] */ REFIID riid);
  1609. void __RPC_STUB ITaskScheduler_IsOfType_Stub(
  1610.     IRpcStubBuffer *This,
  1611.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1612.     PRPC_MESSAGE _pRpcMessage,
  1613.     DWORD *_pdwStubPhase);
  1614. #endif  /* __ITaskScheduler_INTERFACE_DEFINED__ */
  1615. /* interface __MIDL_itf_mstask_0139 */
  1616. /* [local] */ 
  1617. EXTERN_C const CLSID CLSID_CTask;
  1618. EXTERN_C const CLSID CLSID_CTaskScheduler;
  1619.  
  1620. // {148BD520-A2AB-11CE-B11F-00AA00530503}
  1621. DEFINE_GUID(CLSID_CTask, 0x148BD520, 0xA2AB, 0x11CE, 0xB1, 0x1F, 0x00, 0xAA, 0x00, 0x53, 0x05, 0x03);
  1622.  
  1623. // {148BD52A-A2AB-11CE-B11F-00AA00530503}
  1624. DEFINE_GUID(CLSID_CTaskScheduler, 0x148BD52A, 0xA2AB, 0x11CE, 0xB1, 0x1F, 0x00, 0xAA, 0x00, 0x53, 0x05, 0x03);
  1625.  
  1626. typedef struct _PSP *HPROPSHEETPAGE;
  1627. typedef 
  1628. enum _TASKPAGE
  1629.     { TASKPAGE_TASK = 0,
  1630. TASKPAGE_SCHEDULE = 1,
  1631. TASKPAGE_SETTINGS = 2
  1632.     }  TASKPAGE;
  1633. // {4086658a-cbbb-11cf-b604-00c04fd8d565}
  1634. DEFINE_GUID(IID_IProvideTaskPage, 0x4086658aL, 0xcbbb, 0x11cf, 0xb6, 0x04, 0x00, 0xc0, 0x4f, 0xd8, 0xd5, 0x65);
  1635. extern RPC_IF_HANDLE __MIDL_itf_mstask_0139_v0_0_c_ifspec;
  1636. extern RPC_IF_HANDLE __MIDL_itf_mstask_0139_v0_0_s_ifspec;
  1637. #ifndef __IProvideTaskPage_INTERFACE_DEFINED__
  1638. #define __IProvideTaskPage_INTERFACE_DEFINED__
  1639. /* interface IProvideTaskPage */
  1640. /* [unique][uuid][object][local] */ 
  1641. EXTERN_C const IID IID_IProvideTaskPage;
  1642. #if defined(__cplusplus) && !defined(CINTERFACE)
  1643.     
  1644.     MIDL_INTERFACE("4086658a-cbbb-11cf-b604-00c04fd8d565")
  1645.     IProvideTaskPage : public IUnknown
  1646.     {
  1647.     public:
  1648.         virtual HRESULT STDMETHODCALLTYPE GetPage( 
  1649.             /* [in] */ TASKPAGE tpType,
  1650.             /* [in] */ BOOL fPersistChanges,
  1651.             /* [out] */ HPROPSHEETPAGE *phPage) = 0;
  1652.         
  1653.     };
  1654.     
  1655. #else  /* C style interface */
  1656.     typedef struct IProvideTaskPageVtbl
  1657.     {
  1658.         BEGIN_INTERFACE
  1659.         
  1660.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1661.             IProvideTaskPage * This,
  1662.             /* [in] */ REFIID riid,
  1663.             /* [iid_is][out] */ void **ppvObject);
  1664.         
  1665.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1666.             IProvideTaskPage * This);
  1667.         
  1668.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1669.             IProvideTaskPage * This);
  1670.         
  1671.         HRESULT ( STDMETHODCALLTYPE *GetPage )( 
  1672.             IProvideTaskPage * This,
  1673.             /* [in] */ TASKPAGE tpType,
  1674.             /* [in] */ BOOL fPersistChanges,
  1675.             /* [out] */ HPROPSHEETPAGE *phPage);
  1676.         
  1677.         END_INTERFACE
  1678.     } IProvideTaskPageVtbl;
  1679.     interface IProvideTaskPage
  1680.     {
  1681.         CONST_VTBL struct IProvideTaskPageVtbl *lpVtbl;
  1682.     };
  1683.     
  1684. #ifdef COBJMACROS
  1685. #define IProvideTaskPage_QueryInterface(This,riid,ppvObject)
  1686.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1687. #define IProvideTaskPage_AddRef(This)
  1688.     (This)->lpVtbl -> AddRef(This)
  1689. #define IProvideTaskPage_Release(This)
  1690.     (This)->lpVtbl -> Release(This)
  1691. #define IProvideTaskPage_GetPage(This,tpType,fPersistChanges,phPage)
  1692.     (This)->lpVtbl -> GetPage(This,tpType,fPersistChanges,phPage)
  1693. #endif /* COBJMACROS */
  1694. #endif  /* C style interface */
  1695. HRESULT STDMETHODCALLTYPE IProvideTaskPage_GetPage_Proxy( 
  1696.     IProvideTaskPage * This,
  1697.     /* [in] */ TASKPAGE tpType,
  1698.     /* [in] */ BOOL fPersistChanges,
  1699.     /* [out] */ HPROPSHEETPAGE *phPage);
  1700. void __RPC_STUB IProvideTaskPage_GetPage_Stub(
  1701.     IRpcStubBuffer *This,
  1702.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1703.     PRPC_MESSAGE _pRpcMessage,
  1704.     DWORD *_pdwStubPhase);
  1705. #endif  /* __IProvideTaskPage_INTERFACE_DEFINED__ */
  1706. /* interface __MIDL_itf_mstask_0140 */
  1707. /* [local] */ 
  1708. #define ISchedulingAgent       ITaskScheduler
  1709. #define IEnumTasks             IEnumWorkItems
  1710. #define IID_ISchedulingAgent   IID_ITaskScheduler
  1711. #define CLSID_CSchedulingAgent CLSID_CTaskScheduler
  1712. extern RPC_IF_HANDLE __MIDL_itf_mstask_0140_v0_0_c_ifspec;
  1713. extern RPC_IF_HANDLE __MIDL_itf_mstask_0140_v0_0_s_ifspec;
  1714. /* Additional Prototypes for ALL interfaces */
  1715. /* end of Additional Prototypes */
  1716. #ifdef __cplusplus
  1717. }
  1718. #endif
  1719. #endif