NdisAllocateTimerObject 函数 (ndis.h)

NdisAllocateTimerObject 函数分配并初始化计时器对象,以便与后续 NdisXxx 计时器函数一起使用。

语法

NDIS_STATUS NdisAllocateTimerObject(
  [in]  NDIS_HANDLE                 NdisHandle,
  [in]  PNDIS_TIMER_CHARACTERISTICS TimerCharacteristics,
  [out] PNDIS_HANDLE                pTimerObject
);

参数

[in] NdisHandle

调用方初始化期间获取的 NDIS 句柄。 有关获取 NDIS 句柄的详细信息,请参阅 获取池句柄

[in] TimerCharacteristics

指向调用方提供的指针 NDIS_TIMER_CHARACTERISTICS 结构,该结构指定分配的计时器对象的特征。

[out] pTimerObject

指向 NDIS 提供的 NDIS 计时器对象句柄的指针,用于在后续调用 NdisXxx 计时器函数中标识计时器对象。

返回值

NdisAllocateTimerObject 返回以下状态值之一:

返回代码 描述
NDIS_STATUS_SUCCESS
已成功分配计时器对象。
NDIS_STATUS_RESOURCES
由于资源不足,分配失败。
NDIS_STATUS_BAD_CHARACTERISTICS
分配失败,因为NDIS_TIMER_CHARACTERISTICS结构中的信息无效。
NDIS_STATUS_FAILURE
上述状态值均不适用。

言论

若要使用计时器服务,NDIS 驱动程序首先调用 NdisAllocateTimerObject 函数来初始化计时器对象。 通常,在驱动程序初始化期间调用 NdisAllocateTimerObject

若要启动计时器,请调用 NdisSetTimerObject 函数。 调用 NdisSetTimerObject 在系统计时器队列中插入计时器对象。 在任何给定时刻,只能对特定计时器对象的一个实例进行排队。

若要取消计时器,请调用 NdisCancelTimerObject 函数。 NdisCancelTimerObject 取消排队计时器对象(如果它当前已排队)。

若要释放计时器对象,必须调用 NdisFreeTimerObject 函数。

要求

要求 价值
最低支持的客户端 NDIS 6.0 及更高版本中受支持。
目标平台 普遍
标头 ndis.h (包括 Ndis.h)
Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 符合性规则 Irql_Timer_Function(ndis)

另请参阅

NDIS_TIMER_CHARACTERISTICS

NdisCancelTimerObject

NdisFreeTimerObject

NdisSetTimerObject