Compartilhar via


URL Monikers

A arquitetura do moniker OLE fornece um modelo de programação conveniente para trabalhar com URLs. A arquitetura do moniker dá suporte à análise extensível e completa de nomes por meio da função MkParseDisplayName e as interfaces IParseDisplayName e IMoniker, bem como nomes imprimíveis por meio do método IMoniker::GetDisplayName. A interface IMoniker é a maneira como você realmente usa URLs encontradas e criar componentes que se encaixam na arquitetura do moniker é a maneira de realmente estender namespaces de URL na prática.

Uma classe de moniker fornecida pelo sistema, o moniker de URL, fornece uma estrutura para compilar e usar determinadas URLs. Como as URLs frequentemente veem recursos em redes de alta latência, o moniker de URL dá suporte a associações assíncronas e síncronas. No momento, o moniker de URL não dá suporte a de armazenamento assíncrono.

O diagrama a seguir mostra os componentes envolvidos no uso de apelidos de URL. Todos esses 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 moniker, um usuário de Monikers de URL normalmente cria e mantém uma referência ao moniker, bem como ao contexto de associação a ser usado durante a associação (IMoniker::BindToStorage ou IMoniker::BindToObject). Para dar suporte à associação assíncrona, o cliente pode implementar um objeto bind-status-callback, que implementa a interface deIBindStatusCallbacke registrá-la com o contexto de associação usando a funçãoRegisterBindStatusCallback. Esse objeto receberá a interface deIBindingdo transporte durante as chamadas para IBindStatusCallback::OnStartBinding.

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

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

  • de sincronização de retorno de chamada
  • Media-Type de negociação
  • Funções moniker de URL

monikers assíncronos

sobre monikers de URL