CertSrvRestoreGetDatabaseLocationsW (certbcli.h)
Fungsi CertSrvRestoreGetDatabaseLocations digunakan baik dalam skenario pencadangan maupun pemulihan dan mengambil daftar nama lokasi database Layanan Sertifikat untuk semua file yang dicadangkan atau dipulihkan.
Sintaks
HRESULT CERTBCLI_API CertSrvRestoreGetDatabaseLocationsW(
[in] HCSBC hbc,
[out] PWSTR *ppwszzDatabaseLocationList,
[out] DWORD *pcbSize
);
Parameter
[in] hbc
Handel ke konteks pencadangan atau pemulihan Layanan Sertifikat.
[out] ppwszzDatabaseLocationList
Penunjuk ke penunjuk WCHAR untuk menerima daftar nama lokasi database yang dihentikan null, nama direktori log, dan nama direktori sistem (atau titik pemeriksaan). Ada karakter null setelah setiap nama dan karakter null tambahan di akhir daftar. Nama lokasi akan berada dalam formulir UNC "## \\Server\SharePoint\... Jalur...\FileName.ext". Nama direktori akan memiliki formulir yang sama tetapi tanpa "\FileName.ext" berikutnya. Teks "##" menunjukkan jenis file Cadangan Layanan Sertifikat (CSBFT_*) dan disimpan sebagai karakter Unicode non-null tunggal yang diawali ke setiap jalur UNC. Tag jenis didefinisikan dalam Certbcli.h dan dapat menjadi salah satu nilai berikut untuk fungsi ini.
Anda harus membebaskan memori yang dialokasikan ini setelah selesai dengan memanggil CertSrvBackupFree.
Mengatur *ppwszzDatabaseLocationList ke NULL sebelum memanggil fungsi ini bersifat opsional.
[out] pcbSize
Penunjuk ke nilai DWORD yang menentukan jumlah byte dalam ppwszzDatabaseLocationList.
Mengembalikan nilai
Nilai yang dikembalikan adalah HRESULT. Nilai S_OK menunjukkan keberhasilan.
Keterangan
Layanan Sertifikat harus berjalan agar metode ini berhasil.
Nama fungsi ini dalam Certadm.dll adalah CertSrvRestoreGetDatabaseLocationsW. Anda harus menggunakan bentuk nama ini saat memanggil GetProcAddress. Selain itu, fungsi ini didefinisikan sebagai jenis FNCERTSRVRESTOREGETDATABASELOCATIONSW dalam file header Certbcli.h.
Contoh
FNCERTSRVRESTOREGETDATABASELOCATIONSW* pfnGetDBLocs;
char * szGetDBLocsFunc = "CertSrvRestoreGetDatabaseLocationsW";
WCHAR * pwszzDBLocs;
DWORD nListBytes=0;
HRESULT hr=0;
// Get the address for the desired function.
// hInst was set by calling LoadLibrary for Certadm.dll.
pfnGetDBLocs = (FNCERTSRVRESTOREGETDATABASELOCATIONSW*)
GetProcAddress(hInst, szGetDBLocsFunc);
if ( NULL == pfnGetDBLocs )
{
printf("Failed GetProcAddress - %s, error=%d\n",
szGetDBLocsFunc,
GetLastError() );
exit(1); // Or other appropriate error action.
}
// Determine the names of the database locations.
// hCSBC was set by an earlier call to CertSrvRestorePrepare.
hr = pfnGetDBLocs(hCSBC, &pwszzDBLocs, &nListBytes);
if (FAILED(hr))
{
printf("Failed pfnGetDBLocs call [%x]\n", hr);
exit(1); // Or other appropriate error action.
}
else
{
printf("%d bytes for DB locations\n", nListBytes);
WCHAR * pwszFile = pwszzDBLocs;
// Process the list.
while ( L'\0' != *pwszFile )
{
// Use the file name referenced by pwszFile.
// Here it is merely displayed.
printf("%02x: %ws\n", *pwszFile, &pwszFile[1]);
// Move to the next database file name.
// + 1 moves past the null terminator.
pwszFile+=(wcslen(pwszFile)) + 1;
}
// Free the allocated memory.
// pfnBackupFree is the address of the
// CertSrvBackupFree function.
pfnBackupFree(pwszzDBLocs);
}
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
Menggunakan Fungsi Pencadangan dan Pemulihan Layanan Sertifikat
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk