Udostępnij przez


Kolejność zobowiązania w kolejce

Gdy funkcja SetupCommitFileQueue zatwierdza kolejkę plików, przetwarza operacje na plikach w następującej kolejności: operacje usuwania plików, a następnie operacje zmiany nazw plików, a na koniec operacje kopiowania plików. W poniższym konspekcie przedstawiono cykl życia procesu zobowiązania kolejki.

 

  • uruchamianie podzapytania usuwania
    • uruchom operację usuwania pliku <— powtórz dla każdego z nich
    • kończenie operacji usuwania pliku <— usuwanie pliku w kolejce
  • kończenie kolejki usuwania
  • uruchamianie podzapytania zmiany nazwy
    • uruchom operację zmiany nazwy pliku <— powtórz dla każdego z nich
    • kończenie operacji usuwania pliku <— zmiana nazwy pliku w kolejce
  • kończenie podzapytania zmiany nazwy
  • uruchamianie podzapytania kopiowania
    • uruchom operację kopiowania plików <— powtórz dla każdego z nich
    • kończenie operacji kopiowania plików <— kopiowanie plików w kolejce
    • kończenie kolejki kopiowania
  • kończenie kolejki

 

W każdym kroku lub w przypadku wystąpienia błędu funkcja SetupCommitFileQueue wysyła powiadomienie do procedury wywołania zwrotnego. Procedury wywołania zwrotnego mogą używać informacji wysyłanych przez kolejkę do śledzenia postępu instalacji i, w razie potrzeby, interakcji z użytkownikiem.

Jeśli na przykład operacja kopiowania pliku wymaga pliku źródłowego, który nie był dostępny w bieżącej ścieżce, SetupCommitFileQueue wyśle powiadomienie SPFILENOTIFY_NEEDMEDIA do procedury wywołania zwrotnego wraz z informacjami o wymaganym pliku i nośniku. Procedury wywołania zwrotnego mogą użyć tych informacji do wygenerowania okna dialogowego z monitem użytkownika o wstawienie następnego dysku przez wywołanie SetupPromptForDisk

Domyślna rutyna wywołania zwrotnego kolejki, SetupDefaultQueueCallback, jest dołączona do interfejsu API instalacji. Ta rutyna obsługuje powiadomienia kolejki i generuje okna dialogowe błędów i paski postępu instalacji. Możesz użyć domyślnej procedury wywołania zwrotnego kolejki, tak jak to jest, lub napisać procedurę wywołania zwrotnego filtru do obsługi podzestawu powiadomień i przekazać inne do domyślnej procedury wywołania zwrotnego kolejki.

Jeśli żadna z funkcji procedury wywołania zwrotnego nie odpowiada Twoim potrzebom, możesz napisać samodzielną niestandardową procedurę wywołania zwrotnego, która nie wywołuje domyślnej procedury wywołania zwrotnego kolejki.

Aby uzyskać więcej informacji na temat procedur wywołania zwrotnego kolejki, zobacz Domyślne procedury wywołania zwrotnego kolejkii Tworzenie niestandardowej procedury wywołania zwrotnego kolejki.