共用方式為


IOleClientSite::GetMoniker 方法 (oleidl.h)

擷取物件的用戶端月臺的Moniker。 物件可以藉由指定 dwAssign 的值,強制指派自己的或其容器的 Moniker。

語法

HRESULT GetMoniker(
  [in]  DWORD    dwAssign,
  [in]  DWORD    dwWhichMoniker,
  [out] IMoniker **ppmk
);

參數

[in] dwAssign

指定只有在已存在時,才取得Moniker、強制指派Moniker、建立暫時Moniker,或移除已指派的Moniker。 實際上,您通常會要求容器強制指派Moniker。 可能的值取自 OLEGETMONIKER 列舉。

[in] dwWhichMoniker

指定是否要傳回容器的Moniker、相對於容器的物件Moniker或物件的完整Moniker。 在實務上,您通常會要求物件的完整Moniker。 可能的值為取自 OLEWHICHMK 列舉。

[out] ppmk

IMoniker 指標變數的指標,可接收物件用戶端月臺之Moniker介面指標。 如果發生錯誤,實作必須將 ppmk 設定為 NULL。 每次容器收到 IOleClientSite::GetMoniker 的呼叫時,都必須在傳回的 ppmk 指標上增加參考計數。 呼叫端必須負責在完成指標時呼叫 Release

傳回值

此方法會在成功時傳回S_OK。 其他可能的傳回值包括下列專案。

傳回碼 Description
E_NOTIMPL
此容器無法將Monikers指派給物件。 這是 OLE 1 容器的情況。

備註

容器會實作 GetMoniker 作為將 Moniker 傳遞給需要連結至這些物件之用戶端的 Moniker 的方式。

當連結建立至內嵌物件或其中虛擬物件時, (電子表格中的單元格範圍,例如) ,物件需要Moniker來建構指出連結來源的複合Moniker。 如果內嵌物件還沒有Moniker,它可以呼叫 GetMoniker 來要求一個。

每個預期包含內嵌連結的容器都應該支援 GetMoniker 提供OLEWHICHMK_CONTAINER,因此在連結用戶端和連結來源檔案移動時啟用連結追蹤,但維持相同的相對位置。

物件不得持續儲存其完整Moniker或其容器的Moniker,因為這些物件在未載入物件時可能會變更。 例如,容器或物件都可以重新命名,在其中,儲存容器的Moniker或物件的完整Moniker,讓客戶端無法追蹤對象的連結。

在某些非常特殊的案例中,物件可能不再需要先前指派的Moniker,而且可能想要將其移除為優化。 在這種情況下,物件可以呼叫具有 OLEGETMONIKER_UNASSIGN 的 GetMoniker ,以移除 Moniker。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 oleidl.h

另請參閱

IOleClientSite

IOleClientSite::GetMoniker

IOleObject::SetMoniker