Używanie składników przez żądającego
Oprócz wykonywania kopii zapasowej lub przywracania i nadzorowania kopii w tle, żądający musi zarządzać informacjami o składnikach składników, z którymi wchodzi w interakcję. Wybór składnika i ścieżka logiczna służą do dołączania lub wykluczania danych z kopii zapasowej oraz do decydowania, jakie informacje o składnikach znajdują się w dokumencie Składniki kopii zapasowej.
Wybór składnika żądania podczas tworzenia kopii zapasowej
Podczas operacji tworzenia kopii zapasowej moduł żądający importuje dane składnika metadanych modułu zapisywania przy użyciu metod IVssBackupComponents::GatherWriterMetadata i IVssBackupComponents::GetWriterMetadata metod (zobacz Omówienie inicjowania kopii zapasowej, aby uzyskać więcej informacji).
Po zbadaniu informacji o autorze za pomocą interfejsu IVssExamineWriterMetadata, żądający decyduje, których autorów będzie wspierał kopią zapasową, oraz w ograniczonym zakresie, które składniki danego autora objąć kopią zapasową.
Podczas tworzenia kopii zapasowej modułu zapisywania żądający:
- Należy jawnie uwzględnić wszystkich składników zapisywania, które nie można wybrać dla składników kopii zapasowej bez możliwości wyboru elementów podrzędnych kopii zapasowych przy użyciu IVssBackupComponents::AddComponent, aby dodać składnik do dokumentu Składniki kopii zapasowej
- Może jawnie dołączyć dowolny z komponentów zapasowych wybieranych przez twórcę do składników kopii zapasowej, korzystając z IVssBackupComponents::AddComponent, aby dodać komponent do dokumentu Składniki kopii zapasowej
- Jeśli składnik, który można wybrać do kopii zapasowej, definiuje zestaw składników , to jego jawne uwzględnienie zawiera niejawnie wszystkich członków tego zestawu — bez względu na to, czy można ich wybrać do kopii zapasowej, czy nie. Te składniki nie są dodawane do dokumentu Składniki kopii zapasowej.
W dodawaniu elementu możliwego do wybrania dla składnika kopii zapasowej lub elementu niewybieralnego dla składników kopii zapasowej bez możliwych do wybrania elementów nadrzędnych kopii zapasowej do jego Dokumentu Składników Kopii Zapasowej, żądający określa następujące elementy:
- Przypadek pisarza zarządzającego składnikiem
- Identyfikator klasy pisarza
- Ścieżka logiczna składnika (która może być NULL)
- Nazwa składnika
Jeśli składnik nie jest zgodny ze specyfikacją, zostanie zwrócony błąd.
Jeśli taki składnik istnieje, usługa VSS tworzy interfejs IVssComponent dla składnika w dokumencie Składniki kopii zapasowej. Te informacje będą dostępne i modyfikowalne przez autora i osobę żądającą. W przypadku wybranego składnika, który definiuje zestaw składników , opisuje nie tylko właściwości składnika, ale także wszystkie podskładniki, które zawiera.
Informacje o niejawnie dodanych składnikach nie są dostępne w dokumencie Składniki kopii zapasowej. Ponadto żadne informacje o pliku nie są dostępne w dokumencie Składniki kopii zapasowej. Aby uzyskać te informacje, żądający będzie musiał zbadać dokumenty metadanych zapisywania (które zostały już odczytane) w kontekście wybranych składników przechowywanych w Dokumencie Składników Kopii Zapasowej.
Wybór składnika żądania podczas przywracania
Podczas operacji przywracania moduł żądający nie powinien importować informacji o składnikach z składników zapisywania aktualnie aktywnych w systemie za pośrednictwem IVssBackupComponents::GatherWriterMetadata, ponieważ stan aktualnie wykonywanych procesów nie musi odzwierciedlać stanu procesów podczas tworzenia kopii zapasowej.
Powinien on nadal generować zdarzenie za pośrednictwem IVssBackupComponents::GatherWriterMetadata, zarówno w celu utworzenia zdarzenia identyfikacji, jak i określenia, które elementy są obecnie w systemie i ich stanu.
Obiekt żądający pobiera przechowywany dokument składników kopii zapasowej podczas inicjowania, a także przechowywane dokumenty metadanych składnika zapisywania (zobacz Omówienie inicjowania przywracania, aby uzyskać więcej informacji).
Dołączenie składników podczas tworzenia kopii zapasowej jest w dużej mierze takie samo jak w przypadku przywracania, z tą różnicą, że należy rozważyć jako opcję przywracania, razem ze ścieżką logiczną — nie są natomiast one wybieralne dla kopii zapasowej .
Istnieją jednak pewne różnice:
- Jeśli składnik został już jawnie dołączony do dokumentu Składniki kopii zapasowej podczas tworzenia kopii zapasowej, jeśli jest dołączany do przywracania (jawnie lub niejawnie), IVssBackupComponents::SetSelectedForRestore jest używany do jawnego dodawania go do dokumentu Składniki kopii zapasowej do przywrócenia.
- Jeśli składnik został niejawnie dołączony do kopii zapasowej i nie można go wybrać do przywracania z żadnymi nadrzędnymi komponentami do przywracania, co w przypadku kopii zapasowej oznaczałoby potrzebę jawnego dołączenia, to składnik nie jest jawnie dołączany (czyli nie jest dodawany do dokumentu Składniki kopii zapasowej przy użyciu IVssBackupComponents::SetSelectedForRestore). Taki składnik należy uznać za domyślnie wybrany do przywracania.
- Spośród tych składników niejawnie wybranych do tworzenia kopii zapasowej (niezależnie od tego, czy ten składnik można wybrać do kopii zapasowej, czy nie), tylko te, które można wybrać do przywracania, mogą być dodane do dokumentu Składniki Kopii Zapasowej przy użyciu IVssBackupComponents::AddRestoreSubcomponent.
- Można wybrać składniki do przywracania, które mogą zdefiniować zestaw składników do przywrócenia — tak samo jak można wybrać składniki do kopii zapasowej. Ten wybieralny składnik do przywracania następnie definiuje ten zestaw składników dla operacji przywracania.
Pisarz, który nie ma jawnie wybranych składników do przywracania przed wygenerowaniem zdarzenia PreRestore, nie będzie odbierał żadnych zdarzeń usługi VSS.
Żądający i autorzy mogą uzyskiwać dostęp do przechowywanych informacji o składnikach przy użyciu interfejsu IVssComponent. Za pomocą interfejsu IVssComponent autorzy mogą jawnie modyfikować niektóre ustawienia składników wyraźnie uwzględnionych w Dokumencie Składników Kopii Zapasowej, aby wspierać proces przywracania (takich jak docelowe lokalizacje przywracania). Jeśli definiuje zestaw składników, modyfikacje dokonane przez autora na jawnie dołączonym składniku będą propagować się do jego składników podrzędnych. Ponadto interfejs udostępnia mechanizm przekazywania informacji o powodzeniu i niepowodzeniu przywracania między zapisującym a żądającym.
Podobnie jak podczas tworzenia kopii zapasowej, w dokumencie Składniki kopii zapasowej nie ma wystarczających informacji w celu zaimplementowania przywracania. Dokumenty metadanych zapisujących będą ponownie wymagane do dostarczenia informacji o rzeczywistych ścieżkach plików do przywrócenia oraz do odnalezienia składników, które, choć niewybieralne, są częścią zestawu składników do wyboru i w związku z tym muszą zostać przywrócone.
Zobacz Praca z możliwościami wybierania i ścieżkami logicznymi, aby uzyskać informacje o typach możliwości wyboru i ich użyciu.
Użycie informacji o dokumencie komponentu Writer przez wnioskodawcę
Każdy składnik jest jednoznacznie identyfikowany przez identyfikator klasy składnika zapisywania składnika zapisywania nadrzędnego, jego nazwy i ścieżki logicznej .
Obiekt żądający może użyć interfejsu IVssWriterComponentsExt zwróconego przez metodę IVssBackupComponents::GetWriterComponents w celu uzyskania informacji o każdym przechowywanym składniku.
Nazwę składnika i ścieżkę logiczną (między innymi) można znaleźć za pośrednictwem interfejsu IVssComponent zwróconego przez IVssWriterComponentsExt::GetComponent.
Notatka
W fazie przywracania obiekt żądający powinien wywołać IVssWriterComponentsExt::GetComponent lub IVssWriterComponentsExt::GetComponentCount dopiero po tym, jak wywołanie IVssBackupComponents::PreRestore zostanie zwrócone, aby dać czas skomponentowi piszącemu na aktualizację dokumentu składników kopii zapasowej. Przykładem takiej aktualizacji jest zmiana celu przywracania.
Informacje o autorze nadrzędnym każdego z przechowywanych składników z możliwością wyboru można znaleźć przy użyciu IVssWriterComponentsExt::GetWriterInfo.
Dzięki tym informacjom można wykonywać zapytania dotyczące dokumentów metadanych autora i identyfikować pasujący dokument. Następnie przy użyciu ścieżki logicznej , żądający może zidentyfikować zależne niewybieralne składniki dla każdego wybranego składnika — to znaczy, że można zidentyfikować wszystkich członków zestawu składników wybranego składnika .
Korzystając z interfejsuIVssExamineWriterMetadata, żądający ma teraz pełne informacje o składnikach — w tym specyfikację ścieżki (z interfejsu IVssWMComponent) — zarówno dla wybranych, jak i niewyznawalnych składników, których kopia zapasowa musi zostać utworzona lub przywrócona.
Jest to jeden z powodów, dla których ważne jest, aby żądający zapisał zarówno stan własnego Dokumentu Składników Kopii Zapasowej, jak i Dokumenty Metadanych Autorów, które są objęte kopią zapasową.
Aby uzyskać bardziej szczegółowe informacje, zobacz Praca z możliwościami wyboru i ścieżkami logicznymi.