StorPortRequestTimer 函数 (storport.h)

计划 Storport 计时器上下文对象的回调事件。

语法

ULONG StorPortRequestTimer(
  [in]           PVOID        HwDeviceExtension,
  [in]           PVOID        TimerHandle,
  [in]           PHW_TIMER_EX TimerCallback,
  [in, optional] PVOID        CallbackContext,
  [in]           ULONGLONG    TimerValue,
  [in]           ULONGLONG    TolerableDelay
);

参数

[in] HwDeviceExtension

指向主机总线适配器(HBA)的硬件设备扩展的指针。

[in] TimerHandle

指向 StorPortInitializeTimer返回的计时器上下文的不透明缓冲区的指针。

[in] TimerCallback

指向微型端口提供的计时器回调例程的指针。 下面是为 PHW_TIMER_EX定义的原型:

typedef
VOID
(*PHW_TIMER_EX) (
  _In_ PVOID  DeviceExtension,
  _In_opt_ PVOID Context
  );

[in, optional] CallbackContext

指向微型端口的指针,为计时器回调提供上下文。

[in] TimerValue

计时器的超时值(以微秒为单位)。 TimerValue 设置为 0 将取消计时器。

[in] TolerableDelay

计时器允许的延迟(以微秒为单位)。 忽略小于 32 微秒的值,TolerableDelay 默认值为 0。

返回值

StorPortRequestTimer 例程返回以下状态代码之一:

返回代码 描述
STOR_STATUS_INSUFFICIENT_RESOURCES
没有足够的资源可用于延迟计时器的计划。
STOR_STATUS_INVALID_PARAMETER
HwDeviceExtensionTimerHandleTimerCallback 为 NULL。

计时器上下文对象 TimerHandle无效。

STOR_STATUS_BUSY
以前的计时器请求处于活动状态。 TimerValue > 0 和 TimerCallback 尚未调用。
STOR_STATUS_SUCCESS
已成功计划计时器请求。

言论

StorPortRequestTimer 例程在任何 IRQL 中都可调用。 但是,如果在 IRQL > DISPATCH_LEVEL 时调用例程,计时器的计划将推迟到 IRQL <= DISPATCH_LEVEL。

要求

要求 价值
最低支持的客户端 在 Windows 8 及更高版本的 Windows 中可用。
目标平台 普遍
标头 storport.h (包括 Storport.h)
IRQL 任何

另请参阅

HwStorTimer

StorPortFreeTimer

StorPortInitializeTimer

StorPortNotification