Fungsi CertSrvBackupGetDatabaseNamesW (certbcli.h)

Fungsi CertSrvBackupGetDatabaseNames mengambil daftar nama file database Layanan Sertifikat yang perlu dicadangkan untuk konteks pencadangan yang diberikan.

Sintaks

HRESULT CERTBCLI_API CertSrvBackupGetDatabaseNamesW(
  [in]  HCSBC hbc,
  [out] PWSTR *ppwszzAttachmentInformation,
  [out] DWORD *pcbSize
);

Parameter

[in] hbc

Handel ke konteks pencadangan Layanan Sertifikat.

[out] ppwszzAttachmentInformation

Penunjuk ke penunjuk WCHAR yang akan menerima daftar nama file database yang dihentikan null. Ada karakter null setelah setiap nama file dan karakter null ekstra di akhir daftar. Nama file akan berada dalam bentuk 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 nilai berikut untuk fungsi ini.

Nilai Makna
CSBFT_CERTSERVER_DATABASE
Nama file database Layanan Sertifikat termasuk jalur.
 

Anda harus membebaskan memori yang dialokasikan ini ketika dilakukan dengan memanggil CertSrvBackupFree. Sebelum memanggil fungsi ini, mengatur *ppwszzAttachmentInformation ke NULL bersifat opsional.

[out] pcbSize

Penunjuk ke nilai DWORD yang menentukan jumlah byte dalam ppwszzAttachmentInformation.

Mengembalikan nilai

Nilai yang dikembalikan adalah HRESULT. Nilai S_OK menunjukkan keberhasilan.

Keterangan

Nama fungsi ini dalam Certadm.dll adalah CertSrvBackupGetDatabaseNamesW. Anda harus menggunakan bentuk nama ini saat memanggil GetProcAddress. Selain itu, fungsi ini didefinisikan sebagai jenis FNCERTSRVBACKUPGETDATABASENAMESW dalam file header Certbcli.h.

Contoh

FNCERTSRVBACKUPGETDATABASENAMESW* pfnGetDBNames;
char * szGetDBNamesFunc = "CertSrvBackupGetDatabaseNamesW";
WCHAR *    pwszzDBFiles;
DWORD      nListBytes=0;
HRESULT    hr=0;

// Get the address for the desired function.    
// hInst was set by calling LoadLibrary for Certadm.dll.
pfnGetDBNames = (FNCERTSRVBACKUPGETDATABASENAMESW*)
    GetProcAddress(hInst, szGetDBNamesFunc);

if ( NULL == pfnGetDBNames )
{
    printf("Failed GetProcAddress - %s, error=%d\n",
           szGetDBNamesFunc,
           GetLastError() );
    exit(1); // Or other appropriate error action.
}

// Determine the names of the database files.
// hCSBC was set by an earlier call to CertSrvBackupPrepare
hr = pfnGetDBNames(hCSBC, &pwszzDBFiles, &nListBytes);
if (FAILED(hr))
{
    printf("Failed pfnGetDBNames call [%x]\n", hr);
    exit(1); // Or other appropriate error action.
}
else
{
    printf("%d bytes for DB file names\n", nListBytes);
    WCHAR * pwszFile = pwszzDBFiles;
    // 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(pwszzDBFiles);
}

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

CertSrvBackupFree

CertSrvBackupOpenFile

Menggunakan Fungsi Pencadangan dan Pemulihan Layanan Sertifikat