The binding object allows control to be maintained over the course of a bind operation when the moniker involved is asynchronous. The need for a binding object is evident if you recall that when using a synchronous moniker, the bind operation is finished when the IMoniker::BindToObject or IMoniker::BindToStorage call has been completed. For an asynchronous bind operation, the call to either of these methods returns before the operation has finished and it may be necessary to pause or abort the operation.
A binding object is usually implemented as a separate object created by a moniker on a per-bind basis. Typically, when you require an asynchronous moniker you can use the URL moniker implementation provided by the system. If you decide to implement a custom version, you must provide implementing code for a binding object.
IBindStatusCallback::OnStartBinding | Provides a pointer to the IBinding interface on the binding object associated with the current operation. |
IBinding | A binding object's primary interface. It provides methods associated with control of binding operations involving an asynchronous moniker. |
IWinInetInfo | Implemented by the binding object for bind operations involving standard protocols when using URL monikers. |
IWinInetHttpInfo | Implemented by the binding object for bind operations to HTTP URLs when using URL monikers. |