다음을 통해 공유


CertSrvBackupGetDynamicFileListW 함수(certbcli.h)

CertSrvBackupGetDynamicFileList 함수는 지정된 백업 컨텍스트에 대해 백업해야 하는 Certificate Services 동적 파일 이름 목록을 검색합니다. 동적 파일은 Certificate Services 데이터베이스 백업에 포함되지 않은 파일입니다.

구문

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

매개 변수

[in] hbc

Certificate Services 백업 컨텍스트에 대한 핸들입니다.

[out] ppwszzFileList

Certificate Services에서 사용하는 null로 종료된 동적 파일 이름 목록을 수신할 WCHAR 포인터에 대한 포인터입니다. 모든 파일 이름 뒤에는 null 문자가 있고 목록 끝에는 추가 null 문자가 있습니다. 파일 이름은 UNC 형식 "\\Server\SharePoint\... Path...\FileName.ext". 할당된 이 메모리 사용을 마치면 CertSrvBackupFree 함수를 호출하여 메모리를 해제합니다.

이 함수를 호출하기 전에 *ppwszzFileListNULL 로 설정하는 것은 선택 사항입니다.

[out] pcbSize

ppwszzFileList의 바이트 수를 지정하는 DWORD 값에 대한 포인터입니다.

반환 값

반환 값은 HRESULT입니다. S_OK 값은 성공을 나타냅니다.

설명

이 함수를 사용하여 Certificate Services 동적 파일 이름 목록을 검색합니다. 이러한 파일은 Certificate Services 데이터베이스 및 로그 파일과 별개이며 인증서 서비스 백업 API에 의해 백업되지 않습니다. 따라서 동적 파일을 백업하는 데 다른 방법을 사용해야 합니다. Certificate Services 동적 파일의 예로 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

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