d9054device.h

来自「一个在ddk环境下编的plx9054的驱动程序」· C头文件 代码 · 共 98 行

H
98
字号
// D9054Device.h
//
// Generated by DriverWizard version DriverStudio 3.1.0 (Build 1722)
// Requires Compuware's DriverWorks classes
//

#ifndef __D9054Device_h__
#define __D9054Device_h__


class D9054Device : public KPnpDevice
{
	// Constructors
public:
	SAFE_DESTRUCTORS;
	D9054Device(PDEVICE_OBJECT Pdo, ULONG Unit);
	~D9054Device();

	// Member Functions
public:
	DEVMEMBER_DISPATCHERS

	DEVMEMBER_SYNCHCRITSECTION ( D9054Device, TestAndClearNotifyApp )

	DEVMEMBER_CANCELIRP(D9054Device, CancelQueuedIrp)

	DEVMEMBER_DMAREADY(D9054Device, OnDmaReady)

		// The ISR (interrupt service routine)
	MEMBER_ISR(D9054Device, Isr_Irq);
		// The DPC (deferred procedure call) for the ISR
	MEMBER_DPC(D9054Device, 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);
	NTSTATUS EVENT_SET_Handler(KIrp I);
	NTSTATUS EVENT_CANCEL_Handler(KIrp I);

	VOID StartDMA(ULONG PAddress,ULONG NBytes);

#ifdef _COMMENT_ONLY

		// The following member functions are actually defined by the
		// a DEVMEMBER_xxx or MEMBER_xxx macro (such as DEVMEMBER_DISPATCHERS).
		// The macro __COMMENT_ONLY never gets defined.  These comment-only
		// definitions simply allow easy navigation to the functions within
		// the Developer Studio using the class browser.


	VOID OnDmaReady(KDmaTransfer* pXfer, KIrp I);

	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 DeviceControl(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;
	
	KCommonDmaBuffer	m_Buffer;
	KDmaTransfer* 		m_CurrentTransfer;

	KDeferredCall		m_DpcFor_Irq;
	KInterrupt			m_Irq;

	KEvent* m_pEvent ;

};


#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?