1 | /*
|
---|
2 | atsvc interface definition
|
---|
3 | */
|
---|
4 |
|
---|
5 | [ uuid("1ff70682-0a51-30e8-076d-740be8cee98b"),
|
---|
6 | version(1.0),
|
---|
7 | pointer_default(unique),
|
---|
8 | helpstring("Microsoft AT-Scheduler Service"),
|
---|
9 | endpoint("ncacn_np:[\\pipe\\atsvc]", "ncalrpc:")
|
---|
10 | ] interface atsvc
|
---|
11 | {
|
---|
12 | typedef [bitmap32bit] bitmap {
|
---|
13 | First = 0x00000001,
|
---|
14 | Second = 0x00000002,
|
---|
15 | Third = 0x00000004,
|
---|
16 | Fourth = 0x00000008,
|
---|
17 | Fifth = 0x00000010,
|
---|
18 | Sixth = 0x00000020,
|
---|
19 | Seventh = 0x00000040,
|
---|
20 | Eight = 0x00000080,
|
---|
21 | Ninth = 0x00000100,
|
---|
22 | Tenth = 0x00000200,
|
---|
23 | Eleventh = 0x00000400,
|
---|
24 | Twelfth = 0x00000800,
|
---|
25 | Thitteenth = 0x00001000,
|
---|
26 | Fourteenth = 0x00002000,
|
---|
27 | Fifteenth = 0x00004000,
|
---|
28 | Sixteenth = 0x00008000,
|
---|
29 | Seventeenth = 0x00010000,
|
---|
30 | Eighteenth = 0x00020000,
|
---|
31 | Ninteenth = 0x00040000,
|
---|
32 | Twentyth = 0x00080000,
|
---|
33 | Twentyfirst = 0x00100000,
|
---|
34 | Twentysecond = 0x00200000,
|
---|
35 | Twentythird = 0x00400000,
|
---|
36 | Twentyfourth = 0x00800000,
|
---|
37 | Twentyfifth = 0x01000000,
|
---|
38 | Twentysixth = 0x02000000,
|
---|
39 | Twentyseventh = 0x04000000,
|
---|
40 | Twentyeighth = 0x08000000,
|
---|
41 | Twentyninth = 0x10000000,
|
---|
42 | Thirtieth = 0x20000000,
|
---|
43 | Thirtyfirst = 0x40000000
|
---|
44 | } atsvc_DaysOfMonth;
|
---|
45 |
|
---|
46 | typedef [bitmap8bit] bitmap {
|
---|
47 | JOB_RUN_PERIODICALLY = 0x01,
|
---|
48 | JOB_EXEC_ERROR = 0x02,
|
---|
49 | JOB_RUNS_TODAY = 0x04,
|
---|
50 | JOB_ADD_CURRENT_DATE = 0x08,
|
---|
51 | JOB_NONINTERACTIVE = 0x10
|
---|
52 | } atsvc_Flags;
|
---|
53 |
|
---|
54 | typedef [bitmap8bit] bitmap {
|
---|
55 | DAYSOFWEEK_MONDAY = 0x01,
|
---|
56 | DAYSOFWEEK_TUESDAY = 0x02,
|
---|
57 | DAYSOFWEEK_WEDNESDAY = 0x04,
|
---|
58 | DAYSOFWEEK_THURSDAY = 0x08,
|
---|
59 | DAYSOFWEEK_FRIDAY = 0x10,
|
---|
60 | DAYSOFWEEK_SATURDAY = 0x20,
|
---|
61 | DAYSOFWEEK_SUNDAY = 0x40
|
---|
62 | } atsvc_DaysOfWeek;
|
---|
63 |
|
---|
64 | typedef struct {
|
---|
65 | uint32 job_time;
|
---|
66 | atsvc_DaysOfMonth days_of_month;
|
---|
67 | atsvc_DaysOfWeek days_of_week;
|
---|
68 | atsvc_Flags flags;
|
---|
69 | [string,charset(UTF16)] uint16 *command;
|
---|
70 | } atsvc_JobInfo;
|
---|
71 |
|
---|
72 | /******************/
|
---|
73 | /* Function: 0x00 */
|
---|
74 | [public] NTSTATUS atsvc_JobAdd(
|
---|
75 | [in,unique,string,charset(UTF16)] uint16 *servername,
|
---|
76 | [in] atsvc_JobInfo *job_info,
|
---|
77 | [out,ref] uint32 *job_id
|
---|
78 | );
|
---|
79 |
|
---|
80 | /******************/
|
---|
81 | /* Function: 0x01 */
|
---|
82 | [public] NTSTATUS atsvc_JobDel(
|
---|
83 | [in,unique,string,charset(UTF16)] uint16 *servername,
|
---|
84 | [in] uint32 min_job_id,
|
---|
85 | [in] uint32 max_job_id
|
---|
86 | );
|
---|
87 |
|
---|
88 | typedef struct {
|
---|
89 | uint32 job_id;
|
---|
90 | uint32 job_time;
|
---|
91 | atsvc_DaysOfMonth days_of_month;
|
---|
92 | atsvc_DaysOfWeek days_of_week;
|
---|
93 | atsvc_Flags flags;
|
---|
94 | [string,charset(UTF16)] uint16 *command;
|
---|
95 | } atsvc_JobEnumInfo;
|
---|
96 |
|
---|
97 | typedef struct {
|
---|
98 | uint32 entries_read;
|
---|
99 | [size_is(entries_read)] atsvc_JobEnumInfo *first_entry;
|
---|
100 | } atsvc_enum_ctr;
|
---|
101 |
|
---|
102 | /******************/
|
---|
103 | /* Function: 0x02 */
|
---|
104 | [public] NTSTATUS atsvc_JobEnum(
|
---|
105 | [in,unique,string,charset(UTF16)] uint16 *servername,
|
---|
106 | [in,out] atsvc_enum_ctr *ctr,
|
---|
107 | [in] uint32 preferred_max_len,
|
---|
108 | [out,ref] uint32 *total_entries,
|
---|
109 | [in,out,unique] uint32 *resume_handle
|
---|
110 | );
|
---|
111 |
|
---|
112 | /******************/
|
---|
113 | /* Function: 0x03 */
|
---|
114 | [public] NTSTATUS atsvc_JobGetInfo(
|
---|
115 | [in,unique,string,charset(UTF16)] uint16 *servername,
|
---|
116 | [in] uint32 job_id,
|
---|
117 | [out] atsvc_JobInfo **job_info
|
---|
118 | );
|
---|
119 | }
|
---|