ISSAsynchStatus では、SQL Server 非同期操作のサポートが公開されています。 これは、コア OLE DB インターフェイス IDBAsynchStatus から継承する省略可能なインターフェイスです。 ISSAsynchStatus には、IDBAsynchStatus から継承された Abort メソッドと GetStatus メソッドに加えて、非同期操作が完了するかタイムアウトになるまで待機するために使用される新しいメソッドが 1 つ用意されています。
メソッド | 説明 |
---|---|
ISSAsynchStatus::Abort (OLE DB) | 非同期実行操作を取り消します。 |
ISSAsynchStatus::GetStatus (OLE DB) | 非同期実行操作の状態を返します。 |
ISSAsynchStatus::WaitForAsynchCompletion (OLE DB) | 非同期実行操作が完了するか、タイムアウトが発生するまで待機します。 |
注釈
ISSAsynchStatus::GetStatus メソッドの ISSAsynchStatus 実装は IDBAsynchStatus::GetStatus メソッドと同じですが、データ ソース オブジェクトの初期化が中止されると、DB_E_CANCELEDではなくE_UNEXPECTEDが返されます (ただし、ISSAsynchStatus::WaitForAsynchCompletion はDB_E_CANCELEDを返します)。 これは、中止操作の後にデータ ソース オブジェクトが通常の状態に残らず、さらに初期化操作が試行される可能性があるためです。
次のメソッドは、SQL Server での非同期実行の使用をサポートしています。
ICommand::Execute
IOpenRowset::OpenRowset
IMultipleResults::GetResult