145 lines
6.1 KiB
C
145 lines
6.1 KiB
C
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1997-2001.
|
|
//
|
|
// File: LogHrAPI.h
|
|
//
|
|
// Contents:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
// loghours.h : header file
|
|
|
|
#if !defined(_LOGHOURS_H_)
|
|
#define _LOGHOURS_H_
|
|
|
|
#define cbScheduleArrayLength 21 // Number of bytes in the schedule array
|
|
#define cbDsScheduleArrayLength 84 // Number of bytes in the schedule array
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Exported Functions
|
|
//
|
|
|
|
// UiScheduleDialog()
|
|
//
|
|
// Invoke a dialog to set/modify a schedule, for example
|
|
// -- the logon hours for a particular user
|
|
// -- the schedule for a connection
|
|
//
|
|
// RETURNS
|
|
// Return S_OK if the user clicked on the OK button.
|
|
// Return S_FALSE if the user clicked on the Cancel button.
|
|
// Return E_OUTOFMEMORY if there is not enough memory.
|
|
/// Return E_UNEXPECTED if an expected error occured (eg: bad parameter)
|
|
//
|
|
// INTERFACE NOTES
|
|
// Each bit in the array represents one hour. As a result, the
|
|
// expected length of the array should be (24 / 8) * 7 = 21 bytes.
|
|
// For convenience, the first day of the week is Sunday and
|
|
// the last day is Saturday.
|
|
// Consequently, the first bit of the array represents the schedule
|
|
// for Sunday during period 12 AM to 1 AM.
|
|
// - If *pprgbData is NULL, then the routine will allocate
|
|
// an array of 21 bytes using LocalAlloc(). The caller
|
|
// is responsible of releasing the memory using LocalFree().
|
|
// - If *pprgbData is not NULL, the routine expect the array to contain
|
|
// 21 bytes of data and re-uses the array as its output parameter.
|
|
//
|
|
// HISTORY
|
|
// 17-Jul-97 t-danm Creation.
|
|
// 16-Sep-97 jonn Changed to UiScheduleDialog
|
|
// 26-Mar-98 bryanwal Changed to ConnectionScheduleDialog
|
|
//
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Flags for LogonScheduleDialogEx, DialinHoursDialogEx,
|
|
// ConnectionScheduleDialogEx, ReplicationScheduleDialogEx
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// The input data is in GMT
|
|
#define SCHED_FLAG_INPUT_GMT 0x00000000 // default
|
|
|
|
// The input data is in local time.
|
|
#define SCHED_FLAG_INPUT_LOCAL_TIME 0x00000001 // supported only in
|
|
// LogonScheduleDialogEx and
|
|
// DialinHoursDialogEx
|
|
|
|
#define SCHED_FLAG_READ_ONLY 0x00000002 // the dialog is read-only
|
|
|
|
|
|
// This version accepts data only in GMT
|
|
HRESULT LogonScheduleDialog(HWND hwndParent, // parent window
|
|
BYTE ** pprgbData, // pointer to pointer to array of 21 bytes
|
|
LPCTSTR pszTitle); // dialog title
|
|
|
|
// This version allows the caller to specify if the data is in GMT or local time
|
|
HRESULT LogonScheduleDialogEx (HWND hwndParent, // parent window
|
|
BYTE ** pprgbData, // pointer to pointer to array of 21 bytes
|
|
LPCTSTR pszTitle, // dialog title
|
|
DWORD dwFlags);
|
|
|
|
|
|
// 13-May-98 weijiang
|
|
// clone of LogScheduleDialog, using different dialog template -- IDD_DIALINHOUR
|
|
// to set hours for dialin
|
|
|
|
// This version accepts data only in GMT
|
|
HRESULT DialinHoursDialog(HWND hwndParent, // parent window
|
|
BYTE ** pprgbData, // pointer to pointer to array of 21 bytes
|
|
LPCTSTR pszTitle); // dialog title
|
|
|
|
// This version allows the caller to specify if the data is in GMT or local time
|
|
HRESULT DialinHoursDialogEx (HWND hwndParent, // parent window
|
|
BYTE ** pprgbData, // pointer to pointer to array of 21 bytes
|
|
LPCTSTR pszTitle, // dialog title
|
|
DWORD dwFlags);
|
|
|
|
// ConnectionScheduleDialog()
|
|
//
|
|
// This function takes the same form as LogonScheduleDialog(), but it modifies
|
|
// the schedule for DS replication. This schedule has 4 bits per hours,
|
|
// one for each 15-minute period, so the array contains 84 bytes instead of 21.
|
|
//
|
|
// NOTE: ConnectionScheduleDialog takes the schedule in GMT
|
|
//
|
|
// HISTORY
|
|
// 02-Jan-98 jonn Creation.
|
|
// 26-Mar-98 bryanwal Changed to ConnectionScheduleDialog
|
|
//
|
|
HRESULT ConnectionScheduleDialog(HWND hwndParent, // parent window
|
|
BYTE ** pprgbData, // pointer to pointer to array of 84 bytes
|
|
LPCTSTR pszTitle); // dialog title
|
|
|
|
HRESULT ConnectionScheduleDialogEx(HWND hwndParent, // parent window
|
|
BYTE ** pprgbData, // pointer to pointer to array of 84 bytes
|
|
LPCTSTR pszTitle, // dialog title
|
|
DWORD dwFlags);
|
|
|
|
// Same as ConnectionScheduleDialog, but 2 states are shown
|
|
HRESULT ReplicationScheduleDialog(HWND hwndParent, // parent window
|
|
BYTE ** pprgbData, // pointer to pointer to array of 84 bytes
|
|
LPCTSTR pszTitle); // dialog title
|
|
|
|
HRESULT ReplicationScheduleDialogEx(HWND hwndParent, // parent window
|
|
BYTE ** pprgbData, // pointer to pointer to array of 84 bytes
|
|
LPCTSTR pszTitle, // dialog title
|
|
DWORD dwFlags); // option flags
|
|
|
|
// DirSyncScheduleDialog()
|
|
//
|
|
// This function takes the same form as LogonScheduleDialog(), but it modifies
|
|
// the schedule for Directory Synchronization.
|
|
//
|
|
// HISTORY
|
|
// 11-Sep-98 bryanwal Added DirSyncScheduleDialog
|
|
//
|
|
HRESULT DirSyncScheduleDialog(HWND hwndParent, // parent window
|
|
BYTE ** pprgbData, // pointer to pointer to array of 84 bytes
|
|
LPCTSTR pszTitle); // dialog title
|
|
|
|
HRESULT DirSyncScheduleDialogEx(HWND hwndParent, // parent window
|
|
BYTE ** pprgbData, // pointer to pointer to array of 84 bytes
|
|
LPCTSTR pszTitle, // dialog title
|
|
DWORD dwFlags); // option flags
|
|
#endif // !defined(_LOGHOURS_H_)
|