// // dsactrnm.h // // Offset definition file for exensible counter objects and counters // // These "relative" offsets must start at 0 and be multiples of 2 (i.e. // even numbers). In the Open Procedure, they will be added to the // "First Counter" and "First Help" values of the device they belong to, // in order to determine the absolute location of the counter and // object names and corresponding help text in the registry. // // this file is used by the extensible counter DLL code as well as the // counter name and help text definition file (.INI) file that is used // by LODCTR to load the names into the registry. // #define DSAOBJ 0 #define ACCVIOL 2 #define BROWSE 4 #define ABREAD 6 #define DSREAD 8 #define REPL 10 #define THREAD 12 #define ABWRITE 14 #define DSWRITE 16 #define XDSCLIENT 18 #define ABCLIENT 20 #define PENDSYNC 22 #define REMREPUPD 24 #define DSA_PERF_COUNTER_BLOCK TEXT("Microsoft.Exchange.DSA.Perf") extern volatile unsigned long * pcAccViol; extern volatile unsigned long * pcBrowse; extern volatile unsigned long * pcABRead; extern volatile unsigned long * pcDSRead; extern volatile unsigned long * pcRepl; extern volatile unsigned long * pcThread; extern volatile unsigned long * pcABWrite; extern volatile unsigned long * pcDSWrite; extern volatile unsigned long * pcXDSClient; extern volatile unsigned long * pcABClient; extern volatile unsigned long * pcPendSync; extern volatile unsigned long * pcRemRepUpd; #define INC(x) InterlockedIncrement((LPLONG)x) #define DEC(x) InterlockedDecrement((LPLONG)x) #define ISET(x, y) InterlockedExchange((LPLONG)x, y)