Partager via


ISSAsynchStatus ::Abort (fournisseur OLE DB native client)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Important

SQL Server Native Client (souvent abrégé en SNAC) a été supprimé dans SQL Server 2022 (16.x) et SQL Server Management Studio 19 (SSMS). Le fournisseur OLE DB pour SQL Server Native Client (SQLNCLI ou SQLNCLI11) et le fournisseur Microsoft OLE DB hérité pour SQL Server (SQLOLEDB) ne sont pas recommandés dans les nouveaux développements. Utilisez à la place le nouveau Microsoft OLE DB Driver (MSOLEDBSQL) pour SQL Server.

Annule une opération s'exécutant de manière asynchrone.

Syntaxe

  
HRESULT Abort(  
        HCHAPTER hChapter,  
        DBASYNCHOP eOperation);  

Arguments

hChapter[in]
Handle du chapitre pour lequel vous souhaitez abandonner l'opération. Si l'objet appelé n'est pas un objet d'ensemble de lignes ou que l'opération ne s'applique pas à un chapitre, l'appelant doit attribuer la valeur DB_NULL_HCHAPTER à hChapter .

eOperation[in]
L'opération à abandonner. Elle doit avoir la valeur suivante :

DBASYNCHOP_OPEN : la demande d'annulation s'applique à l'ouverture ou au remplissage asynchrone d'un ensemble de lignes ou à l'initialisation asynchrone d'un objet source de données.

Codet de retour

S_OK
La demande d'annulation de l'opération asynchrone a été traitée. Cela ne garantit pas que l'opération ait été annulée. Pour déterminer si l'opération a bien été annulée, le consommateur doit appeler ISSAsynchStatus::GetStatus et vérifier la présence de DB_E_CANCELED ; toutefois, il est possible qu'il ne soit pas retourné dans l'appel suivant.

DB_E_CANTCANCEL
L'opération asynchrone ne peut pas être annulée.

DB_E_CANCELED
La demande d'abandon de l'opération asynchrone a été annulée au cours de notifications. L'opération est encore exécutée de manière asynchrone.

E_FAIL
Une erreur spécifique au fournisseur s'est produite.

E_INVALIDARG
Le paramètre hChapter n'est pas DB_NULL_HCHAPTER ou eOperation n'est pas DBASYNCH_OPEN.

E_UNEXPECTED
ISSAsynchStatus::Abort a été appelé sur un objet source de données sur lequel IDBInitialize::Initialize n'a pas été appelé ou ne s'est pas terminé.

ISSAsynchStatus ::Abort a été appelé sur un objet de source de données sur lequel IDBInitialize ::Initialize a été appelé, mais a ensuite été annulé avant l’initialisation, ou a expiré. L’objet source de données n’est toujours pas initialisé.

ISSAsynchStatus::Abort a été appelé sur un ensemble de lignes sur lequel ITransaction::Commit ou ITransaction::Abort a été appelé précédemment, et l'ensemble de lignes n'a pas survécu à la validation ou à l'abandon et se trouve dans un état passif.

ISSAsynchStatus::Abort a été appelé sur un ensemble de lignes qui a été annulé de manière asynchrone dans sa phase d'initialisation. L'ensemble de lignes se trouve dans un état zombie.

Notes

L'abandon de l'initialisation d'un ensemble de lignes ou d'un objet source de données peut laisser l'ensemble de lignes ou l'objet source de données dans un état zombie, de telle sorte que toutes les méthodes autres que IUnknown retournent E_UNEXPECTED. Lorsque cela se produit, la seule action possible pour le consommateur est de libérer l'ensemble de lignes ou l'objet source de données.

Le fait d'appeler ISSAsynchStatus::Abort et de passer une valeur pour eOperation autre que DBASYNCHOP_OPEN retourne S_OK. Cela ne signifie pas pour autant que l'opération est terminée ou annulée.

Voir aussi

Exécution d’opérations asynchrones