Condividi tramite


Moniker URL

L'architettura del moniker OLE offre un modello di programmazione pratico per l'uso degli URL. L'architettura del moniker supporta l'analisi dei nomi estendibile e completa tramite la funzioneMkParseDisplayNamee la IParseDisplayName e interfacce IMoniker, nonché nomi stampabili tramite il metodo IMoniker::GetDisplayName. L'interfaccia IMoniker è il modo in cui si usano effettivamente gli URL riscontrati e la creazione di componenti che rientrano nell'architettura del moniker è il modo per estendere effettivamente gli spazi dei nomi URL in pratica.

Una classe moniker fornita dal sistema, il moniker URL, fornisce un framework per la compilazione e l'uso di determinati URL. Poiché gli URL visualizzano spesso risorse tra reti a latenza elevata, il moniker URL supporta l'associazione asincrona e sincrona. Il moniker URL attualmente non supporta 'archiviazione asincrona.

Il diagramma seguente illustra i componenti coinvolti nell'uso dei moniker URL. Tutti questi componenti devono essere familiari. Vedere moniker asincroni.

Diagramma che mostra i componenti coinvolti nell'uso dei moniker U R L.

Analogamente a tutti i client moniker, un utente di Moniker URL crea e contiene in genere un riferimento al moniker e al contesto di binding da usare durante l'associazione (IMoniker::BindToStorage o IMoniker::BindToObject). Per supportare l'associazione asincrona, il client può implementare un oggetto bind-status-callback, che implementa l'interfacciaIBindStatusCallbacke registrarla con il contesto di binding usando la funzione RegisterBindStatusCallback. Questo oggetto riceverà l'interfaccia IBinding del trasporto durante le chiamate a IBindStatusCallback::OnStartBinding.

Il moniker URL identifica il protocollo usato analizzando il prefisso URL e quindi recupera l'interfaccia IBinding dal livello di trasporto. Il client usa IBinding per supportare la sospensione, l'annullamento e la definizione delle priorità dell'operazione di associazione. L'oggetto callback riceve inoltre una notifica sullo stato di avanzamento tramite IBindStatusCallback::OnProgress, la notifica sulla disponibilità dei dati tramite IBindStatusCallback::OnDataAvailablee varie notifiche a livello di trasporto sullo stato dell'associazione. Il moniker URL o i livelli di trasporto specifici possono anche richiedere informazioni estese dal client tramite IBindStatusCallback::QueryInterface, consentendo al client di fornire informazioni specifiche del protocollo che influiranno sull'operazione di associazione.

Per altre informazioni, vedere gli argomenti seguenti:

  • di sincronizzazione del callback
  • Media-Type negoziazione
  • funzioni moniker URL

moniker asincroni

Informazioni sui moniker URL