Share via


NdisAllocateTimerObject (Compact 2013)

3/26/2014

This function allocates and initializes a timer object for use with subsequent NdisXxx timer functions.

Syntax

NDIS_STATUS
  NdisAllocateTimerObject(
    IN NDIS_HANDLE  NdisHandle,
    IN PNDIS_TIMER_CHARACTERISTICS  TimerCharacteristics,
    OUT PNDIS_HANDLE  pTimerObject
    );

Parameters

  • NdisHandle
    An NDIS handle that was obtained during caller initialization.
  • TimerCharacteristics
    A pointer to a caller-supplied NDIS_TIMER_CHARACTERISTICS structure that specifies the characteristics of the allocated timer object.
  • pTimerObject
    A pointer to an NDIS timer object handle that NDIS provides to identify the timer object in subsequent calls to NdisXxx timer functions.

Return Value

NdisAllocateTimerObject returns one of the following status values:

  • NDIS_STATUS_SUCCESS
    The timer object was allocated successfully.
  • NDIS_STATUS_RESOURCES
    The allocation failed because of insufficient resources.
  • NDIS_STATUS_BAD_CHARACTERISTICS
    The allocation failed because the information in the NDIS_TIMER_CHARACTERISTICS structure is invalid.
  • NDIS_STATUS_FAILURE
    None of the previous status values apply.

Remarks

To use timer services, an NDIS driver first calls the NdisAllocateTimerObject function to initialize a timer object. Typically, NdisAllocateTimerObject is called during driver initialization.

To start a timer, call the NdisSetTimerObject function. Calls to NdisSetTimerObject insert the timer object in the system timer queue. Only one instance of a particular timer object can be queued at any given moment.

To cancel a timer, call the NdisCancelTimerObject function. NdisCancelTimerObject dequeues the timer object if it is currently queued.

To free a timer object, you must call the NdisFreeTimerObject function.

Requirements

Header

ndis.h

See Also

Reference

NDIS Timer Functions
NDIS_TIMER_CHARACTERISTICS
NdisCancelTimerObject
NdisFreeTimerObject
NdisSetTimerObject