共用方式為


必要命令

每個微驅動程式都必須實作下列一組必要命令。

CMD_GETCAPABILITIES

由 WIA 平板驅動程式呼叫,以取得按鈕事件資訊。 應填入傳遞的 VAL 結構的三個成員: lVal 應設定為按鈕數; pGuid 應該設定為事件 GUID 陣列; ppButtonNames 可以選擇性地設定為 WCHAR* 陣列,其中包含按鈕名稱的順序與 pGuid 中的順序相同 (例如,「掃描按鈕」或「傳真按鈕」)。 如果 ppButtonNames 設定為 NULL,WIA 平板驅動程式會建立通用按鈕名稱。 陣列可以在收到 CMD_INITIALIZE 時進行分配,並在收到 CMD_UNINITIALIZE 時釋放。

初始化命令 (CMD_INITIALIZE)

由 WIA 平板驅動程式呼叫,以初始化微驅動程式,並將裝置 I/O 控制碼設定為有效值。 當 WIA 服務呼叫 WIA 平板驅動程式上的方法 IWiaMiniDrv::d rvInitializeWia 時,此命令會傳送至微驅動程式。

WIA 平板驅動程式會自動建立一個裝置 I/O 控制碼,並將它放在索引 0 所傳遞 SCANINFO 結構的 DeviceIOHandles 陣列成員中。 微型驅動程式在需要與裝置進行通訊時,應該使用此控制碼。 如果微驅動程式需要其他裝置控制碼(例如,使用多個批次 USB 通道),則可以建立它們並將其儲存在 DeviceIOHandles 陣列中,其數量上限為 MAX_IO_HANDLES。 WIA 平板驅動程式會自動關閉索引 0 的處理序,因為它會在初始化期間創建此處理序。 其他控制碼必須由微驅動程式關閉,以回應CMD_UNINITIALIZE。

在此命令中,微驅動程式也應該初始化 SCANINFO 結構中的所有值。 微驅動程式應該設定 SCANINFO 結構的 SupportedDataTypesIntensityRangeContrastRangeBedWidthBedHeight 成員,讓 WIA 平板驅動程式可以根據裝置的合法範圍自動驗證這些值。

CMD_RESETSCANNER(重置掃描器命令)

由 WIA 平板驅動程式呼叫,以重設裝置以回應 WIA 服務要求。 微驅動程式應該將裝置設定為其開機狀態。 在 Windows Vista 中,WIA 平板驅動程式不會使用此命令。 不過,微驅動程式應繼續支援此命令,以確保在 Windows XP 中的正確運作,並且未來版本的 WIA 平板驅動程式可能也會使用此命令。

CMD_SETDATATYPE

由 WIA 平板驅動程式呼叫,以設定掃描的資料類型。 下列其中一個值會在傳遞的 VAL 結構的 lVal 成員中傳遞:

  • WIA_DATA_THRESHOLD − 1 位元黑/白

  • WIA_DATA_GRAYSCALE − 8 位元灰階

  • WIA_DATA_COLOR − 24 位元顏色

微驅動程式應該將值儲存在傳遞的 SCANINFO 結構的 DataType 成員中。

CMD_SETCONTRAST

由 WIA 平板驅動程式呼叫,以設定掃描的對比值。 所需的對比值會在傳遞的 VAL 結構的 lVal 成員中傳遞。 值 −1000 應該解譯為最低對比值、標稱值 0 和裝置的最大對比度 1000。 微驅動程式應該將值儲存在傳遞的 SCANINFO 結構的 Contrast 成員中。

CMD_SETINTENSITY

由 WIA 平板驅動程式呼叫,以設定掃描的強度或亮度值。 所需的強度值會在傳遞的 VAL 結構的 lVal 成員中傳遞。 值 −1000 應該解譯為最低亮度值、標稱值 0 和裝置的最大亮度 1000。 微驅動程式應該將值儲存在傳遞的 SCANINFO 結構的 Intensity 成員中。

CMD_SETXRESOLUTION

由 WIA 平板驅動程式呼叫,以設定水平掃描解析度。 所需的解析度(以像素為單位)會在傳遞的 VAL 結構的 lVal 成員中傳遞。 微驅動程式應該將值儲存在傳遞的 SCANINFO 結構的 XResolution 成員中。

CMD_SETYRESOLUTION

由 WIA 平板掃描器驅動程式調用,以設定垂直掃描解析度。 所需的解析度(以像素為單位)會在傳遞的 VAL 結構的 lVal 成員中傳遞。 微驅動程式應該將值儲存在傳遞的 SCANINFO 結構的 YResolution 成員中。

CMD_STI_DEVICERESET

由 WIA 平板驅動程式呼叫,以重設裝置以回應靜止影像 (STI) 要求。 在初始化期間,此命令通常只會呼叫一次。

CMD_STI_DIAGNOSTIC

當使用者要求裝置測試時,由 WIA 平板驅動程式呼叫。

CMD_UNINITIALIZE

取消初始化微驅動程式並關閉裝置 I/O 控制碼。 WIA 平板掃描驅動程式會自動關閉 SCANINFO 結構中 DeviceIOHandles 陣列成員的裝置 I/O 控制碼,這個成員位於索引 0。 此命令會在 WIA 平板驅動程式卸載時傳送至微驅動程式。