?? myevent.h
字號:
#if !defined myEvent_H
#define myEvent_H
#define _WIN32_WINNT 0x0400
#include <windows.h>
#include <string>
using namespace std;
class myEvent
{
public:
myEvent(string eventName="",PAPCFUNC _pfnAPC=NULL,BOOL queueUserAPC=FALSE);
virtual ~myEvent();
// return the event handle
HANDLE getEventHandle() { return event; }
// return the thread handle
HANDLE getThread() { return thread; }
// return the address of the callback function
PAPCFUNC getAPCFunc() { return pfnAPC; }
// return whether the user wants to queue the callback
// when event happens
BOOL getQueueUserAPC() { return queueUserAPC; }
void setEvent(); // wrapper to SetEvent()
void pulseEvent(); // wrapper to PulseEvent()
void resetEvent(); // wrapper to ResetEvent()
// wait for the event
BOOL waitForEvent(DWORD waitTime=INFINITE);
private:
// called by the OS when the thread is instantiated, this
// must have the WINAPI function declaration
static DWORD WINAPI ThreadProc(LPVOID lpData);
private:
HANDLE event; // event handle
PAPCFUNC pfnAPC; // address of user-provided callback
LPSECURITY_ATTRIBUTES sa; // SECURITY_ATTRBUTES structure
DWORD threadID; // thread id
HANDLE thread; // handle to thread
// if the following is set to be TRUE, when the events occurs,
// will call QueueUserAPC() to queue the user-provided callback
// as a user defined API. if the following is set to be FALSE;
// then no user-provided callback will be queued.
// if pfnAPC is NULL (no user-provided callback is defined),
// then the following is ignored
BOOL queueUserAPC;
private:
static void getErrorDetail(int&,string&);
};
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -