阅读:3080回复:2
有关移动SCSI disk的write protected问题。
各位兄台:
我现在开发一个读卡器的的驱动,把读卡器看作一个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; 请解决过这方面问题的兄台,给我点建议。 谢谢了。 祝各位春节快乐,万事如意。 |
|
|
沙发#
发布于:2005-01-28 16:24
各位兄台: 在你的完成例程中也这样设置 |
|
|
板凳#
发布于:2005-01-28 16:54
[quote]各位兄台: 在你的完成例程中也这样设置 [/quote] 这位兄台,我没有完成例程阿。 最后就是call: ScsiPortNotification(RequestComplete, pdx, Srb); ScsiPortNotification(NextRequest, pdx, NULL); |
|
|