Função StorPortRequestTimer (storport.h)

Agenda um evento de retorno de chamada para um objeto de contexto de temporizador do Storport.

Sintaxe

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

Parâmetros

[in] HwDeviceExtension

Um ponteiro para a extensão do dispositivo de hardware para o HBA (adaptador de barramento de host).

[in] TimerHandle

Um ponteiro para um buffer opaco para o contexto de temporizador retornado por StorPortInitializeTimer.

[in] TimerCallback

Um ponteiro para uma rotina de retorno de chamada de temporizador fornecida pelo miniporto. Veja a seguir o protótipo definido para PHW_TIMER_EX:

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

[in, optional] CallbackContext

Um ponteiro para um contexto fornecido pelo miniporto para o retorno de chamada do temporizador.

[in] TimerValue

O valor de tempo limite para o temporizador, em microssegundos. Definir TimerValue como 0 cancelará o temporizador.

[in] TolerableDelay

O atraso permitido para o temporizador em microssegundos. Valores menores que 32 microssegundos são ignorados e TolerableDelay assume como padrão 0.

Retornar valor

A rotina StorPortRequestTimer retorna um destes códigos de status:

Código de retorno Descrição
STOR_STATUS_INSUFFICIENT_RESOURCES
Não há recursos suficientes disponíveis para adiar o agendamento do temporizador.
STOR_STATUS_INVALID_PARAMETER
HwDeviceExtension, TimerHandle ou TimerCallback é NULL.

O objeto de contexto do temporizador, TimerHandle, é inválido.

STOR_STATUS_BUSY
Uma solicitação de temporizador anterior está ativa. TimerValue > 0 e TimerCallback não foi chamado.
STOR_STATUS_SUCCESS
A solicitação do temporizador foi agendada com êxito.

Comentários

A rotina StorPortRequestTimer pode ser chamada em qualquer IRQL. No entanto, se a rotina for chamada quando IRQL > DISPATCH_LEVEL, o agendamento do temporizador será adiado até IRQL <= DISPATCH_LEVEL.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível em Windows 8 e versões posteriores do Windows.
Plataforma de Destino Universal
Cabeçalho storport.h (inclua Storport.h)
IRQL Qualquer

Confira também

HwStorTimer

StorPortFreeTimer

StorPortInitializeTimer

StorPortNotification