Partilhar via


URL Monikers

A arquitetura de moniker OLE fornece um modelo de programação conveniente para trabalhar com URLs. A arquitetura de moniker suporta análise de nome extensível e completa através da funçãoMkParseDisplayName e do IParseDisplayName e interfaces de IMoniker, bem como nomes imprimíveis através do métodoIMoniker::GetDisplayName. A interface IMoniker é a maneira como você realmente usa URLs que encontra, e a criação de componentes que se encaixam na arquitetura de apelido é a maneira de realmente estender namespaces de URL na prática.

Uma classe de moniker fornecida pelo sistema, o moniker URL, fornece uma estrutura para criar e usar determinadas URLs. Como as URLs frequentemente veem recursos em redes de alta latência, o moniker de URL oferece suporte a vinculação assíncrona e síncrona. Atualmente, o moniker de URL não oferece suporte a armazenamento assíncrono.

O diagrama a seguir mostra os componentes envolvidos no uso de monikers de URL. Todos estes componentes devem ser familiares. (Consulte Monikers assíncronos.)

Diagrama que mostra os componentes envolvidos no uso de monikers U R L.

Como todos os clientes de moniker, um usuário de URL Monikers normalmente cria e mantém uma referência ao moniker, bem como ao contexto de ligação a ser usado durante a vinculação (IMoniker::BindToStorage ou IMoniker::BindToObject). Para oferecer suporte à vinculação assíncrona, o cliente pode implementar um objeto bind-status-callback, que implementa o interface de IBindStatusCallback e registrá-lo com o contexto de ligação usando a funçãoRegisterBindStatusCallback. Este objeto receberá a interface dedoIBinding do transporte durante chamadas para IBindStatusCallback::OnStartBinding.

O URL Moniker identifica o protocolo que está sendo usado analisando o prefixo da URL e, em seguida, recupera a interface IBinding da camada de transporte. O cliente usa IBinding para suportar pausa, cancelamento e priorização da operação de vinculação. O objeto de retorno de chamada também recebe notificação de progresso por meio IBindStatusCallback::OnProgress , notificação de disponibilidade de dados por meio de IBindStatusCallback::OnDataAvailablee várias outras notificações da camada de transporte sobre o status da ligação. O moniker de URL ou camadas de transporte específicas também podem solicitar informações estendidas do cliente por meio IBindStatusCallback::QueryInterface, permitindo que o cliente forneça informações específicas do protocolo que afetarão a operação de ligação.

Para obter mais informações, consulte os seguintes tópicos:

Monikers assíncronos

Sobre a URL Monikers