Teilen über


ISSAsynchStatus::Abort (OLE DB)

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

OLE DB-Treiber herunterladen

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. Der folgende Wert sollte verwendet werden:

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, muss der Consumer ISSAsynchStatus::GetStatus aufrufen und auf den Wert DB_E_CANCELED prüfen. Dieser Wert wird ggf. jedoch nicht 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, das dann aber vor der Initialisierung abgebrochen wurde oder das Zeitlimit überschritten hat. Das Datenquellobjekt wurde noch 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.

Bemerkungen

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. Dieser Wert bedeutet nicht, dass der Vorgang abgeschlossen oder abgebrochen wurde.

Weitere Informationen

Ausführen asynchroner Vorgänge