Compartilhar via


HW_TIMER função de retorno de chamada (storport.h)

A rotina HwStorTimer é chamada após o intervalo especificado quando o driver de miniporto chamado StorPortNotification com RequestTimerCall especificado para o parâmetro NotificationType .

Sintaxe

HW_TIMER HwTimer;

void HwTimer(
  PVOID DeviceExtension
)
{...}

Parâmetros

DeviceExtension

Um ponteiro para o driver de miniporto por área de armazenamento do HBA.

Retornar valor

Nenhum

Comentários

O nome HwStorTimer é apenas um espaço reservado. O protótipo real dessa rotina é definido em Srb.h da seguinte maneira:

typedef
VOID
HW_TIMER (
  _In_ PVOID  DeviceExtension
  );

Se o miniporto optar pelo suporte a vários canais, o bloqueio de rotação StartIo ainda será usado. No entanto, se o miniporto tiver solicitado suporte a vários canais por meio de PERF_CONFIGURATION_DATA, o bloqueio de rotação StartIo não será feito ou verificado antes da chamada para HwStorStartIo no miniporto. Isso significa que o retorno de chamada HwStorStartIo não é sincronizado com o retorno de chamada para a rotina HwStorTimer quando o suporte a vários canais é usado. O miniporto deve fazer isso por conta própria usando um compilador intrínseco intertravado, por exemplo, usando InterlockedCompareExchange.

Uma rotina HwStorTimer é opcional.

Para definir uma função de retorno de chamada HwStorTimer , primeiro você deve fornecer uma declaração de função que identifique o tipo de função de retorno de chamada que você está definindo. O Windows fornece um conjunto de tipos de função de retorno de chamada para drivers. Declarar uma função usando os tipos de função de retorno de chamada ajuda a Análise de Código para Drivers, SDV ( Verificador de Driver Estático ) e outras ferramentas de verificação a encontrar erros e é um requisito para gravar drivers para o sistema operacional Windows.

Por exemplo, para definir uma rotina de retorno de chamada HwStorTimer chamada MyHwTimer, use o seguinte tipo de HW_TIMER e implemente sua rotina de retorno de chamada da seguinte maneira:

HW_TIMER MyHwTimer;

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

O tipo de função HW_TIMER é definido no arquivo de cabeçalho Storport.h. Para identificar erros com mais precisão ao executar as ferramentas de análise de código, adicione a anotação Use_decl_annotations à sua definição de função. A anotação Use_decl_annotations garante que as anotações aplicadas ao tipo de função HW_TIMER no arquivo de cabeçalho sejam usadas. Para obter mais informações sobre os requisitos para declarações de função, consulte Declarando funções usando tipos de função para drivers storport. Para obter informações sobre Use_decl_annotations, consulte Anotando o comportamento da função.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho storport.h (inclua Storport.h)
IRQL DISPATCH_LEVEL

Confira também

StorPortNotification