Fungsi CertSrvRestoreRegisterW (certbcli.h)

Fungsi CertSrvRestoreRegister mendaftarkan pemulihan Layanan Sertifikat.

Sintaks

HRESULT CERTBCLI_API CertSrvRestoreRegisterW(
  [in] HCSBC            hbc,
  [in] WCHAR const      *pwszCheckPointFilePath,
  [in] WCHAR const      *pwszLogPath,
  [in] CSEDB_RSTMAPW [] rgrstmap,
  [in] LONG             crstmap,
  [in] WCHAR const      *pwszBackupLogPath,
  [in] ULONG            genLow,
  [in] ULONG            genHigh
);

Parameter

[in] hbc

Handel ke konteks pemulihan Layanan Sertifikat. Handel ini diperoleh dengan memanggil fungsi CertSrvRestorePrepare .

[in] pwszCheckPointFilePath

Penunjuk ke string Unicode yang dihentikan null yang berisi jalur pemulihan untuk file titik pemeriksaan. Teruskan NULL untuk parameter ini jika tidak diperlukan.

[in] pwszLogPath

Penunjuk ke string Unicode yang dihentikan null yang berisi direktori file log saat ini. Teruskan NULL untuk parameter ini jika tidak diperlukan.

[in] rgrstmap

Array struktur CSEDB_RSTMAP yang berisi peta pemulihan. Jika Anda melakukan pemulihan database lengkap, parameter ini menentukan nama database cadangan, serta nama baru untuk database setelah dipulihkan. Nama database cadangan dirujuk oleh anggota pwszDatabaseName , dan nama database baru dirujuk oleh anggota pwszNewDatabaseName . Jika niatnya adalah mempertahankan nama yang sama untuk database cadangan dan database yang dipulihkan, atur pwszNewDatabaseName dan anggota pwszDatabaseName ke nama yang sama. Nama database cadangan dibangun dari jalur yang dikembalikan oleh panggilan klien cadangan ke fungsi CertSrvRestoreGetDatabaseLocations . CertSrvRestoreGetDatabaseLocations akan dipanggil selama pencadangan penuh, dan klien cadangan akan menyimpan jalur yang dikembalikan.

Jika Anda melakukan pemulihan inkremental, berikan NULL untuk parameter ini.

[in] crstmap

Jumlah elemen dalam array rgrstmap . Berikan nol untuk parameter ini jika Anda melakukan pemulihan bertahap.

[in] pwszBackupLogPath

Penunjuk ke string Unicode yang dihentikan null yang berisi jalur untuk direktori log cadangan. Teruskan NULL untuk parameter ini jika tidak diperlukan.

[in] genLow

Nomor log terendah yang dipulihkan dalam sesi pemulihan ini. File log dalam bentuk edbXXXXX.log, di mana XXXXX adalah nilai lima digit heksadesimal. Misalnya, edb00001.log adalah file log pertama yang dibuat oleh database internal. Untuk tujuan fungsi ini, nilai satu dalam genLow sesuai dengan file log edb00001.log.

[in] genHigh

Nomor log tertinggi yang dipulihkan dalam sesi pemulihan ini.

Nilai kembali

Nilai yang dikembalikan adalah HRESULT. Nilai S_OK menunjukkan keberhasilan.

Keterangan

Gunakan fungsi ini untuk mendaftarkan operasi pemulihan. Semua operasi pemulihan berikutnya akan di-interlock. Target pemulihan akan dicegah memulai (atau berhasil menjalankan panggilan lain ke CertSrvRestoreRegister) hingga CertSrvRestoreRegisterComplete dipanggil.

Saat memulihkan lebih dari satu cadangan inkremental, urutan pencadangan inkremental terdaftar tidak masalah. Namun, cadangan database lengkap harus didaftarkan sebelum mendaftarkan cadangan inkremental.

Fungsi ini mengharuskan akun panggilan menjadi administrator lokal. Jika ini tidak praktis, gunakan fungsi CertSrvRestoreRegisterThroughFile sebagai gantinya. Fungsi CertSrvRestoreRegisterThroughFile hanya mengharuskan akun panggilan memiliki hak istimewa pemulihan.

Contoh

// szMyDBName is the returned path from the backup client's
// call to CertSrvRestoreGetDatabaseLocations. This value would
// have been saved during a full backup operation.
CSEDB_RSTMAP rgrstmap[1] = 
{ 
    szMyDBName, // database name
    szMyDBName  // new name same as old
};

HRESULT hr = 0;

// Register a restore operation.
// hsb is an HCSBC created previously by CertSrvRestorePrepare.
hr = CertSrvRestoreRegister( 
    hsb,
    NULL,
    szMyRestoreLogPath, // defined elsewhere
    rgrstmap,
    1,
    szMyBackupLogPath, // defined elsewhere
    1,    // edb00001.log
    0x1a  // edb0001a.log
    );

if (S_OK != hr)
{
    printf("Failed CertSrvRestoreRegister - %x\n", hr);
    exit(1); // Or other appropriate error action.
}

// Continue processing.
// When done, call CertSrvRestoreRegisterComplete (not shown).
// ...

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tidak ada yang didukung
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header certbcli.h (termasuk Certsrv.h)
Pustaka Certadm.lib
DLL Certadm.dll

Lihat juga

CertSrvRestoreRegisterComplete

CertSrvRestoreRegisterThroughFile

Menggunakan Fungsi Pencadangan dan Pemulihan Layanan Sertifikat