Функция 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_TIMER_CHARACTERISTICS недопустимы. |
|
Ни одно из предыдущих значений состояния не применяется. |
Комментарии
Чтобы использовать службы таймера, драйвер 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) |