事件命令
Microdriver 會使用本節中的命令來支援裝置事件。
CMD_GET_INTERRUPT_EVENT
由 WIA Flatbed Driver 在個別執行緒中呼叫,以監視從裝置 (使用中斷的按鈕事件狀態,也就是透過插斷管道報告事件的 USB 裝置) 。 如果您的裝置僅支援輪詢,則不需要實作此命令,而且應該傳回E_NOTIMPL。
兩個事件控制碼會傳遞至 microdriver。 VAL結構的lVal成員會保存當按鈕事件發生時,microdriver 應該使用SetEvent函式發出訊號的事件控制碼。 VAL 結構的 控制碼 成員會保存事件控制碼,該控制碼會在卸載或關閉驅動程式時由 WIA Flatbed Driver 發出訊號。
VAL 結構的 pGuid 成員應該設定為指向已推送之按鈕的 GUID。 如果沒有按下按鈕,它應該設定為GUID_Null。
CMD_STI_GETSTATUS
由 WIA Flatbed Driver 呼叫,以取得裝置的線上狀態,如果裝置有按鈕,則會取得按鈕狀態。
如果您的裝置已上線且正常運作,請將傳遞之 VAL結構的lVal成員設定為 1。 如果lVal設定為 1 以外的任何值,則會將裝置視為離線,且會在主控台中使裝置測試失敗。
如果裝置支援不使用裝置中斷且按下按鈕的按鈕,則傳遞的 VAL 結構的 pGuid 成員應該設定為按鈕事件的 GUID。 如果未按下任何按鈕,請將 pGuid 指向值GUID_Null。 這表示沒有任何擱置的事件。
如果裝置支援輪詢事件,或您想要裝置顯示線上狀態,則需要此命令。