다음을 통해 공유


RpcBindingServerFromClient 함수(rpcdce.h)

애플리케이션은 RpcBindingServerFromClient 를 호출하여 클라이언트 바인딩 핸들을 부분적으로 바인딩된 서버 바인딩 핸들로 변환합니다.

구문

RPC_STATUS RpcBindingServerFromClient(
  RPC_BINDING_HANDLE ClientBinding,
  RPC_BINDING_HANDLE *ServerBinding
);

매개 변수

ClientBinding

서버 바인딩 핸들로 변환할 클라이언트 바인딩 핸들입니다. 값이 0으로 지정된 경우 서버는 이 서버 스레드에서 제공하는 클라이언트를 가장합니다.

참고 이 매개 변수는 Windows NT 4.0에서 NULL 일 수 없습니다.
 

ServerBinding

서버 바인딩 핸들을 반환합니다.

반환 값

의미
RPC_S_OK
호출이 성공했습니다.
RPC_S_INVALID_BINDING
바인딩 핸들이 잘못되었습니다.
RPC_S_WRONG_KIND_OF_BINDING
작업에 대한 잘못된 종류의 바인딩이었습니다.
RPC_S_CANNOT_SUPPORT
클라이언트의 호스트를 확인할 수 없습니다. 지원되는 프로토콜 시퀀스 목록은 비고를 참조하세요.
 
참고 유효한 오류 코드 목록은 RPC 반환 값을 참조하세요.
 

설명

다음 프로토콜 시퀀스는 RpcBindingServerFromClient를 지원합니다.

애플리케이션은 RPC 런타임에서 클라이언트 바인딩 핸들을 가져옵니다. 원격 프로시저 호출이 서버에 도착하면 런타임은 호출 클라이언트에 대한 정보를 포함하는 클라이언트 바인딩 핸들을 만듭니다. 런타임은 이 핸들을 첫 번째 인수로 서버 관리자 함수에 전달합니다.

RpcBindingServerFromClient를 호출하면 이 클라이언트 핸들이 이러한 속성이 있는 서버 핸들로 변환됩니다.

  • 서버 핸들은 부분적으로 바인딩된 핸들입니다. 호출 클라이언트에 대한 네트워크 주소를 포함하지만 엔드포인트가 없습니다.
  • 서버 핸들에는 호출 클라이언트에서 사용하는 것과 동일한 개체 UUID 가 포함됩니다. Nil UUID일 수 있습니다. 클라이언트가 호출에 대한 개체 UUID를 지정하는 방법에 대한 자세한 내용은 RpcBindingsetObject, RpcNsBindingImportBegin, RpcNsBindingLookupBeginRpcBindingFromStringBinding을 참조하세요.
  • 서버 핸들에는 인증 정보가 없습니다.
서버 애플리케이션은 RpcBindingFree를 호출하여 서버 바인딩 핸들에서 사용하는 리소스가 더 이상 필요하지 않은 경우 해제해야 합니다.
참고 클라이언트의 주소를 쿼리하기 위해 애플리케이션은 RpcBindingServerFromClient 함수를 호출하여 부분적으로 바인딩된 서버 바인딩 핸들을 가져오는 것으로 시작합니다. 서버 바인딩 핸들은 RpcBindingToStringBinding을 호출하여 문자열 바인딩을 가져오는 데 사용할 수 있습니다. 그런 다음 서버는 RpcStringBindingParse를 호출하여 문자열 바인딩에서 클라이언트의 네트워크 주소를 추출할 수 있습니다.
 

요구 사항

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

추가 정보

RpcBindingFree

RpcBindingFromStringBinding

RpcBindingSetObject

RpcEpRegister

RpcEpRegisterNoReplace

RpcNsBindingImportBegin

RpcNsBindingLookupBegin