URL-Moniker

Die OLE-Monikerarchitektur bietet ein komfortables Programmiermodell für die Arbeit mit URLs. Die Monikerarchitektur unterstützt erweiterbare und vollständige Namensanalyse über die MkParseDisplayName-Funktion und die IParseDisplayName - und IMoniker-Schnittstellen sowie druckbare Namen über die IMoniker::GetDisplayName-Methode . Die IMoniker-Schnittstelle ist die Art und Weise, wie Sie tatsächlich URLs verwenden, auf die Sie stoßen, und das Erstellen von Komponenten, die in die Monikerarchitektur passen, ist die Möglichkeit, URL-Namespaces in der Praxis tatsächlich zu erweitern.

Eine vom System bereitgestellte Monikerklasse, der URL-Moniker, stellt ein Framework zum Erstellen und Verwenden bestimmter URLs bereit. Da URLs häufig Ressourcen in Netzwerken mit hoher Latenz anzeigen, unterstützt der URL-Moniker sowohl asynchrone als auch synchrone Bindung. Der URL-Moniker unterstützt derzeit keinen asynchronen Speicher.

Das folgende Diagramm zeigt die Komponenten, die an der Verwendung von URL-Monikern beteiligt sind. Alle diese Komponenten sollten vertraut sein. (Siehe Asynchrone Moniker.)

Diagramm, das die Komponenten zeigt, die an der Verwendung von U R L-Monikern beteiligt sind.

Wie alle Moniker-Clients erstellt und enthält ein Benutzer von URL Monikers in der Regel einen Verweis auf den Moniker sowie auf den Bindungskontext, der während der Bindung verwendet werden soll (IMoniker::BindToStorage oder IMoniker::BindToObject). Zur Unterstützung der asynchronen Bindung kann der Client ein bind-status-callback-Objekt implementieren, das die IBindStatusCallback-Schnittstelle implementiert, und es mithilfe der Funktion RegisterBindStatusCallback beim Bindungskontext registrieren. Dieses Objekt empfängt die IBinding-Schnittstelle des Transports bei Aufrufen von IBindStatusCallback::OnStartBinding.

Der URL-Moniker identifiziert das protokoll, das durch analysieren des URL-Präfixes verwendet wird, und ruft dann die IBinding-Schnittstelle von der Transportschicht ab. Der Client verwendet IBinding , um das Anhalten, Abbrechen und Priorisieren des Bindungsvorgangs zu unterstützen. Das Rückrufobjekt empfängt auch Statusbenachrichtigungen über IBindStatusCallback::OnProgress, Datenverfügbarkeitsbenachrichtigungen über IBindStatusCallback::OnDataAvailable und verschiedene andere Transportebenenbenachrichtigungen über die status der Bindung. Der URL-Moniker oder bestimmte Transportebenen können auch erweiterte Informationen vom Client über IBindStatusCallback::QueryInterface anfordern, sodass der Client protokollspezifische Informationen bereitstellen kann, die sich auf den Bindungsvorgang auswirken.

Weitere Informationen finden Sie in den folgenden Themen:

Asynchrone Moniker

Informationen zu URL Monikers