ISSAsynchStatus::Abort (Native Client OLE DB Provider)

Dotyczy:sql ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Ważna

SQL Server Native Client (często skracany jako SNAC) został usunięty z SQL Server 2022 (16.x) i SQL Server Management Studio 19 (SSMS). Zarówno dostawca OLE DB klienta natywnego programu SQL Server (SQLNCLI lub SQLNCLI11), jak i starszy dostawca MICROSOFT OLE DB dla programu SQL Server (SQLOLEDB) nie są zalecane w przypadku nowego programowania. Przełącz się na nowy sterownik Microsoft OLE DB (MSOLEDBSQL) dla programu SQL Server na przyszłość.

Anuluje operację wykonywaną asynchronicznie.

Syntax

  
HRESULT Abort(  
        HCHAPTER hChapter,  
        DBASYNCHOP eOperation);  

Arguments

hChapter[w]
Uchwyt rozdziału, dla którego można przerwać operację. Jeśli wywoływany obiekt nie jest obiektem wiersza lub operacja nie dotyczy rozdziału, wywołujący musi ustawić hRozdział na DB_NULL_HCHAPTER.

eOperation[in]
Operacja przerwania. Powinna to być następująca wartość:

DBASYNCHOP_OPEN-The żądanie anulowania dotyczy asynchronicznego otwarcia lub zaludnienia zbioru wierszy albo asynchronicznej inicjalizacji obiektu źródła danych.

Wartości kodów zwracanych

S_OK
Wniosek o anulowanie operacji asynchronicznej został przetworzony. To nie gwarantuje, że sama operacja została odwołana. Aby sprawdzić, czy operacja została anulowana, konsument powinien wywołać ISSAsynchStatus::GetStatus i sprawdzić DB_E_CANCELED; Jednak może nie zostać odwzajemniona już przy następnym telefonie.

DB_E_CANTCANCEL
Operacji asynchronicznej nie można anulować.

DB_E_CANCELED
Żądanie przerwania operacji asynchronicznej zostało anulowane podczas powiadomień. Operacja jest nadal wykonywana asynchronicznie.

E_FAIL
Wystąpił błąd specyficzny dla operatora.

E_INVALIDARG
Parametr hChapter nie jest DB_NULL_HCHAPTER ani eOperation nie jest DBASYNCH_OPEN.

E_UNEXPECTED
ISSAsynchStatus::Abort został wywołany na obiekcie źródłowym danych, na którym IDBInitialize::Initialize nie został wywołany lub nie został ukończony.

ISSAsynchStatus::Abort został wywołany na obiekcie źródłowym danych, na którym IDBInitialize::Initialize zostało wywołane, ale następnie anulowane przed inicjalizacją lub miało wygasły czasy. Obiekt źródła danych nadal nie jest zainicjalizowany.

ISSAsynchStatus::Abort został wywołany w zestawie wierszowym, na którym wcześniej wywołano ITransaction::Commit lub ITransaction::Abort , a zestaw wierszy nie przetrwał zatwierdzenia ani przerwania i znajduje się w stanie zombie.

ISSAsynchStatus::Abort został wywołany na rowsecie, który został asynchronicznie anulowany w fazie inicjalizacji. Zestaw wierszy jest w stanie zombie.

Remarks

Przerwanie inicjalizacji wiersza lub obiektu źródła danych może pozostawić zestaw wierszy lub obiekt źródła danych w stanie zombie, tak że wszystkie metody inne niż IUnknown metody zwracają E_UNEXPECTED. Gdy tak się dzieje, jedyną możliwą akcją dla konsumenta jest zwolnienie zestawu wierszy lub obiektu źródła danych.

Wywołanie ISSAsynchStatus::Abort i przekazanie wartości eOperation innej niż DBASYNCHOP_OPEN zwraca S_OK. Nie oznacza to, że operacja została zakończona lub anulowana.