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 的最後一個片段,您可以執行下列動作:

  1. 在複合上呼叫 IMoniker::Enum ,並將 FALSE 指定為第一個參數。 這會建立列舉值,以反向順序傳回元件Moniker。
  2. 使用列舉值來擷取復合的最後一個片段。
  3. 在該 Moniker 上呼叫 IMoniker::InverseInverse 傳回的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 版)

另請參閱

IMoniker