Scan 関数 (wiamicro.h)
スキャン 関数は、デバイスからデータを読み取り、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 エラー コードが返されます。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | wiamicro.h (Wiamicro.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
関連項目
SCANINFO の