Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Функция CertSrvBackupRead считывает байты из файла служб сертификатов.
Синтаксис
HRESULT CERTBCLI_API CertSrvBackupRead(
[in] HCSBC hbc,
[out] VOID *pvBuffer,
[in] DWORD cbBuffer,
[out] DWORD *pcbRead
);
Параметры
[in] hbc
Дескриптор контекста резервного копирования служб сертификатов.
[out] pvBuffer
Пустой указатель на хранилище, которое будет содержать байты, считанные из файла, для которого создается резервная копия.
[in] cbBuffer
Размер области хранения, на которую ссылается pvBuffer.
[out] pcbRead
Указатель на значение DWORD , представляющее фактическое количество байтов, считанных CertSrvBackupRead. Число прочитанных байтов может быть меньше размера области хранения, выделенной для pvBuffer , если достигнут конец файла.
Возвращаемое значение
Возвращаемое значение — HRESULT. Значение S_OK указывает на успешное выполнение.
Комментарии
После открытия файла для резервного копирования (с помощью CertSrvBackupOpenFile) вызовите CertSrvBackupRead , чтобы получить содержимое файла, и вызовите подпрограмму конкретного приложения для записи содержимого на носитель резервного копирования. CertSrvBackupRead и подпрограмму конкретного приложения можно поместить в цикл до тех пор, пока все байты файла не будут прочитаны и не будут архивированы. Завершив чтение файла, закройте его, вызвав CertSrvBackupClose.
Примеры
#include <windows.h>
#include <stdio.h>
#include <Certbcli.h>
#define BUFFSIZE 524288
FNCERTSRVBACKUPREAD* pfnRead;
char * szBackupReadFunc = "CertSrvBackupRead";
BYTE ReadBuff[BUFFSIZE];
DWORD cbRead=0;
HRESULT hr=0;
// Get the address for the desired function.
// hInst was set by calling LoadLibrary for Certadm.dll.
pfnRead = (FNCERTSRVBACKUPREAD*)GetProcAddress(hInst,
szBackupReadFunc);
if ( NULL == pfnRead )
{
printf("Failed GetProcAddress - %s, error=%d\n",
szBackupReadFunc,
GetLastError() );
exit(1); // Or other appropriate error action.
}
// Read the file.
// hCSBC represents an HCSBC used in
// an earlier call to CertSrvBackupOpenFile.
// To read the entire file, this code
// would be placed in a loop.
hr = pfnRead( hCSBC,
&ReadBuff,
BUFFSIZE,
&cbRead );
if (FAILED(hr))
{
printf("Failed pfnRead call [%x]\n", hr);
exit(1); // Or other appropriate error action.
}
// Use the bytes read as needed. For example,
// in an application-specific routine to back
// up the file contents.
// ...
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Ни одна версия не поддерживается |
| Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
| Целевая платформа | Windows |
| Header | certbcli.h (включая Certsrv.h) |
| Библиотека | Certadm.lib |
| DLL | Certadm.dll |
См. также раздел
Использование функций резервного копирования и восстановления служб сертификатов