Пишу драйвер дискового устройства. Хочу при наступлении определенных условий сделать диск защищенным от записи. Пытаюсь сделать это следующим образом(код переписываю по памяти, на синтаксические ошибки внимание не обращать, главное - смысл): Код (Text): PSCSI_REQUEST_BLOCK Srb; UCHAR cCdbCommand; ... switch ( cCdbCommand ) { ... case SCSIOP_WRITE: { if( TRUE == fNeedWriteProtected) { PSENSE_DATA SenseBuffer; SenseBuffer = Srb->SenseInfoBuffer; Srb->SrbStatus = SRB_STATUS_ERROR;// 0x4 Srb->ScsiStatus = SCSISTAT_CHECK_CONDITION;//0x2 SenseBuffer->Valid = 1; SenseBuffer->ErrorCode = 0x70; SenseBuffer->SenseKey = SCSI_SENSE_DATA_PROTECT; SenseBuffer->AdditionalSenseLength = 6; SenseBuffer->AdditionalSenseCode = SCSI_ADSENSE_WRITE_PROTECT; SenseBuffer->AdditionalSenseCodeQualifier = SCSI_SENSEQ_CAUSE_NOT_REPORTABLE; Irp->IoStatus.Status = STATUS_WRITE_PROTECTED; Irp->IoStatus.Information = 0; break; } ... } ... } Что я делаю неправильно?