Бөлісу құралы:


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

Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform 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. Это не подразумевает, что сама операция была завершена или отменена.

См. также

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