CoTestCancel 함수(combaseapi.h)
서버에서 실행 중인 호출이 클라이언트에 의해 취소되었는지 여부를 확인합니다.
구문
HRESULT CoTestCancel();
반환 값
이 함수는 다음 값뿐만 아니라 표준 반환 값 E_FAIL, E_INVALIDARG, E_OUTOFMEMORY 및 E_UNEXPECTED 반환할 수 있습니다.
반환 코드 | 설명 |
---|---|
|
호출이 아직 보류 중이며 클라이언트에서 아직 취소되지 않았습니다. |
|
클라이언트에서 호출을 취소했습니다. |
설명
서버 개체는 클라이언트 취소 요청을 검색하기 위해 반환하기 전에 CoTestCancel 을 한 번 이상 호출해야 합니다. 이렇게 하면 클라이언트가 취소 요청을 실행한 경우 서버 불필요한 작업을 저장할 수 있으며 취소 시간 제한을 RPC_C_CANCEL_INFINITE_TIMEOUT 설정하면 클라이언트의 대기 시간을 줄일 수 있습니다. 또한 서버 개체가 보류 중인 호출에서 반환하기 전에 취소 요청을 감지하는 경우 메모리, 마샬링된 인터페이스 또는 생성하거나 가져온 핸들을 클린 수 있습니다.
CoTestCancel 은 CoGetCallContext 를 호출하여 현재 cancel 개체에서 ICancelMethodCalls 인터페이스를 가져온 다음 ICancelMethodCalls::TestCancel을 호출합니다. 사용자 지정 마샬링을 구현하는 개체는 먼저 CoSwitchCallContext 를 호출하여 적절한 호출 컨텍스트 개체를 설치해야 합니다.
이 함수는 비동기 호출에 대한 취소를 테스트하지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | combaseapi.h(Objbase.h 포함) |
라이브러리 | Ole32.lib |
DLL | Ole32.dll |