Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Cancela uma operação de execução assíncrona.
Sintaxe
HRESULT Abort(
HCHAPTER hChapter,
DBASYNCHOP eOperation);
Argumentos
hChapter[in]
O identificador do capítulo para o qual anular a operação. Se o objeto que está sendo chamado não for um objeto rowset ou 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. Esse deve ser o seguinte valor:
DBASYNCHOP_OPEN-The solicitação de cancelamento se aplica à abertura assíncrona ou à população 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 em si tenha sido cancelada. Para determinar se a operação foi cancelada, o consumidor deve chamar ISSAsynchStatus::GetStatus e verificar se há DB_E_CANCELED; no entanto, ele pode não ser retornado na próxima chamada.
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 as notificações. A operação ainda está sendo executada de forma assíncrona.
E_FAIL
Ocorreu um erro específico do provedor.
E_INVALIDARG
O parâmetro hChapter não é DB_NULL_HCHAPTER ou a eOperation não é DBASYNCH_OPEN.
E_UNEXPECTED
ISSAsynchStatus::Abort foi chamado em um objeto de fonte de dados no qual IDBInitialize::Initialize não foi chamado ou não foi concluído.
ISSAsynchStatus::Abort foi chamado em um objeto de fonte de dados no qual IDBInitialize::Initialize foi chamado, mas posteriormente cancelado antes da inicialização ou atingiu o tempo limite. O objeto da fonte de dados ainda não está 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 à confirmação ou anulação e está em um estado zumbi.
ISSAsynchStatus::Abort foi chamado em um conjunto de linhas que foi cancelado de forma assíncrona em sua fase de inicialização. O conjunto de linhas está em um estado zumbi.
Observações
Anular a inicialização de um conjunto de linhas ou objeto de fonte de dados pode deixar o conjunto de linhas ou objeto de fonte de dados em um estado zumbi, de modo que todos os métodos que não sejam métodos IUnknown retornem E_UNEXPECTED. Quando isso acontece, a única ação possível para o consumidor é liberar o conjunto de linhas ou o objeto da fonte de dados.
Chamar ISSAsynchStatus::Abortar e passar um valor para eOperation diferente de DBASYNCHOP_OPEN retorna S_OK. Isso não implica que a operação foi concluída ou cancelada.