Compartir a través de


EXT_DELETE_CALLBACK función de devolución de llamada (wdm.h)

Se ejecuta una rutina de devolución de llamada ExTimerDeleteCall back cuando el sistema operativo elimina un objeto de temporizador de EX_TIMER.

Sintaxis

EXT_DELETE_CALLBACK ExtDeleteCallback;

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

Parámetros

[in, optional] Context

Valor de contexto del miembro DeleteContext de la estructura de EXT_DELETE_PARAMETERS que el controlador ha pasado previamente como parámetro de entrada a la rutina exDeleteTimer.

Valor devuelto

Ninguno

Observaciones

Como opción, el controlador puede proporcionar un puntero a una rutina de ExTimerDeleteCallback en la rutina DeleteCallback miembro de la estructura EXT_DELETE_PARAMETERS que el controlador pasa como parámetro de entrada a la rutina ExDeleteTimer. La rutina ExTimerDeleteCallback puede liberar cualquier almacenamiento u otros recursos del sistema que el controlador haya asignado previamente para usarlo con el objeto de temporizador que se está eliminando.

Si el controlador proporciona una rutina de ExTimerDeleteCallback y el parámetro wait de en la llamada exDeleteRoutine es TRUE, la rutina ExTimerDeleteCallback se ejecuta antes de que ExDeleteTimer. De lo contrario, la rutina ExTimerDeleteCallback podría ejecutarse antes o después de que se devuelva la llamada exDeleteTimer. Solo se llama a la rutina ExTimerDeleteCallback después de que el objeto del temporizador se haya deshabilitado para evitar más operaciones del temporizador y cualquier operación de temporizador pendiente en el objeto de temporizador se cancele o complete. El objeto de temporizador (una estructura EX_TIMER) que el controlador pasa como parámetro de entrada a la rutina exDeleteTimer podría no ser válida en el momento en que se ejecuta la rutina ExTimerDeleteCall back.

Para obtener más información, vea exXxxTimer Routines and EX_TIMER Objects.

Ejemplos

Para definir un exTimerDeleteCallback rutina de devolución de llamada, primero debe proporcionar una declaración de función que identifique el tipo de rutina de devolución de llamada que está definiendo. Windows proporciona un conjunto de tipos de función de devolución de llamada para controladores. Declarar una función mediante el tipo de función de devolución de llamada ayuda a Análisis de código para controladores, comprobador de controladores estáticos (SDV) y otras herramientas de comprobación encuentran errores y es un requisito para escribir controladores para el sistema operativo Windows.

Por ejemplo, para definir un exTimerDeleteCallback rutina de devolución de llamada denominada MyExTimerDeleteCallback, use el tipo de función EXT_DELETE_CALLBACK, como se muestra en este ejemplo de código:

EXT_DELETE_CALLBACK  MyExTimerDeleteCallback;

A continuación, implemente la rutina de devolución de llamada de la siguiente manera:

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

El tipo de función EXT_DELETE_CALLBACK se define en el archivo de encabezado Wdm.h. Para identificar con mayor precisión los errores al ejecutar las herramientas de análisis de código, asegúrese de agregar la anotación _Use_decl_annotations_ a la definición de función. La anotación _Use_decl_annotations_ garantiza que se usen las anotaciones que se aplican al tipo de función EXT_DELETE_CALLBACK en el archivo de encabezado. Para obtener más información sobre los requisitos de las declaraciones de función, vea Declaración de funciones mediante tipos de rol de función para controladores WDM. Para obtener más información sobre _Use_decl_annotations_, vea Anotación del comportamiento de la función.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows 8.1.
de la plataforma de destino de Escritorio
encabezado de wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
irQL Se llama en DISPATCH_LEVEL.

Consulte también

EXT_DELETE_PARAMETERS

EX_TIMER

ExDeleteTimer