BindMoniker
Binds the specified moniker, that is, locates the object identified by the
moniker, which activates the object if it isn't active already, and retrieves the
specified interface pointer to that object.
HRESULT BindMoniker(
LPMONIKER pmk,
| //Pointer to the moniker to be bound
|
DWORD grfOpt,
| //Reserved
|
REFIID iidResult,
| //IID of interface pointer desired
|
LPVOID FAR *ppvResult
| //Receives interface pointer
|
);
|
|
Parameters
pmk
Points to the moniker that is to be bound.
grfOpt
Reserved for future use; must be zero.
iidResult
Specifies the IID of the interface pointer desired.
ppvResult
Receives a pointer to the requested interface. If an error occurs,
ppvResult is NULL; otherwise, the caller is responsible for calling
IUnknown::Release.
Return Values
S_OK
Indicates that the moniker was successfully bound.
MK_E_NOOBJECT
Indicates that the object identifed by
pmk could not be found. If
pmk is a composite moniker, the object indicated is some intermediate object
identified in the composite.
E_OUTOFMEMORY
Indicates insufficient memory.
E_INVALIDARG
Indicates one or more invalid arguments.
The return value can also be any of the error values returned by
IMoniker::BindToObject.
Comments
The
BindMoniker helper function packages the following functionality:
IBindCtx *pbc;
CreateBindCtx(0, &pbc);
pmk->BindToObject(pbc, NULL, riid, ppvObj);
pbc->Release();
BindMoniker is a helper function that is convenient for a moniker client to call to bind
one moniker. A moniker client uses a moniker to acquire an interface pointer to
the object that the moniker identifies. If you have several monikers to bind
in quick succession, and if you know that those monikers will activate the same
objects, it may be more efficient to call the
IMoniker::BindToObject method directly so you can use the same bind context for all the monikers.
See the
IBindCtx interface for more information.
The most common examples of moniker clients are applications that act as link
containers; that is, container applications that allow their documents to
contain linked objects. However, link containers are a special case in that they
generally do not need to make direct calls to
IMoniker methods. Instead, they manipulate linked objects through the
IOleLink interface; the default handler implements this interface and calls the
appropriate
IMoniker methods as needed.
See Also
CreateBindCtx,
IMoniker::BindToObject
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database