共用方式為


CertSrvBackupGetDynamicFileListW 函式 (certbcli.h)

CertSrvBackupGetDynamicFileList 函式會擷取憑證服務動態檔名清單,這些名稱必須針對指定的備份內容進行備份。 動態檔案是憑證服務資料庫備份中未包含的檔案。

語法

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

參數

[in] hbc

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

[out] ppwszzFileList

WCHAR 指標的指標,將接收憑證服務所使用的Null終止動態檔名清單。 每個檔名後面都有 Null 字元,並在清單結尾有額外的 Null 字元。 檔名會以 UNC 格式 “\\Server\SharePoint\...Path...\FileName.ext”。 當您完成使用此配置的記憶體時,請呼叫 CertSrvBackupFree 函式來釋放它。

呼叫此函式之前,請將 *ppwszzFileList 設定為 NULL 是選擇性的。

[out] pcbSize

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

傳回值

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

備註

使用此函式來擷取憑證服務動態檔名的清單。 這些檔案與憑證服務資料庫和記錄檔不同,而且憑證服務備份 API 不會備份這些檔案。 因此,其他一些方法必須用來備份動態檔案。 憑證服務動態檔案的範例是證書 吊銷清單 (CRL) 。

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

範例

FNCERTSRVBACKUPGETDYNAMICFILELISTW* pfnGetDynFiles;
char * szGetDynFilesFunc = "CertSrvBackupGetDynamicFileListW";
WCHAR *    pwszzDynFiles;
DWORD      nListBytes=0;
HRESULT    hr=0;

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

// Determine the names of the dynamic files.
// hCSBC was set by an earlier call to CertSrvBackupPrepare.
hr = pfnGetDynFiles(hCSBC, &pwszzDynFiles, &nListBytes);
if (FAILED(hr))
{
    printf("Failed pfnGetDynFiles call [%x]\n", hr);
    exit(1); // Or other appropriate error action.
}
else
{
    printf("%d bytes for dynamic file names\n", nListBytes);
    WCHAR * pwszFile = pwszzDynFiles;
    // Process the list.
    while ( L'\0' != *pwszFile )
    {
        // Use the file name referenced by pwszFile.
        // Here it is merely displayed.
        printf("%ws\n", pwszFile);
        // Move to the next dynamic 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(pwszzDynFiles);
}

規格需求

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

另請參閱

CertSrvBackupFree

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