ISSAsynchStatus (OLE DB)
Интерфейс ISSAsynchStatus в SQL Server поддерживает асинхронные операции. Этот необязательный интерфейс наследует основной интерфейс OLE DB — IDBAsynchStatus. Помимо методов Abort и GetStatus, унаследованных от IDBAsynchStatus, ISSAsynchStatus предоставляет один новый метод, который используется для ожидания конца асинхронной операции или истечения назначенного времени.
Метод |
Описание |
---|---|
Отменяет операцию асинхронного выполнения. |
|
Возвращает состояние операции асинхронного выполнения. |
|
Ждет завершения синхронной операции или истечения назначенного времени. |
Замечания
Реализация метода ISSAsynchStatus::GetStatus в интерфейсе ISSAsynchStatus аналогична методу IDBAsynchStatus::GetStatus, за одним исключением: если инициализация объекта источника данных прервана преждевременно, возвращается не DB_E_CANCELED, а E_UNEXPECTED (хотя ISSAsynchStatus::WaitForAsynchCompletion возвращает DB_E_CANCELED). Это происходит потому, что объект источника данных не остается в обычном состоянии, следующем за аварийным прерыванием операции, чтобы можно было предпринимать новые попытки инициализации.
Следующие методы поддерживают асинхронное выполнение в SQL Server:
ICommand::Execute
IOpenRowset::OpenRowset
IMultipleResults::GetResult