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


Функция StorPortRequestTimer (storport.h)

Планирует событие обратного вызова для объекта контекста таймера Storport.

Синтаксис

ULONG StorPortRequestTimer(
  [in]           PVOID        HwDeviceExtension,
  [in]           PVOID        TimerHandle,
  [in]           PHW_TIMER_EX TimerCallback,
  [in, optional] PVOID        CallbackContext,
  [in]           ULONGLONG    TimerValue,
  [in]           ULONGLONG    TolerableDelay
);

Параметры

[in] HwDeviceExtension

Указатель на расширение аппаратного устройства для адаптера шины узла (HBA).

[in] TimerHandle

Указатель на непрозрачный буфер для контекста таймера, возвращенного StorPortInitializeTimer.

[in] TimerCallback

Указатель на подпрограмму обратного вызова таймера, предоставляемую мини-портом. Ниже приведен прототип, определенный для PHW_TIMER_EX:

typedef
VOID
(*PHW_TIMER_EX) (
  _In_ PVOID  DeviceExtension,
  _In_opt_ PVOID Context
  );

[in, optional] CallbackContext

Указатель на мини-порт, предоставленный контекстом для обратного вызова таймера.

[in] TimerValue

Значение времени ожидания таймера в микросекундах. Установка значения TimerValue в значение 0 приведет к отмене таймера.

[in] TolerableDelay

Допустимая задержка таймера в микросекундах. Значения меньше 32 микросекунд игнорируются, а значение TolerableDelay по умолчанию равно 0.

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

Подпрограмма StorPortRequestTimer возвращает один из следующих кодов состояния:

Код возврата Описание
STOR_STATUS_INSUFFICIENT_RESOURCES
Недостаточно ресурсов для отсрочки планирования таймера.
STOR_STATUS_INVALID_PARAMETER
HwDeviceExtension, TimerHandle или TimerCallback имеет значение NULL.

Недопустимый объект контекста таймера TimerHandle.

STOR_STATUS_BUSY
Предыдущий запрос таймера активен. TimerValue > 0 и TimerCallback не были вызваны.
STOR_STATUS_SUCCESS
Запрос таймера успешно запланирован.

Комментарии

Подпрограмма StorPortRequestTimer может вызываться в любом irQL. Однако если подпрограмма вызывается при DISPATCH_LEVEL IRQL > , планирование таймера откладывается до тех пор, пока IRQL <не будет DISPATCH_LEVEL.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows 8 и более поздних версиях Windows.
Целевая платформа Универсальное
Верхняя часть storport.h (включая Storport.h)
IRQL Любой

См. также раздел

HwStorTimer

StorPortFreeTimer

StorPortInitializeTimer

StorPortNotification