次の方法で共有


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_FORMATWIA_IPA_TYMEDプロパティの値によって決まります。 アプリケーションは、 IWiaPropertyStorage::WriteMultiple メソッドを呼び出してこれらのプロパティを設定します。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー wia_xp.h (Wia.h を含む)
Library Wiaguid.lib
[DLL] Wiaservc.dll