Scan 関数 (wiamicro.h)
Scan 関数は、デバイスからデータを読み取り、WIA フラットベッド ドライバーにデータを返します。
構文
WIAMICRO_API HRESULT Scan(
[in, out] PSCANINFO pScanInfo,
LONG lPhase,
[out] PBYTE pBuffer,
LONG lLength,
[out] LONG *plReceived
);
パラメーター
[in, out] pScanInfo
マイクロドライバーの設定を表す SCANINFO 構造体を指定します。 これは、マイクロドライバーと WIA フラットベッド ドライバーの間の設定が同期されることを保証するために、WIA フラットベッド ドライバーによって格納されます。
lPhase
要求されたスキャン フェーズを指定します。 このパラメーターは、次のいずれかの値に設定できます。
値 | 意味 |
---|---|
SCAN_FIRST | これにより、スキャンの最初のフェーズが通知されます。 マイクロドライバーは 3 つのタスクを実行します。デバイスを初期化し、 SCANINFO 構造体のデータを使用してスキャンを設定し (たとえば、解像度、開始位置、幅、デバイスの高さを設定)、スキャンを開始します。 この呼び出しからデータを返す必要があります。 データは pBuffer が指すバッファーに格納する必要があり、pReceived パラメーターはバッファーに格納されるデータの量に設定する必要があります。 |
SCAN_NEXT | これは、データ転送中に繰り返し呼び出されます。 pBuffer が指すバッファーにデータを格納し、pReceived パラメーターをバッファーに格納するデータの量に設定する必要があります。 |
SCAN_FINISHED | これはスキャンの最後に呼び出され、スキャン プロセスが終了します。 データを転送する必要はありません。 SCAN_FINISHEDは、ユーザーがスキャンをキャンセルした場合でも常に呼び出されます。 マイクロドライバーはデータの転送を停止し、スキャナーをリセットして、次のスキャンの準備が整う必要があります。 この関数から返されるデータは、ヘッダーなしで生形式にする必要があります。 データは、パックまたは平面、アラインまたはアライン解除、および RGB または BGR の順序で行うことができます。 CMD_INITIALIZE コマンドに応じて、SCANINFO 構造体の RawDataFormat、RawPixelOrder、および bNeedDataAlignment メンバーを適切に設定します。 |
[out] pBuffer
マイクロドライバーによってスキャンされたデータが格納されるバッファーを指定します。 このバッファーは WIA フラットベッド ドライバーによって割り当てられ、長さが lLength バイト以上であることが保証されます。
lLength
スキャンするデータの要求量を指定します。 マイクロドライバーは、 pBuffer が指すバッファーをオーバーフィルしないでください。
[out] plReceived
pBuffer に実際にスキャンされるデータの量を指定します。 この値は lLength の値を超えることはできませんが、小さくすることができます。
戻り値
関数が成功した場合は、S_OK を返します。 関数が失敗した場合は、標準の COM エラー コードが返されます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | wiamicro.h (Wiamicro.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |