TmRecoverTransactionManager 函数 (wdm.h)
TmRecoverTransactionManager 例程从日志流中的恢复信息重新构造事务管理器对象(包括所有事务、登记和资源管理器)的状态。
语法
NTSTATUS TmRecoverTransactionManager(
[in] PKTM Tm,
[in] PLARGE_INTEGER TargetVirtualClock
);
参数
[in] Tm
指向 事务管理器对象的指针。 若要获取此指针,TPS 组件必须调用 ObReferenceObjectByHandle,并提供之前对 ZwCreateTransactionManager 或 ZwOpenTransactionManager 的对象句柄。
[in] TargetVirtualClock
指向 虚拟时钟值的指针。 此参数是可选的,可以 NULL。 有关此参数的详细信息,请参阅以下“备注”部分。 对于 Windows Vista,此参数必须 NULL。
返回值
TmRecoverTransactionManager 如果操作成功,则返回STATUS_SUCCESS。 否则,此例程可能会返回以下值之一:
返回代码 | 描述 |
---|---|
|
对于 Windows Vista,调用方为 TargetVirtualClock 参数指定了非NULL 值。 |
|
指定的事务管理器对象没有日志文件,因此恢复不可用。 |
|
指定的事务管理器对象处于意外状态。 |
例程可能会返回其他
言论
TmRecoverTransactionManager 例程是基于指针的 ZwRecoverTransactionManager 例程。
使用 TargetVirtualClock 参数值调用 TmRecoverTransactionManagerNULL 的功能等效于调用 ZwRecoverTransactionManager。 使用非NULLTargetVirtualClock 参数值调用 TmRecoverTransactionManager 的功能等效于调用 ZwRollforwardTransactionManager。
有关恢复操作的详细信息,请参阅 处理恢复操作。
有关何时使用 KTM 的 TmXxx 例程而不是 ZwXxx 例程的信息,请参阅 使用 TmXxx 例程。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows Vista 和更高版本的操作系统版本中可用。 |
目标平台 | 普遍 |
标头 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |