阅读:1614回复:1
求助,关于USBSTOR.sys的一个upper filer driver。100分
我想开发一个USBSTOR.sys的一个upper filter driver用于向特定型号的U盘发送一些特殊的厂商请求。请问此功能应该如何实现?谢谢大家。
|
|
驱动老牛
![]() |
沙发#
发布于:2005-06-10 17:54
我想开发一个USBSTOR.sys的一个upper filter driver用于向特定型号的U盘发送一些特殊的厂商请求。请问此功能应该如何实现?谢谢大家。 可以通过SCSI的INQUIRY命令识别。 通过枚举磁盘设备 SetupDiEnumDeviceInterfaces SetupDiGetInterfaceDeviceDetail 再判断是不是UPAN bResult = ::DeviceIoControl(hDevice, // 设备句柄 IOCTL_STORAGE_QUERY_PROPERTY, // 取设备属性信息 &Query, sizeof(STORAGE_PROPERTY_QUERY), // 输入数据缓冲区 pDevDesc, pDevDesc->Size, // 输出数据缓冲区 &dwOutBytes, // 输出数据长度 (LPOVERLAPPED)NULL); // 用同步I/O 再Ret=DeviceIoControl( hDevice, IOCTL_SCSI_PASS_THROUGH, &sptwb, sizeof(SCSI_PASS_THROUGH), &sptwb, length, &returned, NULL); 发送INQUIRY 如果是驱动中就更简单了,直接象被挂对象IOCONTROL 就行了 |
|