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


ISSAsynchStatus (OLE DB)

ISSAsynchStatus предоставляет поддержку SQL Server асинхронных операций. Этот необязательный интерфейс наследует основной интерфейс OLE DB — IDBAsynchStatus. Помимо методов Abort и GetStatus , унаследованных от IDBAsynchStatus, ISSAsynchStatus предоставляет один новый метод, который используется для ожидания конца асинхронной операции или истечения назначенного времени.

Метод Описание
ISSAsynchStatus::Abort (OLE DB) Отменяет операцию асинхронного выполнения.
Функция ISSAsynchStatus::GetStatus (OLE DB) Возвращает состояние операции асинхронного выполнения.
ISSAsynchStatus::WaitForAsynchCompletion (OLE DB) Ждет завершения синхронной операции или истечения назначенного времени.

Remarks

Реализация метода ISSAsynchStatus::GetStatus в интерфейсе ISSAsynchStatus аналогична методу IDBAsynchStatus::GetStatus , за одним исключением: если инициализация объекта источника данных прервана преждевременно, возвращается не DB_E_CANCELED, а E_UNEXPECTED (хотя ISSAsynchStatus::WaitForAsynchCompletion возвращает DB_E_CANCELED). Это происходит потому, что объект источника данных не остается в обычном состоянии, следующем за аварийным прерыванием операции, чтобы можно было предпринимать новые попытки инициализации.

Следующие методы поддерживают асинхронное выполнение в SQL Server:

  • ICommand::Execute

  • IOpenRowset::OpenRowset

  • IMultipleResults::GetResult

См. также:

Интерфейсы (OLE DB)
Выполнение асинхронных операций