Creates a new moniker based on the common prefix that this moniker (the one comprising the data of this moniker object) shares with another moniker. This function is intended to be called only in implementations of IMoniker::CommonPrefixWith.
WINOLEAPI MonikerCommonPrefixWith(
LPMONIKER pmkThis, //Pointer to the first moniker being compared
LPMONIKER pmkOther, //Pointer to the second moniker being compared
LPMONIKER FAR *ppmkCommon
//Address of output variable that receives the
// IMoniker interface pointer
);
This function supports the standard return values E_OUTOFMEMORY and E_UNEXPECTED, as well as the following:
Call MonikerCommonPrefixWith only in the implementation of IMoniker::CommonPrefixWith for a new moniker class.
Your implementation of IMoniker::CommonPrefixWith should first check whether the other moniker is of a type that you recognize and handle in a special way. If not, you should call MonikerCommonPrefixWith, passing itself as pmkThis and the other moniker as pmkOther. MonikerCommonPrefixWith correctly handles the cases where either moniker is a generic composite.
You should call this function only if pmkThis and pmkOther are both absolute monikers (where an absolute moniker is either a file moniker or a generic composite whose leftmost component is a file moniker, and where the file moniker represents an absolute path). Do not call this function on relative monikers.
Windows NT: Use version 3.1 or later.
Windows: Use Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in objbase.h.
Import Library: Included as a resource in ole32.dll.