IBindHost::MonikerBindToObject method

Binds a moniker to an object.


HRESULT MonikerBindToObject(
  [in]  IMoniker            *pMk,
  [in]  IBindCtx            *pBC,
  [in]  IBindStatusCallback *pBSC,
  [in]  REFIID              riid,
  [out] void                **ppvObj


  • pMk [in]
    The address of the IMoniker interface of the moniker.

  • pBC [in]
    The address of the IBindCtx interface of the bind context.

  • pBSC [in]
    The address of the IBindStatusCallback interface.

  • riid [in]
    An identifier of the interface that the client application uses to communicate with the object.

  • ppvObj [out]
    The address of the interface that is identified by riid. If ppvObj is not NULL, the application must call the AddRef method on the interface, and then call Release when it is finished using the interface.

Return value

Returns one of the following values.

Return code Description

The bind operation completed synchronously and successfully. The result of the bind operation is available in ppvObj.


The bind operation completes asynchronously. The behavior matches that of IMoniker::BindToObject.


There is insufficient memory to create the moniker.


An unknown error occurred.


This method behaves the same as IMoniker::BindToObject, except that it provides the control container (implementor of IBindHost) enough authority over the bind operation so that the control container can take charge of setting bind options and priority, while it delegates all results and callbacks for the bind operation back to the control.

A host or control that implements IBindHost should implement IHttpNegotiate. It should also implement IServiceProvider to provide a pointer to its IHttpNegotiate interface when IHttpNegotiate is requested through QueryService.


Minimum supported client

Windows XP

Minimum supported server

Windows Server 2003


Internet Explorer 4.0



See also