1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
// Licensed under the Apache License, Version 2.0
// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
// All files in the project carrying such notice may not be copied, modified, or distributed
// except according to those terms.
use shared::basetsd::DWORD_PTR;
use shared::lmcons::NET_API_STATUS;
use shared::minwindef::{DWORD, LPBYTE, LPDWORD, UCHAR};
use um::winnt::{LPCWSTR, LPWSTR};
pub const JOB_RUN_PERIODICALLY: UCHAR = 0x01;
pub const JOB_EXEC_ERROR: UCHAR = 0x02;
pub const JOB_RUNS_TODAY: UCHAR = 0x04;
pub const JOB_ADD_CURRENT_DATE: UCHAR = 0x08;
pub const JOB_NONINTERACTIVE: UCHAR = 0x10;
pub const JOB_INPUT_FLAGS: UCHAR = JOB_RUN_PERIODICALLY | JOB_ADD_CURRENT_DATE
| JOB_NONINTERACTIVE;
pub const JOB_OUTPUT_FLAGS: UCHAR = JOB_RUN_PERIODICALLY | JOB_EXEC_ERROR | JOB_RUNS_TODAY
| JOB_NONINTERACTIVE;
STRUCT!{struct AT_INFO {
JobTime: DWORD_PTR,
DaysOfMonth: DWORD,
DaysOfWeek: UCHAR,
Flags: UCHAR,
Command: LPWSTR,
}}
pub type PAT_INFO = *mut AT_INFO;
pub type LPAT_INFO = *mut AT_INFO;
STRUCT!{struct AT_ENUM {
JobId: DWORD,
JobTime: DWORD_PTR,
DaysOfMonth: DWORD,
DaysOfWeek: UCHAR,
Flags: UCHAR,
Command: LPWSTR,
}}
pub type PAT_ENUM = *mut AT_ENUM;
pub type LPAT_ENUM = *mut AT_ENUM;
extern "system" {
pub fn NetScheduleJobAdd(
Servername: LPCWSTR,
Buffer: LPBYTE,
JobId: LPDWORD,
) -> NET_API_STATUS;
pub fn NetScheduleJobDel(
Servername: LPCWSTR,
MinJobId: DWORD,
MaxJobId: DWORD,
) -> NET_API_STATUS;
pub fn NetScheduleJobEnum(
Servername: LPCWSTR,
PointerToBuffer: *mut LPBYTE,
PointerToBuffer: DWORD,
EntriesRead: LPDWORD,
TotalEntries: LPDWORD,
ResumeHandle: LPDWORD,
) -> NET_API_STATUS;
pub fn NetScheduleJobGetInfo(
Servername: LPCWSTR,
JobId: DWORD,
PointerToBuffer: *mut LPBYTE,
) -> NET_API_STATUS;
}
|