次の方法で共有


IWiaTransferCallback::TransferCallback メソッド (wia_lh.h)

IWiaTransferCallback::TransferCallback メソッドは、画像処理フィルターによって実装されます。 これは、アプリケーションが IWiaTransfer::D ownload またはプレビュー コンポーネントの IWiaPreview::GetNewPreview 呼び出した結果として WIA サービスによって呼び出されます。

構文

HRESULT TransferCallback(
  [in] LONG              lFlags,
  [in] WiaTransferParams *pWiaTransferParams
);

パラメーター

[in] lFlags

現在使用されていません。 0 に設定する必要があります。

[in] pWiaTransferParams

WiaTransferParams 構造体へのポインターを指定します。

戻り値

成功した場合はS_OKを返し、それ以外の場合は標準の COM エラー値を返します。

備考

IWiaTransferCallback::TransferCallback メソッドの画像処理フィルターの実装は、WIA ミニ ドライバーがクライアントから宛先ストリームを要求したとき、およびミニ ドライバーが進行状況メッセージをアプリケーションに送信するときに、イメージの取得中に呼び出されます。

画像処理フィルターの IWiaTransferCallback::TransferCallback メソッドは、アプリケーション コールバックの IWiaTransferCallback::TransferCallback メソッドに委任する必要があります。 多くの場合、画像処理フィルターの IWiaTransferCallback::TransferCallback 実装では、ulBytesWrittenToCurrentStream を変更する必要があります。また、場合によっては WiaTransferParams 構造体の lPercentComplete 値も変更する必要があります。 ulBytesWrittenToCurrentStream は、アプリケーションが提供するストリームにデータを書き込む前に、イメージ処理フィルターが Write メソッドの呼び出し間でイメージ データをバッファーする必要がある場合に変更する必要があります。 これは、たとえば、スキューイングや回転が実行されている場合に必要になります。 回転やデスクイングが必要ない場合、フィルターはデータのバンドで機能することが望ましいです。 lPercentComplete は必ずしも変更する必要はありません。ただし、このパラメーターは転送時間の合計に対する割合を示しているためです。 たとえば、このメンバーは、アプリケーションの進行状況バーで使用できます。 画像処理フィルターでは、構造体の lMessage メンバーを変更しないでください。 IWiaTransferCallback::TransferCallback は、バッファリングを実行する場合でも受信したメッセージを "飲み込む" のではなく、ulBytesWrittenToCurrentStream メンバー 変更する必要があります。

このメソッドは、IWiaPreview::UpdatePreview 中にプレビュー コンポーネントによって呼び出されません。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー wia_lh.h (Wia_lh.h を含む)