WindowsXP/Source/XPSP1/NT/public/sdk/inc/lmat.h
2024-08-03 16:30:48 +02:00

142 lines
3.4 KiB
C

/*++ BUILD Version: 0006 // Increment this if a change has global effects
Copyright (c) 1992-1999 Microsoft Corporation
Module Name:
lmat.h
Abstract:
This file contains structures, function prototypes, and definitions
for the schedule service API-s.
Environment:
User Mode - Win32
Portable to any flat, 32-bit environment. (Uses Win32 typedefs.)
Requires ANSI C extensions: slash-slash comments, long external names.
Notes:
You must include NETCONS.H before this file, since this file depends
on values defined in NETCONS.H.
Revision History:
--*/
#ifndef _LMAT_
#define _LMAT_
#if _MSC_VER > 1000
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
//
// The following bits are used with Flags field in structures below.
//
//
// Do we exec programs for this job periodically (/EVERY switch)
// or one time (/NEXT switch).
//
#define JOB_RUN_PERIODICALLY 0x01 // set if EVERY
//
// Was there an error last time we tried to exec a program on behalf of
// this job.
// This flag is meaningfull on output only!
//
#define JOB_EXEC_ERROR 0x02 // set if error
//
// Will this job run today or tomorrow.
// This flag is meaningfull on output only!
//
#define JOB_RUNS_TODAY 0x04 // set if today
//
// Add current day of the month to DaysOfMonth input.
// This flag is meaningfull on input only!
//
#define JOB_ADD_CURRENT_DATE 0x08 // set if to add current date
//
// Will this job be run interactively or not. Windows NT 3.1 do not
// know about this bit, i.e. they submit interactive jobs only.
//
#define JOB_NONINTERACTIVE 0x10 // set for noninteractive
#define JOB_INPUT_FLAGS ( JOB_RUN_PERIODICALLY | \
JOB_ADD_CURRENT_DATE | \
JOB_NONINTERACTIVE )
#define JOB_OUTPUT_FLAGS ( JOB_RUN_PERIODICALLY | \
JOB_EXEC_ERROR | \
JOB_RUNS_TODAY | \
JOB_NONINTERACTIVE )
typedef struct _AT_INFO {
DWORD_PTR JobTime;
DWORD DaysOfMonth;
UCHAR DaysOfWeek;
UCHAR Flags;
LPWSTR Command;
} AT_INFO, *PAT_INFO, *LPAT_INFO;
typedef struct _AT_ENUM {
DWORD JobId;
DWORD_PTR JobTime;
DWORD DaysOfMonth;
UCHAR DaysOfWeek;
UCHAR Flags;
LPWSTR Command;
} AT_ENUM, *PAT_ENUM, *LPAT_ENUM;
NET_API_STATUS NET_API_FUNCTION
NetScheduleJobAdd(
IN LPCWSTR Servername OPTIONAL,
IN LPBYTE Buffer,
OUT LPDWORD JobId
);
NET_API_STATUS NET_API_FUNCTION
NetScheduleJobDel(
IN LPCWSTR Servername OPTIONAL,
IN DWORD MinJobId,
IN DWORD MaxJobId
);
NET_API_STATUS NET_API_FUNCTION
NetScheduleJobEnum(
IN LPCWSTR Servername OPTIONAL,
OUT LPBYTE * PointerToBuffer,
IN DWORD PrefferedMaximumLength,
OUT LPDWORD EntriesRead,
OUT LPDWORD TotalEntries,
IN OUT LPDWORD ResumeHandle
);
NET_API_STATUS NET_API_FUNCTION
NetScheduleJobGetInfo(
IN LPCWSTR Servername OPTIONAL,
IN DWORD JobId,
OUT LPBYTE * PointerToBuffer
);
#ifdef __cplusplus
}
#endif
#endif // _LMAT_