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.)
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
Tópicos relacionados