Заголовок 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 указывает целевой тип диагностики хранилища.