Freigeben über


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 parameter NotificationType angegeben wurde.

Syntax

HW_TIMER HwTimer;

void HwTimer(
  PVOID DeviceExtension
)
{...}

Parameter

DeviceExtension

Ein Zeiger auf den Miniporttreiber pro HBA-Speicherbereich.

Rückgabewert

Nichts

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 die Unterstützung für mehrere Kanäle entscheidet, wird die StartIo-Drehsperre weiterhin übernommen. Wenn der Miniport jedoch mehrere Kanalunterstützung über PERF_CONFIGURATION_DATAangefordert hat, wird die StartIo-Drehsperre nicht weitergeleitet oder überprüft, bevor der Anruf an HwStorStartIo im Miniport. Dies bedeutet, dass der HwStorStartIo- Rückruf nicht mit dem Rückruf mit der HwStorTimer Routine synchronisiert wird, wenn die Mehrkanalunterstützung verwendet wird. Der Miniport muss dies eigenständig mithilfe eines intakten Compilers ausführen, z. B. mit InterlockedCompareExchange.

Eine HwStorTimer- Routine ist optional.

Um eine HwStorTimer- Rückruffunktion zu definieren, müssen Sie zuerst eine Funktionsdeklaration bereitstellen, die den Typ der rückruffunktion identifiziert, die Sie definieren. Windows stellt eine Reihe von Rückruffunktionstypen für Treiber bereit. Durch das Deklarieren einer Funktion mithilfe der Rückruffunktionstypen können Codeanalyse für Treiber, statische Treiberüberprüfung (SDV) und andere Überprüfungstools Fehler finden, und es ist eine Anforderung zum Schreiben von Treibern für das Windows-Betriebssystem.

Wenn Sie beispielsweise eine HwStorTimer- Rückrufroutine definieren möchten, die MyHwTimer-heißt, 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 wird in der Headerdatei Storport.h definiert. Um Fehler genauer zu identifizieren, wenn Sie die Codeanalysetools ausführen, müssen Sie der Funktionsdefinition die Use_decl_annotations Anmerkung hinzufügen. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen, die auf den Funktionstyp HW_TIMER in der Headerdatei angewendet werden, verwendet 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_annotationsfinden Sie unter Annotating Function Behavior.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- storport.h (include Storport.h)
IRQL- DISPATCH_LEVEL

Siehe auch

StorPortNotification