RpcRevertToSelfEx 함수(rpcdce.h)
RpcRevertToSelfEx 함수를 사용하면 서버가 클라이언트를 가장한 다음, 클라이언트를 가장하는 호출이 원래 RPC에서 디스패치된 스레드가 아닌 스레드에서 올 수 있는 다중 스레드 작업에서 되돌리기 수 있습니다.
구문
RPC_STATUS RpcRevertToSelfEx(
RPC_BINDING_HANDLE BindingHandle
);
매개 변수
BindingHandle
서버가 가장한 클라이언트에 대한 바인딩을 나타내는 서버의 바인딩 핸들입니다. 값이 0이면 현재 스레드의 클라이언트 핸들이 지정됩니다. 이 경우 RpcRevertToSelfEx 의 기능은 RpcRevertToSelf 함수의 기능과 동일합니다.
반환 값
값 | 의미 |
---|---|
|
호출이 성공했습니다. |
|
서버에 가장할 클라이언트가 없습니다. |
|
바인딩 핸들이 잘못되었습니다. |
|
이 작업에 대한 잘못된 종류의 바인딩입니다. |
|
이 운영 체제, 이 전송 또는 이 보안 하위 시스템에 대해 호출이 지원되지 않습니다. |
참고 유효한 오류 코드 목록은 RPC 반환 값을 참조하세요.
설명
RpcImpersonateClient를 호출하고 클라이언트 가장이 필요한 작업을 완료한 후 서버는 RpcRevertToSelfEx를 호출하여 가장을 종료하고 자체 보안 ID를 다시 설정합니다. 예를 들어 원격 클라이언트에서 디스패치되고 thread2라는 작업자 스레드를 절전 모드에서 해제하는 thread1이라는 기본 스레드를 고려합니다. thread2에서 서버가 클라이언트를 가장해야 하는 경우 서버는 RpcImpersonateClient(THREAD1_CALL_HANDLE)를 호출하고, 필요한 작업을 수행하고, RpcRevertToSelfEx(THREAD1_CALL_HANDLE)를 호출하여 가장을 종료한 다음 thread1을 절전 모드에서 해제합니다.
요구 사항
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | rpcdce.h(Rpc.h 포함) |
라이브러리 | Rpcrt4.lib |
DLL | Rpcrt4.dll |