選擇性命令
Microdriver 可以實作下列命令,但不需要這麼做。
由 WIA Flatbed Driver 呼叫,以取得其他檔案格式的數目。 傳遞 的 VAL 結構的兩個成員應該填入: lVal 應該設定為其他檔案格式的數目; pGuid 應該指向影像格式 GUID 的陣列。 配置給這個陣列的記憶體是由 microdriver 所擁有,而且只能由它釋放。
影像格式會列在 wiadef.h 中,也可以定義為自訂格式。 請注意,由於 BMP (檔案) 和 MEMORYBMP (記憶體) 格式是必要格式,所以 WIA Flatbed Driver 會自動新增它們。 microdriver 不應該將它們新增至其擴充清單。
除非裝置可以支援額外的檔案格式,否則此命令是選擇性的。
由 WIA Flatbed Driver 呼叫,以取得額外的記憶體格式數目。 傳遞 的 VAL 結構的兩個成員應該填入: lVal 應該設定為額外的記憶體格式數目; pGuid 應該指向影像格式 GUID 的陣列。 配置給這個陣列的記憶體是由 microdriver 所擁有,而且只能由它釋放。
影像格式會列在 wiadef.h 中,也可以定義為自訂格式。 請注意,由於 BMP (檔案) 和 MEMORYBMP (記憶體) 格式是必要格式,所以 WIA Flatbed Driver 會自動新增它們。 microdriver 不應該將它們新增至其擴充清單。
除非裝置可以支援額外的記憶體格式,否則此命令是選擇性的。
類別驅動程式會傳送此命令來設定應用程式所要求的目前格式。 VAL結構的pGuid成員包含影像格式 GUID。 microdriver 應該將這個影像格式識別碼儲存在其私人內容中,以追蹤目前的影像格式設定。
只有在 Microdrivers 報告擴充格式時,才需要支援此命令。 因為類別驅動程式無法以擴充格式驗證資料,所以微驅動程式負責產生適當的資料。 以擴充格式傳輸資料時,應該傳輸所有資料,包括影像標頭。 例如,如果您的驅動程式回報它支援 JPEG 格式,則必須傳輸所有 JPEG,而不只是映射位。
類別驅動程式擁有 VAL 結構的 pGuid 成員所指向的記憶體,因此 microdriver 不得釋放它。
請注意,此命令不會影響 Microdriver 回應其 Scan 函式呼叫的方式。 如往常一樣,microdriver 必須檢查此函式 的 lPhase、 pScanInfo和 lLength 參數的值,並將資料放在 pBuffer 和 pReceived 參數所指向的緩衝區中。
僅支援 WiaImgFmt_BMP 和 WiaImgFmt_MEMORYBMP 格式的驅動程式, (microdrivers 的預設格式) 可以接收 CMD_SETFORMAT 命令。 這些驅動程式可以忽略此命令,因為類別驅動程式會使用預設格式處理所有資料傳輸。
由 WIA Flatbed Driver 呼叫,以設定 Microdriver 裝置的掃描模式 -- 預覽或最終 。 VAL結構的lVal成員將包含下列其中一個值,這兩個值都定義于wiamicro.h中:
SCANMODE_PREVIEWSCAN - 預覽掃描模式
SCANMODE_FINALSCAN - 最終掃描模式
由 WIA Flatbed Driver 呼叫,以允許 microdriver 讀取已安裝登錄區段中的登錄專案。 此命令會將 STI 裝置的已安裝登錄 HKEY 提供給 microdriver,使其可以存取其裝置的私人登錄值。 VAL結構的pHandle成員會在 STI 的IStiUSD::Initialize方法期間,包含提供給 WIA Flatbed Driver 之 HKEY 的指標。 這是已安裝裝置區段的最上層 HKEY。 DeviceData金鑰可以直接使用此 HKEY 來開啟。 如需詳細資訊,請參閱 WIA 裝置的 INF 檔案 。
注意
此金鑰只會由 WIA Flatbed Driver 開啟和關閉。 只有在此命令期間才有效,CMD_INITIALIZE (請參閱 必要命令) 。 這些命令傳回之後,索引鍵就不再有效。 不得快取 HKEY 值。