HW_TIMER Rückruffunktion (storport.h)

Die HwStorTimer-Routine wird nach dem Intervall aufgerufen, das angegeben wird, wenn der Miniporttreiber StorPortNotification mit RequestTimerCall für den NotificationType-Parameter angegeben wird.

Syntax

HW_TIMER HwTimer;

void HwTimer(
  PVOID DeviceExtension
)
{...}

Parameter

DeviceExtension

Ein Zeiger auf den Miniporttreiber pro HBA-Speicherbereich.

Rückgabewert

Keine

Bemerkungen

Der Name HwStorTimer ist nur ein Platzhalter. Der eigentliche Prototyp dieser Routine wird in Srb.h wie folgt definiert:

typedef
VOID
HW_TIMER (
  _In_ PVOID  DeviceExtension
  );

Wenn sich der Miniport für mehrkanalige Unterstützung entscheidet, wird die StartIo-Spinsperre weiterhin übernommen. Wenn der Miniport jedoch unterstützung für mehrere Kanäle über PERF_CONFIGURATION_DATA angefordert hat, wird die StartIo-Spinsperre vor dem Aufruf von HwStorStartIo im Miniport nicht ausgeführt oder überprüft. Dies bedeutet, dass der HwStorStartIo-Rückruf nicht mit dem Rückruf mit der HwStorTimer-Routine synchronisiert wird, wenn unterstützung für mehrere Kanäle verwendet wird. Der Miniport muss dies selbst tun, indem er einen intrinsischen Compiler verwendet, z. B. mit InterlockedCompareExchange.

Eine HwStorTimer-Routine ist optional.

Um eine HwStorTimer-Rückruffunktion zu definieren, müssen Sie zunächst eine Funktionsdeklaration bereitstellen, die den Typ der von Ihnen definierten Rückruffunktion identifiziert. Windows bietet eine Reihe von Rückruffunktionstypen für Treiber. Das Deklarieren einer Funktion mithilfe der Rückruffunktionstypen hilft der Codeanalyse für Treiber, der statischen Treiberüberprüfung (Static Driver Verifier , SDV) und anderen Überprüfungstools, Fehler zu finden, und es ist eine Anforderung zum Schreiben von Treibern für das Windows-Betriebssystem.

Um beispielsweise eine HwStorTimer-Rückrufroutine namens MyHwTimer zu definieren, verwenden Sie den folgenden HW_TIMER Typ, und implementieren Sie Ihre Rückrufroutine wie folgt:

HW_TIMER MyHwTimer;

_Use_decl_annotations_
VOID
MyHwTimer (
  _In_ PVOID  DeviceExtension
  );
  {
      ...
  }

Der HW_TIMER Funktionstyp ist in der Headerdatei Storport.h definiert. Um Fehler beim Ausführen der Codeanalysetools genauer zu identifizieren, fügen Sie der Funktionsdefinition die Use_decl_annotations Anmerkung hinzu. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen verwendet werden, die auf den HW_TIMER Funktionstyp in der Headerdatei angewendet werden. Weitere Informationen zu den Anforderungen für Funktionsdeklarationen finden Sie unter Deklarieren von Funktionen mithilfe von Funktionsrollentypen für Storport-Treiber. Informationen zu Use_decl_annotations finden Sie unter Verhalten von Funktionen mit Anmerkungen.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header storport.h (einschließlich Storport.h)
IRQL DISPATCH_LEVEL

Weitere Informationen

StorPortNotification