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.
101 lines
3.4 KiB
101 lines
3.4 KiB
/******************************************************************************
|
|
//
|
|
// 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
|
|
|
|
#define MAX_MAIN_COMMANDLINE_OPTIONS 8
|
|
|
|
// Options
|
|
#define OI_USAGE 0
|
|
#define OI_CREATE 1
|
|
#define OI_DELETE 2
|
|
#define OI_QUERY 3
|
|
#define OI_CHANGE 4
|
|
#define OI_RUN 5
|
|
#define OI_END 6
|
|
#define OI_OTHERS 7
|
|
|
|
// 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_CHAR L'\0'
|
|
#define BACK_SLASH_U L'\\'
|
|
|
|
#define JOB _T(".job")
|
|
|
|
#define COMMA_STRING _T(",")
|
|
|
|
#define DASH L"-"
|
|
#define SID_STRING L"S-1"
|
|
#define AUTH_FORMAT_STR1 L"0x%02hx%02hx%02hx%02hx%02hx%02hx"
|
|
#define AUTH_FORMAT_STR2 L"%lu"
|
|
|
|
// 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[] );
|
|
|
|
HRESULT Init( ITaskScheduler **pITaskScheduler );
|
|
VOID displayMainUsage();
|
|
BOOL PreProcessOptions( DWORD argc, LPCTSTR argv[], PBOOL pbUsage, PBOOL pbCreate,
|
|
PBOOL pbQuery, PBOOL pbDelete, PBOOL pbChange, PBOOL pbRun, PBOOL pbEnd, PBOOL pbDefVal );
|
|
|
|
VOID Cleanup( ITaskScheduler *pITaskScheduler);
|
|
ITaskScheduler* GetTaskScheduler( LPCTSTR pszServerName );
|
|
TARRAY ValidateAndGetTasks( ITaskScheduler * pITaskScheduler, LPCTSTR pszTaskName);
|
|
DWORD ParseTaskName( LPWSTR lpszTaskName );
|
|
DWORD DisplayUsage( ULONG StartingMessage, ULONG EndingMessage );
|
|
BOOL GetGroupPolicy( LPWSTR szServer, LPWSTR szUserName, LPWSTR PolicyType, LPDWORD lpdwPolicy );
|
|
BOOL GetPolicyValue( HKEY hKey, LPWSTR szPolicyType, LPDWORD lpdwPolicy );
|
|
BOOL GetSidString ( IN PSID pSid, OUT LPWSTR wszSid );
|
|
|
|
#endif // __SCHEDULEDTASKS_H
|