Как отправить SCSIOP_WRITE, как журнал bushound
Всем привет
Я использую Bushound для записи поведения SCSIP_WRITE из приложения. Бортовой журнал показывает что-то вроде этого.
9 CMD 2a 00 00 00 00 00 00 00 80 00 WRITE 3317238.1.0 9 CMD 2a 00 00 00 00 80 00 00 80 00 WRITE 3317239.1.0 9 CMD 2a 00 00 00 01 00 00 00 80 00 WRITE 3317240.1.0 9 CMD 2a 00 00 00 01 80 00 00 80 00 WRITE 3317241.1.0 9 OUT 03 00 00 00 03 00 00 00 04 00 00 00 03 00 00 00 05 00 00 00 03 00 00 00 06 00 00 00 03 00 00 00 ................................ 3317238.2.0 07 00 00 00 03 00 00 00 08 00 00 00 03 00 00 00 09 00 00 00 03 00 00 00 0a 00 00 00 03 00 00 00 ................................ 3317238.2.32 0b 00 00 00 03 00 00 00 0c 00 00 00 03 00 00 00 0d 00 00 00 03 00 00 00 0e 00 00 00 03 00 00 00 ................................ 3317238.2.64 0f 00 00 00 03 00 00 00 10 00 00 00 03 00 00 00 11 00 00 00 03 00 00 00 12 00 00 00 03 00 00 00 ................................ 3317238.2.96
SCSIOP_WRITE, который я знаю, - это команда SCSIOP_WRITE, за которой будут следовать ее собственные данные. Но журнал, 4 SCSIOP_WRITE(0x2a) подряд, не показывает мне ничего похожего на обычный SCSIOP_WRITE. Кто-нибудь знает, как отправить SCSIOP_WRITE, как это делает журнал? Большое спасибо за вашу помощь!
Что я уже пробовал:
Я пытаюсь реализовать IOCTL_SCSI_PASS_THROUGH_DIRECT_EX, и GetLastError возвращает 0x32(ERROR_NOT_SUPPORTED). STORAGE_ADAPTER_DESCRIPTOR.SrbType-это действительно 0x00. SrbType должен быть 0x01 для поддержки IOCTL_SCSI_PASS_THROUGH_DIRECT_EX.