Returns a moniker that, when composed to the right of this moniker or one of
similar structure, will destroy it (that is, will compose to nothing).
| IMoniker **ppmk
||//Receives the inverse of the moniker
[out] Receives a pointer to the inverse moniker. If an error occurs, the
implementation sets *ppmk
to NULL. If *ppmk
is non-NULL, the implementation must call IUnknown::AddRef
on the parameter; it is the caller's responsibility to call IUnknown::Release
The inverse moniker has been returned successfully.
Indicates that the moniker class does not have an inverse.
Indicates insufficient memory.
The inverse of a moniker is analogous to the ".." directory in MS-DOS file
systems; the ".." directory acts as the inverse to any other directory name,
because appending ".." to a directory name results in an empty path. In the same
way, the inverse of a moniker typically is also the inverse of all monikers in the
same class. However, it is not necessarily the inverse of a moniker of a
The inverse of a composite moniker is a composite consisting of the inverses
of the components of the original moniker, arranged in reverse order. For
example, if the inverse of A is Inv( A ) and the composite of A, B, and C is Comp( A,
B, C ), then
Inv( Comp( A, B, C ) )
is equal to
Comp( Inv( C ), Inv( B ), Inv( A ) ).
Not all monikers have inverses. Most monikers that are themselves inverses do
not have inverses; for example, anti-monikers do not have inverses. Monikers
that have no inverse cannot have relative monikers formed from inside the objects
they identify to other objects outside.
Notes to Callers
If you're a moniker client, you typically do not know the class of the moniker
you're using. If you need to get the inverse of a moniker, you should always
rather than the CreateAntiMoniker
API function, because you cannot be certain that the moniker you're using
considers an anti-moniker to be its inverse.
method is also called by the implementation of the IMoniker::RelativePathTo
method, to assist in constructing a relative moniker.
Notes to Implementors
If your monikers have no internal structure, your implementation of IMoniker::Inverse
can return an anti-moniker using the CreateAntiMoniker
API function. Whatever you return from IMoniker::Inverse
is what you must check for in your implementation of IMoniker::ComposeWith
- Software for developers
Software for Android Developers
- More information resources
Unix Manual Pages