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) |