IWiaDataTransfer::idtGetBandedData メソッド (wia_xp.h)
IWiaDataTransfer::idtGetBandedData メソッドは、ハードウェア デバイスからアプリケーションにデータのバンドを転送します。 効率を高める目的で、アプリケーションは Windows イメージ取得 (WIA) ハードウェア デバイスから連続するバンドでデータを取得します。
構文
HRESULT idtGetBandedData(
[in] PWIA_DATA_TRANSFER_INFO pWiaDataTransInfo,
[in] IWiaDataCallback *pIWiaDataCallback
);
パラメーター
[in] pWiaDataTransInfo
種類: PWIA_DATA_TRANSFER_INFO
WIA_DATA_TRANSFER_INFO構造体へのポインター。
[in] pIWiaDataCallback
種類: IWiaDataCallback*
IWiaDataCallback インターフェイスへのポインター。 このメソッドは定期的に BandedDataCallback メソッドを呼び出して、アプリケーションにデータ転送状態通知を提供します。
戻り値
型: HRESULT
このメソッドは、次のいずれかの値を返すことができます。
戻り値 | 説明 |
---|---|
E_INVALIDARG | このメソッドの 1 つ以上のパラメーターに無効なデータが含まれています。 |
E_OUTOFMEMORY | このメソッドは、操作を完了するのに十分なメモリを割り当てることができません。 |
E_UNEXPECTED | 原因不明のエラーが発生しました。 |
S_FALSE | アプリケーションによって操作が取り消されました。 |
S_OK | イメージが正常に取得されました。 |
STG_E_MEDIUMFULL | イメージを取得するためにアプリケーションが使用しているストレージ メディアがいっぱいです。 |
WIA_S_NO_DEVICE_AVAILABLE | ユーザーのコンピューターに WIA ハードウェア デバイスが接続されていません。 |
このメソッドは、 エラー コードで指定された値を返します。前の表で指定した値以外の理由でエラーが発生した場合は標準 COM エラーを返します。
注釈
IWiaDataTransfer::idtGetBandedData メソッドは、コンポーネント オブジェクト モデル/リモート プロシージャ コール (COM/RPC) マーシャリング レイヤーを介して追加のデータ コピーを必要とせずに、データを転送するためにメモリのセクションを割り当てます。 このメモリ セクションは、アプリケーションとハードウェア デバイスの項目ツリーの間で共有されます。
必要に応じて、アプリケーションは IWiaDataTransfer::idtGetBandedData が共有セクションとして使用するメモリ ブロックへのポインターを渡すことができます。 アプリケーションは、IWiaDataTransfer::idtGetBandedData を呼び出す前に、WIA_DATA_TRANSFER_INFO 構造体の ulSection メンバーにポインターを格納することで、このハンドルを渡します。
アプリケーションでは、ダブル バッファリングを使用してパフォーマンスを向上させることができます。 これを行うには、アプリケーションで、WIA_DATA_TRANSFER_INFO構造体の bDoubleBuffer メンバーを TRUE に設定する必要があります。 IWiaDataTransfer::idtGetBandedData メソッドは、データ バッファーを半分に分割します。 バッファーの半分がいっぱいになると、IWiaDataTransfer::idtGetBandedData は、pIWiaDataCallback パラメーターを介して渡された IWiaDataCallback ポインターを使用して、アプリケーションに通知を送信します。 アプリケーションがバッファーの半分全体からデータを取得している間、デバイス ドライバーは残りの半分にデータを入力できます。
データ転送の形式は、アイテムのWIA_IPA_FORMATとWIA_IPA_TYMEDプロパティの値によって決まります。 アプリケーションは、 IWiaPropertyStorage::WriteMultiple メソッドを呼び出してこれらのプロパティを設定します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional、Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | wia_xp.h (Wia.h を含む) |
Library | Wiaguid.lib |
[DLL] | Wiaservc.dll |