Bagikan melalui


Metode IVssBackupComponents::AddAlternativeLocationMapping (vsbackup.h)

Metode AddAlternativeLocationMapping digunakan oleh pemohon untuk menunjukkan bahwa pemetaan lokasi alternatif digunakan untuk memulihkan semua anggota file yang ditetapkan dalam komponen tertentu.

Sintaks

HRESULT AddAlternativeLocationMapping(
  [in] VSS_ID             writerId,
  [in] VSS_COMPONENT_TYPE componentType,
  [in] LPCWSTR            wszLogicalPath,
  [in] LPCWSTR            wszComponentName,
  [in] LPCWSTR            wszPath,
  [in] LPCWSTR            wszFilespec,
  [in] bool               bRecursive,
  [in] LPCWSTR            wszDestination
);

Parameter

[in] writerId

Pengidentifikasi unik global (GUID) dari kelas penulis yang mengekspor komponen.

[in] componentType

Jenis komponen. Nilai yang mungkin dari parameter ini ditentukan oleh enumerasi VSS_COMPONENT_TYPE .

[in] wszLogicalPath

String karakter lebar yang dihentikan null yang berisi jalur logis ke komponen.

Untuk informasi selengkapnya, lihat Jalur Logis Komponen.

Jalur logika bisa NULL.

Tidak ada batasan pada karakter yang dapat muncul di jalur logika non-NULL .

[in] wszComponentName

String karakter lebar yang dihentikan null yang berisi nama komponen.

Tidak ada batasan pada karakter yang dapat muncul di jalur logika non-NULL .

[in] wszPath

String karakter lebar yang dihentikan null yang berisi jalur ke direktori yang awalnya berisi file yang akan direlokasi. Jalur ini bisa lokal ke komputer VSS, atau bisa menjadi direktori berbagi file pada server file jarak jauh.

Jalur dapat berisi variabel lingkungan (misalnya, %SystemRoot%) tetapi tidak boleh berisi karakter kartubebas. Jalur UNC didukung.

Tidak ada persyaratan bahwa jalur berakhir dengan garis miring terbelakang (""). Terserah aplikasi yang mengambil informasi ini untuk diperiksa.

[in] wszFilespec

String karakter lebar yang dihentikan null yang berisi spesifikasi file asli.

Spesifikasi file tidak boleh berisi spesifikasi direktori (misalnya, tidak ada garis miring terbelakang) tetapi dapat berisi ? dan * karakter kartubebas.

[in] bRecursive

Nilai Boolean yang menunjukkan apakah jalur yang ditentukan oleh parameter wszPath hanya mengidentifikasi satu direktori atau jika menunjukkan hierarki direktori yang akan dilalui secara rekursif. Parameter ini harus diatur ke true jika jalur diperlakukan sebagai hierarki direktori untuk dilalui secara rekursif, atau salah jika tidak.

Untuk informasi tentang melintas folder yang dipasang, lihat Bekerja dengan Folder terpasang dan Reparse Points.

[in] wszDestination

String karakter lebar yang dihentikan null yang berisi nama direktori tempat file akan direlokasi. Jalur ini bisa lokal ke komputer VSS, atau bisa menjadi direktori berbagi file pada server file jarak jauh. Jalur UNC didukung.

Nilai kembali

Berikut ini adalah kode pengembalian yang valid untuk metode ini.

Nilai Makna
S_OK
Berhasil menambahkan pemetaan lokasi alternatif.
E_INVALIDARG
Salah satu nilai parameter tidak valid.
E_OUTOFMEMORY
Pemanggil kehabisan memori atau sumber daya sistem lainnya.
VSS_E_BAD_STATE
Objek komponen cadangan tidak diinisialisasi, metode ini telah dipanggil selama operasi pemulihan, atau metode ini belum dipanggil dalam urutan yang benar.
VSS_E_INVALID_XML_DOCUMENT
Dokumen XML tidak valid. Periksa log peristiwa untuk detailnya. Untuk informasi selengkapnya, lihat Penanganan Peristiwa dan Kesalahan di bawah VSS.
VSS_E_OBJECT_NOT_FOUND
Komponen yang ditentukan tidak ada.
VSS_E_UNEXPECTED
Kesalahan tak terduga. Kode kesalahan dicatat dalam file log kesalahan. Untuk informasi selengkapnya, lihat Penanganan Peristiwa dan Kesalahan di bawah VSS.

Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: Nilai ini tidak didukung sampai Windows Server 2008 R2 dan Windows 7. E_UNEXPECTED digunakan sebagai gantinya.

