Compartir a través de


Función StorPortRequestTimer (storport.h)

Programa un evento de devolución de llamada para un objeto de contexto del temporizador de Storport.

Sintaxis

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

Puntero a la extensión de dispositivo de hardware para el adaptador de bus host (HBA).

[in] TimerHandle

Puntero a un búfer opaco para el contexto del temporizador devuelto por StorPortInitializeTimer.

[in] TimerCallback

Puntero a una rutina de devolución de llamada del temporizador proporcionada por el minipuerto. A continuación se muestra el prototipo definido para PHW_TIMER_EX:

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

[in, optional] CallbackContext

Puntero a un contexto proporcionado por miniporte para la devolución de llamada del temporizador.

[in] TimerValue

Valor de tiempo de espera del temporizador, en microsegundos. Si se establece TimerValue en 0, se cancelará el temporizador.

[in] TolerableDelay

Retraso permitido para el temporizador en microsegundos. Los valores inferiores a 32 microsegundos se omiten y TolerableDelay tiene como valor predeterminado 0.

Valor devuelto

La rutina StorPortRequestTimer devuelve uno de estos códigos de estado:

Código devuelto Descripción
STOR_STATUS_INSUFFICIENT_RESOURCES
No hay suficientes recursos disponibles para aplazar la programación del temporizador.
STOR_STATUS_INVALID_PARAMETER
HwDeviceExtension, TimerHandle o TimerCallback es NULL.

El objeto de contexto del temporizador, TimerHandle, no es válido.

STOR_STATUS_BUSY
Una solicitud del temporizador anterior está activa. No se ha llamado a TimerValue > 0 y TimerCallback.
STOR_STATUS_SUCCESS
La solicitud del temporizador se programó correctamente.

Comentarios

La rutina StorPortRequestTimer se puede llamar en cualquier IRQL. Sin embargo, si se llama a la rutina cuando IRQL > DISPATCH_LEVEL, la programación del temporizador se aplaza hasta IRQL <= DISPATCH_LEVEL.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows 8 y versiones posteriores de Windows.
Plataforma de destino Universal
Encabezado storport.h (incluya Storport.h)
IRQL Any

Consulte también

HwStorTimer

StorPortFreeTimer

StorPortInitializeTimer

StorPortNotification