IBindStatusCallback::OnStartBinding method

Notifies the client about the callback methods that it is registered to receive. This notification is a response to the flags the client requested in the RegisterBindStatusCallback function.


HRESULT OnStartBinding(
  [in] DWORD    dwReserved,
  [in] IBinding *pib


  • dwReserved [in]
    Reserved. Must be set to 0.

  • pib [in]
    A pointer to the IBinding interface of the current bind operation. This cannot be NULL. The client can call AddRef on this pointer to keep a reference to the binding object.

Return value

Returns S_OK if successful, or E_INVALIDARG if the pib parameter is invalid.


Typically, asynchronous monikers call this method before the call to the IMoniker::BindToStorage method or the IMoniker::BindToObject method has returned.

In the call to this method, the moniker also provides the client with a pointer to the IBinding interface for the binding object associated with the current bind operation. The client can use the IBinding interface to control the progress of the bind operation.

To keep a reference to the binding object, the client must store the pointer to the IBinding interface and call AddRef on it. When the client no longer requires the reference, it must call Release on it. Note that calling Release does not cancel the bind operation; it frees the reference to the IBinding interface sent in the callback.

Client applications that implement the IBindStatusCallback interface can return E_NOTIMPL or S_OK, if they don't want to receive this notification.

The Abort method does not work properly in an implementation of IBindStatusCallback::OnStartBinding. To abort the binding, IBindStatusCallback::OnStartBinding should return E_FAIL.


Minimum supported client

Windows XP

Minimum supported server

Windows Server 2003


Internet Explorer 4.0



See also