다음을 통해 공유


RpcEpResolveBinding 함수(rpcdce.h)

RpcEpResolveBinding 함수는 부분적으로 바인딩된 서버 바인딩 핸들을 완전히 바인딩된 서버 바인딩 핸들로 확인합니다.

구문

RPC_STATUS RpcEpResolveBinding(
  RPC_BINDING_HANDLE Binding,
  RPC_IF_HANDLE      IfSpec
);

매개 변수

Binding

완전 바인딩된 서버 바인딩 핸들에 resolve 부분적으로 바인딩된 서버 바인딩 핸들입니다.

IfSpec

관심 있는 인터페이스를 지정하는 스텁 생성 구조체입니다.

반환 값

의미
RPC_S_OK
호출이 성공했습니다.
RPC_S_INVALID_BINDING
바인딩 핸들이 잘못되었습니다.
RPC_S_WRONG_KIND_OF_BINDING
이것은 작업에 대한 잘못된 종류의 바인딩이었습니다.
 
참고 유효한 오류 코드 목록은 RPC 반환 값을 참조하세요.
 

설명

애플리케이션은 RpcEpResolveBinding 함수를 호출하여 부분적으로 바인딩된 서버 바인딩 핸들을 완전히 바인딩된 바인딩 핸들로 resolve.

바인딩 핸들을 해결하려면 인터페이스 UUID 및 개체 UUID(nil일 수 있음)가 필요합니다. RPC 런타임 라이브러리는 Binding 매개 변수로 지정된 호스트의 엔드포인트 매핑 서비스에 호환되는 서버 instance 대한 엔드포인트를 조회하도록 요청합니다. 엔드포인트를 찾기 위해 엔드포인트 매핑 서비스는 IfSpec 매개 변수의 인터페이스 UUID에 대한 엔드포인트 맵 데이터베이스와 Binding 매개 변수의 개체 UUID(있는 경우)를 찾습니다.

resolve 바인딩 작업 함수는 지정된 바인딩 핸들이 부분적으로 바인딩된 핸들인지 아니면 완전히 바인딩되는지에 따라 달라집니다. 클라이언트가 부분적으로 바인딩된 핸들을 지정하는 경우 resolve 바인딩 작업에는 다음과 같은 가능한 결과가 있습니다.

  • 호환되는 서버 인스턴스가 엔드포인트 맵 데이터베이스에 등록되지 않은 경우 resolve 바인딩 작업은 EPT_S_NOT_REGISTERED 상태 코드를 반환합니다.
  • 호환되는 서버 instance 엔드포인트 맵 데이터베이스에 등록된 경우 resolve 바인딩 작업은 완전히 바인딩된 바인딩 및 RPC_S_OK 상태 코드를 반환합니다.
클라이언트가 완전히 바인딩된 바인딩 핸들을 지정하면 resolve 바인딩 작업은 지정된 바인딩 핸들과 RPC_S_OK 상태 코드를 반환합니다. resolve 바인딩 작업은 엔드포인트 매핑 서비스에 연결하지 않습니다.

부분적으로 바인딩되거나 완전히 바인딩된 바인딩 사례에서는 resolve 바인딩 작업이 호환되는 서버 instance 연결하지 않습니다.

참고RpcEpResolveBinding을 호출할 필요는 없습니다. 부분적으로 바인딩된 서버 바인딩 핸들에서 RPC 호출이 수행되는 경우 RPC 런타임은 바인딩을 완전히 바인딩된 바인딩 핸들로 만드는 데 필요한 단계를 수행합니다. RPC 런타임은 RpcEpResolveBinding을 호출하지만 추가 캐싱 기술로 인해 더 효율적으로 수행됩니다. Windows XP 및 Windows 2000에서 애플리케이션은 RpcEpResolveBinding을 호출할 이유가 없습니다.
 

요구 사항

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

추가 정보

RpcBindingFromStringBinding

RpcBindingReset

RpcEpRegister

RpcEpRegisterNoReplace

RpcNsBindingImportBegin

RpcNsBindingImportDone

RpcNsBindingImportNext