URL-Moniker

Die OLE-Monikerarchitektur bietet ein praktisches Programmiermodell für die Arbeit mit URLs. Die Monikerarchitektur unterstützt die erweiterbare und vollständige Namensparsing über die MkParseDisplayName-Funktion und die Schnittstellen IParseDisplayName und IMoniker sowie druckbare Namen über die IMoniker::GetDisplayName-Methode. Die IMoniker-Schnittstelle ist die Art und Weise, wie Sie urls tatsächlich verwenden, auf die Sie stoßen, und das Erstellen von Komponenten, die in die Monikerarchitektur passen, ist die Möglichkeit, URL-Namespaces tatsächlich in der Praxis 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 sehen, unterstützt der URL-Moniker sowohl asynchrone als auch synchrone Bindungen. Der URL-Moniker unterstützt derzeit keinen asynchronen Speicher.

Das folgende Diagramm zeigt die Komponenten, die an der Verwendung von URL-Monikern beteiligt sind. All 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 Monikerclients erstellt ein Benutzer von URL-Monikern 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 RegisterBindStatusCallback-Funktion beim Bindungskontext registrieren. Dieses Objekt empfängt die IBinding-Schnittstelle des Transports bei Aufrufen von IBindStatusCallback::OnStartBinding.

Der URL-Moniker identifiziert das verwendete Protokoll durch Analysieren des URL-Präfixes und ruft dann die IBinding-Schnittstelle von der Transportebene ab. Der Client verwendet IBinding, um das Anhalten, Beenden und Priorisieren des Bindungsvorgangs zu unterstützen. Das Rückrufobjekt empfängt auch Statusbenachrichtigungen über IBindStatusCallback::OnProgress,Datenverfügbarkeitsbenachrichtigungen über IBindStatusCallback::OnDataAvailableund verschiedene andere Transportebenenbenachrichtigungen über den 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 unter den folgenden Themen:

Asynchrone Moniker

Informationen zu URL-Monikern