tianweishuiguo
驱动牛犊
驱动牛犊
  • 注册日期2009-06-01
  • 最后登录2010-10-06
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望141点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1855回复:2

为什么得不到SCSI 命令12 INQUIRY?

楼主#
更多 发布于:2010-06-15 14:30
改的WDK上的diskperf例子,看到在

    if (irpStack->MajorFunction==IRP_MJ_INTERNAL_DEVICE_CONTROL)
    {
        //DbgPrint(("liushuanglin tested for cdb ############################"));

        CurSrb=irpStack->Parameters.Scsi.Srb;
        cdb = (PCDB)CurSrb->Cdb;
        
        opCode=cdb->CDB6GENERIC.OperationCode;
        iqCode = cdb->CDB6INQUIRY.OperationCode;
        //gPrint("======================r cdb : %x\n", iqCode);
        if (opCode==SCSIOP_MODE_SENSE)
        {
            DbgPrint("观察:进入U盘写保护\n");
            modeData = (PMODE_PARAMETER_HEADER)CurSrb->DataBuffer;
            if( IsReadOnly )
            {
                DbgPrint("U盘写保护\n");
                modeData->DeviceSpecificParameter |= MODE_DSP_WRITE_PROTECT;
            }
        }
        //liushuanglin added for capture 12 begin
        if(iqCode == 12 ){

            DbgPrint(("---------------capture 12 code \n"));
            inquiryDate= (PINQUIRYDATA)CurSrb->DataBuffer;
            DbgPrint("---------------inquiry data device type=%d\n",inquiryDate->DeviceType);
            
        }
        iqCode = cdb->CDB6INQUIRY3.OperationCode;
        DbgPrint("@@@@@@@@@@@@@@@@@@@@@@@@@liushuanglin tested for cdb : %x\n", iqCode);

        

        //liushuanglin added for capture 12 end
    }


为啥得不到12,看到dbgview里面能得到25,28,0这些SCSI,为啥得不到12呢?
bibidaa
驱动牛犊
驱动牛犊
  • 注册日期2009-11-21
  • 最后登录2017-04-15
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望151点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-06-15 18:39
 if(iqCode == 12
---------------
12是十六进制,十进制是18
tianweishuiguo
驱动牛犊
驱动牛犊
  • 注册日期2009-06-01
  • 最后登录2010-10-06
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望141点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-06-15 18:51
知道,我在前面有一个
 DbgPrint("======================r cdb : %x\n", iqCode);
发现根本没有12,
只有25,28,0,1a
游客

返回顶部