40 lines
1 KiB
C
40 lines
1 KiB
C
|
|
||
|
#ifndef WDM_EV_INT
|
||
|
#define WDM_EV_INT
|
||
|
#include "generic.h"
|
||
|
#include "event.h"
|
||
|
|
||
|
#pragma PAGEDCODE
|
||
|
class CWDMEvent : public CEvent
|
||
|
{
|
||
|
public:
|
||
|
NTSTATUS m_Status;
|
||
|
SAFE_DESTRUCTORS();
|
||
|
virtual VOID dispose(VOID){self_delete();};
|
||
|
protected:
|
||
|
CWDMEvent(){m_Status = STATUS_SUCCESS;};
|
||
|
virtual ~CWDMEvent(){};
|
||
|
public:
|
||
|
static CEvent* create(VOID);
|
||
|
|
||
|
virtual VOID initialize(IN PRKEVENT Event,IN EVENT_TYPE Type,IN BOOLEAN State);
|
||
|
virtual VOID clear(PRKEVENT Event);
|
||
|
virtual LONG reset(PRKEVENT Event);
|
||
|
virtual LONG set(PRKEVENT Event,IN KPRIORITY Increment,IN BOOLEAN Wait);
|
||
|
|
||
|
virtual NTSTATUS waitForSingleObject (PVOID Object,
|
||
|
KWAIT_REASON WaitReason,IN KPROCESSOR_MODE WaitMode,
|
||
|
BOOLEAN Alertable,
|
||
|
PLARGE_INTEGER Timeout);
|
||
|
virtual NTSTATUS waitForMultipleObjects(ULONG Count,
|
||
|
PVOID Object[],
|
||
|
WAIT_TYPE WaitType,
|
||
|
KWAIT_REASON WaitReason,
|
||
|
KPROCESSOR_MODE WaitMode,
|
||
|
BOOLEAN Alertable,
|
||
|
PLARGE_INTEGER Timeout,
|
||
|
PKWAIT_BLOCK WaitBlockArray);
|
||
|
|
||
|
};
|
||
|
|
||
|
#endif//WDM_EV_INT
|