キュー コミットメントの順序
SetupCommitFileQueue 関数は、ファイル キューをコミットすると、ファイルの削除操作、ファイル名の変更操作、最後にファイルのコピー操作の順にファイル操作を処理します。 次のアウトラインは、キューのコミットメント プロセスのライフ サイクルを示しています。
- 削除サブキューを開始する
- ファイル削除操作 <を開始する -- それぞれについて繰り返します
- ファイル削除操作 <を完了する -- キューに登録されたファイルの削除
- 削除サブキューを完了する
- 名前変更サブキューを開始する
- ファイル名の変更操作 <を開始する -- それぞれについて繰り返します
- ファイルの削除操作 <を完了する -- キューに登録されたファイル名の変更
- 名前の変更サブキューを終了する
- コピー サブキューを開始する
- ファイル コピー操作 <を開始する -- それぞれについて繰り返します
- ファイル コピー操作 <を完了する -- キューに入れたファイル コピー
- コピー サブキューを終了する
- キューを終了する
各ステップで、またはエラーが発生した場合、 SetupCommitFileQueue 関数はコールバック ルーチンに通知を送信します。 コールバック ルーチンは、キューから送信された情報を使用してインストールの進行状況を追跡し、必要に応じてユーザーと対話できます。
たとえば、ファイル コピー操作で現在のパスで使用できないソース ファイルが必要な場合、 SetupCommitFileQueue は、必要なファイルとメディアに関する情報と共に、コールバック ルーチンにSPFILENOTIFY_NEEDMEDIA通知を送信します。 コールバック ルーチンは、この情報を使用して、SetupPromptForDisk を呼び出して次のディスクを挿入するようにユーザーに求めるダイアログ ボックスを生成できます。
既定のキュー コールバック ルーチン SetupDefaultQueueCallback は、セットアップ API に含まれています。 このルーチンは、キュー通知を処理し、インストールのエラー ダイアログ ボックスと進行状況バーを生成します。 既定のキュー コールバック ルーチンをそのまま使用するか、フィルター コールバック ルーチンを記述して通知のサブセットを処理し、他のルーチンを既定のキュー コールバック ルーチンに渡すことができます。
コールバック ルーチンのどの機能もニーズに合わない場合は、既定のキュー コールバック ルーチンを呼び出さない自己完結型のカスタム コールバック ルーチンを記述できます。
キュー コールバック ルーチンの詳細については、「 既定のキュー コールバック ルーチン」および「 カスタム キュー コールバック ルーチンの作成」を参照してください。