Поделиться через


Функция 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 (include Ndis.h)
библиотеки Ndis.lib
IRQL <= DISPATCH_LEVEL
правил соответствия DDI Irql_Timer_Function(ndis)

См. также

NDIS_TIMER_CHARACTERISTICS

NdisCancelTimerObject

NdisFreeTimerObject

NdisSetTimerObject