31 lines
748 B
C
31 lines
748 B
C
|
// Gemplus (C) 2000
|
||
|
// Version 1.0
|
||
|
// Author: Sergey Ivanov
|
||
|
// Date of creation - 18.05.2000
|
||
|
// Change log:
|
||
|
//
|
||
|
#ifndef WDEM_SEM_INT
|
||
|
#define WDM_SEM_INT
|
||
|
#include "generic.h"
|
||
|
#include "semaphore.h"
|
||
|
|
||
|
#pragma PAGEDCODE
|
||
|
class CWDMSemaphore: public CSemaphore
|
||
|
{
|
||
|
public:
|
||
|
NTSTATUS m_Status;
|
||
|
SAFE_DESTRUCTORS();
|
||
|
virtual VOID dispose(VOID){self_delete();};
|
||
|
protected:
|
||
|
CWDMSemaphore(){m_Status = STATUS_SUCCESS;};
|
||
|
virtual ~CWDMSemaphore(){};
|
||
|
public:
|
||
|
static CSemaphore* create(VOID);
|
||
|
|
||
|
virtual VOID initialize(IN PRKSEMAPHORE Semaphore, IN LONG Count, IN LONG Limit);
|
||
|
virtual LONG release(IN PRKSEMAPHORE Semaphore,IN KPRIORITY Increment,IN LONG Adjustment,IN BOOLEAN Wait);
|
||
|
virtual LONG getState(IN PRKSEMAPHORE Semaphore);
|
||
|
};
|
||
|
|
||
|
#endif//SEMAPHORE
|