You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
1.3 KiB
C++

#pragma once
#include "DllDefines.h"
class UTILITYDLL CHighResPerformanceCounter
{
public:
// default constructor
CHighResPerformanceCounter();
// default destructor
virtual ~CHighResPerformanceCounter();
// record start count
void StartCnt(void);
// record stop count
void StopCnt(void);
/// Gets current time span in msec.
LONGLONG GetCurrentTimeSpanInMsec();
double GetCurrentTimeSpanInSec();
double GetCurrentTimeSpanInMin();
double GetCurrentTimeSpanInHr();
LONGLONG GetTimeSpanInMsec();
double GetTimeSpanInSec();
double GetTimeSpanInMin();
double GetTimeSpanInHr();
LONG GetTimeRemaining(LONG timeout);
// get current counter
static LONGLONG GetCurrentCnt();
// cal msec time span in count
static LONGLONG CalMsecTimeSpanInCnt(LONGLONG lMsec);
// cal time span in msec
static LONGLONG CalTimeSpanInMsec(LONGLONG lcount);
// cal time span in sec
static double CalTimeSpanInSec(LONGLONG lcount);
// cal time span in mins
static double CalTimeSpanInMin(LONGLONG lCnt);
// cal time span in hours
static double CalTimeSpanInHr(LONGLONG lCnt);
private:
// Start count
LARGE_INTEGER m_lStartCnt;
// Stop count
LARGE_INTEGER m_lStopCnt;
};