IXtfDeployCallback インターフェイス
IXtfApplicationClient::Deploy 操作中に追跡可能なアクションが発生したときに呼び出されるコールバックを提供します。
構文
interface IXtfDeployCallback : public IUnknown
メソッド
メソッド | 説明 |
---|---|
OnDeployChangeEvaluation | 転送または削除する必要があるファイルを評価するときに呼び出されるコールバック。 |
OnDeployError | 内部使用のために予約済みです。 |
OnDeployExtraFileDetected | 余分なファイルが検出されたときに呼び出されるコールバック。 |
OnDeployExtraFileRemoved | 本体の余分なファイルが削除されたことを報告するために呼び出されるコールバック。 |
OnDeployFileProgress | 本体へのファイル展開の進行状況を報告するために呼び出されるコールバック。 |
OnDeployInitialized | 配置が始まるときに呼び出されるコールバック。 |
OnDeployMetrics | 配置メトリックが報告されたときに呼び出されるコールバック。 |
解説
すべてのコールバック メソッドは、その戻り値に関して同じ方法で機能します。 コールバックが成功を示す HResult を返した場合、配置プロセスは続行されます。 失敗を示す HResult がコールバックから返された場合、配置プロセスはすぐに取り消されます。 既に転送または削除されているファイルはそのままになり、部分的に転送されたファイルは、切り捨てられた形で閉じられます。
コールバック処理は単純です。 配置先の開発用 PC 上の各ファイルが、ターゲット本体上の対応するファイルと比較されます。
- PC と本体でファイルが同じ場合、それ以上は何も行われません。
- PC 上のファイルが本体上のファイルよりも新しい場合、ファイルは PC から本体にコピーされます。
- ファイルが PC 上に存在し、本体上には存在しない場合は、本体にコピーされます。
- ファイルが本体上に存在し、PC 上には存在しない場合は、必要に応じて本体から削除されます (削除されるかどうかは、Deploy に対する fRemoveExtraFiles パラメーターの値によって決まります)。
コールバック メソッドは、配置プロセス中に適切なタイミングで呼び出されます。
- OnDeployInitialized: このコールバックは配置システムが関与しているときに呼び出され、開始時間の配置や進行状況ダイアログの初期化に使用できます。 このコールバックが呼び出された場合、可能性があるすべての相互運用と DLL 境界横断は正常に完了しています。 このコールバックは配置ごとに 1 回呼び出されます。
- OnDeployChangeEvaluation: このコールバックは、配置システムが、本体に配置したり本体から削除したりする必要があるファイルを評価するときに呼び出されます。 このコールバックを使用して、進行状況インジケーターを更新できます。
- OnDeployMetrics: このコールバックは、本体に配置されるファイルの数や転送されるバイトの合計数を報告するために、評価プロセスの最後に 1 回呼び出されます。
- OnDeployFileProgress: このコールバックは、ファイルごとのバッファー ブロックが正常に転送されるたびに呼び出されます。 転送は複数のスレッドで同時に実行されるため、コードは進行状況をファイル名で追跡するようにし、通常のマルチスレッドの問題に備えるようにする必要があります。 このコールバックは、転送の開始時に 1 回、転送の終了時に 1 回呼び出されるため、長さが 0 のファイルではこのコールバックが 2 回呼び出されます。
- OnDeployExtraFileDetected: PC 上にないファイルが本体で検出されたことを示します。
- OnDeployExtraFileRemoved: Deploy への fRemoveExtraFiles パラメーターが TRUE に設定されていた場合、本体からファイルが削除されると、このコールバックが呼び出されます。
- OnDeployError は現在の実装では使用されませんが、将来の使用に備えて予約されています。
配置の全体的な進行状況を示したい場合、コードは、これまでに OnDeployFileProgress コールバックで指定されたさまざまなファイルの数を、OnDeployMetrics コールバックに報告されたファイルの合計数の割合として報告する必要があります。
要件
ヘッダー: xtfapplication.h
ライブラリ: xtfapplication.lib
サポートされているプラットフォーム: Windows (Xbox 本体ツール用)