IOleItemContainer
A version of this page is also available for
4/8/2010
This interface is used by item monikers when they are bound to the objects they identify.
When any container of objects uses item monikers to identify its objects, it must define a naming scheme for those objects.
The container's IOleItemContainer implementation uses knowledge of that naming scheme to retrieve an object given a particular name.
Item monikers use the container's IOleItemContainer implementation during binding.
When to Implement
You must implement IOleItemContainer if you are a moniker provider handing out item monikers. Being a moniker provider means handing out monikers that identify your objects to make them accessible to moniker clients.
You must use item monikers if the objects you are identifying are contained within another object and can be individually identified using a string.
The most common example of moniker providers are OLE applications that support linking. If your OLE application supports linking to objects smaller than a file-based document, you need to use item monikers.
For a server application that allows linking to a portion of a document (such as selections within a document), you use the item monikers to identify those objects.
For a container application that allows linking to embedded objects, you use the item monikers to identify the embedded objects.
You must define a naming scheme for identifying the objects within the container; for example, embedded objects in a document could be identified with names of the form embedobj1, embedobj2, and so forth, while ranges of cells in a spreadsheet could be identified with names of the form A1:E7, G5:M9, and so forth.
(Ranges of cells in a spreadsheet are examples of pseudo-objects because they do not have their own persistent storage, but simply represent a portion of the container's internal state.)
You create an item moniker that represents an object's name using the CreateItemMoniker function and hand it out to a moniker client. When an item moniker is bound, your implementation of IOleItemContainer must be able to take a name and retrieve the corresponding object.
When to Use
Applications typically do not call IOleItemContainer methods directly. The item moniker implementation of the IMoniker interface is the primary caller of IOleItemContainer methods.
Methods
The following table shows the methods for this interface in the order that the compiler calls the methods. Like all COM interfaces, this interface inherits the methods for the IUnknown interface.
IUnknown method | Description |
---|---|
Returns pointers to supported interfaces. |
|
Increments reference count. |
|
Decrements reference count. |
IParseDisplayName method | Description |
---|---|
Parses object's display name to form moniker. |
IOleContainer method | Description |
---|---|
EnumObjects |
Enumerates objects in a container. |
LockContainer |
Keeps container running until explicitly released. |
IOleItemContainer method | Description |
---|---|
Returns a pointer to a specified object. |
|
Returns a pointer to an object's storage. |
|
Checks whether an object is running. |
Remarks
To determine whether the platform supports this interface, see Determining Supported COM APIs.
Requirements
Header | Oleidl.h, oleidl.idl |
Library | ole32.lib, uuid.lib |
Windows Embedded CE | Windows CE 3.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
CreateItemMoniker
IParseDisplayName
IParseDisplayName::ParseDisplayName