다음을 통해 공유


비동기 및 동기 모니커

표준 동기 OLE 모니커의 클라이언트는 일반적으로 바인딩 중에 사용할 바인딩 컨텍스트뿐만 아니라 모니커에 대한 참조를 만들고 보유합니다. 기존 모니커를 사용하는 데 관련된 구성 요소는 다음 다이어그램에 나와 있습니다.

시스템 제공에 대한 바인딩 컨텍스트 또는 모든 모니커에 연결된 클라이언트를 보여 주는 다이어그램

클라이언트는 일반적으로 CreateFileMoniker, CreateItemMoniker또는 CreatePointerMoniker 같은 함수를 호출하거나 OleSaveToStreamOleLoadFromStream통해 영구 스토리지에 저장할 수 있기 때문에 표준 모니커를 만듭니다. IBindHost::CreateMoniker 메서드를 호출하여 컨테이너 개체에서 모니커를 가져올 수도 있습니다. 클라이언트는 CreateBindCtx 함수를 호출하여 바인딩 컨텍스트를 만든 다음 IMoniker::BindToStorage 또는 IMoniker::BindToObject호출하여 바인딩 컨텍스트를 모니커에 전달합니다.

다음 다이어그램과 같이 비동기 모니커의 클라이언트도 모니커에 대한 참조를 만들고 보유하며 바인딩하는 동안 사용할 컨텍스트를 바인딩합니다.

클라이언트 제공, Monker 제공 및 시스템 제공 간의 연결을 보여 주는 다이어그램

비동기 동작을 가져오기 위해 클라이언트는 bind-status-callback 개체에 IBindStatusCallback 인터페이스를 구현하고 RegisterBindStatusCallback 함수 또는 CreateAsyncBindCtx 함수를 호출하여 이 인터페이스를 바인딩 컨텍스트에 등록합니다. 모니커는 IBindStatusCallback::OnStartBinding 메서드에 대한 호출에서 IBinding 인터페이스에 대한 포인터를 전달합니다. 클라이언트는 IBindStatusCallback::GetBindInfo 메서드에 대한 모니커의 호출에서 반환 시 바인딩하려는 방법을 비동기 모니커에 알려줍니다.

비동기 모니커