次の方法で共有


CertSrvBackupGetBackupLogsW 関数 (certbcli.h)

CertSrvBackupGetBackupLogs 関数は、特定のバックアップ コンテキストに対してバックアップする必要がある Certificate Services ログ ファイル名の一覧を取得します。

構文

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

パラメーター

[in] hbc

Certificate Services バックアップ コンテキストへのハンドル。

[out] ppwszzBackupLogFiles

null で終わるログ ファイル名の一覧を受け取る WCHAR ポインターへのポインター。 すべてのファイル名の後に null 文字があり、リストの末尾に余分な null 文字があります。 ファイル名は UNC 形式の "## \\Server\SharePoint\... になります。Path...\FileName.ext" ディレクトリ名は同じ形式になりますが、末尾の "\FileName.ext" は使用しません。 テキスト "##" は Certificate Services Backup ファイルの種類 (CSBFT_*) を示し、各 UNC パスにプレフィックスが付いた単一の null 以外の Unicode 文字として格納されます。 この型タグは Certbcli.h で定義されており、この関数には次のいずれかの値を指定できます。

意味
CSBFT_LOG
パスを含む Certificate Services データベース ログ ファイル名。
CSBFT_PATCH_FILE
Certificate Services データベースの更新ファイルの名前 (パスを含む)。

Windows Server 2003: データベース更新ファイルは使用されません。

 

この割り当てられたメモリの使用が完了したら、 CertSrvBackupFree 関数を呼び出して解放します。

この関数を呼び出す前に ppwszzBackupLogFilesNULL に設定することは省略可能です。

[out] pcbSize

ppwszzBackupLogFiles のバイト数を指定する DWORD 値へのポインター。

戻り値

戻り値は 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 を含む)
Library Certadm.lib
[DLL] Certadm.dll

こちらもご覧ください

CertSrvBackupFree

CertSrvBackupOpenFile

CertSrvBackupTruncateLogs

証明書サービスのバックアップと復元の機能の使用