共用方式為


CreateObjrefMoniker 函式 (objbase.h)

根據物件的指標建立 OBJREF Moniker。

語法

HRESULT CreateObjrefMoniker(
  [in, optional] LPUNKNOWN punk,
  [out]          LPMONIKER *ppmk
);

參數

[in, optional] punk

Moniker 要表示之物件上的 IUnknown 介面指標。

[out] ppmk

建立之 OBJREF Moniker 上 IMoniker 介面的指標位址。

傳回值

此函式可以傳回標準傳回值E_OUTOFMEMORY、E_UNEXPECTED和S_OK。

備註

用戶端會使用 OBJREF Moniker 來取得伺服器位址空間中執行中物件的封送處理指標。

伺服器通常會呼叫 CreateObjrefMoniker 來建立 OBJREF Moniker,然後呼叫 IMoniker::GetDisplayName,最後釋放 Moniker。 OBJREF Moniker 的顯示名稱的格式如下:

OBJREF:nnnnnnnn

其中 nnnnnnnn 是任意長 base-64 編碼,封裝執行中物件的電腦位置、進程端點和介面指標識別碼 (IPID)

然後,可以將顯示名稱傳送至用戶端做為文字。 例如,顯示名稱可以位於用戶端下載的 HTML 頁面上。

用戶端可以將顯示名稱傳遞至 MkParseDisplayName,這會根據顯示名稱建立 OBJREF Moniker。 呼叫 Monikers IMoniker::BindToObject 方法,然後取得伺服器上執行中實例的封送處理指標。

例如,Active Server Page 中包含的伺服器端 COM 元件可以建立 OBJREF Moniker、取得其顯示名稱,並將顯示名稱寫入傳送至用戶端瀏覽器的 HTML 輸出。 在用戶端上執行的腳本可以使用顯示名稱來存取執行中的物件本身。 例如,用戶端 Visual Basic 腳本可以將顯示名稱儲存在名為 strMyName 的變數中,並包含這一行:

objMyInstance = GetObject(strMyName)

腳本引擎會在內部呼叫 MkParseDisplayNameIMoniker::BindToObject,然後腳本可以使用 objMyInstance 直接參照執行中的物件。

需求

   
最低支援的用戶端 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