Condividi tramite


Funzione WdfTimerStop (wdftimer.h)

[Si applica a KMDF e UMDF]

Il metodo WdfTimerStop arresta l'orologio di un timer.

Sintassi

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

Parametri

[in] Timer

Handle per un oggetto timer del framework ottenuto chiamando WdfTimerCreate.

[in] Wait

KMDF valore booleano che, se TRUE, specifica che il framework non restituisce fino a quando non vengono eseguite tutte le chiamate di routine posticipate del driver, incluse le EvtTimerFunc del driver funzioni di callback.

UMDF valore booleano che, se TRUE, specifica che il framework non restituisce fino a quando non vengono eseguite tutte le chiamate in coda al EvtTimerFunc funzione di callback.

Valore restituito

WdfTimerStop restituisce TRUE se l'oggetto timer si trovava nella coda timer del sistema. In caso contrario, questo metodo restituisce FALSE. Per altre informazioni, vedere la sezione Osservazioni seguente.

Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.

Osservazioni

Quando un driver chiama WdfTimerStart, il relativo oggetto timer viene aggiunto alla coda di oggetti timer del sistema. Se il timer non è un timer periodico, il sistema rimuove l'oggetto timer dalla coda dopo che è trascorso il "tempo di scadenza" del timer. Se il timer è un timer periodico, l'oggetto timer rimane nella coda finché il driver non chiama WdfTimerStop.

Per altre informazioni sugli oggetti timer del framework, vedere Using Timers.

WdfTimerStop deve essere chiamato in IRQL = PASSIVE_LEVEL se il parametro wait è TRUE. In caso contrario, questo metodo deve essere chiamato in IRQL <= DISPATCH_LEVEL.

Non chiamare WdfTimerStop dall'interno EvtTimerFunc con il parametro wait impostato su TRUE. In questo modo può verificarsi un deadlock.

Cautela

Le chiamate simultanee a WdfTimerStop sullo stesso oggetto timer verranno interrotte nel debugger se Verifier è abilitato. Per altre info, vedere Using KMDF Verifier.For more info, see Using KMDF Verifier.

Esempi

L'esempio di codice seguente arresta un timer specificato e attende l'esecuzione di tutti i DPC in coda del driver.

WdfTimerStop(
             timerHandle,
             TRUE
             );

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
versione minima di KMDF 1.0
versione minima di UMDF 2.0
intestazione wdftimer.h (include Wdf.h)
libreria Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL Vedere la sezione Osservazioni.
regole di conformità DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Vedere anche

EvtTimerFunc

WdfTimerCreare

WdfTimerStart