反Monikers
OLE 提供稱為反Moniker的特殊Moniker類型的實作。 您會在建立新的 Moniker 類別時使用此 Moniker。 您可以使用它做為組成Moniker的反函數,有效地取消該Moniker,與“.” 運算符在檔案系統命令中向上移動目錄層級的方式大致相同。
必須要有可用的反Moniker,因為一旦建立複合Moniker,就不可能刪除Moniker的部分,例如物件移動。 相反地,您會使用反Moniker,從複合Moniker中移除一或多個專案。
反Moniker是明確用來作為反向使用的Moniker類別。 COM 會定義名為 CreateAntiMoniker 函 式,其會傳回反 Moniker。 您通常會使用此函式來實 作 IMoniker::Inverse 方法。
反 Moniker 只針對實作以反 Moniker 視為反 Moniker 的 Moniker 類型相反。 例如,如果您想要移除複合Moniker的最後一個部分,則不應該建立反Moniker,並將它撰寫至複合的結尾。 您無法確定復合的最後一個部分會將反Moniker視為反名。 相反地,您應該在複合Moniker上呼叫 IMoniker::Enum ,並將 FALSE 指定為第一個參數。 這會建立列舉值,以反向順序傳回元件Moniker。 使用列舉值來擷取復合的最後一個部分,並在該Moniker上呼叫Inverse。 Inverse 傳回的Moniker是您需要移除復合的最後一個部分。
相關主題