NdisAllocateTimerObject function (ndis.h)
The NdisAllocateTimerObject 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
[in] NdisHandle
An NDIS handle that was obtained during caller initialization. For more information about obtaining NDIS handles, see Obtaining Pool Handles.
[in] TimerCharacteristics
A pointer to a caller-supplied NDIS_TIMER_CHARACTERISTICS structure that specifies the characteristics of the allocated timer object.
[out] 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:
Return code | Description |
---|---|
|
The timer object was allocated successfully. |
|
The allocation failed because of insufficient resources. |
|
The allocation failed because the information in the NDIS_TIMER_CHARACTERISTICS structure is invalid. |
|
None of the preceding 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
Requirement | Value |
---|---|
Minimum supported client | Supported in NDIS 6.0 and later. |
Target Platform | Universal |
Header | ndis.h (include Ndis.h) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI compliance rules | Irql_Timer_Function(ndis) |