CreateAntiMoniker-Funktion (objbase.h)
Erstellt einen neuen Antimoniker und gibt diesen zurück.
HRESULT CreateAntiMoniker(
[out] LPMONIKER *ppmk
);
[out] ppmk
Die Adresse einer IMoniker*-Zeigervariable, die den Schnittstellenzeiger auf den neuen Antimoniker empfängt. Bei erfolgreicher Ausführung hat die Funktion AddRef für den Antimoniker aufgerufen, und der Aufrufer ist für den Aufruf von Release verantwortlich. Wenn ein Fehler auftritt, ist der Antimonikerzeiger NULL.
Diese Funktion kann die standardmäßigen Rückgabewerte E_OUTOFMEMORY und S_OK zurückgeben.
Sie würden diese Funktion nur aufrufen, wenn Sie Ihre eigene Moniker-Klasse schreiben (implementieren die IMoniker-Schnittstelle ). Wenn Sie eine neue Monikerklasse ohne interne Struktur schreiben, können Sie CreateAntiMoniker in Ihrer Implementierung der IMoniker::Inverse-Methode verwenden und dann in Ihrer Implementierung von IMoniker::ComposeWith nach einem Antimoniker suchen.
Wie das Verzeichnis "..", das als Umgekehrtes zu jedem Verzeichnisnamen fungiert, der ihm in einem Pfad unmittelbar vorangestellt ist, fungiert ein Antimoniker als Inverse eines einfachen Monikers, der ihm in einem zusammengesetzten Moniker vorangestellt ist. Ein Antimoniker wird als Inverse von einfachen Monikern ohne interne Struktur verwendet. Beispielsweise verwenden die vom System bereitgestellten Implementierungen von Dateimonikern, Elementmonikern und Zeigermonikern alle Antimoniker als umgekehrte; folglich komponiert ein Antimoniker, der rechts von einem dieser Moniker zusammengesetzt ist, zu nichts.
Ein Monikerclient (ein Objekt, das einen Moniker verwendet, um an ein anderes Objekt zu binden) kennt in der Regel die Klasse eines angegebenen Monikers nicht, sodass der Client nicht sicher sein kann, dass ein Antimoniker der umgekehrte ist. Um die Inverse eines Monikers zu erhalten, würden Sie daher IMoniker::Inverse anstelle von CreateAntiMoniker aufrufen.
Um das letzte Stück eines zusammengesetzten Monikers zu entfernen, gehen Sie wie folgt vor:
- Rufen Sie IMoniker::Enum für die zusammengesetzte Aufzählung auf, und geben Sie FALSE als ersten Parameter an. Dadurch wird ein Enumerator erstellt, der die Komponentenmoniker in umgekehrter Reihenfolge zurückgibt.
- Verwenden Sie den Enumerator, um den letzten Teil des Zusammengesetzten abzurufen.
- Rufen Sie IMoniker::Inverse für diesen Moniker auf. Der moniker, der von Inverse zurückgegeben wird, entfernt das letzte Stück des Zusammengesetzten.
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | objbase.h |
Bibliothek | Ole32.lib |
DLL | Ole32.dll |
APIs | ext-ms-win-com-ole32-l1-1-5 (eingeführt in Windows 10, Version 10.0.15063) |