CreateFileMoniker 函式 (objbase.h)

根據指定的路徑建立檔案Moniker。

語法

HRESULT CreateFileMoniker(
  [in]  LPCOLESTR lpszPathName,
  [out] LPMONIKER *ppmk
);

參數

[in] lpszPathName

這個Moniker所依據的路徑。

此參數可以指定相對路徑、UNC 路徑或驅動器號型路徑。 如果以相對路徑為基礎,產生的Moniker必須先撰寫到另一個檔案Moniker,才能系結。

[out] ppmk

接收新檔案 Moniker 介面指標的 IMoniker* 指標變數位址。 成功時,函式已在Moniker檔案上呼叫 AddRef ,而呼叫端負責呼叫 Release。 發生錯誤時,介面指標的值為 NULL

傳回值

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

傳回碼 描述
S_OK
Moniker 已成功建立。
MK_E_SYNTAX
路徑的語法發生錯誤。

備註

CreateFileMoniker 會為儲存在檔案中的物件建立Moniker。 Moniker 提供者 (提供Moniker給其他物件的物件,) 可以呼叫此函式來建立Moniker來識別它所控制之檔案型物件,然後讓此Moniker的指標可供其他物件使用。 檔案Moniker所識別的對象也必須實作 IPersistFile 介面,以便在繫結檔案 Moniker 時載入它。

當每個物件都位於自己的檔案中時,如同 OLE 伺服器應用程式,其僅支援連結至整個檔案檔,檔案 Monikers 是唯一必要的 Moniker 類型。 若要識別小於檔案的物件,Moniker 提供者必須使用另一種類型的Moniker (,例如專案Moniker) ,以及檔案Moniker,建立複合Moniker。 OLE 伺服器應用程式中需要複合Moniker,其支援連結至小於檔案 (的物件,例如檔區段或內嵌物件) 。

第一個Moniker是以絕對路徑為基礎,另一個檔案Moniker的右邊只能由另一個檔案Moniker組成,另一個檔案則是相對路徑,因此會根據兩個路徑的組合產生單一檔案Moniker。 由另一個Moniker右邊撰寫的Moniker必須是該Moniker的精簡,而檔案Moniker代表最大的記憶體單位。 若要識別儲存在檔案中的物件,您會撰寫其他類型的Monikers (通常是檔案Moniker右邊的專案monikers) 。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 objbase.h
程式庫 Ole32.lib
Dll Ole32.dll
API 集合 ext-ms-win-com-ole32-l1-1-4 (在 Windows 10 10.0.14393 版中引進)

另請參閱

IMoniker