識別掃描事件的輸入來源
推入掃描作業是使用者從 WIA 掃描器裝置起始的掃描工作,而不是從桌上型電腦上執行之 WIA 應用程式的使用者介面起始。 當使用者按下裝置上的 [開始掃描] 按鈕時,應用程式會收到掃描事件,通知使用者已要求掃描工作。 為了回應此事件,應用程式可以透過下列兩種方式之一來執行推播掃描工作:
如果裝置支援 自動設定的掃描,應用程式可以從 自動專案 要求資料傳輸,以從目前選取的輸入來源取得影像, (扁平化、自動檔摘要器或電影掃描配接器) 。 為了回應,裝置會自動設定其掃描設定, (排除應用程式只能設定的幾個屬性,如 自動專案支援 WIA 屬性 中所述) ,然後取得影像。
應用程式可以在直接程式控制下執行掃描工作。 首先,應用程式會設定 WIA 專案的屬性 (平面專案、摘要器專案或電影專案) ,代表目前選取的輸入來源。 接下來,應用程式會透過要求此專案的資料傳輸來取得影像。
如需 WIA 專案的詳細資訊,請參閱 WIA 專案類別。
當掃描事件發生時,應用程式會收到包含 WIA 事件識別碼的通知, (GUID 值) 以指定事件的本質。 WIA minidriver 可以將自訂 WIA 事件識別碼 GUID 指派給事件,或者 minidriver 可以使用標頭檔Wiadef.h中定義的其中一個WIA_EVENT_SCAN_XXX GUID 常數。 如需這些常數的詳細資訊,請參閱 WIA 事件識別碼。
雖然掃描事件的 WIA 事件識別碼提供事件的相關資訊,但它不會識別用於掃描工作的輸入來源。 針對自動設定的掃描,應用程式不需要這項資訊。 不過,若要在直接程式控制下執行掃描,應用程式必須知道要使用的輸入來源。 如果裝置有一個以上的輸入來源,而且使用者可以從裝置選取輸入來源,而不是從應用程式的使用者介面選取輸入來源,應用程式就必須有方法可從裝置取得這項資訊。 從裝置選取輸入來源時,使用者可以藉由在裝置的前端面板上按下按鈕,) 或隱含地 (,藉由將檔插入裝置) 上的摘要器,以明確 (選取來源。
當掃描事件發生時,如果裝置支援此屬性,應用程式可以查詢 WIA 掃描器裝置的 WIA_DPS_SCAN_AVAILABLE_ITEM 屬性來識別選取的輸入來源。 WIA_DPS_SCAN_AVAILABLE_ITEM是裝置 WIA 專案樹狀結構中根專案的選擇性屬性。 如需此屬性的詳細資訊,請參閱 WIA_DPS_SCAN_AVAILABLE_ITEM。
WSD 掃描類別驅動程式會將 WIA_DPS_SCAN_AVAILABLE_ITEM 屬性實作為標準驅動程式功能,如上一段所述,而不是自訂驅動程式擴充功能。 如需 WSD 掃描類別驅動程式的詳細資訊,請參閱 WIA 與適用于裝置的 Web 服務。 如需掃描器 WDP 的詳細資訊,請參閱 裝置掃描服務架構的 Web 服務。