CreateAntiMoniker
Creates and returns a new anti-moniker.
WINOLEAPI CreateAntiMoniker(
LPMONIKER FAR *ppmk
| //Receives the anti-moniker
|
);
|
|
Parameter
ppmk
Receives an
IMoniker interface pointer to the new anti-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.
Return Values
S_OK
Indicates the anti-moniker was created successfully.
E_OUTOFMEMORY
Indicates insufficient memory.
Comments
You would call this function only if you are writing your own moniker class
(implementing the
IMoniker interface). If you want an anti-moniker to act as the inverse for your
moniker class, you can call
CreateAntiMoniker from your implementation of
IMoniker::Inverse.
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
different class.
An anti-moniker can be used as the inverse for certain classes of monikers.
For example, the system-provided implementations of file monikers, item monikers,
and pointer monikers all use anti-monikers as their inverse; consequently, an
anti-moniker composed to the right of a file, item, or pointer moniker composes
to nothing.
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
call
IMoniker::Inverse rather that the
CreateAntiMoniker function, because you cannot be certain that the moniker you're using
considers an anti-moniker to be its inverse. For example, if you need to remove the
last piece of a composite moniker, call
IMoniker::Enum on the composite, specifying FALSE as the first parameter; this call creates
an enumerator that returns the component monikers in reverse order. Use the
enumerator to retrieve the last piece of the composite, and call
IMoniker::Inverse on that moniker. The moniker returned by
IMoniker::Inverse will remove the last piece of the composite.
If you are writing a new moniker class and you have no special requirements
for its inverse, you can use
CreateAntiMoniker in your implementation of the
IMoniker::Inverse method, and then check for an anti-moniker in your implementation of
IMoniker::ComposeWith.
See Also
IMoniker::Inverse,
IMoniker::ComposeWith,
IMoniker - Anti-Moniker Implementation
- 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