RpcBindingReset 함수(rpcdce.h)
RpcBindingReset 함수는 호스트가 지정되었지만 해당 호스트의 서버가 지정되지 않도록 바인딩 핸들을 다시 설정합니다.
구문
RPC_STATUS RpcBindingReset(
RPC_BINDING_HANDLE Binding
);
매개 변수
Binding
재설정할 서버 바인딩 핸들입니다.
반환 값
값 | 의미 |
---|---|
|
호출이 성공했습니다. |
|
바인딩 핸들이 잘못되었습니다. |
|
이것은 작업에 대한 잘못된 종류의 바인딩이었습니다. |
설명
클라이언트는 RpcBindingReset 함수를 호출하여Binding 매개 변수에 지정된 서버 바인딩 핸들에서 특정 서버 instance 연결 해제합니다. RpcBindingReset 함수는 바인딩 핸들에서 서버 주소의 엔드포인트 부분을 제거하여 서버 instance 분리합니다. 호스트는 바인딩 핸들에서 변경되지 않은 상태로 유지됩니다. 결과는 부분적으로 바인딩된 서버 바인딩 핸들입니다.
RpcBindingReset 이 있는 경우 Binding 매개 변수의 인증 정보에 영향을 주지 않습니다.
클라이언트가 바인딩 핸들에 지정된 호스트의 호환되는 서버 instance 서비스하려는 경우 클라이언트는 바인딩 바인딩 핸들을 사용하여 원격 프로시저 호출을 하기 전에 RpcBindingReset 함수를 호출합니다. 클라이언트는 호출이 실행되는 바인딩 핸들에 대해 RpcBindingReset 함수를 호출해서는 안 됩니다.
클라이언트가 다시 설정(부분적으로 바인딩된) 바인딩을 사용하여 다음 원격 프로시저 호출을 수행할 때 클라이언트의 RPC 런타임 라이브러리는 클라이언트의 인터페이스 사양에서 잘 알려진 엔드포인트(있는 경우)를 사용합니다. 그렇지 않으면 클라이언트의 런타임 라이브러리는 지정된 원격 호스트의 엔드포인트 매핑 서비스와 자동으로 통신하여 엔드포인트 맵 데이터베이스에서 호환되는 서버의 엔드포인트를 가져옵니다. 호환되는 서버가 있는 경우 RPC 런타임 라이브러리는 바인딩을 새 엔드포인트로 업데이트합니다. 호환되는 서버를 찾을 수 없으면 원격 프로시저 호출이 실패합니다. 연결 프로토콜(ncacn)을 사용하는 호출의 경우 EPT_S_NOT_REGISTERED 상태 코드가 클라이언트에 반환됩니다. 데이터그램 프로토콜(ncadg)을 사용하는 호출의 경우 RPC_S_COMM_FAILURE 상태 코드가 클라이언트에 반환됩니다.
서버 애플리케이션은 재설정 바인딩 핸들에서 원격 프로시저 호출을 하는 클라이언트에서 서버를 사용할 수 있도록 하려는 경우 RpcEpRegister 및 RpcEpRegisterNoReplace 를 호출하여 모든 바인딩 핸들을 등록해야 합니다.
요구 사항
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | rpcdce.h(Rpc.h 포함) |
라이브러리 | Rpcrt4.lib |
DLL | Rpcrt4.dll |