다음을 통해 공유


ISSAsynchStatus::Abort(Native Client OLE DB Provider)

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

Important

SQL Server Native Client(약칭 SNAC)는 SQL Server 2022(16.x) 및 SSMS(SQL Server Management Studio) 19에서 제거되었습니다. SQL Server Native Client OLE DB 공급자(SQLNCLI 또는 SQLNCLI11)와 레거시 Microsoft OLE DB Provider for SQL Server(SQLOLEDB)는 모두 새로운 개발에 권장되지 않습니다. 앞으로 SQL Server용 새 Microsoft OLE DB 드라이버(MSOLEDBSQL)로 전환합니다.

비동기 실행 작업을 취소합니다.

구문

  
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
IDBInitialize::Initialize가 호출되지 않았거나 완료되지 않은 데이터 원본 개체에서 ISSAsynchStatus::Abort가 호출되었습니다.

IDBInitialize::Initialize가 호출되었지만 초기화 전에 취소되었거나 시간이 초과된 데이터 원본 개체에서 ISSAsynchStatus::Abort가 호출되었습니다. 데이터 원본 개체는 아직 초기화되지 않았습니다.

ISSAsynchStatus::Abort는 ITransaction::Commit 또는 ITransaction::Abort가 이전에 호출된 행 집합에서 호출되었으며 행 집합은 커밋 또는 중단에서 살아남지 못하고 좀비 상태입니다.

초기화 단계에서 비동기적으로 취소된 행 집합에서 ISSAsynchStatus::Abort 가 호출되었습니다. 행 집합이 좀비 상태입니다.

설명

행 집합 또는 데이터 원본 개체의 초기화를 중단하면 행 집합 또는 데이터 원본 개체가 좀비 상태로 남을 수 있으므로 IUnknown 메서드 이외의 모든 메서드는 E_UNEXPECTED 반환합니다. 이 경우 소비자가 수행할 수 있는 유일한 작업은 행 집합 또는 데이터 원본 개체를 해제하는 것입니다.

ISSAsynchStatus::Abort를 호출하고 DBASYNCHOP_OPEN 이외의 eOperation 값을 전달하면 S_OK 반환됩니다. 작업이 완료되었거나 취소되었음을 의미하지는 않습니다.

참고 항목

비동기 작업 수행