다음을 통해 공유


RpcCancelThreadEx 함수(rpcdce.h)

RpcCancelThreadEx 함수는 스레드 실행을 중지합니다. RpcCancelThreadEx 함수는 비동기 RPC 호출 실행을 중지하는 데 사용하면 안 됩니다. 대신 RpcAsyncCancelCall 함수를 사용하여 비동기 RPC 호출의 실행을 중지합니다.

구문

RPC_STATUS RpcCancelThreadEx(
  void *Thread,
  long Timeout
);

매개 변수

Thread

취소할 스레드의 핸들입니다.

Timeout

이 함수가 반환되기 전에 스레드가 취소될 때까지 대기할 시간(초)입니다. 클라이언트가 무기한 대기하도록 지정하려면 RPC_C_CANCEL_INFINITE_TIMEOUT 값을 전달합니다.

반환 값

의미
RPC_S_OK
호출이 성공했습니다.
RPC_S_ACCESS_DENIED
스레드 핸들에는 권한이 없습니다. 스레드 핸들은 함수가 제대로 실행되려면 THREAD_SET_CONTEXT 올바르게 설정해야 합니다.
RPC_S_CANNOT_SUPPORT
MS-DOS 또는 Windows 3에서 호출됩니다. x 클라이언트.
 
참고 유효한 오류 코드 목록은 RPC 반환 값을 참조하세요.
 

설명

RpcCancelThreadEx 함수를 사용하면 한 클라이언트 스레드가 다른 클라이언트 스레드에서 진행 중인 RPC를 취소할 수 있습니다. 함수가 호출되면 서버 런타임에 취소 작업을 알립니다. 서버 스텁은 RpcTestCancel을 호출하여 호출이 취소되었는지 확인할 수 있습니다. 호출이 취소된 경우 서버 스텁이 클린 클라이언트에 컨트롤을 반환해야 합니다.

Timeout 매개 변수를 사용하여 애플리케이션은 응답을 기다릴 시간(초)을 지정할 수 있습니다. 서버가 이 간격 내에 반환되지 않으면 RPC_S_CALL_CANCELLED 예외가 있는 클라이언트에서 호출이 실패합니다. 서버 스텁은 계속 실행됩니다.

명명된 파이프 프로토콜을 사용하는 경우 ncacn_np 유한한 제한 시간을 지정해야 합니다.

참고 ncacn_http 제외한 연결 지향 프로토콜(ncacn_*)과 ncadg_mqncalrpc를 제외한 모든 데이터그램 프로토콜에서 RpcCancelThreadEx를 사용할 수 있습니다.
 

요구 사항

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

추가 정보

RpcAsyncCancelCallRpcCancelThreadRpcTestCancelncacn_http ncacn_npncadg_mqncalrpc