ObjectContext::D isableCommit 方法 (comsvcs.h)

声明对象的事务更新不一致,并且无法以当前状态提交。

语法

HRESULT DisableCommit();

返回值

此方法可以返回标准返回值E_INVALIDARG、E_OUTOFMEMORY和E_FAIL,以及以下值。

返回代码 说明
S_OK
该方法已成功完成。 在对象调用 EnableCommitSetComplete 之前,无法提交对象的事务更新。
E_UNEXPECTED
发生意外错误。 如果一个对象将其 ObjectContext 指针传递到另一个对象,而另一个对象使用此指针调用 DisableCommit ,则可能会发生这种情况。 ObjectContext 指针在最初获取它的对象的上下文之外无效。
CONTEXT_E_NOCONTEXT
当前对象没有与之关联的上下文。 这可能是因为它不是使用 COM+ CreateInstance 方法之一创建的。

注解

可以使用 DisableCommit 方法防止事务在有状态对象的方法调用之间过早提交。 当对象调用 DisableCommit 时,它表示其工作不一致,并且无法完成其工作,直到它从客户端收到进一步的方法调用。 它还指示需要保持其状态才能执行该工作。 这可以防止 COM+ 在从方法调用返回时停用对象并回收其资源。 当对象调用 DisableCommit 时,如果客户端在对象调用 EnableCommitSetComplete 之前尝试提交事务,则事务将中止。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 comsvcs.h

另请参阅

ObjectContext