다음을 통해 공유


CoTestCancel 함수(combaseapi.h)

서버에서 실행 중인 호출이 클라이언트에 의해 취소되었는지 여부를 확인합니다.

구문

HRESULT CoTestCancel();

반환 값

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

반환 코드 설명
RPC_S_CALLPENDING
호출이 아직 보류 중이며 클라이언트에서 아직 취소되지 않았습니다.
RPC_E_CALL_CANCELED
클라이언트에서 호출을 취소했습니다.

설명

서버 개체는 클라이언트 취소 요청을 검색하기 위해 반환하기 전에 CoTestCancel 을 한 번 이상 호출해야 합니다. 이렇게 하면 클라이언트가 취소 요청을 실행한 경우 서버 불필요한 작업을 저장할 수 있으며 취소 시간 제한을 RPC_C_CANCEL_INFINITE_TIMEOUT 설정하면 클라이언트의 대기 시간을 줄일 수 있습니다. 또한 서버 개체가 보류 중인 호출에서 반환하기 전에 취소 요청을 감지하는 경우 메모리, 마샬링된 인터페이스 또는 생성하거나 가져온 핸들을 클린 수 있습니다.

CoTestCancelCoGetCallContext 를 호출하여 현재 cancel 개체에서 ICancelMethodCalls 인터페이스를 가져온 다음 ICancelMethodCalls::TestCancel을 호출합니다. 사용자 지정 마샬링을 구현하는 개체는 먼저 CoSwitchCallContext 를 호출하여 적절한 호출 컨텍스트 개체를 설치해야 합니다.

이 함수는 비동기 호출에 대한 취소를 테스트하지 않습니다.

요구 사항

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

추가 정보

ICancelMethodCalls