Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
A miniport driver that works with the Storport driver must contain implementations of the routine descriptions listed in this section, and it must expose them through a HW_INITIALIZATION_DATA structure during the miniport driver's initialization phase.
Подпрограммы драйвера минипорта Storport в большинстве случаев эквивалентны их аналогам порта SCSI. Однако существуют важные различия между проектированием драйвера портов SCSI и драйвером Storport, а подпрограммы минипорта должны соответствовать этим различиям.
For instance:
- A Storport miniport driver must always be prepared to receive another I/O request after its HwStorStartIo routine completes.
- Драйвер минипорта SCSI не имеет этого требования. It doesn't receive a new I/O request until it explicitly signals the port driver when it can handle another request by calling StorPortNotification.
Если драйвер минипорта Storport не может немедленно обработать отправленный запрос, он имеет набор функций управления очередями, которые позволяют ему справиться с перегрузкой. Эти функции управления очередями недоступны для драйвера мини-порта SCSI. Like the SCSI miniport driver, the Storport miniport driver completes the request with SRB_STATUS_BUSY. But unlike the SCSI port version, it can also mark the device queue as busy using the StorPortDeviceBusy routine. Аналогичные функции позволяют драйверу минипорта Storport приостановить и возобновить обработку на уровне адаптера.
Дополнительные сведения о подпрограммах поддержки, предоставляемых драйвером Storport, см . в разделах подпрограмм поддержки драйверов Storport.
Дополнительные сведения о драйвере Storport см. в разделе "Драйверы портов хранилища".
Список подпрограмм драйвера минипорта Storport
| Routine | Description |
|---|---|
| HW_MESSAGE_SIGNALED_INTERRUPT_ROUTINE | Обрабатывает сигнальное прерывание сообщения (MSI). |
| HW_ADAPTER_CONTROL | Выполняет синхронные операции для управления состоянием или поведением адаптера, например остановкой или перезапуском HBA для управления питанием. |
| HW_BUILDIO | Processes the SRB with unsynchronized access to shared system data structures before passing it to HwStorStartIo. |
| HW_DPC_ROUTINE | Подпрограмма, отложенная для выполнения в ДИСПЕТЧЕРЕ IRQL с механизмом отложенного вызова процедуры (DPC). |
| HW_FIND_ADAPTER | Использует указанную конфигурацию, чтобы определить, поддерживается ли определенная HBA, и, если это так, для возврата сведений о конфигурации этого адаптера. |
| HW_INITIALIZE | Инициализирует мини-драйвер после перезагрузки системы или сбоя питания. |
| HW_INTERRUPT | The Storport driver calls the HwStorInterrupt routine after the HBA generates an interrupt request. |
| HW_PASSIVE_INITIALIZE_ROUTINE | Called after the HwStorInitialize routine when the current IRQL is at PASSIVE_LEVEL. |
| HW_RESET_BUS | Вызывается драйвером порта для очистки условий ошибки. |
| HW_STARTIO | The Storport driver calls the HwStorStartIo routine one time for each incoming I/O request. |
| HW_TIMER | Called after the interval that is specified when the miniport driver called StorPortNotification with the RequestTimerCallNotificationType value. |
| HW_TRACING_ENABLED | Позволяет Storport уведомлять мини-порт о включении трассировки событий. |
| HW_UNIT_CONTROL | Вызывается для выполнения синхронных операций для управления состоянием устройства единицы хранения. Минипорт-драйвер уведомляется о запуске единицы или обработке перехода состояния питания для устройства единицы. |
| HW_WORKITEM | Функция обратного вызова с минипортом для обработки запроса рабочего элемента Storport. |