Compartir a través de


ISSAsynchStatus::Abort (proveedor OLE DB de Native Client)

Se aplica a: SQL Server Azure SQL Database Azure SQL Instancia administrada Azure Synapse Analytics Analytics Platform System (PDW)

Importante

SQL Server Native Client (a menudo abreviado SNAC) se ha quitado de SQL Server 2022 (16.x) y SQL Server Management Studio 19 (SSMS). Para nuevos trabajos de desarrollo, no se recomiendan ni el proveedor OLE DB de SQL Server Native Client (SQLNCLI o SQLNCLI11) ni el proveedor OLE DB de Microsoft para SQL Server (SQLOLEDB) heredado. Cambie al nuevo Controlador Microsoft OLE DB para SQL Server de ahora en adelante.

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 las llamadas debe establecer hChapter en DB_NULL_HCHAPTER.

eOperation[in]
Operación para anular. El valor debe ser el siguiente:

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 eOperation no es DBASYNCH_OPEN.

E_UNEXPECTED
Se llamó aISSAsynchStatus::Abort en un objeto de origen de datos en el que no se llamó a IDBInitialize::Initialize , o no se ha completado.

Se llamó a ISSAsynchStatus::Abort en un objeto de origen de datos en el que se llamó a IDBInitialize::Initialize , pero posteriormente se canceló antes de la inicialización, o ha agotado el tiempo de espera. El objeto de origen de datos sigue sin inicializarse.

Se llamó aISSAsynchStatus::Abo at en un conjunto de filas en el que previamente se llamó a ITransaction::Commit o a ITransaction::Abo at was previously called, and the rowset did not survive the commit o a abo at and is in a zombie state.

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.

Comentarios

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. Esto no implica que la operación se haya completado o cancelado.

Consulte también

Realizar operaciones asincrónicas