다음을 통해 공유


CertSrvBackupGetBackupLogsW 함수(certbcli.h)

CertSrvBackupGetBackupLogs 함수는 지정된 백업 컨텍스트에 대해 백업해야 하는 인증서 서비스 로그 파일 이름 목록을 검색합니다.

구문

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"가 없습니다. "##" 텍스트는 인증서 서비스 백업 파일 형식(CSBFT_*)을 표시하며 각 UNC 경로에 접두사로 접두사로 null이 아닌 단일 유니코드 문자로 저장됩니다. 이 형식 태그는 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 포함)
라이브러리 Certadm.lib
DLL Certadm.dll

추가 정보

CertSrvBackupFree

CertSrvBackupOpenFile

CertSrvBackupTruncateLogs

인증서 서비스 백업 및 복원 함수 사용