Teilen über


ISSAsynchStatus::Abort (Native Client OLE DB-Anbieter)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL verwaltete Instanz Azure Synapse Analytics Analytics Platform System (PDW)

Wichtig

Der SQL Server Native Client (häufig abgekürzt mit SNAC) wurde aus SQL Server 2022 (16.x) und SQL Server Management Studio 19 (SSMS) entfernt. Sowohl der OLE DB-Anbieter für den SQL Server Native Client (SQLNCLI oder SQLNCLI11) als auch der Microsoft OLE DB-Legacyanbieter für SQL Server (SQLOLEDB) werden für Neuentwicklungen nicht empfohlen. Verwenden Sie in Zukunft den neuen Microsoft OLE DB-Treiber für SQL Server (MSOLEDBSQL).

Bricht einen asynchron ausgeführten Vorgang ab.

Syntax

  
HRESULT Abort(  
        HCHAPTER hChapter,  
        DBASYNCHOP eOperation);  

Argumente

hChapter[in]
Das Handle des Kapitels, für das der Vorgang abgebrochen werden soll. Wenn das aufgerufene Objekt kein Rowsetobjekt ist oder der Vorgang nicht für ein Kapitel gilt, muss der Aufrufer hChapter auf DB_NULL_HCHAPTER festlegen.

eOperation[in]
Der Vorgang, der abgebrochen werden soll. Dieser sollte den folgenden Wert haben:

DBASYNCHOP_OPEN – Die Anforderung zum Abbruch gilt für das asynchrone Öffnen oder Auffüllen eines Rowsets oder für die asynchrone Initialisierung eines Datenquellobjekts.

Rückgabecodewerte

S_OK
Die Anforderung zum Abbrechen des asynchronen Vorgangs wurde verarbeitet. Dies ist keine Garantie, dass der Vorgang selbst abgebrochen wurde. Um festzustellen, ob der Vorgang abgebrochen wurde, sollte der Consumer ISSAsynchStatus::GetStatus aufrufen und auf den Wert DB_E_CANCELED prüfen. Dieser Wert wird unter Umständen jedoch nicht gleich im nächsten Aufruf zurückgegeben.

DB_E_CANTCANCEL
Der asynchrone Vorgang kann nicht abgebrochen werden.

DB_E_CANCELED
Die Anforderung zum Abbrechen des asynchronen Vorgangs wurde während der Benachrichtigungen abgebrochen. Der Vorgang wird immer noch asynchron ausgeführt.

E_FAIL
Es ist ein anbieterspezifischer Fehler aufgetreten.

E_INVALIDARG
Der hChapter -Parameter ist nicht DB_NULL_HCHAPTER, oder eOperation ist nicht DBASYNCH_OPEN.

E_UNEXPECTED
ISSAsynchStatus::Abort wurde für ein Datenquellobjekt aufgerufen, für das IDBInitialize::Initialize nicht aufgerufen oder nicht abgeschlossen wurde.

ISSAsynchStatus::Abort wurde für ein Datenquellenobjekt aufgerufen, für das IDBInitialize::Initialize aufgerufen wurde, aber anschließend vor der Initialisierung abgebrochen wurde oder ein Timeout aufgetreten ist. Das Datenquellenobjekt wird weiterhin nicht initialisiert.

ISSAsynchStatus::Abort wurde für ein Rowset aufgerufen, für das zuvor ITransaction::Commit oder ITransaction::Abort aufgerufen wurde, und das Rowset blieb nach dem Commit oder Abbruch nicht bestehen und befindet sich in einem Zombiezustand.

ISSAsynchStatus::Abort wurde für ein Rowset aufgerufen, das in seiner Initialisierungsphase asynchron abgebrochen wurde. Das Rowset befindet sich in einem Zombiezustand.

Hinweise

Durch Abbrechen der Initialisierung eines Rowsets oder eines Datenquellobjekts wird das Rowset bzw. das Datenquellobjekt möglicherweise in einen Zombiezustand versetzt, sodass für alle Methoden außer IUnknown -Methoden E_UNEXPECTED zurückgegeben wird. In diesem Fall hat der Consumer nur die Möglichkeit, das Rowset oder das Datenquellobjekt freizugeben.

Durch Aufrufen von ISSAsynchStatus::Abort und Übergeben eines anderen Werts für eOperation als DBASYNCHOP_OPEN wird S_OK zurückgegeben. Dies bedeutet nicht, dass der Vorgang abgeschlossen oder abgebrochen wurde.

Weitere Informationen

Ausführen asynchroner Vorgänge