ForUsbDevice.h
上传用户:lyfy_2008
上传日期:2014-07-13
资源大小:3016k
文件大小:2k
- // ForUsbDevice.h
- //
- // Generated by DriverWizard version DriverStudio 2.7.0 (Build 562)
- // Requires Compuware's DriverWorks classes
- //
- #ifndef __ForUsbDevice_h__
- #define __ForUsbDevice_h__
- // Forward declaration
- class ForUsbDevice;
- struct USB_COMPLETION_INFO
- {
- PURB m_pUrb;
- ForUsbDevice* m_pClass;
- };
- class ForUsbDevice : public KPnpDevice
- {
- // Constructors
- public:
- SAFE_DESTRUCTORS;
- ForUsbDevice(PDEVICE_OBJECT Pdo, ULONG Unit);
- ~ForUsbDevice();
- // Member Functions
- public:
- DEVMEMBER_DISPATCHERS
- MEMBER_COMPLETEIRPWITHCONTEXT(USB_COMPLETION_INFO, ReadComplete)
- MEMBER_COMPLETEIRPWITHCONTEXT(USB_COMPLETION_INFO, WriteComplete)
- 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);
- NTSTATUS FORUSB_IOCTL_Test_Handler(KIrp I);
- NTSTATUS FORUSB_IOCTL_Read_Handler(KIrp I);
- NTSTATUS FORUSB_IOCTL_Write_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.
- NTSTATUS __stdcall ReadComplete(KIrp I, USB_COMPLETION_INFO* pContext); // COMMENT_ONLY
- NTSTATUS __stdcall WriteComplete(KIrp I, USB_COMPLETION_INFO* pContext); // 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 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;
- };
- #endif