應用程式專案和驅動程式專案
WIA 專案代表裝置屬性和裝置資料。 映射處理應用程式會將 WIA 裝置視為專案的階層式樹狀結構,其中根專案代表裝置本身,以及代表影像或資料夾的任何子專案。 不過,應用程式看到的樹狀結構與 WIA 迷你驅動程式所建立和維護的樹狀結構不同。 當 minidriver 建立專案的樹狀結構時,WIA 服務會自動建立此樹狀結構的相同複本,供映射處理應用程式檢視。 複製樹狀結構中的 專案稱為應用程式專案。 minidriver 所建立樹狀結構中的 專案稱為驅動程式專案。
多個映射處理應用程式可以同時使用單一映射處理裝置。 因此,裝置樹狀結構中專案物件的每個應用程式檢視都必須與另一個應用程式的檢視無關。 執行此作業的流程如下:
minidriver 會使用IWiaMiniDrv 介面和WIA 驅動程式服務程式庫函式,建立IWiaDrvItem 介面物件的專案樹狀結構。 此驅動程式專案樹狀結構中的專案是 minidriver 用來代表裝置專案的全域物件。
當映射處理應用程式要求存取樹狀結構中的專案時,WIA 服務會傳回專案物件,該物件是驅動程式專案的複本。 當應用程式取得應用程式IWiaItem (Microsoft Windows SDK檔中所述,) 專案物件 (應用程式專案) 時,WIA 服務會將此物件連結到驅動程式專案樹狀目錄中迷你驅動程式的對應IWiaDrvItem物件。
WIA 會為每個應用程式建立個別 的應用程式專案樹狀結構 ,每個應用程式專案樹狀結構都是驅動程式專案樹狀結構的複本。
應用程式通常會使用 IWiaItem 物件來讀取、驗證和寫入專案屬性,以及要求專案資料。
下圖顯示應用程式專案與驅動程式專案的關聯性。
如下圖所示,每個映射處理應用程式都有自己的專案樹狀結構複本。 應用程式專案樹狀目錄中的根專案包含指向裝置專案樹狀結構中根專案的指標。
本節的其餘部分包含下列主題: