엔드포인트 등록
서버 호스트 컴퓨터의 엔드포인트 맵에 서버 프로그램을 등록하면 클라이언트 프로그램에서 서버 프로그램이 수신 대기 중인 엔드포인트(일반적으로 TCP/IP 포트 또는 명명된 파이프)를 확인할 수 있습니다. 서버 호스트 시스템의 엔드포인트 맵에 자신을 등록하기 위해 서버 프로그램은 다음 코드 조각과 같이 RpcEpRegister 함수를 호출합니다.
// This example assumes that MyInterface_v1_0_s_ifspec is a valid data
// structure that represents the interface being registered. The
// variable is a valid pointer to a binding vector.
RPC_STATUS status;
status = RpcEpRegister(
MyInterface_v1_0_s_ifspec,
rpcBindingVector,
NULL,
NULL);
RpcEpRegister에 대한 첫 번째 매개 변수는 인터페이스를 나타내는 구조체입니다. 이 분산 애플리케이션에 대한 MIDL 파일에서 생성된 MIDL 컴파일러가 헤더 파일에서 찾을 수 있습니다. 인터페이스 개발을 참조하세요. 다음으로, RpcEpRegister 는 애플리케이션이 바인딩 벡터에 저장된 바인딩 핸들 집합을 전달해야 합니다.
인터페이스 이름을 등록하는 것 외에도 서버 애플리케이션은 엔드포인트 맵에 개체 UUID를 등록할 수도 있습니다. 이 예제에서는 등록할 개체 UUID가 없으므로 RpcEpRegister 에 대한 세 번째 매개 변수는 NULL로 설정됩니다.
마지막 매개 변수는 주석 문자열입니다. RPC 런타임 라이브러리는 이 문자열을 사용하지 않지만 시스템의 관리 효율성이 향상되므로 문자열을 설정하는 것이 좋습니다. 시스템 관리자는 문자열을 사용하여 어떤 애플리케이션에서 사용되는 포트를 검색한 다음 방화벽에서 관리할 포트를 결정하는 데 사용할 수 있습니다.