비동기 호출의 인과 순서 지정

비동기 RPC 애플리케이션에서는 클라이언트 스레드가 해당 핸들에 대한 이전 호출이 완료되기 전에 바인딩 핸들에서 두 번째 비동기 호출을 할 수 있습니다. RPC 런타임 라이브러리는 다음과 같이 이 상황을 처리합니다.

  • 비동기 RPC 메커니즘은 동일한 스레드의 동일한 바인딩 핸들에서 동일한 보안 수준에서 수행한 순서대로 디스패치된 비동기 호출을 보장합니다. 호출의 실제 실행이 순서대로 실행되지 않을 수 있습니다.
  • 동기 호출과 마찬가지로 다른 클라이언트 스레드의 비동기 원격 프로시저 호출이 동시에 실행됩니다.
  • 클라이언트 애플리케이션의 비동기 호출 뒤에 하나 이상의 동기 호출이 잇는 경우 동기 호출이 실행되는 동안 비동기 호출이 실행될 수 있습니다. 비동기 호출의 상태 관계없이 동기 호출은 서버에서 수신되는 순서대로 실행됩니다.
  • 클라이언트 애플리케이션이 특정 바인딩 핸들에 대해 비카우스 순서를 선택하는 경우 해당 핸들에 대한 serialization을 사용하지 않도록 설정합니다. 애플리케이션은 Option 매개 변수가 RPC_C_OPT_BINDING_NONCAUSAL 로 설정되고 OptionValue 매개 변수가 TRUE로 설정된 RpcBindingSetOption을 호출하여 비동기 순서를 사용하도록 설정합니다. 자세한 내용은 바인딩 옵션 상수를 참조하세요.