WdfIoTargetSendIoctlSynchronously & ATA

Я пытался отправлять необработанные команды ATA через WdfIoTargetSendIoctlSynchronically, используя структуру ATA_PASS_THROUGH_EX32 и IOCTL_ATA_PASS_THROUGH IoControlCode. Что я заметил, так это то, что любые команды, кроме IOCTL_DISK_GET_DRIVE_GEOMETRY, по-видимому, терпят неудачу из-за драйвера KMDF для меня.

Я собрал стандартный 32-битный исполняемый файл и прекрасно могу использовать IOCTL_ATA_PASS_THROUGH. Драйвер не получает никаких ошибок, кроме STATUS_INVALID_PARAMETER, из возвращаемого значения NTStatus WdfIoTargetSendIoctlSynchronously.

У кого-нибудь есть какие-либо идеи?

Принятые шаги:

  • WdfIoTargetCreate
  • WdfIoTargetOpen
  • WdfRequestCreate
  • WdfMemoryCreate -> WDF_MEMORY_DESCRIPTOR_INIT_BUFFER -> ATA_PASS_THROUGH_EX32
  • WdfMemoryCreate -> WDF_MEMORY_DESCRIPTOR_INIT_BUFFER -> OutputBuffer
  • WdfIoTargetSendIoctlSynchronously

0 ответов

Другие вопросы по тегам