Condividi tramite


ISSAsynchStatus::Abort (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 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 di codice restituiti

  • 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 oppure eOperation non è DBASYNCH_OPEN.

  • E_UNEXPECTED
    ISSAsynchStatus::Abort è stato chiamato su un oggetto origine dati su 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 successivamente annullato prima dell'inizializzazione o ha raggiunto il timeout. L'oggetto origine dati è ancora non inizializzato.

    ISSAsynchStatus::Abort è stato chiamato su un set di righe su cui in precedenza è stato chiamato ITransaction::Commit o ITransaction::Abort e il set di righe non ha supportato l'operazione di interruzione o commit ed è in uno stato non valido.

    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.

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

Vedere anche

Concetti