私はUSBベースの大容量記憶装置を開発しています。制御はSCSIコマンドによる。WindowsはSCSI READ CAPACITY要求を繰り返し送信します。
このデバイスのLUNの1つが「非表示」で、すべてのコマンド(INQUIRYおよびREQUEST SENSEを除く)がCOMMAND FAILED(1)を返します。 REQUEST SENSEはNOT READY(MEDIUM NOT PRESENT)を返します。
これにもかかわらず、Windowsは繰り返しREAD CAPACITYを送信します。 COMMAND FAILEDを返すことに加えて、すべてのゼロデータでCOMMAND PASSED(0)を返そうとしました。しかし、これにより、Windowsはさらにコマンドを送信しなくなり、デバイスの列挙は停止します。
これらのリクエストに対する適切な対応は何ですか?
ご協力いただきありがとうございます。私はSCSIコンプライアンステストを見てきましたが、媒体が存在しない状況のために意図されたとは考えていませんでした。私はOSに "隠された" LUNが準備ができていないことを示す何らかの他の方法がなければならないと思う。同様のシナリオは、空のDVDドライブです。 –
あなたの試した "ScsiStatusの値は0x0"にする必要がありますか? – Yahia