Keterangan

Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows XP, dan Windows Server 2003: Berbagi file jarak jauh tidak didukung hingga Windows 8 dan Windows Server 2012.

Parameter writerId, componentType, wszLogicalPath, dan wszComponentName mengidentifikasi komponen tertentu, dan parameter wszPath, wszFilespec, dan bRecursive mengidentifikasi kumpulan file milik komponen tersebut.

Kombinasi jalur, spesifikasi file, dan bendera rekursi (wszPath, wszFilespec, dan bRecursive, masing-masing) yang disediakan untuk AddAlternativeLocationMapping yang akan dipetakan harus cocok dengan salah satu set file yang ditambahkan ke komponen menggunakan IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles, atau IVssCreateWriterMetadata::AddDatabaseLogFiles.

Karena AddAlternativeLocationMapping digunakan untuk memberi tahu penulis bahwa lokasi alternatif digunakan untuk memulihkan semua file dalam komponen, itu tidak boleh dipanggil untuk komponen atau file apa pun dalam komponen yang belum memiliki pemetaan lokasi alternatif yang ditentukan.

Nilai wszPath akan dipetakan ke wszDestination pada pemulihan; namun, nama file dan subdirektori di bawah jalur asli mempertahankan nama yang sama.

Penggunaan khas AddAlternativeLocationMapping selama pemulihan mungkin sebagai berikut:

  1. Ambil Dokumen Metadata Penulis yang disimpan dari media cadangan dan muat informasi tersebut dengan IVssExamineWriterMetadata::LoadFromXML.
  2. Panggil IVssExamineWriterMetadata::GetAlternateLocationMapping untuk mendapatkan antarmuka IVssWMFiledesc dengan informasi pemetaan dan gunakan IVssWMFiledesc::GetAlternateLocation untuk mendapatkan lokasi alternatif.
  3. Periksa informasi filedesc untuk menentukan komponen mana yang harus diterapkan pemetaan lokasi alternatif ini.
  4. Panggil IVssBackupComponents::AddAlternativeLocationMapping untuk berkomunikasi di mana file dipulihkan.
File harus selalu dipulihkan ke pemetaan lokasi alternatifnya jika salah satu dari berikut ini benar:
  • Metode pemulihan (diatur pada waktu pencadangan) VSS_RME_RESTORE_TO_ALTERNATE_LOCATION.
  • Target pemulihannya disetel (pada waktu pemulihan) ke VSS_RT_ALTERNATE.
Dalam kedua kasus, jika tidak ada pemetaan lokasi alternatif yang valid yang ditentukan ini merupakan kesalahan penulis.

File dapat dipulihkan ke pemetaan lokasi alternatif jika salah satu dari berikut ini benar:

  • Metode pemulihan VSS_RME_RESTORE_IF_NOT_THERE dan versi file sudah ada pada disk.
  • Metode pemulihan VSS_RME_RESTORE_IF_CAN_REPLACE dan versi file ada pada disk dan tidak dapat diganti.
Sekali lagi, jika tidak ada pemetaan lokasi alternatif yang valid yang ditentukan ini merupakan kesalahan penulis.

Pemetaan lokasi alternatif hanya digunakan selama operasi pemulihan dan tidak boleh dikacaukan dengan jalur alternatif, yang hanya digunakan selama operasi pencadangan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header vsbackup.h (termasuk VsBackup.h, Vss.h, VsWriter.h)
Pustaka VssApi.lib

Lihat juga

IVssBackupComponents

IVssWMFiledesc::GetAlternateLocation

VSS_COMPONENT_TYPE