CertSrvBackupOpenFileW 函式 (certbcli.h)

CertSrvBackupOpenFile 函式會開啟要備份的檔案。

語法

HRESULT CERTBCLI_API CertSrvBackupOpenFileW(
  [in]  HCSBC         hbc,
  [in]  WCHAR const   *pwszAttachmentName,
  [in]  DWORD         cbReadHintSize,
  [out] LARGE_INTEGER *pliFileSize
);

參數

[in] hbc

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

[in] pwszAttachmentName

要開啟以供備份之用的檔名。 此檔名會從 CertSrvBackupGetBackupLogsCertSrvBackupGetDatabaseNames 所產生的清單進行剖析。 請注意, CertSrvBackupGetBackupLogsCertSrvBackupGetDatabaseNames 所傳回的名稱,在呼叫 CertSrvBackupOpenFile 之前,必須具有單一 WCHAR CSBFT_* 前置詞。

[in] cbReadHintSize

當 CertSrvBackupRead 讀取檔案時,用來作為提示的位元元組數目。 傳遞至備份內容之第一個 CertSrvBackupOpenFile 呼叫的 cbReadHintSize 參數會用來調整讀取緩衝區的大小。 針對此參數傳遞零,且緩衝區的大小會以 CertSrvBackupOpenFile 所選擇的合理大小來重設大小。 如果記憶體不足可用,則緩衝區大小將會減少,直到記憶體配置成功或緩衝區大小達到其最小可能值為止。 傳遞非零大小,讓 CertSrvBackupOpenFile 將緩衝區大小調整為接近 cbReadHintSize 值的兩個乘冪。 實作只會選擇介於 64 KB 到 4 MB 之間兩個的乘冪。

[out] pliFileSize

LARGE_INTEGER 值的指標 ,表示檔案中的位元元組數目。

傳回值

如果函式成功,函式會傳回S_OK。

如果函式失敗,它會傳回 HRESULT 值,指出錯誤。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值

備註

使用此函式開啟檔案以供備份之用。 當您完成使用檔案時,請呼叫 CertSrvBackupClose 函式來關閉檔案。

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

範例

FNCERTSRVBACKUPOPENFILEW* pfnOpenFile;
char * szBackupOpenFunc = "CertSrvBackupOpenFileW";
LARGE_INTEGER liFileSize;
HRESULT       hr=0;

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

// Open the file.
// hCSBC was set by an earlier call to CertSrvBackupPrepare.
// pwszFile specifies the name of a file.
// This name could have resulted from parsing the
// output from CertSrvBackupGetDatabaseNames, and so on.
hr = pfnOpenFile(hCSBC,
                pwszFile,
                0,
                &liFileSize);
if (FAILED(hr))
{
    printf("Failed pfnOpenFile call [%x] %ws\n",
           hr,
           pwszFile);
           exit(1); // Or other appropriate error action.
}

// Use the opened file as needed.
// When you have finished using the file, call CertSrvBackupClose.
// ...

規格需求

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

另請參閱

CertSrvBackupClose

CertSrvBackupRead

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