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)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 符合性规则 Irql_Timer_Function (ndis)

另请参阅

NDIS_TIMER_CHARACTERISTICS

NdisCancelTimerObject

NdisFreeTimerObject

NdisSetTimerObject