2025-04-27 07:49:33 -04:00

90 lines
2.9 KiB
C

//-----------------------------------------------------------------------------
//
//
// File: aqreg.h
//
// Description: Header file containing aq's registry constants
//
// Author: Mike Swafford (MikeSwa)
//
// History:
// 1/4/2000 - MikeSwa Created
//
// Copyright (C) 2000 Microsoft Corporation
//
//-----------------------------------------------------------------------------
#ifndef __AQREG_H__
#define __AQREG_H__
//---[ Registry Paths ]--------------------------------------------------------
//
//
// Description:
// These are the registry keys used by AQ for configuration
//
//-----------------------------------------------------------------------------
#define AQREG_KEY_CONFIGURATION "System\\CurrentControlSet\\Services\\SMTPSVC\\Queuing"
//---[ Global Registry Variables ]---------------------------------------------
//
//
// Description:
// The following are the global configuration variables that can be
// affected by registry settings.
//
//-----------------------------------------------------------------------------
//
// Handle management values. When the number of mailmsgs in the system hits
// this threshold, we will start closing handles.
//
_declspec(selectany) DWORD g_cMaxIMsgHandlesThreshold = 1000;
_declspec(selectany) DWORD g_cMaxIMsgHandlesAsyncThreshold = 1000;
//
// The following is a for optimizing DSN generation. After generating
// a certain number of DSNs, we will quit and go and restart at a later time
//
_declspec(selectany) DWORD g_cMaxSecondsPerDSNsGenerationPass = 10;
//
// The following is the amount of time to wait before retry a reset
// routes after a routing failure
//
_declspec(selectany) DWORD g_cResetRoutesRetryMinutes = 10;
//
// Async Queue retry intervals that can be modified by registry settings
//
_declspec(selectany) DWORD g_cLocalRetryMinutes = 5;
_declspec(selectany) DWORD g_cCatRetryMinutes = 60;
_declspec(selectany) DWORD g_cRoutingRetryMinutes = 60;
_declspec(selectany) DWORD g_cSubmissionRetryMinutes = 60;
//
// Async Queue Adjustment values. We will increase the max number
// of threads per proc by this value
//
_declspec(selectany) DWORD g_cPerProcMaxThreadPoolModifier = 6;
//
// Async Queue Adjustment value. We will request up to this % of
// max ATQ threads *per async queue*. This % is post our modifcation
// as per g_cPerProcMaxThreadPoolModifier.
//
_declspec(selectany) DWORD g_cMaxATQPercent = 90;
//
// Reset Message status. If this is non-zero, we will reset the
// message status of every message submitted to MP_STATUS_SUBMITTED.
//
_declspec(selectany) DWORD g_fResetMessageStatus = 0;
//
//Reads config information from the registry and modifies the appropriate globals.
//
VOID ReadGlobalRegistryConfiguration();
#endif //__AQREG_H__