Сбой преобразования SCSI NVMe в Windows 10 при отправке команды безопасности приема
Я использую перевод SCSI-To-NVMe на платформе Windows 10 на диск NVMe, совместимый с OPAL 2.0. Мне удалось успешно отправить команду SCSI Inquiry (переводится для идентификации) на диск, чтобы получить модель и серийный номер, и если диск поддерживает безопасность. Когда я отправляю протокол безопасности обнаружения уровня 0 в команде, я получаю сообщение об ошибке:
"Неверное поле в CDB" возвращает данные в смысле.
Я открываю диск, используя путь к физическому диску (например, \.\PhysicalDrive0), и строю структуру SCSI_PASS_THROUGH_DIRECT для отправки в DeviceIoControl. Моя часть структуры CDB[12] содержит поля в соответствии со спецификацией перевода SCSI NVMe и спецификацией первичных команд SCSI для команды "Security Protocol In" - с очищенным INC_512 и заменой длины выделения в байтах. Команда протокола установлена в 1 (уровень обнаружения 0), специфичный для протокола - 0x0001 для comID, а байт управления - в 0.
Кто-нибудь пробовал эту команду, чтобы узнать, работает ли она, и есть ли способ определить, какое поле отклоняет драйвер?