撰寫應用程式的 WIA 專案屬性
當 WIA 應用程式寫入 WIA 屬性 (並更新屬性) 中儲存的值時,WIA 服務會提供 WIA 迷你驅動程式藉由呼叫 IWiaMiniDrv::d rvValidateItemProperties 方法來驗證傳入值的機會。 WIA 迷你驅動程式會藉由讀取自己的驅動程式專案樹狀結構中的屬性,來比較傳入值與任何目前的值。 WIA 服務程式庫提供用來存取這些值的函式。
IWiaMiniDrv::d rvValidateItemProperties方法應該執行下列工作:
判斷專案類型。
判斷是否應在傳入 WIA 屬性上執行任何特殊驗證。 若要判斷要寫入哪些 WIA 屬性,WIA 迷你驅動程式可以使用 PROPSPEC 結構的陣列, (PROPSPEC 結構,如Microsoft Windows SDK檔) 所述。 建議 WIA 迷你驅動程式在處理 PROPSPEC 陣列之前先判斷專案類型,以減少在每個 IWiaMiniDrv::d rvValidateItemProperties 呼叫上周遊陣列的需求。 如果沒有特殊的驗證需求,或如果您需要更新裝置根專案上的相依屬性,則只會處理對子專案屬性的寫入要求。
建立 WIA 屬性內容以存取 WIA 屬性驗證期間變更的值,這是更新 WIA 專案相依屬性的必要條件。 使用 wiasCreatePropCoNtext 和 wiasGetChangedValueXxx 服務函式。
使用 WIA 服務函式、wiasWriteMultiple 或 wiasWritePropXxx更新相依屬性,其中包括更新任何可能因為設定屬性而變更的有效值。 例如,如果您的 WIA 迷你驅動程式支援設定 WIA_IPA_DEPTH 屬性,當應用程式變更 WIA_IPA_DATATYPE 屬性時,您必須更新有效位深度清單。
當 WIA_IPA_DATATYPE 屬性值從WIA_DATA_THRESHOLD變更為WIA_DATA_COLOR時,相關WIA_IPA_DEPTH屬性會從報表單位色彩深度變更為報告 24 位或 48 位。
呼叫 wiasValidateItemProperties 服務函式,讓 WIA 服務驗證所有其他屬性要求。 這是「全擷取」案例;WIA 服務具有內建屬性驗證。