usbcounterdevice.h
来自「WindowsXP WDM驱动程序开发实例」· C头文件 代码 · 共 68 行
H
68 行
// USBCounterDevice.h
//
// Generated by DriverWizard version DriverStudio 2.6.0 (Build 336)
// Requires Compuware's DriverWorks classes
//
#ifndef __USBCounterDevice_h__
#define __USBCounterDevice_h__
class USBCounterDevice : public KPnpDevice
{
// Constructors
public:
SAFE_DESTRUCTORS;
USBCounterDevice(PDEVICE_OBJECT Pdo, ULONG Unit);
~USBCounterDevice();
// 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 OnQueryCapabilities(KIrp I);
void GetStringDescriptors(void);
NTSTATUS ResetCounter();
NTSTATUS ReadCounterAsynch(KIrp I);
DEVMEMBER_CANCELIRP(USBCounterDevice, Cancel)
MEMBER_COMPLETEIRP( USBCounterDevice, ReadCounterComplete )
MEMBER_COMPLETEIRP( USBCounterDevice, OnQueryCapabilitiesComplete )
MEMBER_IOWORKITEMFUNCTION( USBCounterDevice, Workitem )
#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 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;
KUsbLowerDevice m_Lower;
KUsbInterface m_Interface;
// Pipe for USB endpoint 1 IN (address 0x81)
KUsbPipe m_Endpoint1IN;
PUCHAR m_buffer;
KIrp m_kIrp;
PURB m_pUrb;
KIoWorkItem m_pItem;
};
#define NUM_STRING_DESCRIPTORS 5
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?