Leaked source code of windows server 2003
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

/******************************************************************************
//
// 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