Compartilhar via


Função CertSrvBackupGetDynamicFileListW (certbcli.h)

A função CertSrvBackupGetDynamicFileList recupera a lista de nomes de arquivos dinâmicos dos Serviços de Certificados que precisam ser copiados para o contexto de backup fornecido. Os arquivos dinâmicos são aqueles que não estão incluídos no backup do banco de dados dos Serviços de Certificados.

Sintaxe

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

Parâmetros

[in] hbc

Um identificador para um contexto de backup dos Serviços de Certificados.

[out] ppwszzFileList

Um ponteiro para um ponteiro WCHAR que receberá a lista de nomes de arquivo dinâmico terminados em nulo usados pelos Serviços de Certificados. Há um caractere nulo após cada nome de arquivo e um caractere nulo extra no final da lista. O nome do arquivo estará no formulário UNC "\\Server\SharePoint\... Path...\FileName.ext". Quando terminar de usar essa memória alocada, libere-a chamando a função CertSrvBackupFree .

Antes de chamar essa função, definir *ppwszzFileList como NULL é opcional.

[out] pcbSize

Um ponteiro para o valor DWORD que especifica o número de bytes em ppwszzFileList.

Retornar valor

O valor retornado é um HRESULT. Um valor de S_OK indica êxito.

Comentários

Use essa função para recuperar uma lista dos nomes de arquivo dinâmicos dos Serviços de Certificados. Esses arquivos são separados do banco de dados e dos arquivos de log dos Serviços de Certificados e não são copiados pelas APIs de backup dos Serviços de Certificados. Como resultado, alguns outros meios devem ser usados para fazer backup dos arquivos dinâmicos. Um exemplo de um arquivo dinâmico dos Serviços de Certificados é a CRL ( lista de certificados revogados ).

O nome dessa função no Certadm.dll é CertSrvBackupGetDynamicFileListW. Você deve usar essa forma do nome ao chamar GetProcAddress. Além disso, essa função é definida como o tipo FNCERTSRVBACKUPGETDYNAMICFILELISTW no arquivo de cabeçalho Certbcli.h.

Exemplos

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);
}

Requisitos

Requisito Valor
Cliente mínimo com suporte Nenhum compatível
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho certbcli.h (inclua Certsrv.h)
Biblioteca Certadm.lib
DLL Certadm.dll

Confira também

CertSrvBackupFree

Usando as funções de Backup e Restauração dos Serviços de Certificados