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 参数包含状态通知的按位 OR 组合。 可以使用单个 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 (包括 Storport.h)
IRQL 任何