必要命令
每個 microdriver 必須實作下列一組必要的命令。
CMD_GETCAPABILITIES
由 WIA Flatbed Driver 呼叫,以取得按鈕事件資訊。 傳遞 的 VAL 結構的三個成員應該填入: lVal 應該設定為按鈕數目; pGuid 應設定為事件 GUID 的陣列; ppButtonNames 可以選擇性地設定為 WCHAR* 陣列,其中包含按鈕名稱的順序與 pGuid (例如,「掃描按鈕」或「傳真按鈕」) 相同。 如果 ppButtonNames 設定為 Null,WIA Flatbed Driver 將會建立一般按鈕名稱。 陣列可以配置以回應CMD_INITIALIZE,並在CMD_UNINITIALIZE中釋放。
CMD_INITIALIZE
由 WIA Flatbed Driver 呼叫以初始化 microdriver,並將裝置 I/O 控制碼設定為有效值。 當 WIA 服務在 WIA Flatbed Driver 上呼叫 方法 IWiaMiniDrv::d rvInitializeWia 時,此命令將會傳送至 microdriver。
WIA Flatbed Driver 會自動建立一個裝置 I/O 控制碼,並將其放在索引 0 上傳遞SCANINFO結構的DeviceIOHandles陣列成員中。 當 microdriver 需要與裝置通訊時,應該使用此控制碼。 例如,如果 microdriver 需要額外的裝置控點 (,若要使用多個大量 USB 管道) ,則可以在 DeviceIOHandles 陣列中建立並儲存它們,最多最多MAX_IO_HANDLES數目。 WIA Flatbed Driver 會自動關閉索引 0 的控制碼,因為它會在初始化期間建立該控制碼。 microdriver 必須關閉其他控制碼,才能回應CMD_UNINITIALIZE。
在此命令中,microdriver 也應該初始化 SCANINFO 結構中的所有值。 microdriver 應該設定 SCANINFO 結構的 SupportedDataTypes、 IntensityRange、 ContrastRange、 BedWidth和 BedHeight 成員,讓 WIA Flatbed Driver 可以針對裝置的法律範圍自動驗證這些值。
CMD_RESETSCANNER
由 WIA Flatbed Driver 呼叫,以重設裝置以回應 WIA 服務要求。 Microdriver 應將裝置設定為其電源開啟狀態。 在 Windows Vista 中,WIA Flatbed Driver 不會使用此命令。 不過,microdrivers 應該繼續支援此命令,以確保 Windows XP 中的正確作業,而且未來可能會使用此命令的 WIA Flatbed Driver 版本。
CMD_SETDATATYPE
由 WIA Flatbed Driver 呼叫,以設定掃描的資料類型。 下列其中一個值會在傳遞的 VAL結構的lVal成員中傳遞:
WIA_DATA_THRESHOLD - 1 位黑色/白色
WIA_DATA_GRAYSCALE - 8 位灰階
WIA_DATA_COLOR - 24 位色彩
microdriver 應該將值儲存在傳遞SCANINFO結構的DataType成員中。
CMD_SETCONTRAST
由 WIA Flatbed Driver 呼叫,以設定掃描的對比值。 所需的對比值會在傳遞的 VAL結構的lVal成員中傳遞。 值 -1000 應該解譯為最低對比值 0,而裝置的最大對比值則為 0,以及 1000。 microdriver 應該將值儲存在所傳遞SCANINFO結構的Contrast成員中。
CMD_SETINTENSITY
由 WIA 平面驅動程式呼叫,以設定掃描的強度或亮度值。 所傳遞VAL結構的lVal成員中會傳遞所需的強度值。 值 -1000 應解譯為最低亮度值,0 個標準,以及裝置最大亮度 1000。 microdriver 應該將值儲存在傳遞的 SCANINFO結構的濃度成員中。
CMD_SETXRESOLUTION
由 WIA Flatbed Driver 呼叫以設定水準掃描解析度。 所需的解析度以圖元為單位會傳入傳遞的 VAL結構的lVal成員。 microdriver 應該將值儲存在傳遞SCANINFO結構的XResolution成員中。
CMD_SETYRESOLUTION
由 WIA Flatbed Driver 呼叫,以設定垂直掃描解析度。 所需的解析度以圖元為單位會傳入傳遞的 VAL 結構的 lVal 成員。 microdriver 應該將值儲存在傳遞 SCANINFO 結構的 YResolution 成員中。
CMD_STI_DEVICERESET
由 WIA Flatbed Driver 呼叫,以重設裝置以回應仍 (STI) 要求。 在初始化期間,此命令通常只會呼叫一次。
CMD_STI_DIAGNOSTIC
當使用者要求裝置測試時,由 WIA Flatbed Driver 呼叫。
CMD_UNINITIALIZE
取消初始化 Microdriver 並關閉裝置 I/O 控制碼。 WIA Flatbed Driver 會自動關閉SCANINFO結構的DeviceIOHandles陣列成員中的裝置 I/O 控制碼,其索引為 0。 當 WIA Flatbed 驅動程式卸載時,此命令會傳送至 microdriver。