分享方式:


ISSAsynchStatus::Abort (Native Client OLE DB Provider)

適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Platform System (PDW)

重要

SQL Server Native Client (通常縮寫為 SNAC) 已從 SQL Server 2022 (16.x) 和 SQL Server Management Studio 19 (SSMS) 中移除。 不建議使用 SQL Server Native Client OLE DB 提供者 (SQLNCLI 或 SQLNCLI11) 和舊版 Microsoft OLE DB Provider for SQL Server (SQLOLEDB) 進行新的開發。 請切換至新的 Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server 以繼續使用。

取消非同步執行的作業。

語法

  
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
ISSAsynchStatus::Abort 是在未呼叫 IDBInitialize::Initialize 或尚未完成的數據源物件上呼叫。

ISSAsynchStatus::Abort 是在呼叫 IDBInitialize::Initialize 的數據源物件上呼叫,但隨後在初始化之前取消,或已逾時。數據源物件仍然未初始化。

ISSAsynchStatus::Abort 是在先前呼叫 ITransaction::Commit 或 ITransaction::Abort 的數據列集上呼叫的,而且數據列集在認可或中止后並未存留,而且處於殭屍狀態。

ISSAsynchStatus::Abort 在初始化階段以異步方式取消的數據列集上呼叫。 此資料列集處於廢止狀態。

備註

中止數據列集或數據源物件的初始化,可能會讓數據列集或數據源對象處於殭屍狀態,讓IUnknown方法以外的所有方法都會傳回E_UNEXPECTED。 當發生這個情況時,取用者唯一可行的動作就是釋放此資料列集或資料來源物件。

呼叫 ISSAsynchStatus::Abort 並傳遞非DBASYNCHOP_OPEN eOperation 的值會傳回S_OK。 這並不表示作業已完成或已取消。

另請參閱

執行非同步作業