Compartir a través de


Función ExDeleteTimer (wdm.h)

La rutina ExDeleteTimer elimina un objeto de temporizador asignado previamente por la rutina ExAllocateTimer .

Sintaxis

BOOLEAN ExDeleteTimer(
  [in] PEX_TIMER              Timer,
  [in] BOOLEAN                Cancel,
  [in] BOOLEAN                Wait,
  [in] PEXT_DELETE_PARAMETERS Parameters
);

Parámetros

[in] Timer

Puntero a una estructura de EX_TIMER . Esta estructura es un objeto de temporizador asignado previamente por la rutina ExAllocateTimer .

[in] Cancel

Si se va a cancelar el temporizador si está establecido actualmente. Si es TRUE, la rutina cancela el temporizador si se establece el temporizador. Si es FALSE, la rutina no cancela el temporizador si se establece. Si el autor de la llamada establece Wait en TRUE, Cancel también debe ser TRUE; de lo contrario, se produce una comprobación de errores.

[in] Wait

Si se espera a que el temporizador termine de expirar si el temporizador ya ha iniciado el proceso de expiración. Si es TRUE, la rutina espera a que expire el temporizador. Si es FALSE, la rutina no espera. Para obtener más información, vea la sección Comentarios.

[in] Parameters

Puntero a una estructura EXT_DELETE_PARAMETERS . El controlador que llama anteriormente llamó a la rutina ExInitializeDeleteTimerParameters para inicializar esta estructura.

Valor devuelto

Esta rutina devuelve TRUE si Cancel es TRUE y se canceló el temporizador. De lo contrario, la rutina devuelve FALSE. Para obtener más información, vea la sección Comentarios.

Comentarios

Después de que el controlador llame a esta rutina, es posible que el objeto de temporizador al que apunta Timer ya no sea válido. Sin embargo, el valor del parámetro Timer pasado a una rutina de devolución de llamada exTimerCallback , si el controlador implementa esta rutina, siempre es un puntero válido a un objeto de temporizador.

Si Cancel es TRUE, un valor devuelto de FALSE indica que el temporizador nunca se estableció o que el temporizador se estableció pero expiró antes de que se pudiera cancelar. Si Cancel es FALSE, la rutina siempre devuelve FALSE.

Esta rutina puede bloquearse si Wait es TRUE. Si se llama a ExDeleteTimer desde la rutina ExTimerCallback del controlador, al que se llama en DISPATCH_LEVEL, el parámetro Wait de esta llamada debe ser FALSE.

Si Wait es TRUE, se debe llamar a la rutina en IRQL <= APC_LEVEL. Si Wait es FALSE, se puede llamar a la rutina en IRQL <= DISPATCH_LEVEL.

Para obtener más información, consulte Eliminación de un objeto de temporizador de System-Allocated.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 8.1.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library Ntoskrnl.lib
IRQL Vea la sección Comentarios.

Consulte también

EXT_DELETE_PARAMETERS

EX_TIMER

ExAllocateTimer

ExInitializeDeleteTimerParameters

ExTimerCallback

ExTimerDeleteCallback