/*++ Copyright (c) 1992 Microsoft Corporation Module Name: atstub.c Abstract: Client stubs of the Schedule service APIs. Author: Vladimir Z. Vulovic (vladimv) 06 - November - 1992 Environment: User Mode - Win32 Revision History: 06-Nov-1992 vladimv Created --*/ #include "atclient.h" #undef IF_DEBUG // avoid wsclient.h vs. debuglib.h conflicts. #include // IF_DEBUG() (needed by netrpc.h). #include #include #include // NetpServiceIsStarted() (needed by netrpc.h). #include // NET_REMOTE macros. #include NET_API_STATUS NetScheduleJobAdd( IN LPCWSTR ServerName OPTIONAL, IN LPBYTE Buffer, OUT LPDWORD pJobId ) /*++ Routine Description: This is the DLL entrypoint for NetScheduleJobAdd. This API adds a job to the schedule. Arguments: ServerName - Pointer to a string containing the name of the computer that is to execute the API function. Buffer - Pointer to a buffer containing information about the job pJobId - Pointer to JobId of a newly added job. Return Value: NET_API_STATUS --*/ { NET_API_STATUS status; NET_REMOTE_TRY_RPC // // Try RPC (local or remote) version of API. // status = NetrJobAdd( ServerName, (LPAT_INFO)Buffer, pJobId ); NET_REMOTE_RPC_FAILED( "NetScheduleJobAdd", ServerName, status, NET_REMOTE_FLAG_NORMAL, SERVICE_SCHEDULE ) status = ERROR_NOT_SUPPORTED; NET_REMOTE_END return( status); } // NetScheduleJobAdd NET_API_STATUS NetScheduleJobDel( IN LPCWSTR ServerName OPTIONAL, IN DWORD MinJobId, IN DWORD MaxJobId ) /*++ Routine Description: This is the DLL entrypoint for NetScheduleJobDel. This API removes from the schedule all jobs whose job ids are: - greater than or equal to the minimum job id and - less than or equal to the maximum job id Arguments: ServerName - Pointer to a string containing the name of the computer that is to execute the API function. MinJobId - minumum job id MaxJobId - maxumum job id Return Value: NET_API_STATUS --*/ { NET_API_STATUS status; NET_REMOTE_TRY_RPC // // Try RPC (local or remote) version of API. // status = NetrJobDel( ServerName, MinJobId, MaxJobId ); NET_REMOTE_RPC_FAILED( "NetScheduleJobDel", ServerName, status, NET_REMOTE_FLAG_NORMAL, SERVICE_SCHEDULE ) status = ERROR_NOT_SUPPORTED; NET_REMOTE_END return( status); } // NetScheduleJobDel NET_API_STATUS NetScheduleJobEnum( IN LPCWSTR ServerName OPTIONAL, OUT LPBYTE * PointerToBuffer, IN DWORD PreferredMaximumLength, OUT LPDWORD EntriesRead, OUT LPDWORD TotalEntries, IN OUT LPDWORD ResumeHandle ) /*++ Routine Description: This is the DLL entrypoint for NetScheduleJobEnum. This API enumarates all jobs in the schedule. Arguments: ServerName - Pointer to a string containing the name of the computer that is to execute the API function. PointerToBuffer - Pointer to location where pointer to returned data will be stored PreferredMaximumLength - Indicates a maximum size limit that the caller will allow for the return buffer. EntriesRead - A pointer to the location where the number of entries (data structures)read is to be returned. TotalEntries - A pointer to the location which upon return indicates the total number of entries in the table. ResumeHandle - Pointer to a value that indicates where to resume enumerating data. Return Value: NET_API_STATUS --*/ { NET_API_STATUS status; AT_ENUM_CONTAINER EnumContainer; EnumContainer.EntriesRead = 0; EnumContainer.Buffer = NULL; NET_REMOTE_TRY_RPC // // Try RPC (local or remote) version of API. // status = NetrJobEnum( ServerName, &EnumContainer, PreferredMaximumLength, TotalEntries, ResumeHandle ); if ( status == NERR_Success || status == ERROR_MORE_DATA) { *EntriesRead = EnumContainer.EntriesRead; *PointerToBuffer = (LPBYTE)EnumContainer.Buffer; } NET_REMOTE_RPC_FAILED( "NetScheduleJobEnum", ServerName, status, NET_REMOTE_FLAG_NORMAL, SERVICE_SCHEDULE ) status = ERROR_NOT_SUPPORTED; NET_REMOTE_END return( status); } // NetScheduleJobEnum NET_API_STATUS NetScheduleJobGetInfo( IN LPCWSTR ServerName OPTIONAL, IN DWORD JobId, OUT LPBYTE * PointerToBuffer ) /*++ Routine Description: This is the DLL entrypoint for NetScheduleGetInfo. This API obtains information about a particular job in the schedule. Arguments: ServerName - Pointer to a string containing the name of the computer that is to execute the API function. JobId - Id of job of interest. PointerToBuffer - Pointer to location where pointer to returned data will be stored Return Value: NET_API_STATUS --*/ { NET_API_STATUS status; NET_REMOTE_TRY_RPC // // Try RPC (local or remote) version of API. // status = NetrJobGetInfo( ServerName, JobId, (LPAT_INFO *)PointerToBuffer ); NET_REMOTE_RPC_FAILED( "NetScheduleJobGetInfo", ServerName, status, NET_REMOTE_FLAG_NORMAL, SERVICE_SCHEDULE ) status = ERROR_NOT_SUPPORTED; NET_REMOTE_END return( status); } // NetScheduleJobGetInfo