Compartir a través de


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 del marco que se obtuvo llamando a WdfTimerCreate.

[in] Wait

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

UMDF valor booleano que, si TRUE, especifica que el marco no devuelve hasta que se hayan ejecutado todas las llamadas en cola al EvtTimerFunc del temporizador función de devolución de llamada.

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 siguiente sección Comentarios.

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

Observaciones

Cuando un controlador llama a WdfTimerStart, su objeto de temporizador se agrega a la cola de objetos del 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 del temporizador del marco, vea Using Timers.

se debe llamar al 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, puede provocar interbloqueo.

Cautela

Las llamadas simultáneas a WdfTimerStop en el mismo objeto de temporizador se dividirán en el depurador si el comprobador está habilitado. Para obtener más información, consulta Using KMDF Verifier.

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 Valor
de la plataforma de destino de Universal
versión mínima de KMDF 1.0
versión mínima de UMDF 2.0
encabezado de wdftimer.h (incluya Wdf.h)
biblioteca de Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
irQL Consulte la sección Comentarios.
reglas de cumplimiento de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Consulte también

EvtTimerFunc

WdfTimerCreate

WdfTimerStart