Condividi tramite


HW_TIMER funzione di callback (storport.h)

La routine HwStorTimer viene chiamata dopo l'intervallo specificato quando il driver miniport denominato StorPortNotification con RequestTimerCall specificato per il parametro NotificationType .

Sintassi

HW_TIMER HwTimer;

void HwTimer(
  PVOID DeviceExtension
)
{...}

Parametri

DeviceExtension

Puntatore all'area di archiviazione del driver miniport.

Valore restituito

nessuno

Osservazioni

Il nome HwStorTimer è solo un segnaposto. Il prototipo effettivo di questa routine è definito in Srb.h come segue:

typedef
VOID
HW_TIMER (
  _In_ PVOID  DeviceExtension
  );

Se il miniport opta per il supporto multicanale, il blocco spin StartIo viene ancora preso. Tuttavia, se il miniport ha richiesto il supporto di più canali tramite PERF_CONFIGURATION_DATA, il blocco spin StartIo non viene eseguito o controllato prima della chiamata a HwStorStartIo nel miniport. Ciò significa che il callback HwStorStartIo non viene sincronizzato con il callback alla routine HwStorTimer quando viene usato il supporto multicanale. Il miniport deve eseguire questa operazione autonomamente usando un intrinseco interlocked del compilatore, ad esempio usando InterlockedCompareExchange.

Una routine HwStorTimer è facoltativa.

Per definire una funzione di callback HwStorTimer , è prima necessario specificare una dichiarazione di funzione che identifica il tipo di funzione di callback che si sta definendo. Windows fornisce un set di tipi di funzione di callback per i driver. La dichiarazione di una funzione usando i tipi di funzione callback consente l'analisi del codice per i driver, il verifica driver statico (SDV) e altri strumenti di verifica trovano errori ed è un requisito per la scrittura di driver per il sistema operativo Windows.

Ad esempio, per definire una routine di callback HwStorTimer denominata MyHwTimer, usare il tipo di HW_TIMER seguente e implementare la routine di callback come indicato di seguito:

HW_TIMER MyHwTimer;

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

Il tipo di funzione HW_TIMER è definito nel file di intestazione Storport.h. Per identificare in modo più accurato gli errori durante l'esecuzione degli strumenti di analisi del codice, assicurarsi di aggiungere l'annotazione Use_decl_annotations alla definizione della funzione. L'annotazione Use_decl_annotations garantisce che vengano usate le annotazioni applicate al tipo di funzione HW_TIMER nel file di intestazione. Per altre informazioni sui requisiti per le dichiarazioni di funzione, vedere Dichiarazione di funzioni tramite tipi di ruolo per i driver Storport. Per informazioni su Use_decl_annotations, vedere Annotazione del comportamento della funzione.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione Storport.h (include Storport.h)
IRQL DISPATCH_LEVEL

Vedi anche

StorPortNotification