Source code of Windows XP (NT5)
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.
|
|
// Copyright (c) 1996-1999 Microsoft Corporation
//+============================================================================
//
// wksconfig.hxx
//
// This file provides the configuration info for the trkwks service.
// All of these values have defaults but can be configured with registry
// settings. Some of these values can be updated at run-time.
//
//+============================================================================
#ifndef _TRKWKS_CONFIG_HXX_
#define _TRKWKS_CONFIG_HXX_
// The following are configuration parameter numers
#define REFRESH_PERIOD_CONFIG 0
#define REFRESH_HESITATION_CONFIG 1
#define REFRESH_RETRY_MIN_CONFIG 2
#define REFRESH_RETRY_MAX_CONFIG 3
#define PORT_THREAD_KEEP_ALIVE_TIME_CONFIG 4
#define MAX_REFERRALS_CONFIG 5
#define PORT_NOTIFY_ERROR_CONFIG 6
#define MIN_LOG_KB_CONFIG 7
#define MAX_LOG_KB_CONFIG 8
#define LOG_DELTA_KB_CONFIG 9
#define LOG_OVERWRITE_AGE_CONFIG 10
#define LOG_FILE_OPEN_TIME_CONFIG 11
#define VOL_FREQUENT_TASKS_PERIOD_CONFIG 12
#define VOL_INFREQUENT_TASKS_PERIOD_CONFIG 13
#define VOL_INIT_INITIAL_DELAY_CONFIG 14
#define VOL_INIT_RETRY_DELAY1_CONFIG 15
#define VOL_INIT_RETRY_DELAY2_CONFIG 16
#define VOL_INIT_LIFETIME_CONFIG 17
#define VOL_NOT_OWNED_EXPIRE_LIMIT_CONFIG 18
#define VOL_PERIODIC_TASKS_HESITATION_CONFIG 19
#define MOVE_NOTIFY_TIMEOUT_CONFIG 20
#define MIN_MOVE_NOTIFY_RETRY_CONFIG 21
#define MAX_MOVE_NOTIFY_RETRY_CONFIG 22
#define MAX_MOVE_NOTIFY_LIFETIME_CONFIG 23
#define OBJID_INDEX_REOPEN_CONFIG 24
#define OBJID_INDEX_REOPEN_RETRY_MAX_CONFIG 25
#define OBJID_INDEX_REOPEN_RETRY_MIN_CONFIG 26
#define OBJID_INDEX_REOPEN_LIFETIME_CONFIG 27
#define IGNORE_MOVES_AND_DELETES_CONFIG 28
#define BREAK_ON_ERRORS_CONFIG 29
#define DELETE_NOTIFY_TIMEOUT_CONFIG 30
#define MAX_TUNNEL_DELAY_CONFIG 31
#define MAX_SENDS_PER_MOVE_NOTIFY_CONFIG 32
#define WKS_MAX_RPC_CALLS_CONFIG 33
#define VOLCACHE_TIME_TO_LIVE_CONFIG 34
#define MAX_DELETE_NOTIFY_QUEUE_CONFIG 35
#define MAX_DELETE_NOTIFY_ATTEMPTS_CONFIG 36
#define MAX_TRKWKS_CONFIG 36
//+----------------------------------------------------------------------------
//
// CTrkWksConfiguration
//
// This class maintains the trkwks service configuration information.
// All parameters are defaulted, but may be modified via registry
// values, and some may be modified dynamically at run-time.
//
//+----------------------------------------------------------------------------
class CTrkWksConfiguration : public CTrkConfiguration { public:
CTrkWksConfiguration() { memset( this, 0, sizeof(*this) ); } ~CTrkWksConfiguration() { UnInitialize(); }
public:
void Initialize( BOOL fPersitable = FALSE ); void UnInitialize();
public:
inline DWORD GetParameter( DWORD dwParameter ) const; inline const TCHAR * GetParameterName( DWORD dwParameter) const; inline DWORD GetParameterCount() const; inline BOOL IsParameterDynamic( DWORD dwParameter ) const;
BOOL SetParameter( DWORD dwParameter, DWORD dwValue ); BOOL PersistParameter( DWORD dwParameter, DWORD dwValue );
private:
// Dbgout an error and raise an exception
void ProcessInvalidParameter( DWORD dwParameter ) const;
// For backwards-compatibility with the old CTrkWksConfiguration implementation
public:
DWORD GetRefreshPeriod() const { return _Parameters[ REFRESH_PERIOD_CONFIG ].dwValue; } DWORD GetPortNotifyError() const { return _Parameters[ PORT_NOTIFY_ERROR_CONFIG ].dwValue; } DWORD GetPortThreadKeepAliveTime() const { return _Parameters[ PORT_THREAD_KEEP_ALIVE_TIME_CONFIG ].dwValue; } DWORD GetMaxReferrals() const { return _Parameters[ MAX_REFERRALS_CONFIG ].dwValue; } DWORD GetRefreshRetryMin() const { return _Parameters[ REFRESH_RETRY_MIN_CONFIG ].dwValue; } DWORD GetRefreshRetryMax() const { return _Parameters[ REFRESH_RETRY_MAX_CONFIG ].dwValue; } DWORD GetRefreshHesitation() const { return _Parameters[ REFRESH_HESITATION_CONFIG ].dwValue; } DWORD GetMinLogKB() const { return _Parameters[ MIN_LOG_KB_CONFIG ].dwValue; } DWORD GetMaxLogKB() const { return _Parameters[ MAX_LOG_KB_CONFIG ].dwValue; } DWORD GetLogDeltaKB() const { return _Parameters[ LOG_DELTA_KB_CONFIG ].dwValue; } DWORD GetLogOverwriteAge() const { return _Parameters[ LOG_OVERWRITE_AGE_CONFIG ].dwValue; } DWORD GetLogFileOpenTime() const { return _Parameters[ LOG_FILE_OPEN_TIME_CONFIG ].dwValue; } DWORD GetVolFrequentTasksPeriod() const { return _Parameters[ VOL_FREQUENT_TASKS_PERIOD_CONFIG ].dwValue; } DWORD GetVolInfrequentTasksPeriod() const { return _Parameters[ VOL_INFREQUENT_TASKS_PERIOD_CONFIG ].dwValue; } DWORD GetVolInitInitialDelay() const { return _Parameters[ VOL_INIT_INITIAL_DELAY_CONFIG ].dwValue; } DWORD GetVolInitRetryDelay1() const { return _Parameters[ VOL_INIT_RETRY_DELAY1_CONFIG ].dwValue; } DWORD GetVolInitRetryDelay2() const { return _Parameters[ VOL_INIT_RETRY_DELAY2_CONFIG ].dwValue; } DWORD GetVolInitLifetime() const { return _Parameters[ VOL_INIT_LIFETIME_CONFIG ].dwValue; } DWORD GetVolNotOwnedExpireLimit() const { return _Parameters[ VOL_NOT_OWNED_EXPIRE_LIMIT_CONFIG ].dwValue; } DWORD GetBreakOnErrors() const { return _Parameters[ BREAK_ON_ERRORS_CONFIG ].dwValue; } DWORD GetVolPeriodicTasksHesitation() const { return _Parameters[ VOL_PERIODIC_TASKS_HESITATION_CONFIG ].dwValue; } DWORD GetObjIdIndexReopen() const { return _Parameters[ OBJID_INDEX_REOPEN_CONFIG ].dwValue; } DWORD GetObjIdIndexReopenRetryMax() const { return _Parameters[ OBJID_INDEX_REOPEN_RETRY_MAX_CONFIG ].dwValue; } DWORD GetObjIdIndexReopenRetryMin() const { return _Parameters[ OBJID_INDEX_REOPEN_RETRY_MIN_CONFIG ].dwValue; } DWORD GetObjIdIndexReopenLifetime() const { return _Parameters[ OBJID_INDEX_REOPEN_LIFETIME_CONFIG ].dwValue; }
DWORD GetDeleteNotifyTimeout() const { return _Parameters[ DELETE_NOTIFY_TIMEOUT_CONFIG ].dwValue; } DWORD GetMaxTunnelDelay() const { return _Parameters[ MAX_TUNNEL_DELAY_CONFIG ].dwValue; } DWORD GetMaxSendsPerMoveNotify() const { return _Parameters[ MAX_SENDS_PER_MOVE_NOTIFY_CONFIG ].dwValue; } DWORD GetWksMaxRpcCalls() const { return _Parameters[ WKS_MAX_RPC_CALLS_CONFIG ].dwValue; } DWORD GetIgnoreMovesAndDeletes() const { return _Parameters[ IGNORE_MOVES_AND_DELETES_CONFIG ].dwValue; };
private:
static STrkConfigRecord _Parameters[];
public:
BOOL _fInitialized:1;
// Run-time parameters
BOOL _fIsWorkgroup:1; ULONG _cParameters; };
// --------------------------------------
// CTrkWksConfiguration::GetParameter
// Get a parameter value given its index.
// --------------------------------------
inline DWORD CTrkWksConfiguration::GetParameter( DWORD dwParameter ) const { if( dwParameter >= _cParameters ) { ProcessInvalidParameter( dwParameter ); // Raises
return( 0 ); }
return _Parameters[ dwParameter ].dwValue; }
// ----------------------------------------------
// CTrkWksConfiguration::GetParameterName
// Get a parameter value's name, given its index.
// ----------------------------------------------
inline const TCHAR * CTrkWksConfiguration::GetParameterName( DWORD dwParameter) const { return _Parameters[ dwParameter ].ptszName; }
// ---------------------------------------
// CTrkWksConfiguration::GetParameterCount
// Get the total number of parameters
// ---------------------------------------
inline DWORD CTrkWksConfiguration::GetParameterCount() const { return _cParameters; }
// ------------------------------------------------
// CTrkWksConfiguration::IsParameterDynamic
// Determine if a parameter may be set at run-time.
// ------------------------------------------------
inline BOOL CTrkWksConfiguration::IsParameterDynamic( DWORD dwParameter ) const { if( dwParameter >= _cParameters ) { ProcessInvalidParameter( dwParameter ); return( FALSE ); }
return( 0 != (_Parameters[ dwParameter ].dwFlags & TRKCONFIG_DYNAMIC) ); }
#endif // #ifndef _TRKWKS_CONFIG_HXX_
|