Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция CertSrvBackupGetDatabaseNames извлекает список имен файлов базы данных служб сертификатов, для которого необходимо создать резервную копию для заданного контекста резервной копии.
Синтаксис
HRESULT CERTBCLI_API CertSrvBackupGetDatabaseNamesW(
[in] HCSBC hbc,
[out] PWSTR *ppwszzAttachmentInformation,
[out] DWORD *pcbSize
);
Параметры
[in] hbc
Дескриптор контекста резервного копирования служб сертификатов.
[out] ppwszzAttachmentInformation
Указатель на указатель WCHAR , который получит список имен файлов базы данных, заканчивающихся пустым значением. После каждого имени файла имеется символ NULL, а в конце списка — дополнительный символ NULL. Имя файла будет в формате UNC "## \\Server\SharePoint\... Path...\FileName.ext". Имена каталогов будут иметь ту же форму, но без конечного "\FileName.ext". Текст "##" обозначает тип файла резервной копии служб сертификатов (CSBFT_*) и хранится в виде одного символа Юникода , отличного от null, с префиксом для каждого пути UNC. Тег типа определен в Certbcli.h и может быть следующим значением для этой функции.
Значение | Значение |
---|---|
|
Имя файла базы данных служб сертификатов, включая путь. |
При этом необходимо освободить выделенную память путем вызова CertSrvBackupFree. Перед вызовом этой функции присвойте параметру *ppwszzAttachmentInformationзначение NULL .
[out] pcbSize
Указатель на значение DWORD , указывающее количество байтов в ppwszzAttachmentInformation.
Возвращаемое значение
Возвращаемое значение — HRESULT. Значение S_OK указывает на успешное выполнение.
Комментарии
Имя этой функции в Certadm.dll — CertSrvBackupGetDatabaseNamesW. Эту форму имени необходимо использовать при вызове GetProcAddress. Кроме того, эта функция определяется как тип FNCERTSRVBACKUPGETDATABASENAMESW в файле заголовка Certbcli.h.
Примеры
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);
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Ни одна версия не поддерживается |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | certbcli.h (включая Certsrv.h) |
Библиотека | Certadm.lib |
DLL | Certadm.dll |
См. также раздел
Использование функций резервного копирования и восстановления служб сертификатов