RpcEpRegister 함수(rpcdce.h)

RpcEpRegister 함수는 로컬 엔드포인트 맵 데이터베이스의 서버 주소 정보를 추가하거나 대체합니다.

구문

RPC_STATUS RpcEpRegister(
  RPC_IF_HANDLE      IfSpec,
  RPC_BINDING_VECTOR *BindingVector,
  UUID_VECTOR        *UuidVector,
  RPC_CSTR           Annotation
);

매개 변수

IfSpec

로컬 엔드포인트 맵 데이터베이스에 등록할 인터페이스입니다.

BindingVector

서버가 원격 프로시저 호출을 받을 수 있는 바인딩 핸들의 벡터에 대한 포인터입니다.

UuidVector

서버에서 제공하는 개체 UUID의 벡터에 대한 포인터입니다. 서버 애플리케이션은 이 벡터를 생성합니다. null 인수 값은 등록할 개체 UUID가 없음을 나타냅니다.

Annotation

로컬 엔드포인트 맵 데이터베이스에 추가된 각 교차 제품 요소에 적용되는 문자 문자열 주석에 대한 포인터입니다. 문자열의 길이는 null 종결 문자를 포함하여 최대 64자까지 가능합니다. 주석 문자열이 없는 경우 null 값 또는 null로 끝나는 문자열("\0")을 지정합니다.

주석 문자열은 정보 전용으로 애플리케이션에서 사용됩니다. RPC는 이 문자열을 사용하여 클라이언트가 통신하는 서버 instance 결정하거나 엔드포인트 맵 데이터베이스의 요소를 열거하지 않습니다.

반환 값

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

설명

RpcEpRegister 함수는 로컬 호스트의 엔드포인트 맵 데이터베이스에 있는 항목을 추가하거나 대체합니다. 제공된 인터페이스 사양, 바인딩 핸들 및 개체 UUID와 일치하는 기존 데이터베이스 항목의 경우 이 함수는 항목의 엔드포인트를 제공된 바인딩 핸들의 엔드포인트로 대체합니다.

서버는 RpcEpRegisterRpcEpRegisterNoReplace 를 사용하여 엔드포인트 매퍼 데이터베이스에 항목을 등록할 수 있습니다. Windows 2000 이전에는 서버가 더 이상 실행되지 않는 이전 서버 인스턴스에서 남긴 엔드포인트 매퍼 데이터베이스의 부실 항목을 덮어쓸 수 있도록 두 가지 함수를 사용할 수 있었습니다. 엔드포인트 매퍼 데이터베이스는 서버가 작동을 중지하는 즉시 서버 instance 등록된 항목을 자동으로 제거합니다. 그러나 서버는 보안을 위해 다른 서버의 엔드포인트 매퍼 항목을 바꿀 수 없습니다. 따라서 RpcEpRegisterRpcEpRegisterNoReplace 는 대부분 동일한 기능을 수행합니다.

서버 애플리케이션은 RpcEpRegister 를 호출하여 다음 함수를 호출하여 지정된 엔드포인트를 등록합니다.

서버도 이름 서비스 데이터베이스로 내보내는 경우 서버는 RpcNsBindingExport 함수를 호출할 때 사용되는 동일한 IfSpec, BindingVectorUuidVector 값을 사용하여 RpcEpRegister를 호출합니다.

엔드포인트를 지정하지 않고 프로토콜 시퀀스를 사용하는 경우 RPC 런타임 라이브러리는 동적 엔드포인트를 자동으로 생성합니다. 이 경우 서버는 RpcServerInqBindingsRpcEpRegister 를 호출하여 여러 클라이언트에서 사용할 수 있도록 할 수 있습니다. 그렇지 않으면 자동으로 시작된 서버는 서버가 시작된 클라이언트에만 알려져 있습니다. 엔드포인트 맵 데이터베이스에 추가된 각 요소는 논리적으로 다음을 포함합니다.

  • 인터페이스 UUID
  • 인터페이스 버전(주 및 부 버전)
  • 바인딩 핸들
  • 개체 UUID(선택 사항)
  • 주석(선택 사항)
RpcEpRegisterIfSpec, BindingVectorUuidVector 매개 변수에서 교차 제품을 만들고 교차 제품의 각 요소를 엔드포인트 맵 데이터베이스에 별도의 등록으로 추가합니다.

요구 사항

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

추가 정보

RpcBindingFromStringBinding

RpcEpRegisterNoReplace

RpcEpUnregister

RpcNsBindingExport

RpcServerInqBindings

RpcServerUseAllProtseqs

RpcServerUseAllProtseqsIf

RpcServerUseProtseq

RpcServerUseProtseqEp

RpcServerUseProtseqIf