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) |
库 | Storport.lib |