Поделиться через


Функция 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.

Ценность Значение
RAID_ASYNC_NOTIFY_FLAG_MEDIA_STATUS
Уведомите Storport о том, что произошло изменение носителя.
RAID_ASYNC_NOTIFY_FLAG_DEVICE_STATUS
Уведомите Storport о том, что функциональное состояние устройства хранения изменилось.
RAID_ASYNC_NOTIFY_FLAG_DEVICE_OPERATION
Уведомите Storport об изменении операционной роли устройства хранения.

Возвращаемое значение

Значение состояния, указывающее результат уведомления. Это может быть одно из следующих значений:

Возвращаемый код Описание
STOR_STATUS_SUCCESS
Уведомление об изменении состояния запланировано на обработку.
STOR_STATUS_INVALID_PARAMETER
Недопустимый тип адреса.

-или-

HwDeviceExtensionNULL.

-или-

Флаги содержат неопределенное значение.

STOR_STATUS_INVALID_DEVICE_REQUEST
Устройство хранения не удается найти по адресу адресе.

-или-

Устройство хранения не поддерживает асинхронные уведомления.

STOR_STATUS_BUSY
Предварительное уведомление выполняется, и это не может быть запланировано.

Замечания

Минипорт может обнаруживать события состояния в HwStorInterrupt подпрограммы и вызывать StorPortAsyncNotificationDetected в очередь и обработать уведомление об изменении состояния позже в более низкой среде IRQL.

При обработке Storport уведомление о событии состояния пересылается драйверу класса хранилища, чтобы инициировать все необходимые действия системного ответа.

Если параметр Флаги равен 0, Storport будет указывать все значения состояния в уведомлении драйвера класса хранилища.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 8
целевая платформа Всеобщий
заголовка storport.h (include Storport.h)
IRQL Любой