Partager via


Fonction StorPortRequestTimer (storport.h)

Planifie un événement de rappel pour un objet de contexte du minuteur Storport.

Syntaxe

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

Paramètres

[in] HwDeviceExtension

Pointeur vers l’extension de périphérique matériel pour l’adaptateur de bus hôte (HBA).

[in] TimerHandle

Pointeur vers une mémoire tampon opaque pour le contexte du minuteur retourné par StorPortInitializeTimer.

[in] TimerCallback

Pointeur vers une routine de rappel du minuteur fournie par le miniport. Voici le prototype défini pour PHW_TIMER_EX :

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

[in, optional] CallbackContext

Pointeur vers un contexte fourni par miniport pour le rappel du minuteur.

[in] TimerValue

Valeur de délai d’expiration du minuteur, en microsecondes. La définition de TimerValue sur 0 annule le minuteur.

[in] TolerableDelay

Délai autorisé pour le minuteur en microsecondes. Les valeurs inférieures à 32 microsecondes sont ignorées et IntolérableDelay est défini par défaut sur 0.

Valeur retournée

La routine StorPortRequestTimer retourne l’un des codes status suivants :

Code de retour Description
STOR_STATUS_INSUFFICIENT_RESOURCES
Ressources insuffisantes disponibles pour différer la planification du minuteur.
STOR_STATUS_INVALID_PARAMETER
HwDeviceExtension, TimerHandle ou TimerCallback a la valeur NULL.

L’objet de contexte du minuteur, TimerHandle, n’est pas valide.

STOR_STATUS_BUSY
Une demande de minuteur précédente est active. TimerValue > 0 et TimerCallback n’a pas été appelé.
STOR_STATUS_SUCCESS
La demande du minuteur a été correctement planifiée.

Remarques

La routine StorPortRequestTimer peut être appelée dans n’importe quel IRQL. Toutefois, si la routine est appelée quand IRQL > DISPATCH_LEVEL, la planification du minuteur est différée jusqu’à IRQL <= DISPATCH_LEVEL.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows 8 et versions ultérieures de Windows.
Plateforme cible Universal
En-tête storport.h (inclure Storport.h)
IRQL Quelconque

Voir aussi

HwStorTimer

StorPortFreeTimer

StorPortInitializeTimer

StorPortNotification