ISSAsynchStatus::Abort (поставщик OLE DB собственного клиента)

Применимо к:SQL ServerAzure SQL DatabaseAzure Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Внимание

Собственный клиент SQL Server (часто сокращенный SNAC) был удален из SQL Server 2022 (16.x) и SQL Server Management Studio 19 (SSMS). Поставщик OLE DB собственного клиента SQL Server (SQLNCLI или SQLNCLI11) и устаревший поставщик Microsoft OLE DB для SQL Server (SQLOLEDB) не рекомендуется для новой разработки. Перейдите на новый драйвер Microsoft OLE DB (MSOLEDBSQL) для SQL Server .

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

Синтаксис

  
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::Abилиt был вызван для набора строк, для которого ранее был вызван интерфейс ITransaction::Commit или ITransaction::Abилиt was previously called, and the rowset did not survive the commit или abилиt and is in a zombie state.

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

Замечания

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

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

См. также

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