共用方式為


掃描函式 (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 順序排列。 設定 RawDataFormatRawPixelOrderbNeedDataAlign 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

另請參閱

SCANINFO

WIA Microdriver 命令

WIA Microdriver 結構