共用方式為


PSGetItemPropertyHandlerWithCreateObject 函式 (propsys.h)

擷取Shell專案的屬性處理程式。

語法

PSSTDAPI PSGetItemPropertyHandlerWithCreateObject(
  [in]  IUnknown *punkItem,
  [in]  BOOL     fReadWrite,
  [in]  IUnknown *punkCreateObject,
  [in]  REFIID   riid,
  [out] void     **ppv
);

參數

[in] punkItem

類型: IUnknown*

支援 IShellItem 之 Shell 專案的 IUnknown 介面指標。

Windowsxp: 使用 SHCreateShellItem 建立 Shell 專案。

Windows Vista: 使用 SHCreateItemFromIDListSHCreateItemFromParsingNameSHCreateItemFromRelativeNameSHCreateItemInKnownFolderSHCreateItemWithParent 來建立 Shell 專案。

[in] fReadWrite

類型: BOOL

TRUE 可擷取讀取/寫入屬性處理程式。 FALSE 可擷取唯讀屬性處理程式。

[in] punkCreateObject

類型: IUnknown*

支援 ICreateObject 之類別 Factory 物件的 IUnknown 介面指標。

[in] riid

類型: REFIID

要透過 ppv 擷取之介面 IID 的參考。

[out] ppv

類型: void**

當此函式成功傳回時,會包含 riid中要求的介面指標。 這通常是 IPropertyStoreIPropertyStoreCapabilities

傳回值

類型: PSSTDAPI

如果成功,則傳回 S_OK ,否則傳回錯誤值。

備註

Windows XP 支援此函式,作為 Microsoft Windows 桌面搜尋 (WDS) 可轉散發套件的一部分,其中包括 IPropertyStore 和支援介面。 對於只在 Windows Vista 或更新版本上支援的應用程式,建議您使用 IShellItem2::GetPropertyStoreWithCreateObject ,而不是 PSGetItemPropertyHandlerWithCreateObject ,因為 IShellItem2::GetPropertyStoreWithCreateObject 會在傳回的屬性存放區中提供更豐富的屬性集。

此函式大約相當於將GPS_HANDLERPROPERTIESONLY旗標傳遞至 IShellItem2::GetPropertyStoreWithCreateObject

punkCreateObject 參數可讓您在與呼叫端不同的內容中建立屬性存放區。 例如, ICreateObject 實作可能會導致屬性存放區在另一個進程中建立。 此參數僅用於支援它的屬性處理程式,且已在下 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PropertySystem\PropertyHandlers註冊。

呼叫 PSGetItemPropertyHandlerWithCreateObject 之前,您必須使用 CoInitializeOleInitialize 初始化元件物件模型 (COM) 。 COM 必須在此物件的存留期內保持初始化狀態。

範例

下列範例要包含在較大的程式中,示範如何使用 PSGetItemPropertyHandlerWithCreateObject 來取得專案的屬性處理程式。

// IShellItem *psi;
// ICreateObject *pco;
// Assume variables pco and psi are valid and initialized.
IPropertyStore *pStore;

HRESULT hr = PSGetItemPropertyHandlerWithCreateObject(psi, FALSE, pco, IID_PPV_ARGS(&pStore));

if (SUCCEEDED(hr))
{
    // pStore is now valid and contains properties exposed through the 
    // property handler for the item.
 
    pStore->Release();
}

規格需求

需求
最低支援的用戶端 Windows XP 搭配 SP2、Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 SP1 [僅限傳統型應用程式]
目標平台 Windows
標頭 propsys.h
程式庫 Propsys.lib
Dll Propsys.dll (6.0 版或更新版本)
可轉散發套件 Windows 桌面搜尋 (WDS) 3.0

另請參閱

IShellItem2::GetPropertyStoreWithCreateObject

初始化屬性處理程式