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 值设置所有状态值。
价值 | 意义 |
---|---|
|
通知 Storport 媒体发生更改。 |
|
通知 Storport 存储设备的功能状态已更改。 |
|
通知 Storport 存储设备的作角色已更改。 |
返回值
指示通知结果的状态值。 这可以是以下值之一:
返回代码 | 描述 |
---|---|
|
状态更改通知计划用于处理。 |
|
地址类型无效。
-或- HwDeviceExtensionNULL。 -或- 标志 包含未定义的值。 |
|
在 地址找不到存储设备单元。
-或- 存储设备不支持异步通知。 |
|
前面的通知正在进行中,无法计划此通知。 |
言论
微型端口可以检测其 HwStorInterrupt 例程中的状态事件,并调用 StorPortAsyncNotificationDetected,以在较低的 IRQL 下排队和处理状态更改通知。
由 Storport 处理时,状态事件通知将转发到存储类驱动程序,以启动任何必要的系统响应作。
如果 标志 参数为 0,Storport 将指示其通知中所有状态值,告知存储类驱动程序。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 8 |
目标平台 | 普遍 |
标头 | storport.h (包括 Storport.h) |
IRQL | 任何 |