Condividi tramite


Funzione IoInitializeTimer (wdm.h)

La routine IoInitializeTimer configura una routine fornita dal driver IoTimer associata a un determinato oggetto dispositivo.

Sintassi

NTSTATUS IoInitializeTimer(
  [in]           PDEVICE_OBJECT         DeviceObject,
  [in]           PIO_TIMER_ROUTINE      TimerRoutine,
  [in, optional] __drv_aliasesMem PVOID Context
);

Parametri

[in] DeviceObject

Puntatore a un oggetto dispositivo che rappresenta un dispositivo in cui le operazioni di I/O possono verificarsi il timeout.

[in] TimerRoutine

Puntatore alla routine IoTimer fornita dal driver.

[in, optional] Context

Puntatore al contesto determinato dal driver con cui verrà chiamata la routine IoTimer.

Valore restituito

IoInitializeTimer restituisce STATUS_SUCCESS se viene configurata la routine IoTimer.

Osservazioni

IoInitializeTimer deve essere chiamato una sola volta per ogni oggetto dispositivo.

La routine di IoTimer di un driver viene chiamata una volta al secondo dopo che il driver abilita il timer chiamando IoStartTimer. Il driver può disabilitare il timer chiamando IoStopTimer e riabilitandolo con IoStartTimer.

La routine IoTimer del driver viene chiamata in IRQL = DISPATCH_LEVEL e pertanto non deve contenere codice paging.

Quando il timer è in esecuzione, il gestore di I/O chiama il driver fornito IoTimer routine una volta al secondo. I driver le cui routine di timeout devono essere chiamate a intervalli variabili o a intervalli di granularità più fine possono configurare una routine CustomTimerDpc e utilizzare le routine KeXxx Timer.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile a partire da Windows 2000.
piattaforma di destinazione Universale
intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
libreria NtosKrnl.lib
dll NtosKrnl.exe
IRQL PASSIVE_LEVEL
regole di conformità DDI HwStorPortProhibitedDDIs(storport), IrqlIoPassive5(wdm), PowerIrpDDis(wdm)

Vedere anche

IoStartTimer

IoStopTimer

IoTimer

KeInitializeTimer

KeSetTimer