Funzione PSGetItemPropertyHandler (propsys.h)
Recupera un gestore di proprietà per un elemento shell.
Sintassi
PSSTDAPI PSGetItemPropertyHandler(
[in] IUnknown *punkItem,
[in] BOOL fReadWrite,
[in] REFIID riid,
[out] void **ppv
);
Parametri
[in] punkItem
Tipo: IUnknown*
Puntatore all'interfaccia IUnknown di un elemento shell che supporta IShellItem.
Windows XP: Usare SHCreateShellItem per creare l'elemento shell.
Windows Vista: Utilizzare SHCreateItemFromIDList, SHCreateItemFromParsingName, SHCreateItemFromRelativeName, SHCreateItemInKnownFolder o SHCreateItemWithParent per creare l'elemento shell.
[in] fReadWrite
Tipo: BOOL
TRUE per recuperare un gestore di proprietà di lettura/scrittura. FALSE per recuperare un gestore di proprietà di sola lettura.
[in] riid
Tipo: REFIID
Riferimento all'IID dell'interfaccia che l'oggetto gestore deve restituire. Deve trattarsi di IPropertyStore o di un'interfaccia derivata da IPropertyStore.
[out] ppv
Tipo: void**
Quando questa funzione viene restituita, contiene il puntatore di interfaccia richiesto in riid.
Valore restituito
Tipo: PSSTDAPI
Restituisce S_OK in caso di esito positivo o un valore di errore in caso contrario.
Commenti
Questa funzione è supportata in Windows XP e Windows Vista. Per le applicazioni supportate solo in Windows Vista o versioni successive, è consigliabile usare IShellItem2::GetPropertyStore anziché PSGetItemPropertyHandler. Questo metodo fornisce un set più completo di proprietà nell'archivio delle proprietà restituito.
Questa funzione equivale approssimativamente al passaggio del flag GPS_HANDLERPROPERTIESONLY a IShellItem2::GetPropertyStore.
È necessario inizializzare Component Object Model (COM) con CoInitialize o OleInitialize prima di chiamare PSGetItemPropertyHandler. COM deve rimanere inizializzato per la durata di questo oggetto.
Esempio
Nell'esempio seguente, da includere come parte di un programma più ampio, viene illustrato come usare PSGetItemPropertyHandler per ottenere un gestore di proprietà per un elemento.
// 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();
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP con SP2, Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2003 con SP1 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | propsys.h |
Libreria | Propsys.lib |
DLL | Propsys.dll (versione 6.0 o successiva) |
Componente ridistribuibile | Windows Desktop Search (WDS) 3.0 |