www.pudn.com > PCI9054.rar > PCI9054Device.h


// PCI9054Device.h 
// 
// Generated by DriverWizard version DriverStudio 2.6.0 (Build 336) 
// Requires Compuware's DriverWorks classes 
// 
 
#ifndef __PCI9054Device_h__ 
#define __PCI9054Device_h__ 
 
 
class PCI9054Device : public KPnpDevice 
{ 
	// Constructors 
public: 
	SAFE_DESTRUCTORS; 
	PCI9054Device(PDEVICE_OBJECT Pdo, ULONG Unit); 
	~PCI9054Device(); 
 
	// Member Functions 
public: 
	DEVMEMBER_DISPATCHERS 
	DEVMEMBER_DMAREADY(PCI9054Device, OnDmaReady) 
	DEVMEMBER_CANCELIRP(PCI9054Device, CancelQueuedIrp) 
		// The ISR (interrupt service routine) 
	MEMBER_ISR(PCI9054Device, Isr_Irq); 
		// The DPC (deferred procedure call) for the ISR 
	MEMBER_DPC(PCI9054Device, DpcFor_Irq); 
	virtual NTSTATUS OnStartDevice(KIrp I); 
	virtual NTSTATUS OnStopDevice(KIrp I); 
	virtual NTSTATUS OnRemoveDevice(KIrp I); 
	VOID Invalidate(void); 
	virtual NTSTATUS DefaultPnp(KIrp I); 
	virtual NTSTATUS DefaultPower(KIrp I); 
	void SerialRead(KIrp I); 
	void SerialWrite(KIrp I); 
	VOID StartDMA(ULONG PAddress,ULONG NBytes); 
 
#ifdef _COMMENT_ONLY 
 
	VOID OnDmaReady(KDmaTransfer* pXfer, KIrp I);	// COMMENT_ONLY 
	BOOLEAN Isr_Irq(void);							// COMMENT_ONLY 
	VOID DpcFor_Irq(PVOID Arg1, PVOID Arg2);		// COMMENT_ONLY 
	VOID CancelQueuedIrp(KIrp I);					// COMMENT_ONLY 
	virtual NTSTATUS CleanUp(KIrp I);				// COMMENT_ONLY 
	virtual NTSTATUS Create(KIrp I);				// COMMENT_ONLY 
	virtual NTSTATUS Close(KIrp I);					// COMMENT_ONLY 
	virtual NTSTATUS SystemControl(KIrp I);			// COMMENT_ONLY 
	virtual NTSTATUS Read(KIrp I);					// COMMENT_ONLY 
	virtual VOID StartIo(KIrp I);					// COMMENT_ONLY 
	virtual NTSTATUS Write(KIrp I);					// COMMENT_ONLY 
#endif 
 
	// Member Data 
protected: 
		// Unit number for this device (0-9) 
	ULONG				m_Unit; 
	KPnpLowerDevice		m_Lower; 
		// The following members correspond to hardware resources in the 
		// device. 
	KMemoryRange		m_MemoryRange0; 
	KIoRange			m_IoPortRange0; 
	KIoRange			m_IoPortRange1; 
	KDmaAdapter			m_Dma; 
	KDmaTransfer* 		m_CurrentTransfer; 
	KCommonDmaBuffer	m_Buffer; 
	KInterrupt			m_Irq; 
	KDeferredCall		m_DpcFor_Irq; 
}; 
 
#endif