掃描函式 (wiamicro.h)
Scan 函式會從裝置讀取數據,並將數據傳回 WIA Flatbed 驅動程式。
語法
WIAMICRO_API HRESULT Scan(
[in, out] PSCANINFO pScanInfo,
LONG lPhase,
[out] PBYTE pBuffer,
LONG lLength,
[out] LONG *plReceived
);
參數
[in, out] pScanInfo
指定代表 microdriver 設定 SCANINFO 結構。 這會由 WIA Flatbed 驅動程式儲存,以確保微驅動器與 WIA Flatbed 驅動程式之間的設定會同步處理。
lPhase
指定要求的掃描階段。 此參數可以設定為下列其中一個值。
價值 | 意義 |
---|---|
SCAN_FIRST | 這表示掃描的第一個階段。 microdriver 會執行三項工作:它會初始化裝置,它會使用 SCANINFO 中的數據 結構來設定掃描(例如,設定解析度、開始位置、裝置寬度和高度),然後啟動掃描。 數據必須從這個呼叫傳回。 數據必須放入 pBuffer 所指向的緩衝區,而且 pReceived 參數必須設定為放入緩衝區中的數據量。 |
SCAN_NEXT | 這會在數據傳輸期間重複呼叫。 數據應該由 pBuffer 所指向的緩衝區中,而且 pReceived 參數必須設定為放入緩衝區中的數據量。 |
SCAN_FINISHED | 這會在掃描結束時呼叫,以終止掃描程式。 不應傳輸任何數據。 即使使用者取消掃描,也會一律呼叫SCAN_FINISHED。 microdriver 應該停止傳輸數據,而且掃描器應該重設,以便準備好進行下一次掃描。 從此函式傳回的數據應該為未經處理的格式,而不需要任何標頭。 數據可以是包裝或平面、對齊或未對齊,並以 RGB 或 BGR 順序排列。 設定 RawDataFormat、RawPixelOrder和 bNeedDataAlign ment SCANINFO 結構的成員,以適當方式回應 CMD_INITIALIZE 命令。 |
[out] pBuffer
指定由 microdriver 填入掃描數據的緩衝區。 此緩衝區是由 WIA Flatbed Driver 所配置,而且保證長度至少 lLength 個字節。
lLength
指定將掃描的要求數據量。 microdriver 絕對不能超過 pBuffer 所指向的緩衝區,。
[out] plReceived
指定實際掃描到 pBuffer的數據量。 這個值絕不應超過 lLength 的值,但可能更少。
傳回值
如果函式成功,則會傳回S_OK。 如果函式失敗,則會傳回標準 COM 錯誤碼。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | wiamicro.h (包括 Wiamicro.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |