다음을 통해 공유


RPC_POLICY 구조체(rpcdce.h)

RPC_POLICY 구조에는 다중 호스트 컴퓨터에서 바인딩을 결정하는 플래그와 ncacn_ip_tcp ncadg_ip_udp 프로토콜을 사용할 때 포트 할당이 포함됩니다.

구문

typedef struct _RPC_POLICY {
  unsigned int  Length;
  unsigned long EndpointFlags;
  unsigned long NICFlags;
} RPC_POLICY, *PRPC_POLICY;

멤버

Length

RPC_POLICY 구조체의 크기(바이트)입니다. Length 멤버를 사용하면 추가 필드가 포함될 수 있는 이 구조체의 이후 버전과의 호환성을 허용합니다. 코드에서 RPC_POLICY 구조를 초기화할 때 항상 lengthsizeof( RPC_POLICY )와 동일하게 설정합니다.

EndpointFlags

서버가 원격 프로시저 호출을 수신하는 포트 또는 포트의 특성을 결정하는 플래그 집합입니다. 지정된 프로토콜 시퀀스의 값 집합에서 둘 이상의 플래그(비트 OR 연산자를 사용하여)를 지정할 수 있습니다. 다음 표에서는 EndpointFlags 멤버에 대한 가능한 값을 나열합니다.

의미
0
시스템 기본값을 지정합니다.
RPC_C_USE_INTERNET_PORT
레지스트리에 정의된 포트 중 하나에서 엔드포인트를 "인터넷 사용 가능"으로 할당합니다. ncacn_ip_tcpncadg_ip_udp 프로토콜 시퀀스에서만 유효합니다.
RPC_C_USE_INTRANET_PORT
레지스트리에 정의된 포트 중 하나에서 엔드포인트를 "사용 가능한 인트라넷"으로 할당합니다. ncacn_ip_tcpncadg_ip_udp 프로토콜 시퀀스에서만 유효합니다.
RPC_C_MQ_TEMPORARY
RPC 서버가 종료되면 서버 프로세스-수신 큐가 자동으로 삭제됩니다. 큐에 있는 미해결 호출은 모두 손실됩니다. 이것이 기본값입니다. ncadg_mq 프로토콜 시퀀스에서만 유효합니다.
RPC_C_MQ_PERMANENT
서버 프로세스가 종료된 후에도 서버 프로세스-수신 큐가 유지되도록 지정합니다. 기본값은 서버 프로세스가 종료되면 큐가 삭제된다는 것입니다. ncadg_mq 프로토콜 시퀀스에서만 유효합니다.
RPC_C_MQ_CLEAR_ON_OPEN
수신 큐가 이전에 영구 큐로 열렸기 때문에 이미 존재하는 경우 큐에서 대기 중인 미해결 호출을 지웁니다. ncadg_mq 프로토콜 시퀀스에서만 유효합니다.
RPC_C_MQ_USE_EXISTING_SECURITY
수신 큐가 이미 있는 경우 인증 또는 암호화에 대한 기존 설정을 수정하지 마세요. ncadg_mq 프로토콜 시퀀스에서만 유효합니다.
RPC_C_MQ_AUTHENTICATE
서버 프로세스-수신 큐는 클라이언트에서 인증된 호출만 허용합니다. 기본값은 인증된 호출과 인증되지 않은 호출이 모두 수락된다는 것입니다. ncadg_mq 프로토콜 시퀀스에서만 유효합니다.
RPC_C_MQ_ENCRYPT
서버에 대한 호출은 암호화됩니다. 기본값은 암호화된 호출과 암호화되지 않은 호출이 모두 허용된다는 것입니다. ncadg_mq 프로토콜 시퀀스에서만 유효합니다.
RPC_C_MQ_AUTHN_LEVEL_NONE
서버의 수신 큐는 클라이언트의 모든 호출을 수락합니다. 기본 인증 수준입니다. ncadg_mq 프로토콜에서만 유효합니다.
RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY
인증 수준 RPC_C_AUTHN_LEVEL_PKT_INTEGRITY 또는 RPC_C_AUTHN_LEVEL_PKT_PRIVACY 클라이언트 호출만 수락하도록 서버의 수신 큐를 설정합니다. ncadg_mq 프로토콜 시퀀스에서만 유효합니다.
RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY
인증 수준이 RPC_C_AUTHN_LEVEL_PKT_PRIVACY 클라이언트 호출만 수락하도록 서버의 수신 큐를 설정합니다. 인증 수준이 낮은 호출은 무시됩니다. ncadg_mq 프로토콜 시퀀스에서만 유효합니다.
 
 
참고 레지스트리에 기본 정책을 지정하는 키가 없는 경우 EndpointFlags 멤버는 런타임에 영향을 주지 않습니다. 키가 없거나 잘못된 값이 포함된 경우 해당 프로토콜( ncacn_ip_tcp, ncadg_ip_udp 또는 ncadg_mq)에 대한 전체 구성이 유효하지 않은 것으로 표시되고 해당 프로토콜에 대한 RpcServerUseProtseq* 함수에 대한 모든 호출이 실패합니다.
 

NICFlags

NIC(네트워크 인터페이스 카드)에 바인딩하는 정책입니다. 다음 표에서는 NICFlags 멤버에 대한 가능한 값을 나열합니다.

의미
0
레지스트리 설정을 기반으로 NIC에 바인딩합니다. RPC_POLICY 구조를 사용하여 메시지 큐 속성을 정의하는 경우 항상 이 값을 사용합니다.
RPC_C_BIND_TO_ALL_NICS
레지스트리 설정을 재정의하고 모든 NIC에 바인딩합니다. 레지스트리에서 Bind 키가 누락된 경우 NICFlags 멤버는 런타임에 영향을 주지 않습니다. 키에 잘못된 값이 포함된 경우 전체 구성이 잘못된 것으로 표시되고 RpcServerUseProtseq*에 대한 모든 호출이 실패합니다.

설명

RPC_Policy 구조를 사용하여 런타임에 원격 프로시저 호출에 대한 정책을 설정할 수 있습니다. 해당 정책에는 다음이 포함됩니다.

  • 메시지 큐: 서버에서 보안, 배달 품질 및 서버 프로세스 큐의 수명과 같은 메시지 큐 속성을 지정할 수 있습니다. 이 정책은 메시지 큐 전송(ncadg_mq)을 통해 원격 호출에만 적용됩니다.
  • 동적 포트에 대한 포트 할당: 이 애플리케이션에서 등록한 엔드포인트가 인터넷 사용 가능 또는 인트라넷 사용 가능한 포트 집합으로 이동해야 하는지 여부를 지정합니다.
  • 선택적 바인딩: 멀티홈 컴퓨터가 NIC에 선택적으로 바인딩할 수 있습니다.
참고 포트 할당 및 선택적 바인딩 정책은 TCP( ncacn_ip_tcp) 및 UDP( ncadg_ip_udp) 연결을 통해 원격 호출에만 적용됩니다. 자세한 내용은 포트 할당 및 선택적 바인딩에 대한 레지스트리 구성을 참조하세요.
 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 rpcdce.h(Rpc.h 포함)

추가 정보

포트 할당 및 선택적 바인딩에 대한 레지스트리 구성

RPC 메시지 큐

RpcServerUseAllProtseqsEx

RpcServerUseAllProtseqsIfEx

RpcServerUseProtseqEpEx

RpcServerUseProtseqEx

RpcServerUseProtseqIfEx