다음을 통해 공유


바인딩 옵션 상수

애플리케이션은 RPC 런타임 라이브러리가 원격 프로시저 호출을 처리하는 방법을 제어하기 위해 바인딩 옵션 상수를 설정합니다. 다음 표에서는 각 바인딩 속성과 바인딩 속성에 대한 관련 상수 값을 나열합니다.

참고

다음 표의 모든 메시지 큐 옵션(MQ)은 Windows 2000에만 유효합니다. Windows XP 이상 버전은 메시지 큐를 지원하지 않습니다. 개발자는 메시지 큐를 사용하지 않는 것이 좋습니다.

상수/값 설명
RPC_C_OPT_BINDING_NONCAUSAL
9
기본값 FALSE인 경우 인과 호출 순서입니다. RPC 호출은 엄격한 제출 순서로 실행됩니다. 설명 부분을 참조하세요.
TRUE이면 비동기 호출 순서입니다. RPC 호출은 독립적으로 실행됩니다. 설명 부분을 참조하세요.
RPC_C_OPT_MAX_OPTIONS
17
애플리케이션 프로그램에 필요하지 않습니다. Microsoft에서 내부적으로 사용됩니다.
RPC_C_DONT_FAIL
4
애플리케이션 프로그램에 필요하지 않습니다. Microsoft에서 내부적으로 사용됩니다.
RPC_C_OPT_SESSION_ID
6
TRUE이면 각 연결에 대해 세션 ID가 생성됩니다.
RPC_C_OPT_COOKIE_AUTH
7
TRUE이면 클라이언트 쪽 쿠키 기반 인증이 연결에 사용됩니다. RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR 구조체에 대한 포인터는 RpcBindingSetOption에서 OptionValue 매개 변수로 전달됩니다.
RPC_C_OPT_RESOURCE_TYPE_UUID
8
애플리케이션 프로그램에 필요하지 않습니다. Microsoft에서 내부적으로 사용됩니다.
RPC_C_OPT_DONT_LINGER
13
TRUE이면 연결의 마지막 바인딩 핸들/컨텍스트 핸들이 해제된 후 연결을 강제로 종료합니다.
RPC_C_OPT_UNIQUE_BINDING
11
true로 설정하면 RPC는 기존 연결을 다시 사용하지 않습니다. 각 연결에 대해 고유한 바인딩 핸들이 열리고 각 고유 바인딩 핸들에 대해 상태가 유지됩니다.

설명

기본적으로 RPC 런타임 라이브러리는 엄격한 제출 순서로 애플리케이션의 각 스레드에서 지정된 바인딩 핸들에 대한 호출을 실행합니다. 이렇게 해서 동일한 바인딩 핸들에 있는 다른 스레드의 호출이 직렬화되는 것을 보장하지는 않습니다. 다중 스레드 애플리케이션은 RPC 호출을 직렬화해야 합니다. 이 동작이 너무 제한적이면 비동기 순서 지정을 사용하도록 설정할 수 있습니다. 이렇게 하면 RPC 런타임 라이브러리는 호출을 독립적으로 실행합니다. 그것은 그들의 제출에 주문을 부과하지 않습니다.

비사용 순서 지정이 유용할 수 있는 애플리케이션의 한 가지 예는 스레드가 동일한 바인딩 핸들에서 호출하는 다중 스레드 프로그램입니다. 마찬가지로 바인딩 핸들에서 여러 비동기 호출을 사용하는 프로그램에서는 비동기 순서 지정이 편리한 옵션을 찾을 수 있습니다. 또 다른 예는 단일 스레드를 사용하여 여러 클라이언트에 대한 요청을 처리하는 인터넷 프록시 프로그램일 수 있습니다. 이러한 각 경우에서는 원격 프로시저 호출을 직렬화하려고 시도하는 것이 매우 제한적입니다.

RPC_C_OPT_DONT_LINGER 옵션은 ncalrpc 또는 ncacn_* 프로토콜 시퀀스를 사용하는 바인딩 핸들에서만 설정할 수 있습니다. ncadg_* 프로토콜 시퀀스에서는 사용할 수 없습니다. 이 옵션을 사용하는 RpcBindingSetOption 함수는 하나 이상의 RPC 호출이 수행된 바인딩 핸들에서 호출되어야 합니다. 바인딩 핸들에서 RPC 호출이 이루어지지 않은 경우 RpcBindingSetOption 함수 호출에서 RPC_S_WRONG_KIND_OF_BINDING 반환됩니다. 옵션은 연결에 연결된 바인딩 핸들 수에 관계없이 전체 연결에 적용됩니다. 연결이 제거되기 전에 확인되므로 바인딩 핸들을 닫기 전에 언제든지 설정할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버
Windows 2000 Server[데스크톱 앱만]
헤더
Rpcdce.h;
Rpcdcep.h

추가 정보

RpcBindingSetOption

RpcBindingInqOption

네트워크 연결 집합 관리(연결)