ISSAsynchStatus::Abort (Fornecedor Nativo de Cliente OLE DB)

Aplica-se a:SQL ServerBase de Dados SQL do AzureInstância Gerida do Azure SQLAzure 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.