CertSrvBackupGetBackupLogsW 函数 (certbcli.h)
CertSrvBackupGetBackupLogs 函数检索需要为给定备份上下文备份的证书服务日志文件名的列表。
语法
HRESULT CERTBCLI_API CertSrvBackupGetBackupLogsW(
[in] HCSBC hbc,
[out] PWSTR *ppwszzBackupLogFiles,
[out] DWORD *pcbSize
);
参数
[in] hbc
证书服务备份上下文的句柄。
[out] ppwszzBackupLogFiles
指向 WCHAR 指针的指针,该指针将接收以 null 结尾的日志文件名的列表。 每个文件名后都有一个空字符,列表末尾有一个额外的 null 字符。 文件名将采用 UNC 格式“## \\Server\SharePoint\...Path...\FileName.ext”。 目录名称的格式相同,但没有尾随“\FileName.ext”。 文本“##”表示证书服务备份文件类型 (CSBFT_*) ,并存储为每个 UNC 路径添加前缀的单个非 null Unicode 字符。 此类型标记在 Certbcli.h 中定义,可以是此函数的以下值之一。
值 | 含义 |
---|---|
|
证书服务数据库日志文件名,包括路径。 |
|
证书服务数据库的更新文件的名称(包括路径)。
Windows Server 2003: 不使用数据库更新文件。 |
使用此分配的内存后,通过调用 CertSrvBackupFree 函数释放它。
在调用此函数之前将 ppwszzBackupLogFiles 设置为 NULL 是可选的。
[out] pcbSize
指向 DWORD 值的指针,该值指定 ppwszzBackupLogFiles 中的字节数。
返回值
返回值为 HRESULT。 值为 S_OK 表示成功。
注解
日志文件表示自上次日志文件截断以来发生的数据库活动 (请求提交、证书吊销等) 。 日志文件量随着数据库活动的发生而增加。 可以通过执行备份,然后调用 CertSrvBackupTruncateLogs 来减小日志文件的大小。
Certadm.dll 中此函数的名称为 CertSrvBackupGetBackupLogsW。 调用 GetProcAddress 时,必须使用此形式的名称。 此外,此函数在 Certbcli.h 头文件中定义为类型 FNCERTSRVBACKUPGETBACKUPLOGSW 。
示例
FNCERTSRVBACKUPGETBACKUPLOGSW* pfnGetBackupLogs;
char * szGetBackupLogsFunc = "CertSrvBackupGetBackupLogsW";
WCHAR * pwszzLogFiles;
DWORD nListBytes=0;
HRESULT hr=0;
// Get the address for the desired function.
// hInst was set by calling LoadLibrary for Certadm.dll.
pfnGetBackupLogs = (FNCERTSRVBACKUPGETBACKUPLOGSW*)GetProcAddress
(hInst, szGetBackupLogsFunc);
if ( NULL == pfnGetBackupLogs )
{
printf("Failed GetProcAddress - %s, error=%d\n",
szGetBackupLogsFunc,
GetLastError() );
exit(1); // Or other appropriate error action.
}
// Determine the names of the log files.
// hCSBC was set by an earlier call to CertSrvbackupPrepare.
hr = pfnGetBackupLogs(hCSBC, &pwszzLogFiles, &nListBytes);
if (FAILED(hr))
{
printf("Failed pfnGetBackupLogs call [%x]\n", hr);
exit(1); // Or other appropriate error action.
}
else
{
printf("%d bytes for log file names\n", nListBytes);
WCHAR * pwszLog = pwszzLogFiles;
// Process the list.
while ( L'\0' != *pwszLog )
{
// Use the file name referenced by pwszLog.
// Here it is merely displayed.
printf("%02x: %ws\n", *pwszLog, &pwszLog[1]);
// Move to the next logfile name.
// + 1 moves past the null terminator.
pwszLog+=(wcslen(pwszLog)) + 1;
}
// Free the allocated memory.
// pfnBackupFree is the address of the CertSrvBackupFree
// function.
pfnBackupFree(pwszzLogFiles);
}
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 无受支持的版本 |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | certbcli.h (包括 Certsrv.h) |
Library | Certadm.lib |
DLL | Certadm.dll |