Compartir a través de


ISSAsynchStatus::Abort (OLE DB)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Descargar controlador OLE DB

Cancela una operación que se ejecuta de forma asincrónica.

Sintaxis

  
HRESULT Abort(  
        HCHAPTER hChapter,  
        DBASYNCHOP eOperation);  

Argumentos

hChapter[in]
El identificador del segmento para el que se anula la operación. Si el objeto al que se llama no es un objeto de conjunto de filas o la operación no se aplica a un segmento, el autor de la llamada debe establecer hChapter en DB_NULL_HCHAPTER.

eOperation[in]
Operación para anular. Se debe usar el siguiente valor:

DBASYNCHOP_OPEN-La solicitud para cancelar se aplica a la apertura o rellenado asincrónico de un conjunto de filas o a la inicialización asincrónica de un objeto de origen de datos.

Valores de código de retorno

S_OK
Se procesó la solicitud para cancelar la operación asincrónica. Esto no garantiza que la operación en sí se haya cancelado. Para determinar si se canceló la operación, el consumidor debería llamar a ISSAsynchStatus::GetStatus y realizar una comprobación para DB_E_CANCELED; sin embargo, puede que no se devuelva en la llamada siguiente.

DB_E_CANTCANCEL
La operación asincrónica no puede cancelarse.

DB_E_CANCELED
La solicitud para anular la operación asincrónica se canceló durante las notificaciones. La operación todavía se está ejecutando de forma asincrónica.

E_FAIL
Se produjo un error específico del proveedor.

E_INVALIDARG
El parámetro hChapter no es DB_NULL_HCHAPTER, o bien eOperation no es DBASYNCH_OPEN.

E_UNEXPECTED
Se ha llamado a ISSAsynchStatus::Abort en un objeto de origen de datos en el que no se ha llamado a IDBInitialize::Initialize, o bien no se ha completado.

Se ha llamado a ISSAsynchStatus::Abort en un objeto de origen de datos en el que se ha llamado a IDBInitialize::Initialize e inmediatamente se ha cancelado antes de la inicialización o se ha agotado el tiempo de espera. Todavía no se ha inicializado el objeto de origen de datos.

Se ha llamado a ISSAsynchStatus::Abort en un conjunto de filas en el que previamente se había llamado a ITransaction::Commit o a ITransaction::Abort, y el conjunto de filas no ha conservado la confirmación o anulación y se encuentra en un estado zombi.

Se llamó aISSAsynchStatus::Abort en un conjunto de filas que se canceló de forma asincrónica en su fase de inicialización. El conjunto de filas se encuentra en estado inerte.

Observaciones

Al anular la inicialización de un conjunto de filas u objeto de origen de datos, se podría dejar el conjunto de filas u objeto de origen de datos en un estado zombi, de forma que todos los métodos distintos de los métodos IUnknown devuelvan un valor E_UNEXPECTED. Si esto sucede, la única acción posible para el consumidor es liberar el conjunto de filas u objeto de origen de datos.

Llamando a ISSAsynchStatus::Abort y pasando un valor para eOperation distinto de DBASYNCHOP_OPEN, devuelve S_OK. Este valor no implica que la operación se haya completado o cancelado.

Consulte también

Realizar operaciones asincrónicas