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

📄 filethreaddevice.h

📁 Windows 2000/XP WDM設備驅動程式開發 使用 Numega 公司出版的軟體快速建置驅動程式
💻 H
字号:
// FileThreadDevice.h
//
// Generated by DriverWizard version DriverStudio 2.6.0 (Build 336)
// Requires Compuware's DriverWorks classes
//

#ifndef __FileThreadDevice_h__
#define __FileThreadDevice_h__

////////////////////////////////////////////////////////////////////
// TestThread
//
// TestThread is a subclass of KSystemThread. It adds a queue and
// a semaphore, and a method for queuing an IRP and signaling the
// thread.
//
class TestThread : public KSystemThread
{
	SAFE_DESTRUCTORS
public:
	TestThread(void);
	VOID Post(KIrp I);

	KInterlockedList<IRP>	m_Queue;
	KSemaphore				m_Mailbox;
};

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

	// 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);
	MEMBER_THREAD	(FileThreadDevice, Stage)

#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
	VOID Stage(void); 								// COMMENT_ONLY
#endif

	// Member Data
protected:
		// Unit number for this device (0-9)
	ULONG				m_Unit;
	KPnpLowerDevice		m_Lower;
	TestThread			m_Stage;
};

#endif

#define MAX_IRP 1000000

⌨️ 快捷键说明

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