CoSetCancelObject 함수(combaseapi.h)

현재 스레드에서 후속 취소 작업 중에 사용할 취소 개체를 설정(등록) 또는 다시 설정(등록 취소)합니다.

구문

HRESULT CoSetCancelObject(
  [in, optional] IUnknown *pUnk
);

매개 변수

[in, optional] pUnk

현재 스레드에서 설정하거나 다시 설정할 cancel 개체의 IUnknown 인터페이스에 대한 포인터입니다. 이 매개 변수가 NULL이면 맨 위 취소 개체가 다시 설정됩니다.

반환 값

이 함수는 다음 값뿐만 아니라 표준 반환 값 E_FAIL, E_INVALIDARG, E_OUTOFMEMORY 및 E_UNEXPECTED 반환할 수 있습니다.

반환 코드 Description
S_OK
cancel 개체가 성공적으로 설정되거나 다시 설정되었습니다.
E_ACCESSDENIED
취소 작업에 대한 블록으로 인해 현재 cancel 개체를 설정하거나 다시 설정할 수 없습니다.

설명

표준 마샬링을 지원하는 개체의 경우 프록시 개체는 CoSetCancelObject 를 호출하여 현재 스레드에 대한 취소 개체를 등록하여 메서드 호출을 마샬링하기 시작합니다.

CoSetCancelObject는 cancel 개체에서 ICancelMethodCalls에 대해 QueryInterface를 호출합니다. cancel 개체가 ICancelMethodCalls를 구현하지 않으면 coSetCancelObject 가 E_NOINTERFACE 실패합니다. 사용자 지정 마샬링된 인터페이스에서 취소 작업을 사용하지 않도록 설정하려면 ICancelMethodCalls::Cancel 구현은 E_NOTIMPL, E_FAIL 또는 기타 적절한 값을 반환하는 것 외에는 아무 작업도 수행하지 않아야 합니다.

CoSetCancelObject 는 등록한 개체에서 AddRef 를 호출하고 등록 취소한 개체에 대해 Release 를 호출합니다.

CoSetCancelObject 는 비동기 메서드에 대한 취소 개체를 설정하거나 다시 설정하지 않습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 combaseapi.h(Objbase.h 포함)
라이브러리 Ole32.lib
DLL Ole32.dll

추가 정보

ICancelMethodCalls