StorPortIssueDpc 函数 (storport.h)
StorPortIssueDpc 例程发出延迟过程调用(DPC)。
语法
BOOLEAN StorPortIssueDpc(
[in] PVOID DeviceExtension,
[in] PSTOR_DPC Dpc,
[in] PVOID SystemArgument1,
[in] PVOID SystemArgument2
);
参数
[in] DeviceExtension
指向每个适配器设备扩展的指针。
[in] Dpc
指向包含 StorPortInitializeDpc STOR_DPC 例程返回的类型初始化的 DPC 对象的缓冲区的指针。
[in] SystemArgument1
指向将传递给延迟例程的调用方提供的信息的指针。
[in] SystemArgument2
指向将传递给延迟例程的调用方提供的信息的指针。
返回值
如果成功将 DPC 插入到 DPC 队列中,StorPortIssueDpc 例程返回 true,否则 FALSE。
言论
StorPortIssueDpc 例程调用 KeInsertQueueDpc 内核例程来对 DPC 进行排队。 KeInsertQueueDpc 内核例程不允许 DPC 多次排队。 因此,如果由 Dpc 参数指定的 DPC 对象已在 DPC 队列中,KeInsertQueueDpc 将忽略队列请求。 这可确保使用 StorPortInitializeDpc 初始化的延迟例程始终与自身同步。 换句话说,调用方不需要按顺序对 StorPortIssueDpc 例程的调用,以确保例程不会同时运行多个实例。
如果微型端口驱动程序有多个工作项必须由同一 DPC 执行,微型端口驱动程序必须确保每个工作项在为下一个工作项颁发 DPC 之前完成。
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
标头 | storport.h (包括 Storport.h) |