EXT_DELETE_CALLBACK função de retorno de chamada (wdm.h)

Uma rotina de retorno de chamada ExTimerDeleteCallback é executada quando o sistema operacional exclui um objeto de temporizador EX_TIMER .

Sintaxe

EXT_DELETE_CALLBACK ExtDeleteCallback;

void ExtDeleteCallback(
  [in, optional] PVOID Context
)
{...}

Parâmetros

[in, optional] Context

O valor de contexto do membro DeleteContext da estrutura EXT_DELETE_PARAMETERS que o driver passou anteriormente como um parâmetro de entrada para a rotina ExDeleteTimer .

Retornar valor

Nenhum

Comentários

Como opção, o driver pode fornecer um ponteiro para uma rotina ExTimerDeleteCallback no membro DeleteCallback da estrutura EXT_DELETE_PARAMETERS que o driver passa como um parâmetro de entrada para a rotina ExDeleteTimer . A rotina ExTimerDeleteCallback pode liberar qualquer armazenamento ou outros recursos do sistema que o driver possa ter alocado anteriormente para usar com o objeto de temporizador que está sendo excluído.

Se o driver fornecer uma rotina ExTimerDeleteCallback e o parâmetro Wait na chamada ExDeleteRoutine for TRUE, a rotina ExTimerDeleteCallback será executada antes que ExDeleteTimer retorne. Caso contrário, a rotina ExTimerDeleteCallback poderá ser executada antes ou depois que a chamada exDeleteTimer retornar. A rotina ExTimerDeleteCallback é chamada somente depois que o objeto de temporizador tiver sido desabilitado para evitar operações de temporizador adicionais e qualquer operação de temporizador pendente no objeto de temporizador for cancelada ou concluída. O objeto de temporizador (uma estrutura EX_TIMER ) que o driver passa como um parâmetro de entrada para a rotina ExDeleteTimer pode não ser mais válido quando a rotina ExTimerDeleteCallback é executada.

Para obter mais informações, consulte Rotinas exXxxTimer e objetos EX_TIMER.

Exemplos

Para definir uma rotina de retorno de chamada ExTimerDeleteCallback , primeiro você deve fornecer uma declaração de função que identifique o tipo de rotina 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 o tipo 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 escrever drivers para o sistema operacional Windows.

Por exemplo, para definir uma rotina de retorno de chamada ExTimerDeleteCallback chamada MyExTimerDeleteCallback, use o tipo de função EXT_DELETE_CALLBACK, conforme mostrado neste exemplo de código:

EXT_DELETE_CALLBACK  MyExTimerDeleteCallback;

Em seguida, implemente sua rotina de retorno de chamada da seguinte maneira:

_Use_decl_annotations_
VOID
  MyExTimerDeleteCallback(
    PVOID  Context
    )
  {...}

O tipo de função EXT_DELETE_CALLBACK é definido no arquivo de cabeçalho Wdm.h. Para identificar erros com mais precisão ao executar as ferramentas de análise de código, adicione a _Use_decl_annotations_ anotação à sua definição de função. A _Use_decl_annotations_ anotação garante que as anotações aplicadas ao tipo de função EXT_DELETE_CALLBACK 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 WDM. Para obter mais informações sobre _Use_decl_annotations_, consulte Anotando o comportamento da função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 8.1.
Plataforma de Destino Área de Trabalho
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
IRQL Chamado em DISPATCH_LEVEL.

Confira também

EXT_DELETE_PARAMETERS

EX_TIMER

ExDeleteTimer