Moniker asincroni e sincroni
Un client di un moniker OLE standard e sincrono crea in genere e contiene un riferimento al moniker, nonché il contesto di associazione da usare durante l'associazione. I componenti coinvolti nell'uso di moniker tradizionali sono illustrati nel diagramma seguente.
I client in genere creano moniker standard chiamando funzioni come CreateFileMoniker, CreateItemMoniker o CreatePointerMoniker oppure, perché possono essere salvate in un archivio permanente, tramite OleSaveToStream e OleLoadFromStream. I moniker possono anche essere ottenuti da un oggetto contenitore chiamando il metodo IBindHost::CreateMoniker. I client creano contesti di associazione chiamando la funzione CreateBindCtx e quindi passando il contesto di associazione al moniker con chiamate a IMoniker::BindTo Archiviazione o IMoniker::BindToObject.
Come illustrato nel diagramma seguente, un client di un moniker asincrono crea e contiene anche un riferimento al moniker e al contesto di associazione da usare durante l'associazione.
Per ottenere un comportamento asincrono, il client implementa l'interfaccia IBindStatusCallback in un oggetto bind-status-callback e chiama la funzione RegisterBindStatusCallback o la funzione CreateAsyncBindCtx per registrare questa interfaccia con il contesto di associazione. Il moniker passa un puntatore alla relativa interfaccia IBinding in una chiamata al metodo IBindStatusCallback::OnStartBinding. Il client indica al moniker asincrono come vuole eseguire l'associazione in caso di restituzione dalla chiamata del moniker al metodo IBindStatusCallback::GetBindInfo.
Argomenti correlati