Compartir a través de


ISSAsynchStatus::Abort (OLE DB)

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

Sintaxis

HRESULT Abort(
        HCHAPTER hChapter,
        DBASYNCHOP eOperation);

Argumentos

  • hChapter[en]
    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[en]
    Operación para anular. Éste debe ser el valor 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 los códigos 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ó a ISSAsynchStatus::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 se canceló posteriormente antes de la inicialización, o se ha superado el tiempo de espera. Todavía no se ha inicializado el objeto de origen de datos.

    Se llamó a ISSAsynchStatus::Abort en un conjunto de filas en el que previamente se llamó a ITransaction::Commit o a ITransaction::Abort, y el conjunto de filas no conservó la confirmación o anulación, y está en un estado zombi.

    Se llamó a ISSAsynchStatus::Abort en un conjunto de filas que se canceló de forma asincrónica en su fase de inicialización. El conjunto de filas está en un estado zombi.

Notas

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.

Historial de cambios

Contenido actualizado

Se ha aclarado la descripción de E_UNEXPECTED.

Vea también

Conceptos