共用方式為


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

已在呼叫 IDBInitialize::Initialize 的資料來源物件上呼叫 ISSAsynchStatus::Abort,但是接著在初始化之前將它取消,或是它已經逾時。此資料來源物件仍未初始化。

ISSAsynchStatus::Abort 是在 先前呼叫 ITransaction::CommitITransaction::Abort 的資料列集上呼叫的,而且資料列集在認可或中止後並未存留,而且處於Zombie 狀態。

已在資料列集上呼叫 ISSAsynchStatus::Abort,這個資料列集已在其初始化階段非同步地取消。 此資料列集處於廢止狀態。

備註

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

呼叫 ISSAsynchStatus::Abort 並針對 eOperation 傳回 DBASYNCHOP_OPEN 以外的值將會傳回 S_OK。 這不表示此作業已被取消或完成。

另請參閱

執行非同步作業