Заголовок ntddscsi.h
Этот заголовок используется хранилищем. Дополнительные сведения см. в разделе:
ntddscsi.h содержит следующие программные интерфейсы:
Функции IOCTL
IOCTL_ATA_PASS_THROUGH Позволяет приложению отправлять почти любую команду ATA на целевое устройство со следующими ограничениями: _If существует драйвер класса для целевого типа устройства, приложение должно отправить запрос драйверу класса. |
IOCTL_ATA_PASS_THROUGH_DIRECT Узнайте, как IOCTL_ATA_PASS_THROUGH_DIRECT позволяет приложению отправлять почти любую команду ATA на целевое устройство. |
IOCTL_MINIPORT_PROCESS_SERVICE_IRP Этот IOCTL используется приложением в пользовательском режиме или драйвером режима ядра, которому требуется уведомление, когда в виртуальном минипорте происходит что-то интересное. |
IOCTL_MINIPORT_SIGNATURE_ENDURANCE_INFO IOCTL_MINIPORT_SIGNATURE_ENDURANCE_INFO — это системная сигнатура, используемая в сочетании с кодом управления IOCTL_SCSI_MINIPORT для запроса на возврат данных о выносливости мини-порта для целевого устройства. |
IOCTL_MINIPORT_SIGNATURE_SET_PROTOCOL IOCTL_MINIPORT_SIGNATURE_SET_PROTOCOL — это сигнатура, используемая в сочетании с кодом IOCTL_SCSI_MINIPORT управления для отправки данных, относящихся к протоколу, в мини-порт. |
IOCTL_MPIO_PASS_THROUGH_PATH Этот код управления вводом-выводом позволяет приложению или драйверу ядра отправлять команду SCSI в назначенный реальный LUN. |
IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT Узнайте, как этот код элемента управления вводом-выводом позволяет приложению или драйверу ядра отправлять команду SCSI в назначенный реальный LUN. |
IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX Запрос кода элемента управления IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX — это расширенная версия запроса IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT. Этот запрос обеспечивает поддержку двунаправленной передачи данных и позволяет использовать блок данных команд (CDB) > размером 16 байт. |
IOCTL_MPIO_PASS_THROUGH_PATH_EX Запрос кода элемента управления IOCTL_MPIO_PASS_THROUGH_PATH_EX — это расширенная версия запроса IOCTL_MPIO_PASS_THROUGH_PATH. Этот запрос обеспечивает поддержку двунаправленной передачи данных и позволяет использовать блок данных команд (CDB) > размером 16 байт. |
IOCTL_SCSI_GET_ADDRESS Возвращает сведения об адресе, такие как идентификатор целевого объекта (TID) и номер логической единицы (LUN) определенного целевого объекта SCSI. |
IOCTL_SCSI_GET_CAPABILITIES Возвращает возможности и ограничения базового адаптера SCSI HBA. |
IOCTL_SCSI_GET_INQUIRY_DATA Возвращает данные запроса SCSI для всех устройств на заданном адаптере шины узла SCSI (HBA). |
IOCTL_SCSI_MINIPORT Отправляет специальную функцию управления драйверу мини-порта HBA. |
IOCTL_SCSI_MINIPORT_DIAGNOSTIC Код элемента управления IOCTL_SCSI_MINIPORT_DIAGNOSTIC используется для выполнения диагностического запроса к минипорту. |
IOCTL_SCSI_MINIPORT_HYBRID Код элемента управления IOCTL_SCSI_MINIPORT_HYBRID отправляет запрос на управление гибридным диском драйверу мини-порта HBA. |
IOCTL_SCSI_MINIPORT_NVCACHE Определенные здесь операции управления кэшем NV могут вызываться с помощью пользовательского кода приложения, выполняющегося с правами администратора, с помощью DeviceIoControl и кода управления IOCTL_SCSI_MINIPORT. |
IOCTL_SCSI_PASS_THROUGH Позволяет приложению отправлять почти любую команду SCSI на целевое устройство со следующими ограничениями: многоцеловые команды, такие как COPY, не допускаются. Двунаправленные операции передачи данных не поддерживаются. Если существует драйвер класса для целевого типа устройства, запрос должен быть отправлен в этот драйвер класса. Таким образом, приложение может отправить этот запрос непосредственно в драйвер системного порта для целевой логической единицы (LU), только если отсутствует драйвер класса для типа устройства, подключенного к этому LU. Драйвер системного порта не проверка определить, было ли устройство запрошено драйвером класса перед обработкой запроса сквозной передачи. Таким образом, если приложение обходит драйвер класса, который утверждал устройство, и отправляет сквозной запрос для этого устройства непосредственно драйверу порта, между драйвером класса и приложением может возникнуть конфликт управления устройством. Если сквозной запрос отправляется объекту устройства адаптера и если он исходит из пользовательского режима и нацелен на LU, запрошенный драйвером класса, Storport завершает запрос с STATUS_INVALID_DEVICE_REQUEST. Если запрос отправляется в объект устройства LU, поступает в режиме ядра или нацелен на невостребованное LU, он передается драйверу мини-порта. Этот запрос нельзя использовать, если CDB может потребовать от базового драйвера мини-порта прямой доступ к памяти. Если CDB вызывающего абонента может потребоваться прямой доступ к памяти, используйте вместо этого IOCTL_SCSI_PASS_THROUGH_DIRECT. Приложения не должны пытаться асинхронно отправить сквозной запрос. Все сквозные запросы должны быть синхронными. Приложениям не требуются права администратора для отправки сквозного запроса на устройство, но они должны иметь доступ на чтение и запись к устройству. Вызывающее приложение создает блок дескриптора команды SCSI, который может включать запрос на получение данных о смысле запроса при возникновении CHECK CONDITION. IOCTL_SCSI_PASS_THROUGH — это запрос на управление устройством в буфере. Чтобы обойти буферизацию в системной памяти, вызывающие должны использовать IOCTL_SCSI_PASS_THROUGH_DIRECT. При обработке запроса IOCTL_SCSI_PASS_THROUGH_DIRECT система блокирует буфер в памяти пользователя, и устройство обращается к этой памяти напрямую. Этот запрос обычно используется для передачи небольших объемов данных (<16 КБ). Приложения могут отправлять этот запрос с помощью запроса IRP_MJ_DEVICE_CONTROL. Драйверы класса хранилища устанавливают дополнительный номер IRP IRP_MN_SCSI_CLASS, чтобы указать, что запрос был обработан драйвером класса хранения. |
IOCTL_SCSI_PASS_THROUGH_DIRECT Позволяет приложению отправлять почти любую команду SCSI на целевое устройство со следующими ограничениями: многоцеловые команды, такие как COPY, не допускаются. Двунаправленные операции передачи данных не поддерживаются. Если существует драйвер класса для целевого типа устройства, запрос должен быть отправлен в этот драйвер класса. Таким образом, приложение может отправить этот запрос непосредственно в драйвер системного порта для целевой логической единицы, только если отсутствует драйвер класса для типа устройства, подключенного к этому LU. Этот запрос необходимо выполнить, если входной CDB может потребовать от базового драйвера мини-порта прямой доступ к памяти. Вызывающее приложение создает блок дескриптора команды SCSI, который может включать запрос на получение данных о смысле запроса при возникновении CHECK CONDITION. Если CDB запрашивает операцию передачи данных, вызывающий должен настроить буфер устройства адаптера, из которого драйвер мини-порта может передавать данные напрямую. Этот запрос обычно используется для передачи больших объемов данных (>16 КБ). Приложения могут отправлять этот запрос с помощью запроса IRP_MJ_DEVICE_CONTROL. Драйверы класса хранилища устанавливают дополнительный номер IRP IRP_MN_SCSI_CLASS, чтобы указать, что запрос был обработан драйвером класса хранения. |
IOCTL_SCSI_PASS_THROUGH_DIRECT_EX Запрос кода элемента управления IOCTL_SCSI_PASS_THROUGH_DIRECT_EX — это расширенная версия запроса IOCTL_SCSI_PASS_THROUGH_DIRECT. Этот запрос обеспечивает поддержку двунаправленной передачи данных и позволяет использовать блок данных команд (CDB) > размером 16 байт. |
IOCTL_SCSI_PASS_THROUGH_EX Запрос кода элемента управления IOCTL_SCSI_PASS_THROUGH_EX является расширенной версией запроса IOCTL_SCSI_PASS_THROUGH. Этот запрос обеспечивает поддержку двунаправленной передачи данных и позволяет использовать блок данных команд (CDB) > размером 16 байт. |
IOCTL_SCSI_RESCAN_BUS Повторно сканирует LUN в шинах. |
Структуры
ATA_PASS_THROUGH_DIRECT Структура ATA_PASS_THROUGH_DIRECT используется вместе с запросом IOCTL_ATA_PASS_THROUGH_DIRECT, чтобы указать драйверу порта отправить встроенную команду ATA на целевое устройство. |
ATA_PASS_THROUGH_EX Структура ATA_PASS_THROUGH_EX используется вместе с запросом IOCTL_ATA_PASS_THROUGH, чтобы указать драйверу порта отправить внедренную команду ATA на целевое устройство. |
HYBRID_INFORMATION Структура HYBRID_INFORMATION содержит сведения о возможностях гибридного диска. |
IO_SCSI_CAPABILITIES Структура IO_SCSI_CAPABILITIES используется вместе с запросом IOCTL_SCSI_GET_CAPABILITIES для получения возможностей и ограничений базового адаптера узла SCSI. Примечание. Модели драйверов портов SCSI и драйверов мини-портов SCSI могут быть изменены или недоступны в будущем. Вместо этого рекомендуется использовать модели драйверов Storport и драйверов для мини-портов Storport. |
MPIO_PASS_THROUGH_PATH Структура MPIO_PASS_THROUGH_PATH используется вместе с запросом IOCTL_MPIO_PASS_THROUGH_PATH, чтобы указать драйверу порта отправить встроенную команду SCSI на целевое устройство. |
MPIO_PASS_THROUGH_PATH_DIRECT Структура MPIO_PASS_THROUGH_PATH_DIRECT используется вместе с запросом IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT, чтобы указать драйверу порта отправить внедренную команду SCSI на целевое устройство. |
MPIO_PASS_THROUGH_PATH_DIRECT_EX Структура MPIO_PASS_THROUGH_PATH_DIRECT_EX используется вместе с запросом IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX, чтобы указать драйверу порта отправить внедренную команду SCSI на целевое устройство. |
MPIO_PASS_THROUGH_PATH_EX Структура MPIO_PASS_THROUGH_PATH_EX используется вместе с запросом IOCTL_MPIO_PASS_THROUGH_PATH_EX, чтобы указать драйверу порта отправить встроенную команду SCSI на целевое устройство. |
NTSCSI_UNICODE_STRING Драйверы портов хранилища могут использовать структуру NTSCSI_UNICODE_STRING для определения строк Юникода. |
NV_FEATURE_PARAMETER Структура NV_FEATURE_PARAMETER используется в сочетании с запросом IOCTL_SCSI_MINIPORT_NVCACHE для получения сведений о поддержке функций диспетчера кэша NV с устройства. |
NVCACHE_REQUEST_BLOCK Структура NVCACHE_REQUEST_BLOCK используется в сочетании с запросом IOCTL_SCSI_MINIPORT для управления устройствами с гибридным жестким диском (H-HDD) (например, технология Microsoft ReadyDrive). |
SCSI_ADAPTER_BUS_INFO Структура SCSI_ADAPTER_BUS_INFO используется в сочетании с запросом IOCTL_SCSI_GET_INQUIRY_DATA для получения данных запроса SCSI для всех устройств на данной шине SCSI. |
SCSI_ADDRESS Структура SCSI_ADDRESS используется в сочетании с запросом IOCTL_SCSI_GET_ADDRESS для получения сведений об адресе, таких как идентификатор целевого объекта (TID) и логический номер единицы (LUN) определенного целевого объекта SCSI. |
SCSI_BUS_DATA Структура SCSI_BUS_DATA используется в сочетании с запросом IOCTL_SCSI_GET_INQUIRY_DATA и структурой SCSI_ADAPTER_BUS_INFO для получения данных запроса SCSI для всех устройств в заданной шине SCSI. |
SCSI_INQUIRY_DATA Структура SCSI_INQUIRY_DATA используется в сочетании с запросом IOCTL_SCSI_GET_INQUIRY_DATA для получения данных запроса SCSI для всех устройств в заданной шине SCSI. |
SCSI_PASS_THROUGH Структура SCSI_PASS_THROUGH используется в сочетании с запросом IOCTL_SCSI_PASS_THROUGH, чтобы указать драйверу порта отправить внедренную команду SCSI на целевое устройство. |
SCSI_PASS_THROUGH_DIRECT Структура SCSI_PASS_THROUGH_DIRECT используется в сочетании с запросом IOCTL_SCSI_PASS_THROUGH_DIRECT, чтобы указать драйверу порта отправить внедренную команду SCSI на целевое устройство. |
SCSI_PASS_THROUGH_DIRECT_EX Структура SCSI_PASS_THROUGH_DIRECT_EX используется в сочетании с запросом IOCTL_SCSI_PASS_THROUGH_DIRECT_EX, чтобы указать драйверу порта отправить внедренную команду SCSI на целевое устройство. |
SCSI_PASS_THROUGH_EX Структура SCSI_PASS_THROUGH_EX используется в сочетании с запросом IOCTL_SCSI_PASS_THROUGH_EX, чтобы указать драйверу порта отправить внедренную команду SCSI на целевое устройство. |
SRB_IO_CONTROL структура SRB_IO_CONTROL |
STORAGE_DIAGNOSTIC_MP_REQUEST Описывает диагностический запрос к Miniport. Структура STORAGE_DIAGNOSTIC_MP_REQUEST предоставляется в буфере входных и выходных данных запроса IOCTL_SCSI_MINIPORT_DIAGNOSTIC. |
STORAGE_ENDURANCE_DATA_DESCRIPTOR Мини-порт использует STORAGE_ENDURANCE_DATA_DESCRIPTOR для передачи сведений о выносливости устройства драйверу порта хранения. |
STORAGE_ENDURANCE_INFO Минипорт использует структуру STORAGE_ENDURANCE_INFO для передачи сведений о выносливости устройства. |
Перечисления
MP_STORAGE_DIAGNOSTIC_LEVEL Перечисление MP_STORAGE_DIAGNOSTIC_LEVEL позволяет вызывающей объекту управлять типами данных, которые должен возвращать поставщик. |
MP_STORAGE_DIAGNOSTIC_TARGET_TYPE Перечисление MP_STORAGE_DIAGNOSTIC_TARGET_TYPE указывает целевой тип диагностики хранилища. |
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по