MonikerCommonPrefixWith 函式 (objbase.h)

根據這個Moniker所 (組成此Moniker對象的數據) 與其他Moniker共用的通用前置詞,建立新的Moniker。

此函式僅供 在IMoniker::CommonPrefixWith 實作中呼叫。

語法

HRESULT MonikerCommonPrefixWith(
  [in]  LPMONIKER pmkThis,
  [in]  LPMONIKER pmkOther,
  [out] LPMONIKER *ppmkCommon
);

參數

[in] pmkThis

其中一個常見前置詞的 Moniker上IMoniker 介面的指標;通常使用此呼叫來實作 IMoniker::CommonPrefixWith 的 Moniker。

[in] pmkOther

要與第一個Moniker比較之 Moniker上IMoniker 介面的指標。

[out] ppmkCommon

根據 pmkThis 和 pmkOther 的通用前置詞,接收 Moniker 介面指標的 IMoniker* 指標變數位址。 成功時,函式已在Moniker上呼叫 AddRef ,而呼叫端負責呼叫 Release。 如果發生錯誤,則提供的介面指標值為 NULL。

傳回值

此函式可以傳回標準傳回值E_OUTOFMEMORY和E_UNEXPECTED,以及下列值。

傳回碼 描述
S_OK
常見的前置詞不存在於 pmkThis 和 pmkOther。
MK_S_HIM
整個 pmkOther moniker 是 pmkThis moniker 的前置詞。
MK_S_ME
整個 pmkThis moniker 是 pmkOther moniker 的前置詞。
MK_S_US
pmkThis 和 pmkOther monikers 相等。
MK_E_NOPREFIX
Moniker 沒有通用前置詞。
MK_E_NOTBINDABLE
這個函式是在相對Moniker上呼叫。 採用相對Moniker的通用前置詞並不有意義。

備註

IMoniker::CommonPrefixWith 的實作應該先檢查另一個 Moniker 是否屬於您以特殊方式辨識和處理的類型。 如果沒有,您應該呼叫 MonikerCommonPrefixWith,並將本身傳遞為 pmkThis ,並將另一個Moniker當做 pmkOther 傳遞。 MonikerCommonPrefixWith 可正確處理Moniker 是泛型複合的案例。

只有當 pmkThis 和 pmkOther 都是絕對 Moniker (其中絕對 Moniker 是檔案 Moniker 或最左邊元件為檔案 Moniker 的泛型複合,以及檔案 Moniker 代表絕對路徑) 時,才應該呼叫此函式。 請勿在相對Moniker上呼叫此函式。

規格需求

需求 值
最低支援的用戶端 Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 objbase.h
程式庫 Ole32.lib
Dll Ole32.dll

另請參閱

IMoniker::CommonPrefixWith