共用方式為


PSGetItemPropertyHandler 函式 (propsys.h)

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

語法

PSSTDAPI PSGetItemPropertyHandler(
  [in]  IUnknown *punkItem,
  [in]  BOOL     fReadWrite,
  [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] riid

類型: REFIID

處理程式對象應該傳回之介面的 IID 參考。 這應該是 IPropertyStore 或衍生自 IPropertyStore 的介面。

[out] ppv

類型: void**

當此函式傳回時,包含 riid中要求的介面指標。

傳回值

類型: PSSTDAPI

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

備註

Windows XP 和 Windows Vista 支援此函式。 針對僅在 Windows Vista 或更新版本上支援的應用程式,建議您使用 IShellItem2::GetPropertyStore ,而不是 PSGetItemPropertyHandler。 該方法會在傳回的屬性存放區中提供更豐富的屬性集。

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

您必須先使用 CoInitializeOleInitialize 初始化元件物件模型 (COM) ,才能呼叫 PSGetItemPropertyHandler。 COM 必須在這個物件的存留期內保持初始化狀態。

範例

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

// IShellItem *psi;
// Assume variable psi is valid and initialized.
IPropertyStore *pStore;

HRESULT hr = PSGetItemPropertyHandler(psi, FALSE, 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