CreateAntiMoniker 函式 (objbase.h)
建立並傳回新的反Moniker。
語法
HRESULT CreateAntiMoniker(
[out] LPMONIKER *ppmk
);
參數
[out] ppmk
接收新反Moniker介面指標的 IMoniker* 指標變數位址。 成功時,函式已在反Moniker上呼叫 AddRef ,而呼叫端負責呼叫 Release。 發生錯誤時,反Moniker指標為 NULL。
傳回值
此函式可以傳回標準傳回值E_OUTOFMEMORY和S_OK。
備註
只有在撰寫自己的 Moniker 類別 (實作 IMoniker 介面) 時,您才會呼叫此函式。 如果您要撰寫沒有內部結構的新 Moniker 類別,您可以在 IMoniker::Inverse 方法的實作中使用 CreateAntiMoniker,然後在 IMoniker::ComposeWith 實作中檢查是否有反 Moniker。
就像 “..” 目錄一樣,它會做為路徑中任何目錄名稱的反轉,反Moniker會作為複合Moniker中前面簡單Moniker的反轉。 反 Moniker 會當做沒有內部結構的簡單 Moniker 反向使用。 例如,系統提供的檔案Moniker、專案Moniker和指標Moniker實作全都使用反Moniker做為其反向;因此,由其中一個Moniker右側撰寫的反Moniker會撰寫為 nothing。
Moniker 用戶端 (使用Moniker系結至另一個物件的物件,) 通常不知道指定Moniker的類別,因此客戶端無法確定反Moniker是反向的。 因此,若要取得Moniker的反向,您會呼叫 IMoniker::Inverse ,而不是 CreateAntiMoniker。
若要移除複合 Moniker 的最後一個片段,您可以執行下列動作:
- 在複合上呼叫 IMoniker::Enum ,並將 FALSE 指定為第一個參數。 這會建立列舉值,以反向順序傳回元件Moniker。
- 使用列舉值來擷取復合的最後一個片段。
- 在該 Moniker 上呼叫 IMoniker::Inverse 。 Inverse 傳回的Moniker將會移除複合的最後一個片段。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows 2000 Server [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | objbase.h |
程式庫 | Ole32.lib |
Dll | Ole32.dll |
API 集合 | ext-ms-win-com-ole32-l1-1-5 (Windows 10 10.0.15063 版) |