IBindCtx interface

Provides access to a bind context, which is an object that stores information about a particular moniker binding operation.


The IBindCtx interface has these methods.

Method Description
IBindCtx::EnumObjectParam Retrieves a pointer to an interface that can be used to enumerate the keys of the bind context's string-keyed table of pointers.
IBindCtx::GetBindOptions Retrieves the binding options stored in this bind context.
IBindCtx::GetObjectParam Retrieves an interface pointer to the object associated with the specified key in the bind context's string-keyed table of pointers.
IBindCtx::GetRunningObjectTable Retrieves an interface pointer to the running object table (ROT) for the computer on which this bind context is running.
IBindCtx::RegisterObjectBound Registers an object with the bind context to ensure that the object remains active until the bind context is released.
IBindCtx::RegisterObjectParam Associates an object with a string key in the bind context's string-keyed table of pointers.
IBindCtx::ReleaseBoundObjects Releases all pointers to all objects that were previously registered by calls to RegisterObjectBound.
IBindCtx::RevokeObjectBound Removes the object from the bind context, undoing a previous call to RegisterObjectBound.
IBindCtx::RevokeObjectParam Removes the specified key and its associated pointer from the bind context's string-keyed table of objects. The key must have previously been inserted into the table with a call to RegisterObjectParam.
IBindCtx::SetBindOptions Sets new values for the binding parameters stored in the bind context.


A bind context includes the following information:

  • A BIND_OPTS structure containing a set of parameters that do not change during the binding operation. When a composite moniker is bound, each component uses the same bind context, so it acts as a mechanism for passing the same parameters to each component of a composite moniker.
  • A set of pointers to objects that the binding operation has activated. The bind context holds pointers to these bound objects, keeping them loaded and thus eliminating redundant activations if the objects are needed again during subsequent binding operations.
  • A pointer to the running object table (ROT) on the same computer as the process that started the bind operation. Moniker implementations that need to access the ROT should use the IBindCtx::GetRunningObjectTable method rather than using the GetRunningObjectTable function. This allows future enhancements to the system's IBindCtx implementation to modify binding behavior.
  • A table of interface pointers, each associated with a string key. This capability enables moniker implementations to store interface pointers under a well-known string so that they can later be retrieved from the bind context. For example, OLE defines several string keys ("ExceededDeadline", "ConnectManually", and so on) that can be used to store a pointer to the object that caused an error during a binding operation.


Minimum supported client Windows 2000 Professional [desktop apps | UWP apps]
Minimum supported server Windows 2000 Server [desktop apps | UWP apps]
Target Platform Windows
Header objidl.h

See Also