RpcServerUseAllProtseqsEx 함수(rpcdce.h)
RpcServerUseAllProtseqsEx 함수는 RPC 런타임 라이브러리에 원격 프로시저 호출을 수신하기 위해 지원되는 모든 프로토콜 시퀀스를 사용하도록 지시합니다.
구문
RPC_STATUS RpcServerUseAllProtseqsEx(
unsigned int MaxCalls,
void *SecurityDescriptor,
PRPC_POLICY Policy
);
매개 변수
MaxCalls
ncacn_ip_tcp 프로토콜 시퀀스의 백로그 큐 길이입니다. 다른 모든 프로토콜 시퀀스는 이 매개 변수를 무시합니다. RPC_C_PROTSEQ_MAX_REQS_DEFAULT 사용하여 기본값을 지정합니다. 설명 부분을 참조하세요.
SecurityDescriptor
보안 하위 시스템에 대해 제공되는 선택적 매개 변수에 대한 포인터입니다. ncacn_np 및 ncalrpc 프로토콜 시퀀스에만 사용됩니다. 다른 모든 프로토콜 시퀀스는 이 매개 변수를 무시합니다. 서버를 안전하게 만들기 위해 엔드포인트에서 보안 설명자를 사용하지 않는 것이 좋습니다. 이 매개 변수는 이 API의 DCE 사양에 표시되지 않습니다.
Policy
다중 호스트 컴퓨터(여러 네트워크 카드가 있는 컴퓨터)의 동적 포트 할당 및 NIC(네트워크 인터페이스 카드)에 바인딩하기 위한 기본 정책을 재정의할 수 있는 RPC_POLICY 구조에 대한 포인터입니다.
반환 값
값 | 의미 |
---|---|
|
호출이 성공했습니다. |
|
지원되는 프로토콜 시퀀스는 없습니다. |
|
충분한 메모리를 사용할 수 없습니다. |
|
보안 설명자가 잘못되었습니다. |
설명
RPC_POLICY 구조체의 NICFlags 필드를 0으로 설정하면 이 확장 API가 원래 RpcServerUseAllProtseqs와 기능적으로 동일하며 서버는 시스템 레지스트리의 설정에 따라 NIC에 바인딩됩니다. 레지스트리 설정에서 사용 가능한 인터넷 및 인트라넷 포트를 정의하는 방법에 대한 자세한 내용은 포트 할당 및 선택적 바인딩에 대한 레지스트리 구성을 참조하세요.
서버에서 등록한 각 프로토콜 시퀀스에 대해 RPC 런타임 라이브러리는 서버가 원격 프로시저 호출 요청을 수신하는 하나 이상의 엔드포인트를 만듭니다. RPC 런타임 라이브러리는 각 프로토콜 시퀀스에 대해 서로 다른 엔드포인트를 만듭니다. 엔드포인트 이름은 RPC 런타임 또는 운영 체제에서 생성됩니다. 예를 들어 ncacn_ip_tcp 경우 포트 번호는 가용성 및 레지스트리 설정에 따라 RPC 런타임에 의해 동적으로 결정됩니다.
애플리케이션은 MaxCalls에서 적절한 값을 전달하도록 주의해야 합니다. 서버, 고급 서버 또는 데이터 센터 서버의 값이 크면 페이징되지 않은 풀 메모리가 많이 사용될 수 있습니다. 너무 작은 값을 사용하면 백로그 큐가 소진될 경우 서버에서 TCP RST가 TCP SYN 패킷을 충족할 수 있으므로 불리합니다. 애플리케이션 개발자는 MaxCalls에 대한 적절한 값을 결정할 때 메모리 공간과 확장성 요구 사항의 균형을 유지해야 합니다.
컴퓨터가 선택적 바인딩을 사용하도록 구성된 경우 성공적인 반환은 서버가 컴퓨터에 있는 모든 네트워크 인터페이스에 대한 엔드포인트를 생성했음을 보장하지 않습니다. RPC 런타임은 선택적 바인딩 설정에 따라 일부 네트워크 인터페이스에서 수신 대기할 수 없습니다. 또한 인터페이스가 DHCP를 사용하여 IP 주소를 아직 받지 못한 경우 RPC 서버는 DHCP 주소가 할당될 때까지 네트워크 인터페이스에서 수신 대기하지 않습니다. 반환이 성공하면 서버가 하나 이상의 네트워크 인터페이스에서 수신 대기하고 있음을 의미합니다. RpcServerInqBindings 함수를 호출하여 원격 프로시저 호출을 받을 수 있는 바인딩 핸들의 전체 목록입니다.
프로토콜 시퀀스를 선택적으로 등록하기 위해 서버는 RpcServerUseProtseqEx, RpcServerUseProtseqIfEx 또는 RpcServerUseProtseqEpEx를 호출합니다. 프로토콜 시퀀스를 등록한 후 서버에서 일반적으로 호출하는 루틴에 대한 설명은 서버 쪽 바인딩 을 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | rpcdce.h(Rpc.h 포함) |
라이브러리 | Rpcrt4.lib |
DLL | Rpcrt4.dll |