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__ 
 
// TODO:	The wizard creates a single driver managed queue class. 
//			You may choose to create additional classes derived from 
//			KDriverManagedQueueEx to help manage Irp processing.	 
class PCI9054Device_DriverManagedQueue : public KDriverManagedQueueEx 
{ 
public: 
	SAFE_DESTRUCTORS; 
	VOID StartIo(KIrp I); 
}; 
 
class PCI9054Device : public KPnpDevice 
{ 
	// Constructors 
public: 
	SAFE_DESTRUCTORS; 
	PCI9054Device(PDEVICE_OBJECT Pdo, ULONG Unit); 
	~PCI9054Device(); 
 
	// Member Functions 
public: 
	DEVMEMBER_DISPATCHERS 
	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); 
	virtual NTSTATUS OnDevicePowerUp(KIrp I); 
	virtual NTSTATUS OnDeviceSleep(KIrp I); 
	VOID Serial_PCI9054_IOCTL_800_ReadBase0_Handler(KIrp I); 
	VOID Serial_PCI9054_IOCTL_801_WriteBase0_Handler(KIrp I); 
	VOID Serial_PCI9054_IOCTL_802_ReadBase2_Handler(KIrp I); 
	VOID Serial_PCI9054_IOCTL_803_WriteBase2_Handler(KIrp I); 
	VOID Serial_PCI9054_IOCTL_804_ReadBase3_Handler(KIrp I); 
	VOID Serial_PCI9054_IOCTL_805_WriteBase3_Handler(KIrp I); 
 
#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. 
 
	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 
#endif 
 
	// Member Data 
protected: 
		// Unit number for this device (0-9) 
	ULONG				m_Unit; 
	KPnpLowerDevice		m_Lower; 
	PCI9054Device_DriverManagedQueue m_DriverManagedQueue; 
// TODO:	Create additional driver managed queues.  These might be 
//			of the same class (PCI9054Device_DriverManagedQueue), 
//			or you might choose to derive another class. 
		// The following members correspond to hardware resources in the 
		// device. 
	KMemoryRange		m_MemoryRange0_ForBase0; 
	KMemoryRange		m_MemoryRange1_ForBase2; 
	KIoRange			m_IoPortRange0_ForBase1; 
	KIoRange			m_IoPortRange1_ForBase3; 
}; 
 
#endif