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 |