66 lines
1.5 KiB
C++
66 lines
1.5 KiB
C++
/*==========================================================================
|
|
*
|
|
* Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
|
|
*
|
|
* File: timer.h
|
|
* Content: Timer class - lifted from MSDN
|
|
*
|
|
* History:
|
|
* Date By Reason
|
|
* ==== == ======
|
|
* 07/16/99 rodtoll Created
|
|
* 01/14/2000 rodtoll Updated to use DWORD_PTR to allow proper 64-bit operation
|
|
* 01/08/2001 rodtoll WINBUG #271079 - Pointer being sliced by cast through a DWORD
|
|
*
|
|
***************************************************************************/
|
|
|
|
//
|
|
// Timer.h
|
|
//
|
|
// This file is from the MSDN, Visual Studuio 6.0 Edition
|
|
//
|
|
// Article:
|
|
// Streaming Wave Files With DirectSound
|
|
//
|
|
// Author:
|
|
// Mark McCulley, Microsoft Corporation
|
|
//
|
|
|
|
#ifndef _INC_TIMER
|
|
#define _INC_TIMER
|
|
|
|
// Constants
|
|
#ifndef SUCCESS
|
|
#define SUCCESS TRUE // Error returns for all member functions
|
|
#define FAILURE FALSE
|
|
#endif // SUCCESS
|
|
|
|
|
|
typedef BOOL (*TIMERCALLBACK)(DWORD_PTR);
|
|
|
|
// Classes
|
|
|
|
// Timer
|
|
//
|
|
// Wrapper class for Windows multimedia timer services. Provides
|
|
// both periodic and one-shot events. User must supply callback
|
|
// for periodic events.
|
|
//
|
|
|
|
class Timer
|
|
{
|
|
public:
|
|
Timer (void);
|
|
~Timer (void);
|
|
BOOL Create (UINT nPeriod, UINT nRes, DWORD_PTR dwUser, TIMERCALLBACK pfnCallback);
|
|
protected:
|
|
static void CALLBACK TimeProc(UINT uID, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2);
|
|
TIMERCALLBACK m_pfnCallback;
|
|
DWORD_PTR m_dwUser;
|
|
UINT m_nPeriod;
|
|
UINT m_nRes;
|
|
UINT m_nIDTimer;
|
|
};
|
|
|
|
#endif // _INC_TIMER
|