JetGetLogInfoInstance2 函数
适用于:Windows |Windows服务器
JetGetLogInfoInstance2 函数
JetGetLogInfoInstance2 函数是在 JetBeginExternalBackup 发起的备份期间使用的,用于查询应成为备份文件集一部分的数据库修补程序文件和事务日志文件的名称的实例。 随后可以使用 JetOpenFile 打开这些文件,并使用 JetReadFile 进行读取。
Windows XP:JetGetLogInfoInstance2 在 Windows XP 中引入。
JET_ERR JET_API JetGetLogInfoInstance2(
__in JET_INSTANCE instance,
__out_opt tchar* szz,
__in unsigned long cbMax,
__out_opt unsigned long* pcbActual,
__in_out_opt JET_LOGINFO* pLogInfo
);
参数
实例
要用于此调用的实例。
对于 Windows 2000,接受此参数的 API 变体不可用,因为仅支持一个实例。 在本例中隐含使用此一个全局实例。
对于 Windows XP 及更高版本,仅当引擎处于旧模式 (Windows 2000 兼容模式时,才可能调用不接受此参数的 API 变体,) 仅支持一个实例。 否则,操作将失败并JET_errRunningInMultiInstanceMode。
szz
将接收 null 终止字符串列表的输出缓冲区,该字符串描述应是备份文件集的一部分的数据库修补程序文件和事务日志文件集。
在此缓冲区中返回的字符串列表的格式与注册表使用的多字符串的格式相同。 每个 null 终止字符串按顺序返回,后跟最终的 null 终止符。
cbMax
输出缓冲区的最大大小(以字节为单位)。
硬体
接收输出缓冲区中接收的实际字符串数据量。
pLogInfo
接收应属于备份文件集的事务日志文件的结构化信息。
如果此参数不存在,则其值假定为 NULL。
返回值
此函数使用以下返回代码之一返回 JET_ERR 数据类型。 有关可能的 ESE 错误的详细信息,请参阅可扩展存储引擎错误和错误处理参数。
返回代码 |
说明 |
---|---|
JET_errSuccess |
操作已成功完成。 |
JET_errBackupAbortByServer |
操作失败,因为对 JetStopBackup 的调用中止了当前外部备份。 此错误仅由 Windows XP 和更高版本返回。 |
JET_errClientRequestToStopJetService |
无法完成该操作,因为由于调用 JetStopService 而停止了与会话关联的实例上的所有活动。 |
JET_errInstanceUnavailable |
无法完成该操作,因为与会话关联的实例遇到了一个致命错误,该错误要求撤销对所有数据的访问以保护该数据的完整性。 此错误仅由 Windows XP 和更高版本返回。 |
JET_errInvalidBackupSequence |
备份操作失败,因为它已按顺序调用。 如果为实例使用 JetOpenFile 创建的任何未完成文件句柄,JetGetLogInfo 将返回此错误。 |
JET_errInvalidParameter |
提供的参数之一包含意外值,或包含与另一个参数的值组合时没有意义的值。 当指定的实例句柄 (Windows XP 和更高版本) 无效时,JetGetLogInfo 可能会发生这种情况。 |
JET_errNoBackup |
操作失败,因为未进行外部备份。 |
JET_errNotInitialized |
无法完成该操作,因为尚未初始化与会话关联的实例。 |
JET_errRestoreInProgress |
无法完成该操作,因为还原操作正在与会话关联的实例上进行。 |
JET_errRunningInMultiInstanceMode |
操作失败,因为尝试在旧模式中使用引擎 (Windows 2000 兼容模式) ,而实际上存在多个实例时,只有一个实例受支持。 |
JET_errTermInProgress |
无法完成该操作,因为与会话关联的实例正在关闭。 |
成功后,有关应属于备份文件集的数据库修补程序文件和事务日志文件集的请求信息将放置在提供的输出缓冲区中。 备份状态机将处于高级状态,以便不再允许备份数据库文件。 仅允许打开数据库修补程序文件和事务日志文件,以便备份超过此点。
失败时,输出缓冲区的状态未定义。 失败将导致取消实例的整个备份过程。
注解
请务必注意,如果输出缓冲区太小,无法接受应属于备份文件集的文件的完整列表,则此 API 不会返回错误或警告。 应用程序应始终提供一个缓冲区来接收此列表的实际大小,并使用该信息来确定列表是否已截断。
要求
要求 | 值 |
---|---|
客户端 |
需要Windows Vista 或 Windows XP。 |
Server |
需要Windows Server 2008 或 Windows Server 2003。 |
标头 |
在 Esent.h 中声明。 |
Library |
使用 ESENT.lib。 |
DLL |
需要ESENT.dll。 |
Unicode |
实现为 JetGetLogInfoInstance2W (Unicode) 和 JetGetLogInfoInstance2A (ANSI) 。 |
另请参阅
JET_ERR
JET_INSTANCE
JET_LOGINFO
JetBeginExternalBackup
JetOpenFile
JetReadFile
JetStopBackup