WindowsXP-SP1/admin/cmdline/scheduledtasks/scheduledtasks.h
2020-09-30 16:53:49 +02:00

124 lines
4.0 KiB
C

/******************************************************************************
Copyright(c) Microsoft Corporation
Module Name:
ScheduledTasks.h
Abstract:
This module contains the macros, user defined structures & function
definitions needed by ScheduledTasks.cpp , create.cpp , delete.cpp ,
query.cpp , createvalidations.cpp , change.cpp , run.cpp and end.cpp files.
Author:
G.Surender Reddy 10-sept-2000
Revision History:
G.Surender Reddy 10-sept-2000 : Created it
G.Surender Reddy 25-sep-2000 : Modified it
[ Added macro constants,Function
definitions ]
Venu Gopal Choudary 01-Mar-2001 : Modified it
[ Added -change option]
Venu Gopal Choudary 12-Mar-2001 : Modified it
[ Added -run and -end options]
******************************************************************************/
#ifndef __SCHEDULEDTASKS_H
#define __SCHEDULEDTASKS_H
#pragma once // include header file only once
// constants / defines / enumerations
// Options
#define CMDOPTION_CREATE _T( "create" )
#define CMDOPTION_DELETE _T( "delete" )
#define CMDOPTION_QUERY _T( "query" )
#define CMDOPTION_CHANGE _T( "change" )
#define CMDOPTION_RUN _T( "run" )
#define CMDOPTION_END _T( "end" )
#define CMDOPTION_USAGE _T( "?|help|h" )
#define CMDOTHEROPTIONS _T( "s|ru|rp|f|sc|mo|d|m|i|tn|tr|st|sd|ed|fo|v|nh|u|p")
// Other switches or sub-options
#define SWITCH_SERVER _T( "s" )
#define SWITCH_RUNAS_USER _T( "ru" )
#define SWITCH_RUNAS_PASSWORD _T( "rp" )
#define SWITCH_USER _T( "u" )
#define SWITCH_PASSWORD _T( "p" )
#define SWITCH_FORMAT _T( "fo" )
#define SWITCH_VERBOSE _T( "v")
#define SWITCH_FORCE _T( "f" )
#define SWITCH_SCHEDULETYPE _T( "sc" )
#define SWITCH_MODIFIER _T( "mo" )
#define SWITCH_DAY _T( "d" )
#define SWITCH_MONTHS _T( "m" )
#define SWITCH_IDLETIME _T( "i" )
#define SWITCH_TASKNAME _T( "tn" )
#define SWITCH_TASKRUN _T( "tr" )
#define SWITCH_STARTTIME _T( "st" )
#define SWITCH_STARTDATE _T( "sd" )
#define SWITCH_ENDDATE _T( "ed" )
#define SWITCH_NOHEADER _T( "nh" )
// Other constants
//To retrive 1 tasks at a time ,used in TaskScheduler API fns.
#define TASKS_TO_RETRIEVE 1
#define TRIM_SPACES TEXT(" \0")
#define NTAUTHORITY_USER _T("NT AUTHORITY\\SYSTEM")
#define SYSTEM_USER _T("SYSTEM")
// Exit values
#define EXIT_SUCCESS 0
#define EXIT_FAILURE 1
#define DOMAIN_U_STRING L"\\\\"
#define NULL_U_STRING L""
#define NULL_U_CHAR L'\0'
#define BACK_SLASH_U L'\\'
#define JOB _T(".job")
#define MAX_MESSAGE_LEN 2056
#define NULL_U_CHAR L'\0'
#define MAX_PASSWORD_LEN 64
#define COMMA_STRING _T(",")
#define TEMP_LOG_FILE _T("StdIn.log")
// Typedefs of standard string sizes
//typedef TCHAR STRING32 [ 32 ];
//typedef TCHAR STRING64 [ 64 ];
typedef TCHAR STRING100 [ 100 ];
typedef TCHAR STRING256 [ 256 ];
// Main functions
HRESULT CreateScheduledTask( DWORD argc , LPCTSTR argv[] );
DWORD DeleteScheduledTask( DWORD argc , LPCTSTR argv[] );
DWORD QueryScheduledTasks( DWORD argc , LPCTSTR argv[] );
DWORD ChangeScheduledTaskParams( DWORD argc , LPCTSTR argv[] );
DWORD RunScheduledTask( DWORD argc , LPCTSTR argv[] );
DWORD TerminateScheduledTask( DWORD argc , LPCTSTR argv[] );
VOID Cleanup( ITaskScheduler *pITaskScheduler);
ITaskScheduler* GetTaskScheduler( LPCTSTR pszServerName );
TARRAY ValidateAndGetTasks( ITaskScheduler * pITaskScheduler, LPCTSTR pszTaskName);
DWORD ParseTaskName( LPTSTR lpszTaskName );
void DisplayErrorMsg(HRESULT hr);
DWORD DisplayUsage( ULONG StartingMessage, ULONG EndingMessage );
#endif // __SCHEDULEDTASKS_H