内核事务管理器函数
以下函数用于事务。
功能 | 描述 |
---|---|
CommitTransaction | 请求提交指定的事务。 |
CommitTransactionAsync | 请求提交指定的事务。 |
CreateTransaction | 创建新的事务对象。 |
GetTransactionId | 获取指定事务的 ID。 |
GetTransactionInformation | 返回有关指定事务的请求信息。 |
OpenTransaction | 打开现有事务。 |
RollbackComplete | 指示资源管理器(RM)已成功回滚事务。 |
RollbackTransaction | 请求将回滚指定的事务。 |
RollbackTransactionAsync | 请求将回滚指定的事务。 此函数以异步方式返回。 |
SetTransactionInformation | 设置指定事务的事务信息。 |
以下函数用于登记。
功能 | 描述 |
---|---|
CommitComplete | 指示 RM 已完成提交事务管理器(TM)请求的事务。 |
CommitEnlistment | 提交指定登记的事务。 |
GetEnlistmentId | 获取指定登记的 ID。 |
CreateEnlistment | 创建登记,设置其初始状态,并打开具有指定访问权限的登记句柄。 |
GetEnlistmentRecoveryInformation | 从 KTM 检索恢复数据的不透明结构。 恢复信息通过调用 SetEnlistmentRecoveryInformation 函数代表 RM 存储在日志中。 失败后,RM 可以使用 GetEnlistmentRecoveryInformation 函数来检索信息。 |
OpenEnlistment | 打开现有的登记对象,并返回登记的句柄。 |
PrepareEnlistment | 由上级 TM 调用,指示其预准备工作已完成。 |
PrePrepareEnlistment | 由上级 TM 调用,指示其预准备工作已完成。 |
RecoverEnlistment | 恢复登记的状态。 |
ReadOnlyEnlistment | 请求将指定的登记转换为只读登记。 只读登记不能参与事务的结果,并且无法持续记录进行恢复。 |
RollbackEnlistment | 回滚与登记关联的指定事务。 无法为只读登记调用此函数。 |
SetEnlistmentRecoveryInformation | 设置从 KTM 恢复数据的不透明、用户定义的结构。 恢复信息通过调用 setEnlistmentRecoveryInformation,代表 RM 存储在日志中。 失败后,RM 可以使用 GetEnlistmentRecoveryInformation 检索信息。 |
SinglePhaseReject | 指示 RM 拒绝单阶段请求。 当 TM 收到此调用时,它会启动一个两阶段提交,并向所有登记的 RM 发送一个准备请求。 |
以下函数与资源管理器一起使用。
功能 | 描述 |
---|---|
CreateResourceManager | 创建新的 RM 对象,并将 RM 与事务管理器(TM)相关联。 |
GetNotificationResourceManager | 请求并接收 RM 的通知。 RM 寄存器使用此函数在事务更改状态时接收通知。 |
GetNotificationResourceManagerAsync | 请求并接收 RM 的异步通知。 RM 使用此函数注册,以在事务更改状态时接收通知。 |
OpenResourceManager | 打开现有的 RM。 |
PrepareComplete | 指示 RM 已完成所有必需的处理,以确保指定事务的提交或中止作将成功。 |
PrePrepareComplete | 指示此 RM 已完成其预准备工作,以便其他 RM 现在可以开始其准备作。 |
RecoverResourceManager | 从其日志文件中恢复 RM 的状态。 |
SetResourceManagerCompletionPort | 将指定的 I/O 完成端口与指定的 RM 相关联。 此端口接收 RM 的所有通知。 |
以下函数与事务管理器一起使用。
功能 | 描述 |
---|---|
CreateTransactionManager | 创建新的 TM 对象并返回具有指定访问权限的句柄。 |
GetCurrentClockTransactionManager | 从 TM 获取虚拟时钟值。 |
GetTransactionManagerId | 获取指定 TM 的标识符。 |
OpenTransactionManager | 打开现有的 TM。 |
OpenTransactionManagerById | 打开现有的 TM。 |
RecoverTransactionManager | 从其日志文件中恢复 TM 的状态。 |
RenameTransactionManager | 重命名 TM。 |
RollforwardTransactionManager | 将 TM 的状态从其日志文件恢复到指定的虚拟时钟值。 |