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: 使用 SHCreateItemFromIDList、 SHCreateItemFromParsingName、 SHCreateItemFromRelativeName、 SHCreateItemInKnownFolder 或 SHCreateItemWithParent 來建立 Shell 專案。
[in] fReadWrite
類型: BOOL
TRUE 可擷取讀取/寫入屬性處理程式。 FALSE 可擷取唯讀屬性處理程式。
[in] punkCreateObject
類型: IUnknown*
支援 ICreateObject 之類別 Factory 物件的 IUnknown 介面指標。
[in] riid
類型: REFIID
要透過 ppv 擷取之介面 IID 的參考。
[out] ppv
類型: void**
當此函式成功傳回時,會包含 riid中要求的介面指標。 這通常是 IPropertyStore 或 IPropertyStoreCapabilities。
傳回值
類型: 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 之前,您必須使用 CoInitialize 或 OleInitialize 初始化元件物件模型 (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 |