48 lines
1.2 KiB
C
48 lines
1.2 KiB
C
|
// Gemplus (C) 1999
|
||
|
// Version 1.0
|
||
|
// Author: Sergey Ivanov
|
||
|
// Date of creation - 18.05.1999
|
||
|
// Change log:
|
||
|
//
|
||
|
|
||
|
#ifndef WDM_INT_INT
|
||
|
#define WDM_INT_INT
|
||
|
#include "generic.h"
|
||
|
#include "int.h"
|
||
|
|
||
|
#pragma PAGEDCODE
|
||
|
class CWDMInterrupt : public CInterrupt
|
||
|
{
|
||
|
public:
|
||
|
NTSTATUS m_Status;
|
||
|
SAFE_DESTRUCTORS();
|
||
|
virtual VOID dispose(VOID){self_delete();};
|
||
|
protected:
|
||
|
CWDMInterrupt(){m_Status = STATUS_SUCCESS;};
|
||
|
virtual ~CWDMInterrupt(){};
|
||
|
public:
|
||
|
static CInterrupt* create(VOID);
|
||
|
|
||
|
virtual NTSTATUS connect(OUT PKINTERRUPT *InterruptObject,
|
||
|
IN PKSERVICE_ROUTINE ServiceRoutine,
|
||
|
IN PVOID ServiceContext,
|
||
|
IN PKSPIN_LOCK SpinLock OPTIONAL,
|
||
|
IN ULONG Vector,
|
||
|
IN KIRQL Irql,
|
||
|
IN KIRQL SynchronizeIrql,
|
||
|
IN KINTERRUPT_MODE InterruptMode,
|
||
|
IN BOOLEAN ShareVector,
|
||
|
IN KAFFINITY ProcessorEnableMask,
|
||
|
IN BOOLEAN FloatingSave
|
||
|
);
|
||
|
|
||
|
virtual VOID disconnect(IN PKINTERRUPT InterruptObject);
|
||
|
virtual VOID initializeDpcRequest(IN PDEVICE_OBJECT pFdo,IN PDEFERRED_FUNCTION DpcForIsr);
|
||
|
virtual BOOLEAN synchronizeExecution ( IN PKINTERRUPT Interrupt,
|
||
|
IN PKSYNCHRONIZE_ROUTINE SynchronizeRoutine,
|
||
|
IN PVOID SynchronizeContext);
|
||
|
|
||
|
};
|
||
|
|
||
|
#endif//CInterrupt
|