Función WdfTimerStop (wdftimer.h)

[Se aplica a KMDF y UMDF]

El método WdfTimerStop detiene el reloj de un temporizador.

Sintaxis

BOOLEAN WdfTimerStop(
  [in] WDFTIMER Timer,
  [in] BOOLEAN  Wait
);

Parámetros

[in] Timer

Identificador de un objeto de temporizador de marco que se obtuvo mediante una llamada a WdfTimerCreate.

[in] Wait

KMDF Valor booleano que, si es TRUE, especifica que el marco no devuelve hasta que todas las llamadas en cola al procedimiento diferido del controlador (DPC), incluidas las funciones de devolución de llamada EvtTimerFunc del controlador, se han ejecutado.

UMDF Valor booleano que, si es TRUE, especifica que el marco no devuelve hasta que todas las llamadas en cola a la función de devolución de llamada EvtTimerFunc del temporizador se han ejecutado.

Valor devuelto

WdfTimerStop devuelve TRUE si el objeto de temporizador estaba en la cola del temporizador del sistema. De lo contrario, este método devuelve FALSE. Para obtener más información, vea la sección Comentarios que se muestra más adelante.

Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.

Comentarios

Cuando un controlador llama a WdfTimerStart, su objeto de temporizador se agrega a la cola de objetos de temporizador del sistema. Si el temporizador no es un temporizador periódico, el sistema quita el objeto de temporizador de la cola después de que haya transcurrido el "tiempo de vencimiento" del temporizador. Si el temporizador es un temporizador periódico, el objeto de temporizador permanece en la cola hasta que el controlador llama a WdfTimerStop.

Para obtener más información sobre los objetos de temporizador del marco, vea Uso de temporizadores.

Se debe llamar a WdfTimerStop en IRQL = PASSIVE_LEVEL si el parámetro Wait es TRUE. De lo contrario, se debe llamar a este método en IRQL <= DISPATCH_LEVEL.

No llame a WdfTimerStop desde evtTimerFunc con el parámetro Wait establecido en TRUE. Si lo hace, se puede producir interbloqueo.

Ejemplos

En el ejemplo de código siguiente se detiene un temporizador especificado y se espera a que se ejecuten todos los DPC en cola del controlador.

WdfTimerStop(
             timerHandle,
             TRUE
             );

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado wdftimer.h (incluya Wdf.h)
Library Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL vea la sección Comentarios.
Reglas de cumplimiento de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Consulte también

EvtTimerFunc

WdfTimerCreate

WdfTimerStart