Compartilhar via


ISSAsynchStatus::Abort (OLE DB)

Cancela uma operação que está sendo executada de forma assíncrona.

Sintaxe

HRESULT Abort(
        HCHAPTER hChapter,
        DBASYNCHOP eOperation);

Argumentos

  • hChapter[in]
    O identificador do capítulo que contém a operação a ser anulada. Se o objeto que está sendo chamado não for um objeto de conjunto de linhas ou se a operação não se aplicar a um capítulo, o chamador deverá definir hChapter como DB_NULL_HCHAPTER.

  • eOperation[in]
    A operação a ser anulada. O valor desse argumento deveria ser o seguinte:

    DBASYNCHOP_OPEN – a solicitação de cancelamento se aplica à abertura ou população assíncrona de um conjunto de linhas ou à inicialização assíncrona de um objeto de fonte de dados.

Valores do código de retorno

  • S_OK
    A solicitação para cancelar a operação assíncrona foi processada. Isso não garante que a operação seja cancelada. Para determinar se a operação foi cancelada, o consumidor deve chamar ISSAsynchStatus::GetStatus e verificar DB_E_CANCELED; no entanto, esse valor pode não ser retornado na chamada seguinte.

  • DB_E_CANTCANCEL
    A operação assíncrona não pode ser cancelada.

  • DB_E_CANCELED
    A solicitação para anular a operação assíncrona foi cancelada durante notificações. A operação ainda está sendo executada de forma assíncrona.

  • E_FAIL
    Ocorreu um erro específico de provedor.

  • E_INVALIDARG
    O parâmetro hChapter não é DB_NULL_HCHAPTER ou eOperation não é DBASYNCH_OPEN.

  • E_UNEXPECTED
    ISSAsynchStatus::Abort foi chamado em um objeto de origem de dados no qual IDBInitialize::Initialize não foi chamado ou não foi concluído.

    ISSAsynchStatus::Abort foi chamado em um objeto de origem de dados no qual IDBInitialize::Initialize foi chamado mas subsequentemente foi cancelado antes da inicialização ou seu tempo limite foi alcançado. O objeto de origem de dados permanece não inicializado.

    ISSAsynchStatus::Abort foi chamado em um conjunto de linhas no qual ITransaction::Commit ou ITransaction::Abort foi chamado anteriormente, e o conjunto de linhas não sobreviveu à operação de confirmação ou anulação e está em um estado zumbi.

    ISSAsynchStatus::Abort foi chamado em um conjunto de linhas cancelado de forma assíncrona em sua fase de inicialização. O conjunto de linhas está em um estado zumbi.

Comentários

Anular a inicialização de um conjunto de linhas ou objeto de fonte de dados pode deixar o conjunto de linhas ou o objeto de fonte de dados em um estado zumbi, de modo que todos os métodos diferentes de IUnknown retornam E_UNEXPECTED. Quando isso acontece, a única ação possível para o consumidor é liberar o conjunto de linhas ou objeto de fonte de dados.

Chamar ISSAsynchStatus::Abort e atribuir um valor a eOperation diferente de DBASYNCHOP_OPEN retorna S_OK. Isso não significa que a operação tenha sido concluída ou cancelada.

Consulte também

Conceitos