Поделиться через


ISSAsynchStatus::Abort (OLE DB)

Относится к:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsСистема аналитической платформы (PDW)SQL база данных в Microsoft Fabric

Скачать драйвер OLE DB

Отменяет операцию асинхронного выполнения.

Синтаксис

  
HRESULT Abort(  
        HCHAPTER hChapter,  
        DBASYNCHOP eOperation);  

Аргументы

hChapter[in]
Дескриптор раздела, для которого прерывается операция. Если вызываемый объект не является объектом набора строк или операция не применяется к разделу, вызывающий должен присвоить параметру hChapter значение DB_NULL_HCHAPTER.

eOperation[in]
Операция, которая должна быть прервана. Следует использовать следующее значение:

DBASYNCHOP_OPEN — запрос на отмену применяется к асинхронному открытию или заполнению набора строк или асинхронной инициализации объекта источника данных.

Значения кода возврата

S_OK
Запрос на отмену асинхронной операции обработан. Это не гарантирует, что сама операция была отменена. Чтобы определить, отменена ли операция, потребитель должен вызвать метод ISSAsynchStatus::GetStatus и проверить наличие DB_E_CANCELED; однако это значение может быть не возвращено в следующем вызове.

DB_E_CANTCANCEL
Асинхронную операцию невозможно отменить.

DB_E_CANCELED
Запрос на прерывание асинхронной операции был отменен во время отправки уведомлений. Операция все еще выполняется асинхронно.

E_FAIL
Произошла ошибка, зависящая от поставщика.

E_INVALIDARG
Значение параметра hChapter не равно DB_NULL_HCHAPTER или значение параметра eOperation не равно DBASYNCH_OPEN.

E_UNEXPECTED
ISSAsynchStatus::Abort был вызван для объекта источника данных, на котором IDBInitialize::Initialize не было вызвано или не выполнено.

ISSAsynchStatus::Abort вызывается для объекта источника данных, на котором IDBInitialize::Initialize был вызван вызов, но затем отменен до инициализации или истекло время ожидания. Объект источника данных по-прежнему неинициализирован.

ISSAsynchStatus::Abort был вызван набором строк, на котором ITransaction::Commit или ITransaction::Abort ранее был вызван, и набор строк не пережил фиксацию или прерывание и находится в зомби-состоянии.

ISSAsynchStatus::Abort был вызван набором строк, асинхронно отмененным на этапе инициализации. Набор строк находится в состоянии зомби.

Замечания

Прерывание инициализации набора строк или объекта источника данных может оставить набор строк или объект источника данных в состоянии зомби, чтобы все методы, отличные IUnknown от методов, возвращали E_UNEXPECTED. В этом случае единственным возможным для потребителя действием является освобождение набора строк или объекта источника данных.

Вызов ISSAsynchStatus::Abort и передача значения для eOperation , отличных от DBASYNCHOP_OPEN, возвращает S_OK. Это значение не подразумевает, что сама операция была завершена или отменена.

См. также

Выполнение асинхронных операций