Функция CertSrvBackupGetDynamicFileListW (certbcli.h)

Функция CertSrvBackupGetDynamicFileList извлекает список динамических имен файлов служб сертификатов, для которого необходимо создать резервную копию для заданного контекста резервного копирования. Динамические файлы — это файлы, которые не включены в резервную копию базы данных служб сертификатов.

Синтаксис

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

Параметры

[in] hbc

Дескриптор контекста резервного копирования служб сертификатов.

[out] ppwszzFileList

Указатель на указатель WCHAR , который получит список имен динамических файлов, завершаемых пустым значением, используемых службами сертификатов. После каждого имени файла имеется пустой символ, а в конце списка — дополнительный символ NULL. Имя файла будет в формате UNC "\\Server\SharePoint\... Path...\FileName.ext". Завершив использование выделенной памяти, освободите ее, вызвав функцию CertSrvBackupFree .

Перед вызовом этой функции присвоить параметру *ppwszzFileList значение NULL необязательно.

[out] pcbSize

Указатель на значение DWORD , указывающее количество байтов в ppwszzFileList.

Возвращаемое значение

Возвращаемое значение — HRESULT. Значение S_OK указывает на успешное выполнение.

Комментарии

Используйте эту функцию для получения списка динамических имен файлов служб сертификатов. Эти файлы отделены от базы данных служб сертификатов и файлов журналов и не архивируются с помощью API резервного копирования служб сертификатов. В результате для резервного копирования динамических файлов необходимо использовать некоторые другие средства. Примером динамического файла служб сертификатов является список отзыва сертификатов (CRL).

Имя этой функции в Certadm.dll — CertSrvBackupGetDynamicFileListW. Эту форму имени необходимо использовать при вызове GetProcAddress. Кроме того, эта функция определена как тип FNCERTSRVBACKUPGETDYNAMICFILELISTW в файле заголовка Certbcli.h.

Примеры

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
Header certbcli.h (включая Certsrv.h)
Библиотека Certadm.lib
DLL Certadm.dll

См. также раздел

CertSrvBackupFree

Использование функций резервного копирования и восстановления служб сертификатов