sh_timer.h

来自「rsa算法打的一个包」· C头文件 代码 · 共 58 行

H
58
字号
// SH_Timer.h: interface for the SH_Timer class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_SH_TIMER_H__30EE6BA7_8ECE_479A_921A_0A5D986585B3__INCLUDED_)
#define AFX_SH_TIMER_H__30EE6BA7_8ECE_479A_921A_0A5D986585B3__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "SH_Object.h"

/**
 *if SH_TimerCallback is not null ,then virtual function OnTimer
 *will not be called
 *
**/
typedef int (*SH_TimerCallback)(DWORD idEvent,LPVOID pUserData);

class AFX_EXT_CLASS SH_Timer : public SH_Object  
{
public:
	SH_Timer();
	SH_Timer(SH_TimerCallback lpfnCallback);
	virtual ~SH_Timer();
    
    DWORD GetTimerId() const;
    
    VOID SetCallback(SH_TimerCallback lpfnCallback);
    SH_TimerCallback GetCallback();

    int    GetElpase() const;
    int    GetKernelElpase() const;
    HANDLE GetTimerHandle() const;

    BOOL SetTimer(UINT elapse,LPVOID pUserData = NULL);
    BOOL KillTimer();

    BOOL SetKernelTimer(UINT elapse,LPVOID pUserData = NULL);
    BOOL KillKernelTimer();
    
    BOOL Wait(int ms);

    virtual int OnTimer(LPVOID pUserData){return 0;}
protected:
    VOID SetElapse(const int ms);
    VOID SetKernelElapse(const int ms);
private:
    SH_TimerCallback m_lpfnCallback;
    DWORD            m_dwTimerId;
    HANDLE           m_hTimer;
    int              m_nElapse;
    int              m_nKernelElapse;
};

#endif // !defined(AFX_SH_TIMER_H__30EE6BA7_8ECE_479A_921A_0A5D986585B3__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?