45 lines
1.2 KiB
C
45 lines
1.2 KiB
C
|
//
|
||
|
// MODULE: APIwraps.h
|
||
|
//
|
||
|
// PURPOSE: Encapsulate common blocks of API functionality within a class.
|
||
|
//
|
||
|
// COMPANY: Saltmine Creative, Inc. (206)-284-7511 support@saltmine.com
|
||
|
//
|
||
|
// AUTHOR: Randy Biley
|
||
|
//
|
||
|
// ORIGINAL DATE: 9-30-98
|
||
|
//
|
||
|
// NOTES:
|
||
|
//
|
||
|
// Version Date By Comments
|
||
|
//--------------------------------------------------------------------
|
||
|
// V3.0 09-30-98 RAB
|
||
|
//
|
||
|
|
||
|
#include<windows.h>
|
||
|
|
||
|
class APIwraps
|
||
|
{
|
||
|
public:
|
||
|
APIwraps();
|
||
|
~APIwraps();
|
||
|
|
||
|
public:
|
||
|
static bool WaitAndLogIfSlow(
|
||
|
HANDLE hndl, // Handle of object to be waited on.
|
||
|
LPCSTR srcFile, // Calling source file (__FILE__), used for logging.
|
||
|
// LPCSTR, not LPCTSTR, because __FILE__ is a char*, not a TCHAR*
|
||
|
int srcLine, // Calling source line (__LINE__), used for logging.
|
||
|
DWORD TimeOutVal = 60000 // Time-out interval in milliseconds, after
|
||
|
// which we log error & wait infinitely.
|
||
|
);
|
||
|
} ;
|
||
|
|
||
|
// these must be macros, because otherwise __FILE__ and __LINE__ won't indicate the
|
||
|
// calling location.
|
||
|
#define WAIT_INFINITE(hndl) APIwraps::WaitAndLogIfSlow(hndl, __FILE__, __LINE__)
|
||
|
#define WAIT_INFINITE_EX(hndl, TimeOutVal) APIwraps::WaitAndLogIfSlow(hndl, __FILE__, __LINE__, TimeOutVal)
|
||
|
//
|
||
|
// EOF.
|
||
|
//
|