# URL Moniker Object

A URL moniker is a persistent intelligent name that represents and manages a Uniform Resource Locator (URL). Other system-provided monikers are synchronous but a URL moniker can also be asynchronous to reduce the impact of high latency experienced on the internet. This moniker triggers a bind operation and sets up the components involved (notifications, objects, downloader, and so on).

To support asynchronous binding, the client can implement a bind-status-callback object, using the IBinding interface to support pausing, cancellation, and prioritization of the binding operation. The bind-status-callback object also receives progress, data availability, and other notifications about the status of the binding.

Implementation

This object is one of the system-implemented simple monikers (that is, not a composite).

Creation/Access API functions

IBindHost::CreateMoniker | The most common way to create a URL moniker. The interface allows an ActiveX object to ask its container to create a moniker. This allows the container to perform relative path resoluition to convert relative paths into absolute paths.
CreateURLMoniker | Creates a URL moniker from either a full URL string or from a base context URL moniker and a partial URL string.
OleLoadFromStream | Can be used to load a URL moniker from a stream.

Interfaces

IMoniker | The URL moniker’s primary interface. All of the object’s operations are encapsulated behind it.
IAsyncMoniker | Allows clients to determine whether a moniker supports asynchronous binding.
IPersist | The base interface for IPersistStream.
IPersistStream | Provides methods for saving and loading objects that use a simple serial stream for their storage needs.
IROTData | The system enables this interface to provide a way to compare two monikers and determine whether the one specified is registered in the running object table as currently in the running state.