📄 schedule.pas
字号:
{******************************************************************}
{ }
{ Borland Delphi Runtime Library }
{ Scheduler interface unit }
{ }
{ Portions created by Microsoft are }
{ Copyright (C) 1995-1999 Microsoft Corporation. }
{ All Rights Reserved. }
{ }
{ The original file is: schedule.h, released June 2000. }
{ The original Pascal code is: Schedule.pas, released Dec 2000 }
{ The initial developer of the Pascal code is Marcel van Brakel }
{ (brakelm@bart.nl). }
{ }
{ Portions created by Marcel van Brakel are }
{ Copyright (C) 1999 Marcel van Brakel. }
{ }
{ Obtained through: }
{ Joint Endeavour of Delphi Innovators (Project JEDI) }
{ }
{ You may retrieve the latest version of this file at the Project }
{ JEDI home page, located at http://delphi-jedi.org }
{ }
{ The contents of this file are used with permission, subject to }
{ the Mozilla Public License Version 1.1 (the "License"); you may }
{ not use this file except in compliance with the License. You may }
{ obtain a copy of the License at }
{ http://www.mozilla.org/MPL/MPL-1.1.html }
{ }
{ Software distributed under the License is distributed on an }
{ "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or }
{ implied. See the License for the specific language governing }
{ rights and limitations under the License. }
{ }
{******************************************************************}
unit Schedule;
{$WEAKPACKAGEUNIT}
{$HPPEMIT ''}
{$HPPEMIT '#include "schedule.h"'}
{$HPPEMIT ''}
{$I WINDEFINES.INC}
interface
uses
WinType;
//
// The DS and FRS use the same structure to represent different schedules.
// The DS uses a 15-minute polling schedule. FRS uses a 60-minute
// start/stop schedule. Hence, the schedule for the system volume is
// a special case because we only have the DS schedule to work from.
// We will work around this problem by treating the 15
// -minute polling schedule as a 60-minute start/stop schedule.
// Replication is enabled for any hour that has any of the four
// 15-minute bits set.
//
// When the ReplicationSchedule is not present the default is
// "always replicate."
//
//
// Only the interval schedule is currently implemented. Others are ignored.
//
const
SCHEDULE_INTERVAL = 0; // schedule as understood by NT5
{$EXTERNALSYM SCHEDULE_INTERVAL}
SCHEDULE_BANDWIDTH = 1; // bandwidth as understood by NT5
{$EXTERNALSYM SCHEDULE_BANDWIDTH}
SCHEDULE_PRIORITY = 2; // priority as understood by NT5
{$EXTERNALSYM SCHEDULE_PRIORITY}
//
// Schedule Header
//
// Each schedule blob begins with n array of schedule headers that
// specify the number and type of schedules contained in the blob.
//
type
PSCHEDULE_HEADER = ^SCHEDULE_HEADER;
{$EXTERNALSYM PSCHEDULE_HEADER}
_SCHEDULE_HEADER = record
Type_: ULONG; // one of the SCHEDULE_ ordinals
Offset: ULONG; // offset from start of schedule structure
end;
{$EXTERNALSYM _SCHEDULE_HEADER}
SCHEDULE_HEADER = _SCHEDULE_HEADER;
{$EXTERNALSYM SCHEDULE_HEADER}
TScheduleHeader = SCHEDULE_HEADER;
PScheduleHeader = PSCHEDULE_HEADER;
//
// Schedule
//
PSCHEDULE = ^_SCHEDULE;
{$EXTERNALSYM PSCHEDULE}
_SCHEDULE = record
Size: ULONG; // inclusive size in bytes
Bandwidth: ULONG;
NumberOfSchedules: ULONG;
Schedules: array [0..0] of SCHEDULE_HEADER;
end;
{$EXTERNALSYM _SCHEDULE}
//SCHEDULE = _SCHEDULE;
//{$EXTERNALSYM SCHEDULE}
TSchedule = _SCHEDULE;
// The above structure is followed by the Data buffer and the
// SCHEDULE_HEADER contains offsets to refer to the appropriate
// parts in the data buffer.
const
SCHEDULE_DATA_ENTRIES = (7 * 24); // 7 days X 24 hours
{$EXTERNALSYM SCHEDULE_DATA_ENTRIES}
implementation
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -