註冊並啟用 IoTimer 常式
任何驅動程式都可以藉由呼叫IoInitializeTimer,在建立一或多個裝置物件之後註冊IoTimer常式。 然後,驅動程式可以呼叫 IoStartTimer來啟動計時器。 下圖說明這些呼叫。
呼叫IoCreateDevice以建立裝置物件之後,驅動程式可以使用IoTimer常式的進入點呼叫IoInitializeTimer,以及驅動程式建立裝置物件的指標,以及驅動程式維護其 IoTimer常式使用的任何內容的內容區域。 I/O 管理員會將裝置物件與核心配置的計時器物件產生關聯,並將計時器物件設定為每秒逾時。
在驅動程式呼叫 IoStartTimer之後,其 IoTimer 常式會每秒呼叫一次,直到驅動程式呼叫 IoStopTimer為止。 驅動程式可以使用IoStartTimer重新啟用其IoTimer常式的呼叫。 (經常,當驅動程式呼叫 IoStartTimer時,它會提供從目前 IRP.) I/O 堆疊位置取得的裝置物件指標
在專案上, IoTimer 常式會傳遞裝置物件指標, 以及驅動程式在呼叫 IoInitializeTimer時所提供的內容指標。
驅動程式不得從 IoTimer 常式內呼叫IoStopTimer。
I/O 管理員會取消註冊指定裝置物件的計時器常式,並在驅動程式呼叫 IoDeleteDevice時釋放其相關聯的內容。