Monikers asincrónicos y sincrónicos
Un cliente de un moniker OLE estándar y sincrónico normalmente crea y contiene una referencia al moniker, así como al contexto de enlace que se va a usar durante el enlace. Los componentes implicados en el uso de monikers tradicionales se muestran en el diagrama siguiente.
Normalmente, los clientes crean monikers estándar mediante una llamada a funciones como CreateFileMoniker, CreateItemMoniker o CreatePointerMoniker o, porque se pueden guardar en el almacenamiento persistente, a través de OleSaveToStream y OleLoadFromStream. También se pueden obtener monikers de un objeto contenedor llamando al método IBindHost::CreateMoniker . Los clientes crean contextos de enlace mediante una llamada a la función CreateBindCtx y, a continuación, pasan el contexto de enlace al moniker con llamadas a IMoniker::BindToStorage o IMoniker::BindToObject.
Como se muestra en el diagrama siguiente, un cliente de un moniker asincrónico también crea y contiene una referencia al contexto de enlace y moniker que se usará durante el enlace.
Para obtener el comportamiento asincrónico, el cliente implementa la interfaz IBindStatusCallback en un objeto bind-status-callback y llama a la función RegisterBindStatusCallback o a la función CreateAsyncBindCtx para registrar esta interfaz con el contexto de enlace. El moniker pasa un puntero a su interfaz IBinding en una llamada al método IBindStatusCallback::OnStartBinding . El cliente indica al moniker asincrónico cómo desea enlazar a cambio de la llamada del moniker al método IBindStatusCallback::GetBindInfo .
Temas relacionados