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