共用方式為


選擇性命令

Microdriver 可以實作下列命令,但不需要這麼做。

CMD_GETSUPPORTEDFILEFORMATS

由 WIA Flatbed Driver 呼叫,以取得其他檔案格式的數目。 傳遞 的 VAL 結構的兩個成員應該填入: lVal 應該設定為其他檔案格式的數目; pGuid 應該指向影像格式 GUID 的陣列。 配置給這個陣列的記憶體是由 microdriver 所擁有,而且只能由它釋放。

影像格式會列在 wiadef.h 中,也可以定義為自訂格式。 請注意,由於 BMP (檔案) 和 MEMORYBMP (記憶體) 格式是必要格式,所以 WIA Flatbed Driver 會自動新增它們。 microdriver 不應該將它們新增至其擴充清單。

除非裝置可以支援額外的檔案格式,否則此命令是選擇性的。

CMD_GETSUPPORTEDMEMORYFORMATS

由 WIA Flatbed Driver 呼叫,以取得額外的記憶體格式數目。 傳遞 的 VAL 結構的兩個成員應該填入: lVal 應該設定為額外的記憶體格式數目; pGuid 應該指向影像格式 GUID 的陣列。 配置給這個陣列的記憶體是由 microdriver 所擁有,而且只能由它釋放。

影像格式會列在 wiadef.h 中,也可以定義為自訂格式。 請注意,由於 BMP (檔案) 和 MEMORYBMP (記憶體) 格式是必要格式,所以 WIA Flatbed Driver 會自動新增它們。 microdriver 不應該將它們新增至其擴充清單。

除非裝置可以支援額外的記憶體格式,否則此命令是選擇性的。

CMD_SETFORMAT

類別驅動程式會傳送此命令來設定應用程式所要求的目前格式。 VAL結構的pGuid成員包含影像格式 GUID。 microdriver 應該將這個影像格式識別碼儲存在其私人內容中,以追蹤目前的影像格式設定。

只有在 Microdrivers 報告擴充格式時,才需要支援此命令。 因為類別驅動程式無法以擴充格式驗證資料,所以微驅動程式負責產生適當的資料。 以擴充格式傳輸資料時,應該傳輸所有資料,包括影像標頭。 例如,如果您的驅動程式回報它支援 JPEG 格式,則必須傳輸所有 JPEG,而不只是映射位。

類別驅動程式擁有 VAL 結構的 pGuid 成員所指向的記憶體,因此 microdriver 不得釋放它。

請注意,此命令不會影響 Microdriver 回應其 Scan 函式呼叫的方式。 如往常一樣,microdriver 必須檢查此函式 的 lPhasepScanInfolLength 參數的值,並將資料放在 pBufferpReceived 參數所指向的緩衝區中。

僅支援 WiaImgFmt_BMP 和 WiaImgFmt_MEMORYBMP 格式的驅動程式, (microdrivers 的預設格式) 可以接收 CMD_SETFORMAT 命令。 這些驅動程式可以忽略此命令,因為類別驅動程式會使用預設格式處理所有資料傳輸。

CMD_SETSCANMODE

由 WIA Flatbed Driver 呼叫,以設定 Microdriver 裝置的掃描模式 -- 預覽或最終 。 VAL結構的lVal成員將包含下列其中一個值,這兩個值都定義于wiamicro.h中:

  • SCANMODE_PREVIEWSCAN - 預覽掃描模式

  • SCANMODE_FINALSCAN - 最終掃描模式

CMD_SETSTIDEVICEHKEY

由 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 值。