次の方法で共有


IBackgroundCopyCallback2::FileTransferred メソッド (bits3_0.h)

BITS は、BITS がファイルの転送を正常に完了したときに FileTransferred メソッドの実装を呼び出します。

構文

HRESULT FileTransferred(
  [in] IBackgroundCopyJob  *pJob,
  [in] IBackgroundCopyFile *pFile
);

パラメーター

[in] pJob

ジョブに関連する情報が含まれます。 pJob を解放しないでください。BITS は、このメソッドが返されるときにインターフェイスを解放します。

[in] pFile

ファイル関連の情報が含まれます。 pFile を解放しないでください。BITS は、このメソッドが返されるときにインターフェイスを解放します。

戻り値

このメソッドは 、S_OKを返す必要があります。それ以外の場合、負の場合、BITS はS_OKが返されるまでこのメソッド 呼び出し続けます。 パフォーマンス上の理由から、 S_OK 以外の値を返す回数を数回に制限する必要があります。 エラー コードを返す代わりに、常に S_OK を返し、エラーを内部的に処理することを検討してください。 このメソッドが呼び出される間隔は任意です。

注釈

通常、ダウンロードされたファイルの内容を検証しない限り、このコールバックは使用しません。 ピアに提供できるコンテンツをダウンロードする場合は、ファイルの検証が重要な場合があります。

ダウンロードしたコンテンツを含む一時ファイルの名前を取得するには、 IBackgroundCopyFile3::GetTemporaryName メソッドを 呼び出します。 コンテンツを確認した後、 IBackgroundCopyFile3::SetValidationState メソッドを呼び出して、ファイルの内容が有効かどうかを BITS に示します。 検証状態を FALSE に設定し、コンテンツが配信元サーバーからの場合、ジョブはエラー状態に移動します。

コンテンツがピアからの場合、BITS は配信元サーバーからファイルをダウンロードします。 配信元サーバーからのファイル転送が完了すると、コールバックが再度呼び出されます。

BITS 3.0: 配信元サーバーからのファイル転送が完了した後、コールバックは再度呼び出されません。

ジョブの場合、 FileTransferred コールバックがシリアル化されます。 BITS は、現在のコールバックが正常に返されるまで、ジョブ内の次のファイルのコールバックをディスパッチしません。

FileTransferred コールバックは、 JobTransferred コールバックと JobError コールバックの前にディスパッチされます。

FileTransferred コールバックは、ダウンロード ジョブまたはアップロード/応答ジョブの応答部分を対象とします。

要件

要件
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー bits3_0.h (Bits.h を含む)
Library Bits.lib

こちらもご覧ください

IBackgroundCopyCallback

IBackgroundCopyCallback2