Monikers d’URL
L’architecture ole moniker fournit un modèle de programmation pratique pour l’utilisation des URL. L’architecture moniker prend en charge l’analyse de nom extensible et complète via la fonction MkParseDisplayName et la fonction IParseDisplayName et interfaces IMoniker, ainsi que les noms imprimables via la méthode IMoniker ::GetDisplayName. L’interface IMoniker est la façon dont vous utilisez réellement des URL que vous rencontrez, et la création de composants qui s’intègrent dans l’architecture moniker est le moyen d’étendre réellement les espaces de noms d’URL dans la pratique.
Une classe moniker fournie par le système, le moniker d’URL, fournit une infrastructure pour la création et l’utilisation de certaines URL. Étant donné que les URL voient fréquemment des ressources sur des réseaux à latence élevée, le moniker d’URL prend en charge la liaison asynchrone et synchrone. Le moniker d’URL ne prend actuellement pas en charge stockage asynchrone.
Le diagramme suivant montre les composants impliqués dans l’utilisation de monikers d’URL. Tous ces composants doivent être familiers. (Consultez monikers asynchrones.)
Comme tous les clients moniker, un utilisateur de Monikers d’URL crée et contient généralement une référence au moniker ainsi qu’au contexte de liaison à utiliser pendant la liaison (IMoniker ::BindToStorage ou IMoniker ::BindToObject). Pour prendre en charge la liaison asynchrone, le client peut implémenter un objet bind-status-callback, qui implémente l’interface IBindStatusCallback et l’inscrire auprès du contexte de liaison à l’aide de la fonction RegisterBindStatusCallback. Cet objet reçoit l’interface deIBindingdu transport pendant les appels à IBindStatusCallback ::OnStartBinding.
L’URL Moniker identifie le protocole utilisé en analysant le préfixe d’URL, puis récupère l’interface IBinding à partir de la couche de transport. Le client utilise IBinding pour prendre en charge la suspension, l’annulation et la hiérarchisation de l’opération de liaison. L’objet de rappel reçoit également une notification de progression via IBindStatusCallback ::OnProgress, notification de disponibilité des données via IBindStatusCallback ::OnDataAvailable, et diverses notifications de couche de transport concernant l’état de la liaison. Le moniker d’URL ou des couches de transport spécifiques peut également demander des informations étendues du client via IBindStatusCallback ::QueryInterface, ce qui permet au client de fournir des informations spécifiques au protocole qui affecteront l’opération de liaison.
Pour plus d’informations, consultez les rubriques suivantes :
- de synchronisation de rappel
- Media-Type de négociation
- fonctions Moniker URL
Rubriques connexes