Freigeben über


Asynchrone und synchrone Moniker

Ein Client eines Standard-, synchronen OLE-Monikers erstellt und enthält in der Regel einen Verweis auf den Moniker sowie den Bindungskontext, der während der Bindung verwendet werden soll. Die Komponenten, die bei der Verwendung herkömmlicher Moniker beteiligt sind, sind im folgenden Diagramm dargestellt.

Diagramm, das den Client anzeigt, der mit

Clients erstellen in der Regel Standardmoniker durch Aufrufen von Funktionen wie CreateFileMoniker, CreateItemMonikeroder CreatePointerMoniker oder, da sie im beständigen Speicher gespeichert werden können, über OleSaveToStream- und OleLoadFromStream-. Monikers können auch von einem Containerobjekt abgerufen werden, indem die IBindHost::CreateMoniker-Methode aufgerufen wird. Clients erstellen Bindungskontexte, indem sie die CreateBindCtx--Funktion aufrufen und dann den Bindungskontext mit Aufrufen von IMoniker::BindToStorage oder IMoniker::BindToObjectan den Moniker übergeben.

Wie im folgenden Diagramm dargestellt, erstellt und enthält ein Client eines asynchronen Monikers auch einen Verweis auf den Moniker und bindungskontext, der während der Bindung verwendet werden soll.

Diagramm, das die Verbindungen zwischen client-Provided, Monker-Provided und System-Provided zeigt.

Um asynchrones Verhalten abzurufen, implementiert der Client die IBindStatusCallback- Schnittstelle in einem Bindstatus-Rückrufobjekt und ruft entweder die RegisterBindStatusCallback-Funktion oder die CreateAsyncBindCtx--Funktion auf, um diese Schnittstelle mit dem Bindungskontext zu registrieren. Der Moniker übergibt einen Zeiger an seine IBinding Schnittstelle in einem Aufruf der IBindStatusCallback::OnStartBinding-Methode. Der Client teilt dem asynchronen Moniker mit, wie er vom Aufruf des Monikers an IBindStatusCallback::GetBindInfo-Methode gebunden werden soll.

asynchrone Moniker