Condividi tramite


ISSAsynchStatus::Abort (OLE DB)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)

Download del driver OLE DB

Annulla un'operazione di esecuzione asincrona.

Sintassi

  
HRESULT Abort(  
        HCHAPTER hChapter,  
        DBASYNCHOP eOperation);  

Argomenti

hChapter[in]
Handle del capitolo per il quale interrompere l'operazione. Se l'oggetto chiamato non è un oggetto set di righe o l'operazione non è applicabile a un capitolo, il chiamante deve impostare hChapter su DB_NULL_HCHAPTER.

eOperation[in]
Operazione da interrompere. Deve essere usato il valore seguente:

DBASYNCHOP_OPEN: la richiesta di annullamento si applica all'apertura o al popolamento asincrono di un set di righe o all'inizializzazione asincrona di un oggetto origine dati.

Valori del codice restituito

S_OK
La richiesta di annullare l'operazione asincrona è stata elaborata. Ciò non garantisce che l'operazione sia stata annullata. Per determinare se è stata effettivamente annullata, il consumer deve chiamare ISSAsynchStatus::GetStatus e verificare DB_E_CANCELED. È tuttavia possibile che non venga restituito nella chiamata successiva.

DB_E_CANTCANCEL
Non è stato possibile annullare l'operazione asincrona.

DB_E_CANCELED
La richiesta di interrompere l'operazione asincrona è stata annullata durante le notifiche. L'operazione viene ancora eseguita in modo asincrono.

E_FAIL
Si è verificato un errore specifico del provider.

E_INVALIDARG
Il parametro hChapter non è DB_NULL_HCHAPTER o eOperation non è DBASYNCH_OPEN.

E_UNEXPECTED
ISSAsynchStatus::Abort è stato chiamato su un oggetto origine dati in cui IDBInitialize::Initialize non è stato chiamato o non è stato completato.

ISSAsynchStatus::Abort è stato chiamato su un oggetto origine dati su cui IDBInitialize::Initialize è stato chiamato ma poi annullato prima dell'inizializzazione o è scaduto. L'oggetto origine dati non è ancora inizializzato.

ISSAsynchStatus::Abort è stato chiamato su un set di righe su cui ITransaction::Commit o ITransaction::Abort è stato chiamato in precedenza, e il set di righe non è sopravvissuto al commit o all'interruzione ed è in uno stato zombie.

ISSAsynchStatus::Abort è stato chiamato su un set di righe annullato in modo asincrono nella fase di inizializzazione. Il set di righe si trova in uno stato non valido.

Osservazioni:

L'interruzione dell'inizializzazione di un set di righe o di un oggetto origine dati potrebbe lasciare il set di righe o l'oggetto origine dati in uno stato zombie, in modo che tutti i metodi diversi da IUnknown quelli restituiti E_UNEXPECTED. Quando ciò accade, l'unica azione possibile per il consumer consiste nel rilasciare il set di righe o l'oggetto origine dati.

La chiamata ISSAsynchStatus::Abort e il passaggio di un valore per eOperation diverso da DBASYNCHOP_OPEN restituisce S_OK. Questo valore non implica che l'operazione sia stata completata o annullata.

Vedi anche

Esecuzione di operazioni asincrone