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 결정하거나 엔드포인트 맵 데이터베이스의 요소를 열거하지 않습니다.
반환 값
값 | 의미 |
---|---|
|
호출이 성공했습니다. |
|
바인딩이 없습니다. |
|
바인딩 핸들이 잘못되었습니다. |
|
작업에 대한 잘못된 종류의 바인딩이었습니다. |
설명
RpcEpRegister 함수는 로컬 호스트의 엔드포인트 맵 데이터베이스에 있는 항목을 추가하거나 대체합니다. 제공된 인터페이스 사양, 바인딩 핸들 및 개체 UUID와 일치하는 기존 데이터베이스 항목의 경우 이 함수는 항목의 엔드포인트를 제공된 바인딩 핸들의 엔드포인트로 대체합니다.
서버는 RpcEpRegister 및 RpcEpRegisterNoReplace 를 사용하여 엔드포인트 매퍼 데이터베이스에 항목을 등록할 수 있습니다. Windows 2000 이전에는 서버가 더 이상 실행되지 않는 이전 서버 인스턴스에서 남긴 엔드포인트 매퍼 데이터베이스의 부실 항목을 덮어쓸 수 있도록 두 가지 함수를 사용할 수 있었습니다. 엔드포인트 매퍼 데이터베이스는 서버가 작동을 중지하는 즉시 서버 instance 등록된 항목을 자동으로 제거합니다. 그러나 서버는 보안을 위해 다른 서버의 엔드포인트 매퍼 항목을 바꿀 수 없습니다. 따라서 RpcEpRegister 및 RpcEpRegisterNoReplace 는 대부분 동일한 기능을 수행합니다.
서버 애플리케이션은 RpcEpRegister 를 호출하여 다음 함수를 호출하여 지정된 엔드포인트를 등록합니다.
- RpcServerUseAllProtseqs
- RpcServerUseProtseq
- RpcServerUseProtseqEp
- RpcServerUseAllProtseqsIf
- RpcServerUseProtseqIf
엔드포인트를 지정하지 않고 프로토콜 시퀀스를 사용하는 경우 RPC 런타임 라이브러리는 동적 엔드포인트를 자동으로 생성합니다. 이 경우 서버는 RpcServerInqBindings 와 RpcEpRegister 를 호출하여 여러 클라이언트에서 사용할 수 있도록 할 수 있습니다. 그렇지 않으면 자동으로 시작된 서버는 서버가 시작된 클라이언트에만 알려져 있습니다. 엔드포인트 맵 데이터베이스에 추가된 각 요소는 논리적으로 다음을 포함합니다.
- 인터페이스 UUID
- 인터페이스 버전(주 및 부 버전)
- 바인딩 핸들
- 개체 UUID(선택 사항)
- 주석(선택 사항)
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | rpcdce.h(Rpc.h 포함) |
라이브러리 | Rpcrt4.lib |
DLL | Rpcrt4.dll |