Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Importante
O SQL Server Native Client (geralmente abreviado SNAC) foi removido do SQL Server 2022 (16.x) e do SQL Server Management Studio 19 (SSMS). O provedor OLE DB do SQL Server Native Client (SQLNCLI ou SQLNCLI11) e o provedor Microsoft OLE DB herdado para SQL Server (SQLOLEDB) não são recomendados para novos desenvolvimentos. Mude para o novo Microsoft OLE DB Driver (MSOLEDBSQL) para SQL Server daqui em diante.
Cancela uma operação em execução assíncrona.
Syntax
HRESULT Abort(
HCHAPTER hChapter,
DBASYNCHOP eOperation);
Arguments
hCapítulo[em]
O nome do capítulo para abortar a operação. Se o objeto a ser chamado não for um objeto de linhas ou se a operação não se aplicar a um capítulo, o chamador deve definir hChapter como DB_NULL_HCHAPTER.
eOperação[in]
A operação para abortar. Este deve ser o seguinte valor:
DBASYNCHOP_OPEN-The pedido de cancelamento aplica-se à abertura ou população assíncrona de um conjunto de linhas ou à inicialização assíncrona de um objeto fonte de dados.
Valores do código de retorno
S_OK
O pedido para cancelar a operação assíncrona foi processado. Isto não garante que a operação em si tenha sido cancelada. Para determinar se a operação foi cancelada, o consumidor deve ligar para ISSAsynchStatus::GetStatus e verificar DB_E_CANCELED; no entanto, pode não ser devolvido na chamada seguinte.
DB_E_CANTCANCEL
A operação assíncrona não pode ser cancelada.
DB_E_CANCELED
O pedido para abortar a operação assíncrona foi cancelado durante as notificações. A operação continua a ser executada de forma assíncrona.
E_FAIL
Ocorreu um erro específico do fornecedor.
E_INVALIDARG
O parâmetro hChapter não é DB_NULL_HCHAPTER ou eOperation não é DBASYNCH_OPEN.
E_UNEXPECTED
ISSAsynchStatus::Abort foi chamado num objeto fonte de dados no qual IDBInitialize::Initialize não foi chamado, ou não foi concluído.
ISSAsynchStatus::Abort foi chamado num objeto fonte de dados no qual IDBInitialize::Initialize foi chamado, mas posteriormente cancelado antes da inicialização, ou já expirou. O objeto fonte de dados ainda não está inicializado.
ISSAsynchStatus::Abort foi chamado num conjunto de linhas onde ITransaction::Commit ou ITransaction::Abort foi anteriormente chamado, e o conjunto de linhas não sobreviveu ao commit ou aborto, ficando num estado zombie.
ISSAsynchStatus::Abort foi chamado num conjunto de linhas que foi cancelado assíncronamente na sua fase de inicialização. O rowset está num estado zumbi.
Observações
Abortar a inicialização de um conjunto de linhas ou objeto fonte de dados pode deixar o conjunto de linhas ou objeto fonte de dados num estado zombie, de modo que todos os métodos exceto os métodos IUnknown retornam E_UNEXPECTED. Quando isto acontece, a única ação possível para o consumidor é libertar o conjunto de linhas ou objeto fonte de dados.
Chamar ISSAsynchStatus::Abort e passar um valor para eOperation diferente de DBASYNCHOP_OPEN retorna S_OK. Isto não implica que a operação tenha sido concluída ou cancelada.