次の方法で共有


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

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

構文

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

パラメーター

[in] lFlags

現在使用されていません。 ゼロに設定してください。

[in] pWiaTransferParams

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

戻り値

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

注釈

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

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

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

要件

要件
対象プラットフォーム デスクトップ
Header wia_lh.h (Wia_lh.h を含む)