CertSrvBackupGetBackupLogsW 函式 (certbcli.h)

CertSrvBackupGetBackupLogs 函式會擷取需要針對指定備份內容備份的憑證服務記錄檔名稱清單。

語法

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

參數

[in] hbc

憑證服務備份內容的句柄。

[out] ppwszzBackupLogFiles

WCHAR 指標的指標,將接收以 Null 結尾的記錄檔名稱清單。 每個檔名後面都有 Null 字元,並在清單結尾有額外的 Null 字元。 檔名會以 UNC 格式 “## \\Server\SharePoint\...Path...\FileName.ext”。 目錄名稱的格式會相同,但沒有尾端 “\FileName.ext”。 文字 “##” 代表憑證服務備份文件類型 (CSBFT_*) ,並儲存為前面加上每個 UNC 路徑的單一非 Null Unicode 字元。 此類型標籤定義於 Certbcli.h 中,而且可以為此函式的下列其中一個值。

意義
CSBFT_LOG
憑證服務資料庫記錄檔名稱,包括路徑。
CSBFT_PATCH_FILE
憑證服務資料庫更新檔案的名稱,包括路徑。

Windows Server 2003: 不會使用資料庫更新檔案。

 

當您完成使用此配置的記憶體時,請呼叫 CertSrvBackupFree 函式來釋放它。

在呼叫此函式之前,將 ppwszzBackupLogFiles 設定為 NULL 是選擇性的。

[out] pcbSize

DWORD 值的指標,指定 ppwszzBackupLogFiles 中的位元元組數目。

傳回值

傳回值為 HRESULT值S_OK表示成功。

備註

記錄檔代表 (要求提交、證書撤銷等) 自上次截斷記錄檔之後發生的資料庫活動。 記錄檔磁碟區會在資料庫活動發生時增加。 執行備份,然後呼叫 CertSrvBackupTruncateLogs,即可縮小記錄檔的大小。

此函式在 Certadm.dll 中的名稱是 CertSrvBackupGetBackupLogsW。 呼叫 GetProcAddress 時,您必須使用此形式的名稱。 此外,此函式會定義為 Certbcli.h 頭檔中 的 FNCERTSRVBACKUPGETBACKUPLOGSW 類型。

範例

FNCERTSRVBACKUPGETBACKUPLOGSW* pfnGetBackupLogs;
char * szGetBackupLogsFunc = "CertSrvBackupGetBackupLogsW";

WCHAR *    pwszzLogFiles;

DWORD      nListBytes=0;

HRESULT    hr=0;

// Get the address for the desired function.
// hInst was set by calling LoadLibrary for Certadm.dll.
pfnGetBackupLogs = (FNCERTSRVBACKUPGETBACKUPLOGSW*)GetProcAddress
    (hInst, szGetBackupLogsFunc);
if ( NULL == pfnGetBackupLogs )
{
    printf("Failed GetProcAddress - %s, error=%d\n",
           szGetBackupLogsFunc,
           GetLastError() );
    exit(1); // Or other appropriate error action.
}

// Determine the names of the log files.
// hCSBC was set by an earlier call to CertSrvbackupPrepare.
hr = pfnGetBackupLogs(hCSBC, &pwszzLogFiles, &nListBytes);
if (FAILED(hr))
{
    printf("Failed pfnGetBackupLogs call [%x]\n", hr);
    exit(1); // Or other appropriate error action.
}
else
{
    printf("%d bytes for log file names\n", nListBytes);
    WCHAR * pwszLog = pwszzLogFiles;
    // Process the list.
    while ( L'\0' != *pwszLog )
    {
        // Use the file name referenced by pwszLog.
        // Here it is merely displayed.
        printf("%02x: %ws\n", *pwszLog, &pwszLog[1]);
        // Move to the next logfile name.
        // + 1 moves past the null terminator.
        pwszLog+=(wcslen(pwszLog)) + 1; 
    }

    // Free the allocated memory.
    // pfnBackupFree is the address of the CertSrvBackupFree
	   // function.
    pfnBackupFree(pwszzLogFiles);
}

規格需求

需求
最低支援的用戶端 都不支援
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 certbcli.h (包含 Certsrv.h)
程式庫 Certadm.lib
Dll Certadm.dll

另請參閱

CertSrvBackupFree

CertSrvBackupOpenFile

CertSrvBackupTruncateLogs

使用憑證服務備份和還原函式