Anti-Moniker
OLE bietet eine Implementierung eines speziellen Monikertyps, der als antimonikerbezeichnet wird. Sie verwenden diesen Moniker bei der Schaffung neuer Moniker-Klassen. Sie verwenden es als Umkehrung des Monikers, in dem er zusammengesetzt ist, und zwar effektiv diesen Moniker auf dieselbe Weise, wie der Operator "." in einem Dateisystembefehl nach oben bewegt.
Es ist notwendig, einen Anti-Moniker verfügbar zu haben, da nach der Erstellung eines zusammengesetzten Monikers keine Teile des Monikers gelöscht werden können, wenn z. B. ein Objekt verschoben wird. Stattdessen verwenden Sie einen Anti-Moniker, um einen oder mehrere Einträge aus einem zusammengesetzten Moniker zu entfernen.
Antimoniker sind eine Monikerklasse, die explizit für die Verwendung als Umkehrung vorgesehen ist. COM definiert die benannte CreateAntiMoniker--Funktion, die einen Antimoniker zurückgibt. In der Regel verwenden Sie diese Funktion, um die IMoniker::Inverse-Methode zu implementieren.
Ein Anti-Moniker ist nur eine Umkehrung für diese Arten von Monikern, die implementiert werden, um Antimoniker als Umkehrung zu behandeln. Wenn Sie z. B. das letzte Stück eines zusammengesetzten Monikers entfernen möchten, sollten Sie keinen Anti-Moniker erstellen und am Ende des Verbunds verfassen. Sie können nicht sicher sein, dass der letzte Teil des Verbunds einen Anti-Moniker als umgekehrt betrachtet. Stattdessen sollten Sie IMoniker::Enum für den zusammengesetzten Moniker aufrufen und FALSE- als ersten Parameter angeben. Dadurch wird ein Enumerator erstellt, der die Komponentenmoniker in umgekehrter Reihenfolge zurückgibt. Verwenden Sie den Enumerator, um den letzten Teil des Zusammengesetzts abzurufen, und rufen Sie Inverse- für diesen Moniker auf. Der von Inverse zurückgegebene Moniker ist das, was Sie zum Entfernen des letzten Stücks des Composites benötigen.
Verwandte Themen