Freigeben über


StorPortRequestTimer-Funktion (storport.h)

Plant ein Rückrufereignis für ein Storport-Zeitgeberkontextobjekt.

Syntax

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

Parameter

[in] HwDeviceExtension

Ein Zeiger auf die Hardwaregeräteerweiterung für den Hostbusadapter (HBA).

[in] TimerHandle

Ein Zeiger auf einen undurchsichtigen Puffer für den Zeitgeberkontext, der von StorPortInitializeTimerzurückgegeben wird.

[in] TimerCallback

Ein Zeiger auf eine vom Miniport bereitgestellte Timerrückrufroutine. Im Folgenden sehen Sie den Prototyp, der für PHW_TIMER_EXdefiniert ist:

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

[in, optional] CallbackContext

Ein Zeiger auf einen miniport bereitgestellten Kontext für den Timerrückruf.

[in] TimerValue

Der Timeoutwert für den Timer in Mikrosekunden. Wenn TimerValue- auf 0 festgelegt wird, wird der Timer abgebrochen.

[in] TolerableDelay

Die zulässige Verzögerung für den Timer in Mikrosekunden. Werte kleiner als 32 Mikrosekunden werden ignoriert und TolerableDelay Standardwert 0 ist.

Rückgabewert

Die StorPortRequestTimer Routine gibt einen der folgenden Statuscodes zurück:

Rückgabecode Beschreibung
STOR_STATUS_INSUFFICIENT_RESOURCES
Nicht genügend Ressourcen verfügbar, um die Planung des Zeitgebers zu verzögern.
STOR_STATUS_INVALID_PARAMETER
HwDeviceExtension, TimerHandle-oder TimerCallback- ist NULL.

Das Timerkontextobjekt TimerHandle-ist ungültig.

STOR_STATUS_BUSY
Eine vorherige Timeranforderung ist aktiv. TimerValue > 0 und TimerCallback- wurde nicht aufgerufen.
STOR_STATUS_SUCCESS
Die Zeitgeberanforderung wurde erfolgreich geplant.

Bemerkungen

Die StorPortRequestTimer- Routine kann bei jedem IRQL aufgerufen werden. Wenn die Routine jedoch aufgerufen wird, wenn IRQL-> DISPATCH_LEVEL, wird die Terminplanung des Zeitgebers bis zum IRQL-<= DISPATCH_LEVEL zurückgestellt.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows 8 und höheren Versionen von Windows.
Zielplattform- Universal
Header- storport.h (include Storport.h)
IRQL- Jegliche

Siehe auch

HwStorTimer-

StorPortFreeTimer-

StorPortInitializeTimer-

StorPortNotification-