ISSAsynchStatus::Abort (OLE DB)

适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics 平台系统(PDW)

下载 OLE DB 驱动程序

取消异步执行的操作。

语法

  
HRESULT Abort(  
        HCHAPTER hChapter,  
        DBASYNCHOP eOperation);  

参数

hChapter[in]
要中止其操作的章节的句柄。 如果所调用的对象不是行集对象或者操作不应用于章节,则调用方必须将 hChapter 设置为 DB_NULL_HCHAPTER 。

eOperation[in]
要中止的操作。 应使用以下值:

DBASYNCHOP_OPEN - 要取消的请求应用于行集的异步打开或填充,或应用于数据源对象的异步初始化。

返回代码值

S_OK
已处理取消异步操作的请求。 这并不保证操作本身已取消。 若要确定操作是否已取消,使用者应当调用 ISSAsynchStatus::GetStatus,并检查是否有 DB_E_CANCELED;但是,它可能不会在下一次调用中返回。

DB_E_CANTCANCEL
异步操作无法取消。

DB_E_CANCELED
中止异步操作的请求已在通知期间取消。 操作仍然正在异步执行。

E_FAIL
发生了特定于访问接口的错误。

E_INVALIDARG
hChapter 参数不是 DB_NULL_HCHAPTER,或 eOperation 不是 DBASYNCH_OPEN。

E_UNEXPECTED
已对尚未调用或尚未完成 IDBInitialize::Initialize 的数据源对象调用 ISSAsynchStatus::Abort

已对调用了 IDBInitialize::Initialize 但在初始化之前已取消或已超时的数据源对象调用 ISSAsynchStatus::Abort。数据源对象仍未初始化。

已对以前调用了 ITransaction::CommitITransaction::Abort 并在提交或中止后处于僵停状态的行集调用 ISSAsynchStatus::Abort

已对在初始化阶段异步取消的行集调用 ISSAsynchStatus::Abort。 该行集处于僵停状态。

备注

中止行集或数据源对象的初始化可能使行集或数据源对象最后处于僵停状态,以至于除了 IUnknown 方法以外的所有方法都返回 E_UNEXPECTED。 发生这种情况时,使用者的唯一可能操作是释放行集或数据源对象。

如果调用 ISSAsynchStatus::Abort 并为 eOperation 传递除了 DBASYNCHOP_OPEN 以外的值,将返回 S_OK。 此值并不意味着操作已完成或取消。

另请参阅

执行异步操作