⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test1device.h

📁 这是一个pc与avr通过D12进行USB通讯的简单实例
💻 H
字号:
// Test1Device.h
//
// Generated by DriverWizard version DriverStudio 3.1.0 (Build 1722)
// Requires Compuware's DriverWorks classes
//

#ifndef __Test1Device_h__
#define __Test1Device_h__


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

	// Member Functions
public:
	DEVMEMBER_DISPATCHERS
	virtual NTSTATUS OnStartDevice(KIrp I);
	virtual NTSTATUS OnStopDevice(KIrp I);
	virtual NTSTATUS OnRemoveDevice(KIrp I);
	virtual NTSTATUS DefaultPnp(KIrp I);
	virtual NTSTATUS DefaultPower(KIrp I);
	virtual NTSTATUS OnDevicePowerUp(KIrp I);
	virtual NTSTATUS OnDeviceSleep(KIrp I);
	virtual NTSTATUS OnQueryCapabilities(KIrp I);
	NTSTATUS D12_DRIVER_READ_Handler(KIrp I);
	NTSTATUS D12_DRIVER_WRITE_Handler(KIrp I);
	NTSTATUS D12_DRIVER_BULK_IN_Handler(KIrp I);
	NTSTATUS D12_DRIVER_BULK_OUT_Handler(KIrp I);

	DEVMEMBER_CANCELIRP(Test1Device, Cancel)
	MEMBER_IOWORKITEMFUNCTION( Test1Device, Workitem )
	MEMBER_COMPLETEIRP( Test1Device, OnQueryCapabilitiesComplete )


#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
	virtual NTSTATUS Read(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;
	KUsbLowerDevice		m_Lower;
	KUsbInterface   	m_Interface;
		// Pipe for USB endpoint 1 IN (address 0x81)
	KUsbPipe				m_Endpoint1In;
		// Pipe for USB endpoint 1 OUT (address 0x1)
	KUsbPipe				m_Endpoint1Out;
		// Pipe for USB endpoint 2 IN (address 0x82)
	KUsbPipe				m_Endpoint2In;
		// Pipe for USB endpoint 2 OUT (address 0x2)
	KUsbPipe				m_Endpoint2Out;
	KIrp		m_kIrp;
	KIoWorkItem		m_pItem;
	int         IEndpoint2InLength;
	int         IEndpoint2OutLength;
};


#endif

⌨️ 快捷键说明

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