StorPortSynchronizeAccess 函数 (storport.h)
StorPortSynchronizeAccess 例程提供对微型端口驱动程序设备扩展的同步访问。
语法
STORPORT_API BOOLEAN StorPortSynchronizeAccess(
[in] PVOID HwDeviceExtension,
[in] PSTOR_SYNCHRONIZED_ACCESS SynchronizedAccessRoutine,
[in, optional] PVOID Context
);
参数
[in] HwDeviceExtension
指向硬件设备扩展的指针。 这是端口驱动程序代表微型端口驱动程序分配和初始化的每个 HBA 存储区域。 微型端口驱动程序通常在此扩展中存储特定于 HBA 的信息,例如 HBA 的状态和 HBA 的映射访问范围。 在微型端口驱动程序调用 StorPortInitialize 后,微型端口驱动程序立即可以使用此区域。 端口驱动程序在删除设备时释放此内存。
[in] SynchronizedAccessRoutine
指向调用方提供的例程的指针,该例程的执行将与与中断对象关联的 ISR 的执行同步。 有关此例程的原型,请参阅本主题后面的“备注”部分。
[in, optional] Context
指向在调用时要传递给调用方提供的回调例程的上下文区域的指针。
返回值
SynchronizedAccessRoutine 的返回值。
注解
在全双工模式下运行的微型端口驱动程序以及访问其 HwStorStartIo 例程与中断服务例程之间共享的信息的微型端口驱动程序必须使用此例程以同步方式访问共享数据。
微型端口驱动程序将回调例程传递给 StorPortSynchronizeAccess,StorPortSynchronizeAccess 在保证对敏感数据结构的独占访问后调用它。 微型端口驱动程序的回调例程必须符合以下原型:
typedef
BOOLEAN
(* PSTOR_SYNCHRONIZED_ACCESS) (
IN PVOID HwDeviceExtension,
IN PVOID Context
);
其中 ,HwDeviceExtension 是指向硬件设备扩展的指针, Context 只是指向调用 StorPortSynchronizeAccess 时调用方提供的相同上下文信息的指针。
有关详细信息,请参阅 未同步微型端口驱动程序例程中的同步访问。
有关同步例程的详细信息,请参阅 KeSynchronizeExecution。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
标头 | storport.h (包括 Storport.h) |
Library | Storport.lib |