Функция StorPortAsyncNotificationDetected (storport.h)
Драйвер мини-порта хранилища вызывает StorPortAsyncNotificationDetected , чтобы уведомить драйвер Storport о событии изменения состояния устройства хранения.
Уведомление помещается в очередь как рабочий элемент для отложенной обработки в DISPATCH_LEVEL или ниже IRQL.
Синтаксис
ULONG StorPortAsyncNotificationDetected(
[in] PVOID HwDeviceExtension,
PSTOR_ADDRESS Address,
ULONGLONG Flags
);
Параметры
[in] HwDeviceExtension
Указатель на расширение аппаратного устройства. Это область хранения для каждого HBA, которую драйвер порта выделяет и инициализирует от имени драйвера мини-порта. Драйверы мини-портов обычно хранят сведения, относящиеся к HBA, в этом расширении, такие как состояние HBA и сопоставленные диапазоны доступа для HBA. Эта область доступна драйверу мини-порта сразу после того, как драйвер мини-порта вызывает StorPortInitialize. Драйвер порта освобождает эту память при удалении устройства.
Address
Адрес запоминающего устройства с событием изменения состояния.
Flags
Уведомления о состоянии, которые необходимо указать в Storport.
Параметр Flags содержит побитовое или сочетание уведомлений о состоянии. Все значения состояния можно задать с помощью одного значения RAID_ASYNC_NOTIFY_SUPPORTED_FLAGS .
Возвращаемое значение
Значение состояния, указывающее результат уведомления. Это может быть одно из следующих значений:
Код возврата | Описание |
---|---|
|
Запланирована обработка уведомления об изменении состояния. |
|
Недопустимый тип адреса.
-или- HwDeviceExtension имеет значение NULL. -или- Флаги содержат неопределенное значение. |
|
Не удается найти устройство хранения по адресу.
-или- Устройство хранения не поддерживает асинхронные уведомления. |
|
Предварительное уведомление находится в процессе, и это уведомление не может быть запланировано. |
Комментарии
Мини-порт может обнаруживать события состояния в своей подпрограмме HwStorInterrupt и вызывать StorPortAsyncNotificationDetected для постановки в очередь и обработки уведомления об изменении состояния позже в более низком irQL.
При обработке Storport уведомление о событии состояния перенаправилось драйверу класса хранения для запуска любых необходимых действий по реагированию системы.
Если параметр Flags имеет значение 0, Storport будет указывать все значения состояния в уведомлении драйверу класса хранения.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 |
Целевая платформа | Универсальное |
Верхняя часть | storport.h (включая Storport.h) |
IRQL | Любой |