Condividi tramite


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