Compartir a través de


Función CertSrvBackupGetDatabaseNamesW (certbcli.h)

La función CertSrvBackupGetDatabaseNames recupera la lista de nombres de archivo de base de datos de Servicios de certificados de los que se debe realizar una copia de seguridad para el contexto de copia de seguridad especificado.

Sintaxis

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

Parámetros

[in] hbc

Identificador de un contexto de copia de seguridad de Servicios de certificados.

[out] ppwszzAttachmentInformation

Puntero a un puntero WCHAR que recibirá la lista de nombres de archivo de base de datos terminados en null. Hay un carácter NULO después de cada nombre de archivo y un carácter nulo adicional al final de la lista. El nombre de archivo estará en el formato UNC "## \\Server\SharePoint\... Path...\FileName.ext". Los nombres de directorio tendrán el mismo formato, pero sin el final "\FileName.ext". El texto "##" indica un tipo de archivo de copia de seguridad de Servicios de certificados (CSBFT_*) y se almacena como un único carácter Unicode no NULL con el prefijo de cada ruta de acceso UNC. La etiqueta de tipo se define en Certbcli.h y puede ser el siguiente valor para esta función.

Valor Significado
CSBFT_CERTSERVER_DATABASE
Nombre del archivo de base de datos de Certificate Services, incluida la ruta de acceso.
 

Debe liberar esta memoria asignada cuando termine llamando a CertSrvBackupFree. Antes de llamar a esta función, establecer *ppwszzAttachmentInformation en NULL es opcional.

[out] pcbSize

Puntero al valor DWORD que especifica el número de bytes en ppwszzAttachmentInformation.

Valor devuelto

El valor devuelto es un HRESULT. Un valor de S_OK indica que se ha realizado correctamente.

Comentarios

El nombre de esta función en el Certadm.dll es CertSrvBackupGetDatabaseNamesW. Debe usar este formato del nombre al llamar a GetProcAddress. Además, esta función se define como el tipo FNCERTSRVBACKUPGETDATABASENAMESW en el archivo de encabezado Certbcli.h.

Ejemplos

FNCERTSRVBACKUPGETDATABASENAMESW* pfnGetDBNames;
char * szGetDBNamesFunc = "CertSrvBackupGetDatabaseNamesW";
WCHAR *    pwszzDBFiles;
DWORD      nListBytes=0;
HRESULT    hr=0;

// Get the address for the desired function.    
// hInst was set by calling LoadLibrary for Certadm.dll.
pfnGetDBNames = (FNCERTSRVBACKUPGETDATABASENAMESW*)
    GetProcAddress(hInst, szGetDBNamesFunc);

if ( NULL == pfnGetDBNames )
{
    printf("Failed GetProcAddress - %s, error=%d\n",
           szGetDBNamesFunc,
           GetLastError() );
    exit(1); // Or other appropriate error action.
}

// Determine the names of the database files.
// hCSBC was set by an earlier call to CertSrvBackupPrepare
hr = pfnGetDBNames(hCSBC, &pwszzDBFiles, &nListBytes);
if (FAILED(hr))
{
    printf("Failed pfnGetDBNames call [%x]\n", hr);
    exit(1); // Or other appropriate error action.
}
else
{
    printf("%d bytes for DB file names\n", nListBytes);
    WCHAR * pwszFile = pwszzDBFiles;
    // Process the list.
    while ( L'\0' != *pwszFile )
    {
        // Use the file name referenced by pwszFile.
        // Here it is merely displayed.
        printf("%02x: %ws\n", *pwszFile, &pwszFile[1]);
        // Move to the next database 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(pwszzDBFiles);
}

Requisitos

Requisito Value
Cliente mínimo compatible No se admite ninguno
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado certbcli.h (incluya Certsrv.h)
Library Certadm.lib
Archivo DLL Certadm.dll

Consulte también

CertSrvBackupFree

CertSrvBackupOpenFile

Uso de las funciones de copia de seguridad y restauración de Servicios de certificados