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 を含む) |