ICrmCompensator::P repareRecord 方法 (comsvcs.h)
在准备阶段期间以前向顺序传递日志记录。 CRM 补偿器可以多次接收此方法,为每个写入的日志记录接收一次。
语法
HRESULT PrepareRecord(
[in] CrmLogRecordRead crmLogRec,
[out] BOOL *pfForget
);
参数
[in] crmLogRec
作为 CrmLogRecordRead 结构的日志记录。
[out] pfForget
指示是否应忘记传递的记录。
返回值
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
非结构化日志记录以 CrmLogRecordRead 结构的形式提供。 除了将用户数据 (作为单个 BLOB) ,此结构还包含几个额外的字段,如果需要人工补偿,这些字段可用于调试或故障查找。 dwCrmFlags 成员是一个位字段,提供有关是否在某个时间点以及写入时是否忘记了此记录的进一步信息。 dwSequenceNumber 成员提供日志记录的序列号。 在大多数情况下,序列号是连续的,但由于内部日志记录未传递到 CRM 补偿器,因此不一定是连续的。
如果 CRM 辅助角色未写入任何日志记录,则接收 BeginPrepare 和 EndPrepare 方法,但没有 PrepareRecord 方法调用。 这是为了允许仅在准备时写入日志记录的 CRM 补偿器。
CRM 补偿器可以选择忘记在此阶段传送给它的记录,方法是在此方法返回时设置忘记标志。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | comsvcs.h |