资源简介
USB过滤驱动程序,通过USB的PID和VID判断是否是合法U盘。

代码片段和文件信息
#include “stddcls.h“
#include “driver.h“
#include
#include
#include
#include
#include
NTSTATUS AddDevice(IN PDRIVER_object Driverobject IN PDEVICE_object pdo);
VOID DriverUnload(IN PDRIVER_object fido);
NTSTATUS DispatchAny(IN PDEVICE_object fido IN PIRP Irp);
NTSTATUS DispatchPower(IN PDEVICE_object fido IN PIRP Irp);
NTSTATUS DispatchPnp(IN PDEVICE_object fido IN PIRP Irp);
NTSTATUS DispatchWmi(IN PDEVICE_object fido IN PIRP Irp);
ULONG GetDeviceTypeToUse(PDEVICE_object pdo);
NTSTATUS PnpStartDevice(IN PDEVICE_object fido IN PIRP Irp);
NTSTATUS ReadDeviceDescriptor(IN PDEVICE_object fido);
NTSTATUS CallRemoveUSBDevice(IN PDEVICE_object fido);
NTSTATUS StartDeviceCompletionRoutine(PDEVICE_object fido PIRP Irp PDEVICE_EXTENSION pdx);
NTSTATUS StartPnPQueryDeviceCompletionRoutine(PDEVICE_object fido PIRP Irp PDEVICE_EXTENSION pdx);
NTSTATUS QueryDeviceRelationCompletionRoutine(PDEVICE_object fido PIRP Irp PDEVICE_EXTENSION pdx);
NTSTATUS UsageNotificationCompletionRoutine(PDEVICE_object fido PIRP Irp PDEVICE_EXTENSION pdx);
LONG BulkUsb_IoDecrement(IN OUT PDEVICE_EXTENSION DeviceExtension);
LONG BulkUsb_IoIncrement(IN OUT PDEVICE_EXTENSION DeviceExtension);
int QueryRegDWORD(UNICODE_STRING *pValueName ULONG *pReturn);
int SetRegDWORD(UNICODE_STRING *pValueName ULONG nSetValue);
bool USBDeviceIsRegist(ULONG vid_pid);
///////////////////////////////////////////////////////////////////////////////
#pragma INITCODE
extern “C“ NTSTATUS DriverEntry(IN PDRIVER_object Driverobject
IN PUNICODE_STRING RegistryPath)
{ // DriverEntry
KdPrint((DRIVERNAME “ - Entering DriverEntry: Driverobject %8.8lX\n“ Driverobject));
// Initialize function pointers
UNICODE_STRING ValueName;
RtlInitUnicodeString( &ValueName L“FilterIsRun“);
SetRegDWORD(&ValueName 0);
Driverobject->DriverUnload = DriverUnload;
Driverobject->DriverExtension->AddDevice = AddDevice;
for (int i = 0; i < arraysize(Driverobject->MajorFunction); ++i)
Driverobject->MajorFunction[i] = DispatchAny;
Driverobject->MajorFunction[IRP_MJ_POWER] = DispatchPower;
Driverobject->MajorFunction[IRP_MJ_PNP] = DispatchPnp;
Driverobject->MajorFunction[IRP_MJ_SCSI] = DispatchForSCSI;
return STATUS_SUCCESS;
} // DriverEntry
///////////////////////////////////////////////////////////////////////////////
#pragma PAGEDCODE
VOID DriverUnload(IN PDRIVER_object Driverobject)
{ // DriverUnload
UNICODE_STRING ValueName;
PAGED_CODE();
RtlInitUnicodeString( &ValueName L“FilterIsRun“);
SetRegDWORD(&ValueName 0);
KdPrint((DRIVERNAME “ - Entering DriverUnload: Driverobject %8.8lX\n“ Driverobject));
} // DriverUnload
///////////////////////////////////////////////////////////////////////////////
NTSTATUS AddDevice(IN PDRIVER_object Driverobject IN PDEVICE_object pdo)
{ // AddDevice
PAGED_CODE();
NTSTATUS status;
UNICODE_STRING ValueName;
ULONG dwReturn
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-04-28 21:07 usbfilter\
文件 1323 2010-09-14 14:16 usbfilter\Driver.h
文件 32867 2010-10-11 11:49 usbfilter\DriverEntry.cpp
文件 3242 2010-09-14 00:51 usbfilter\MyFilter.dsp
文件 539 2010-10-11 11:21 usbfilter\MyFilter.dsw
文件 50176 2012-04-28 21:07 usbfilter\MyFilter.ncb
文件 687616 2012-04-28 21:07 usbfilter\MyFilter.opt
文件 916 2010-09-07 11:07 usbfilter\makefile
文件 190 2010-09-06 16:33 usbfilter\sources
文件 149 2003-03-07 15:57 usbfilter\stddcls.cpp
文件 809 2003-03-07 15:57 usbfilter\stddcls.h
文件 1044 2010-09-06 16:38 usbfilter\usbfilter.inf
相关资源
- usb hid调试工具
- HID调试助手
- USB.Over.Network.Server 注册机
- WPF USB 网络 串口 通信软件
- USB转串口驱动,FT232R驱动程序,最新
- WinCE下CP210x的驱动程序
- hidusage.h hidpi.h 等USB开发用头文件
- ubuntu9.10 可加载内核模块和字符设备驱
- 内核驱动进程保护演示程序
- 基于JM20329的SATA转USB 1394
- 430系列单片机USBFET下载驱动
- CY7C68013A固件程序(用于摄像机采集)
- usb调试程序 对USB设备进行数据的读写
- USB 驱动 让电脑与arm进行通信
- linux 0.12内核源代码
- USB助手(调试USB通信协议的工具) 源
- 基于FPGA的USB接口设计
- 枚举USB设备接口(C 源代码)
- 多普达USB Modem驱动(适用于818、828、
- SN9C291B datasheet
- 希捷公布USB外部硬盘解决方案
- USB调试模式一键设置
- USB网卡驱动 USB2.0 TO Fast Ethernet Adapte
- USB转串口(RS232/RS485/RS422)驱动程序文
- USB Type-C SPEC
- H310.B360.H370.Z390.USB WIN7 64位第三方驱动
- 300系列WIN7 USB驱动.7z
- 华硕P8H61/USB3 R2.0主板BIOS驱动 免费版
- RTL8188EVT USB WIFI无线网卡驱动 免费版
- RTL8188 USB无线网卡模块完整方案
评论
共有 条评论