Leonsoft
驱动小牛
驱动小牛
  • 注册日期2003-05-08
  • 最后登录2012-08-11
  • 粉丝1
  • 关注0
  • 积分21分
  • 威望281点
  • 贡献值1点
  • 好评度103点
  • 原创分0分
  • 专家分0分
阅读:3080回复:2

有关移动SCSI disk的write protected问题。

楼主#
更多 发布于:2005-01-28 15:05
各位兄台:
     我现在开发一个读卡器的的驱动,把读卡器看作一个scsi minport device,可以读些各种media card,但是如果插入一张locked SD card,去delete里面一个文件,system会跳出一个message,说是write protected,跟着这个文件的图标就没有了,表面上删除了,其实没有被删掉。
      我不知道为什么这样,表面上被删掉了啊。
     我是在SCSIOP_WRITE的时候,发现card是write protect,就设定
scsistatus = CHECK_CONDITION SrbSatatus = ERROR,然后在SCSIOP_REQUEST_SENSE里面处理sesenData,指定:
   senseBuffer->ErrorCode = 0x70;
   senseBuffer->Valid     = 1;
   senseBuffer->AdditionalSenseLength = 0xb;
   senseBuffer->SenseKey =  SCSI_SENSE_DATA_PROTECT;
  senseBuffer->AdditionalSenseCode = SCSI_ADSENSE_WRITE_PROTECT;
   senseBuffer->AdditionalSenseCodeQualifier = 0;

请解决过这方面问题的兄台,给我点建议。
谢谢了。
祝各位春节快乐,万事如意。
I will do the best with what the God gave me.
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-28 16:24
各位兄台:
     我现在开发一个读卡器的的驱动,把读卡器看作一个scsi minport device,可以读些各种media card,但是如果插入一张locked SD card,去delete里面一个文件,system会跳出一个message,说是write protected,跟着这个文件的图标就没有了,表面上删除了,其实没有被删掉。
      我不知道为什么这样,表面上被删掉了啊。
     我是在SCSIOP_WRITE的时候,发现card是write protect,就设定
scsistatus = CHECK_CONDITION SrbSatatus = ERROR,然后在SCSIOP_REQUEST_SENSE里面处理sesenData,指定:
   senseBuffer->ErrorCode = 0x70;
   senseBuffer->Valid     = 1;
   senseBuffer->AdditionalSenseLength = 0xb;
   senseBuffer->SenseKey =  SCSI_SENSE_DATA_PROTECT;
  senseBuffer->AdditionalSenseCode = SCSI_ADSENSE_WRITE_PROTECT;
   senseBuffer->AdditionalSenseCodeQualifier = 0;

请解决过这方面问题的兄台,给我点建议。
谢谢了。
祝各位春节快乐,万事如意。

在你的完成例程中也这样设置
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
Leonsoft
驱动小牛
驱动小牛
  • 注册日期2003-05-08
  • 最后登录2012-08-11
  • 粉丝1
  • 关注0
  • 积分21分
  • 威望281点
  • 贡献值1点
  • 好评度103点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-01-28 16:54
[quote]各位兄台:
     我现在开发一个读卡器的的驱动,把读卡器看作一个scsi minport device,可以读些各种media card,但是如果插入一张locked SD card,去delete里面一个文件,system会跳出一个message,说是write protected,跟着这个文件的图标就没有了,表面上删除了,其实没有被删掉。
      我不知道为什么这样,表面上被删掉了啊。
     我是在SCSIOP_WRITE的时候,发现card是write protect,就设定
scsistatus = CHECK_CONDITION SrbSatatus = ERROR,然后在SCSIOP_REQUEST_SENSE里面处理sesenData,指定:
   senseBuffer->ErrorCode = 0x70;
   senseBuffer->Valid     = 1;
   senseBuffer->AdditionalSenseLength = 0xb;
   senseBuffer->SenseKey =  SCSI_SENSE_DATA_PROTECT;
  senseBuffer->AdditionalSenseCode = SCSI_ADSENSE_WRITE_PROTECT;
   senseBuffer->AdditionalSenseCodeQualifier = 0;

请解决过这方面问题的兄台,给我点建议。
谢谢了。
祝各位春节快乐,万事如意。

在你的完成例程中也这样设置 [/quote]


这位兄台,我没有完成例程阿。
最后就是call:
ScsiPortNotification(RequestComplete, pdx, Srb);
ScsiPortNotification(NextRequest, pdx, NULL);
I will do the best with what the God gave me.
游客

返回顶部