Condividi tramite


ISSAsynchStatus::Abort (provider OLE DB di Native Client)

Si applica a:SQL ServerDatabase SQL diAzure Istanzagestita di SQL di Azure Azure Synapse Analytics PlatformSystem (PDW)

Importante

SQL Server Native Client (spesso abbreviato SNAC) è stato rimosso da SQL Server 2022 (16.x) e SQL Server Management Studio 19 (SSMS). Non è consigliabile usare sia il provider OLE DB SQL Server Native Client (SQLNCLI o SQLNCLI11) che il provider Microsoft OLE DB legacy per SQL Server (SQLOLEDB). Passare al nuovo Microsoft OLE DB Driver (MSOLEDBSQL) per SQL Server in futuro.

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 si applica a un capitolo, il chiamante deve impostare hChapter su DB_NULL_HCHAPTER.

eOperation[in]
Operazione da interrompere. Deve corrispondere al 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. Questo non garantisce che l'operazione stessa 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 in cui è stato chiamato IDBInitialize::Initialize , ma successivamente annullato prima dell'inizializzazione o timeout. L'oggetto origine dati non è ancora inizializzato.

ISSAsynchStatus::Abort è stato chiamato su un set di righe in cui È stato chiamato ITransaction::Commit o ITransaction::Abort 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 non valido e determinare la restituzione di E_UNEXPECTED da parte di tutti i metodi ad eccezione di IUnknown. Quando ciò accade, l'unica azione possibile per il consumer consiste nel rilasciare il set di righe o l'oggetto origine dati.

Se si chiama ISSAsynchStatus::Abort e si passa un valore per eOperation diverso da DBASYNCHOP_OPEN, viene restituito S_OK. Questo non implica che l'operazione sia stata completata o annullata.

Vedi anche

Esecuzione di operazioni asincrone