反名字对象

OLE 提供一种特殊的名字对象类型的实现,称为 反名字对象。 在创建新的名字对象类时使用此名字对象。 将其用作组合到的名字对象的反函数,从而有效地取消该名字对象,就像“..”运算符在文件系统命令中向上移动目录级别一样。

必须具有可用的反名字对象,因为创建复合名字对象后,如果对象移动,则无法删除名字对象的各个部分。 而是使用反名字对象从复合名字对象中删除一个或多个条目。

反名字对象是显式用于反名字对象类。 COM 定义命名的 CreateAntiMoniker 函数,该函数返回反名字对象。 通常使用此函数来实现 IMoniker::Inverse 方法。

反名字对象只是那些实现将反名字对象视为反名字对象类型的反名字对象。 例如,如果要删除复合名字对象的最后一部分,则不应创建反名字对象并将其组合到复合的末尾。 你无法确定复合的最后一部分将反名字对象视为反名字对象。 相反,应在复合名字对象上调用 IMoniker::Enum,并将 FALSE 指定为第一个参数。 这会创建一个枚举器,该枚举器按反向顺序返回组件名字对象。 使用枚举器检索复合的最后一个部分,并在该名字对象上调用 反向。 由 反向 返回的名字对象是删除复合的最后一个部分所需的内容。

类名字对象

复合名字对象

文件名字对象

项名字对象

指针名字对象