Freigeben über


CertSrvBackupGetDatabaseNamesW-Funktion (certbcli.h)

Die CertSrvBackupGetDatabaseNames-Funktion ruft die Liste der Zertifikatdienste-Datenbankdateinamen ab, die für den angegebenen Sicherungskontext gesichert werden müssen.

Syntax

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

Parameter

[in] hbc

Ein Handle für einen Zertifikatdienste-Sicherungskontext.

[out] ppwszzAttachmentInformation

Ein Zeiger auf einen WCHAR-Zeiger , der die Liste der mit NULL beendeten Datenbankdateinamen empfängt. Hinter jedem Dateinamen befindet sich ein NULL-Zeichen und ein zusätzliches NULL-Zeichen am Ende der Liste. Der Dateiname hat das UNC-Format "## \\Server\SharePoint\... Path...\FileName.ext". Die Verzeichnisnamen haben das gleiche Format, aber ohne den nachfolgenden "\FileName.ext". Der Text "##" bezeichnet einen Dateityp der Zertifikatdienstesicherung (CSBFT_*) und wird als einzelnes Unicode-Zeichen ohne Null gespeichert, das jedem UNC-Pfad vorangestellt ist. Das Type-Tag ist in Certbcli.h definiert und kann der folgende Wert für diese Funktion sein.

Wert Bedeutung
CSBFT_CERTSERVER_DATABASE
Name der Certificate Services-Datenbankdatei einschließlich Pfad.
 

Sie müssen diesen zugewiesenen Arbeitsspeicher freigeben, wenn Sie CertSrvBackupFree aufrufen. Vor dem Aufrufen dieser Funktion ist das Festlegen von *ppwszzAttachmentInformation auf NULL optional.

[out] pcbSize

Ein Zeiger auf den DWORD-Wert , der die Anzahl der Bytes in ppwszzAttachmentInformation angibt.

Rückgabewert

Der Rückgabewert ist ein HRESULT. Ein Wert von S_OK gibt den Erfolg an.

Hinweise

Der Name dieser Funktion im Certadm.dll lautet CertSrvBackupGetDatabaseNamesW. Sie müssen diese Form des Namens verwenden, wenn Sie GetProcAddress aufrufen. Außerdem ist diese Funktion als Typ FNCERTSRVBACKUPGETDATABASENAMESW in der Headerdatei Certbcli.h definiert.

Beispiele

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Nicht unterstützt
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile certbcli.h (include Certsrv.h)
Bibliothek Certadm.lib
DLL Certadm.dll

Weitere Informationen

CertSrvBackupFree

CertSrvBackupOpenFile

Verwenden der Sicherungs- und Wiederherstellungsfunktionen für Zertifikatdienste