Функция 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 предоставляет для идентификации объекта таймера при последующих вызовах функций таймера Ndis Xxx.

Возвращаемое значение

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