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