URL Monikers

La arquitectura de moniker OLE proporciona un modelo de programación práctico para trabajar con direcciones URL. La arquitectura de moniker admite el análisis extensible y completo de nombres a través de la función MkParseDisplayName y las interfaces IParseDisplayName e IMoniker , así como nombres imprimibles a través del método IMoniker::GetDisplayName . La interfaz IMoniker es la forma en que realmente usa las direcciones URL que encuentra y la creación de componentes que se ajustan a la arquitectura del moniker es la manera de ampliar realmente los espacios de nombres de dirección URL en la práctica.

Una clase de moniker proporcionada por el sistema, el moniker de dirección URL, proporciona un marco para compilar y usar determinadas direcciones URL. Dado que las direcciones URL suelen ver los recursos en redes de alta latencia, el moniker de dirección URL admite el enlace asincrónico, así como el enlace sincrónico. El moniker de dirección URL no admite actualmente el almacenamiento asincrónico.

En el diagrama siguiente se muestran los componentes implicados en el uso de monikers de dirección URL. Todos estos componentes deben estar familiarizados. (Consulte Monikers asincrónicos).

Diagrama que muestra los componentes implicados en el uso de monikers de U R L.

Al igual que todos los clientes de moniker, un usuario de URL Monikers normalmente crea y contiene una referencia al moniker, así como al contexto de enlace que se va a usar durante el enlace (IMoniker::BindToStorage o IMoniker::BindToObject). Para admitir el enlace asincrónico, el cliente puede implementar un objeto bind-status-callback, que implementa la interfaz IBindStatusCallback y registrarlo con el contexto de enlace mediante la función RegisterBindStatusCallback . Este objeto recibirá la interfaz IBinding del transporte durante las llamadas a IBindStatusCallback::OnStartBinding.

El Moniker de dirección URL identifica el protocolo que se usa mediante el análisis del prefijo de dirección URL y, a continuación, recupera la interfaz IBinding de la capa de transporte. El cliente usa IBinding para admitir la pausa, la cancelación y la priorización de la operación de enlace. El objeto de devolución de llamada también recibe una notificación de progreso a través de IBindStatusCallback::OnProgress, notificación de disponibilidad de datos a través de IBindStatusCallback::OnDataAvailable y otras notificaciones de capa de transporte sobre el estado del enlace. El moniker de dirección URL o capas de transporte específicas también puede solicitar información extendida del cliente a través de IBindStatusCallback::QueryInterface, lo que permite al cliente proporcionar información específica del protocolo que afectará a la operación de enlace.

Para obtener más información, vea los temas siguientes:

Monikers asincrónicos

Acerca de url Monikers