vc--利用DeviceIoControl向storage发送命令
来源:互联网 发布:www.atv444.com新域名 编辑:程序博客网 时间:2024/04/28 05:19
#include <windows.h>
#include <Setupapi.h>
#include <string.h>
#include <stddef.h>
#include <ntddscsi.h>
#include <winioctl.h>
#include "usbhead.h"
typedef struct
{
SCSI_PASS_THROUGH Spt;
BYTE Sense[18];
BYTE Data[36];
} SISC_CMD;
BOOL bSuccess ;
DWORD nBytes = 0 ;
SISC_CMD cmd ;
cmd.Spt.Length = sizeof(cmd.Spt);
cmd.Spt.SenseInfoLength = sizeof(cmd.Sense);
cmd.Spt.DataTransferLength = sizeof(cmd.Data);
cmd.Spt.SenseInfoOffset = sizeof( SCSI_PASS_THROUGH ) ;//offsetof(cmd, Sense);
cmd.Spt.DataBufferOffset = sizeof( SCSI_PASS_THROUGH ) + 18 ;//offsetof(cmd, Data);
cmd.Spt.TimeOutValue = 30;
cmd.Spt.DataIn = SCSI_IOCTL_DATA_IN;
cmd.Spt.CdbLength = 6;
cmd.Spt.Cdb[0] = 0x12; // inquiry opcode
cmd.Spt.Cdb[1] = 0x00;
cmd.Spt.Cdb[2] = 0x00;
cmd.Spt.Cdb[3] = 0x00;
cmd.Spt.Cdb[4] = sizeof(cmd.Data);
cmd.Spt.Cdb[5] = 0x00;
bSuccess = ::DeviceIoControl(hDevice,
IOCTL_SCSI_PASS_THROUGH,
&cmd,
sizeof(cmd),
&cmd,
sizeof(cmd),
&nBytes,
(LPOVERLAPPED)NULL);
return false ;
本文发送的 inquiry 命令 其他命令换掉0x12就可以了
- vc--利用DeviceIoControl向storage发送命令
- 利用SNMP向思科路由器发送命令
- 利用匿名管道向Android手机发送adb命令
- VC 驱动器 DeviceIoControl
- VC 驱动器 DeviceIoControl
- 向蓝牙设备发送命令
- vc利用串口发送文件
- vc读取向.exe发送的参数
- vc读取向.exe发送的参数
- VC 向其他程序发送按键消息
- VC实现json向服务端发送数据
- 利用asp.net向邮箱发送注册码
- 利用TJSONArray向REST服务器发送文件
- 利用TJSONArray向REST服务器发送文件 .
- 如何向其他程序发送控制命令
- 向程序发送命令时出现错误
- 向usb cdrom发送SCSI 命令
- 通过Android keyevent 向系统发送命令
- ARM学习----指令
- 如何在 Yii 配置中为 MySQL 设置自定义端口
- "#ifndef #define #endif"防止头文件被重复包含
- CSoundBase实现录音与播放
- 53个不传之密
- vc--利用DeviceIoControl向storage发送命令
- 过路口了,请看人看灯看车!
- 如何进行HIBERNATE性能调优
- VS 下 Open Cascade Source Code 编译及自定义工程设置()
- curl应用总结
- Error: E0005E: Invalid tile service
- 为什么我们需要域?Active Directory系列之一
- 通过文件句柄取得到文件名(三)
- 部署第一个域:Active Directory系列之二