Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//+----------------------------------------------------------------------------
//
// Scheduling Agent Service
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 1996.
//
// File: tasks.hxx
//
// Contents: definitions for Sage compatability.
//
// History: 25-Jun-96 EricB created
//
//-----------------------------------------------------------------------------
#define MAXPATH 267
#define MAXSETTINGS 256
#define MAXCOMMANDLINE (MAXPATH+MAXSETTINGS)
#define MAXCOMMENT 256
#define CB_RESERVED 32
//
// The following are reserved for 16 bit apps to send messages to control sage.
//
#define SAGE_RESTART WM_USER + 4
//#define SAGE_NOIDLE WM_USER + 5 defined in svc_core.hxx
#define SAGE_ENABLE WM_USER + 6
#define SAGE_DISABLE WM_USER + 7
#define SAGE_GETSTATUS WM_USER + 8
#define SAGE_ADDTASK WM_USER + 9
#define SAGE_REMOVETASK WM_USER + 10
#define SAGE_GETTASK WM_USER + 11
typedef struct TaskInfo { unsigned long StructureSize; unsigned long Task_Identifier; unsigned long Sub_Task_Identifier; unsigned long Status; unsigned long Result; unsigned long Time_Granularity; unsigned long StopAfterTime; unsigned long TimeTillAlarm; unsigned long User_Idle; unsigned long Powered; unsigned long CreatorId;
SYSTEMTIME BeginTime; //indefinite period start time
SYSTEMTIME EndTime; //indefinite peroid end time
SYSTEMTIME LastRunStart; //actual start time
SYSTEMTIME LastRunEndScheduled; //planned termination time
SYSTEMTIME LastTerminationTime; //actual termination time
SYSTEMTIME DontRunUntil; //specific date to not start before
SYSTEMTIME LastAlarmTime; SYSTEMTIME RESERVED1; SYSTEMTIME RESERVED2;
STARTUPINFO StartupInfo;
DWORD dwProcessId; DWORD dwThreadId;
DWORD LockingProcess; unsigned long LockTime; DWORD fdwCreate; DWORD taskflags;
char SystemTask; char TerminateAtRangeEnd;
char StartupTask; char AlarmEnabled; char RunNow; char TerminateNoIdle; char Disabled; char TerminateNow; char RestartNoIdle;
char CommandLine[MAXCOMMANDLINE]; char Comment[MAXCOMMENT]; char WorkingDirectory[MAXPATH]; DWORD hProcess; //declare as dword so 16 bit apps get right size
DWORD hThread; DWORD hTerminateThread; char ExcludeDaysVector; char Reserved[CB_RESERVED-12]; } TaskInfo;
typedef struct SystemInfo { SYSTEMTIME CurrentTime; unsigned long MouseTime; BOOL Asleep; unsigned long TickCount; HANDLE AgentSemaphore; HANDLE SleepSemaphore; }SystemInfo;
#define SAGE_SUSPEND WM_USER + 1
#define SAGE_TERMINATE WM_USER + 2
#define SAGE_RESUME WM_USER + 3
#if 0
typedef struct ADD_TASK { unsigned long result_code; TaskInfo new_task; char reserved[256]; } ADD_TASK;
typedef struct REMOVE_TASK { unsigned long result_code; unsigned long task_id; unsigned long subtask_id; char reserved[256]; } REMOVE_TASK;
typedef struct TASK_ENUMERATION_HEADER { unsigned long result_code; unsigned long packet_size; unsigned long total_tasks; unsigned long count_tasks;
} TASK_ENUMERATION_HEADER;
#endif
|