Anti-monikers
O OLE fornece uma implementação de um tipo especial de moniker chamado anti-moniker. Use este moniker na criação de novas classes de moniker. Use-o como o inverso do moniker no qual ele é composto, cancelando efetivamente esse moniker, da mesma forma que o operador ".." move para cima um nível de diretório em um comando do sistema de arquivos.
É necessário ter um anti-moniker disponível, pois depois que um moniker composto é criado, não é possível excluir partes do moniker se, por exemplo, um objeto se mover. Em vez disso, você usa um anti-moniker para remover uma ou mais entradas de um moniker composto.
Os anti-apelidos são uma classe de moniker explicitamente destinada a ser usada como inversa. COM define a funçãoCreateAntiMonikernomeada, que retorna um anti-moniker. Geralmente, você usa essa função para implementar o método IMoniker::Inverse.
Um anti-moniker é apenas um inverso para esses tipos de apelidos que são implementados para tratar anti-apelidos como um inverso. Por exemplo, se você quiser remover a última parte de um moniker composto, não deverá criar um anti-moniker e compor até o final da composição. Você não pode ter certeza de que a última parte da composição considere um anti-moniker como seu inverso. Em vez disso, você deve chamar IMoniker::Enum no moniker composto, especificando false como o primeiro parâmetro. Isso cria um enumerador que retorna os monikers de componente em ordem inversa. Use o enumerador para recuperar a última parte da composição e chame inversa nesse moniker. O moniker retornado por inverso é o que você precisa para remover a última parte da composição.
Tópicos relacionados