MonikerRelativePathTo
Returns a moniker that, when composed onto the end of the first specified
moniker (or one with a similar structure), yields the second specified moniker.
This function is intended for use only by
IMoniker::RelativePathTo implementations.
WINOLEAPI MonikerRelativePathTo(
LPMONIKER pmkSrc,
| //Moniker identifying source
|
LPMONIKER pmkDest,
| //Moniker identifying destination
|
LPMONIKER FAR * ppmkRelPath,
| //Receives relative moniker
|
BOOL dwReserved
| //Reserved; must be non-zero
|
);
|
|
Parameters
pmkSrc
Points to the moniker that, when composed with the relative moniker to be
created, produces
pmkDest. This moniker identifies the "source" of the relative moniker to be created.
pmkDest
Points to the moniker to be expressed relative to
pmkSrc. This moniker identifies the "destination" of the relative moniker to be
created.
ppmkRelPath
Receives a pointer to the relative moniker. The returned pointer is NULL if an
error occurs; if non-NULL, the function has called
IUnknown::AddRef on the parameter and the caller is responsible for calling
IUnknown::Release.
dwReserved
Reserved; must be non-zero.
Return Values
S_OK
Indicates a meaningful relative path has been returned.
MK_S_HIM
Indicates the only form of the relative path is the other moniker.
MK_E_NOTBINDABLE
Indicates that
pmkSrc is a relative moniker, such as an item moniker.
pmkSrc must be composed with the moniker of its container before a relative path can
be determined.
E_INVALIDARG
Specifies the parameter
dwReserved was set to zero.
E_UNEXPECTED
Indicates an unexpected error occurred.
E_OUTOFMEMORY
Indicates insufficient memory.
Comments
Call
MonikerRelativePathTo only if you are writing your own moniker class (implementing the
IMoniker interface). Call this function from your implementation of the
IMoniker::RelativePathTo method.
Your implementation of
IMoniker::RelativePathTo should first check whether the other moniker is of a type you recognize and
handle in a special way. If not, you should call
MonikerRelativePathTo, passing itself as
pmkThis and the other moniker as
pmkOther.
MonikerRelativePathTo correctly handles the cases where either moniker is a generic composite.
You should call this function only if
pmkSrc and
pmkDest are both absolute monikers, where an absolute moniker is either a file
moniker or a generic composite whose left-most component is a file moniker, and where
the file moniker represents an absolute path. Do not call this function on
relative monikers.
See Also
IMoniker::RelativePathTo
- 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