Compartir a través de


Función PSGetItemPropertyHandler (propsys.h)

Recupera un controlador de propiedades para un elemento de Shell.

Sintaxis

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

Parámetros

[in] punkItem

Tipo: IUnknown*

Puntero a la interfaz IUnknown de un elemento de Shell que admite IShellItem.

Windows XP: Use SHCreateShellItem para crear el elemento shell.

Windows Vista: Use SHCreateItemFromIDList, SHCreateItemFromParsingName, SHCreateItemFromRelativeName, SHCreateItemInKnownFolder o SHCreateItemWithParent para crear el elemento shell.

[in] fReadWrite

Tipo: BOOL

TRUE para recuperar un controlador de propiedades de lectura y escritura. FALSE para recuperar un controlador de propiedades de solo lectura.

[in] riid

Tipo: REFIID

Referencia al IID de la interfaz que debe devolver el objeto de controlador. Debe ser IPropertyStore o una interfaz derivada de IPropertyStore.

[out] ppv

Tipo: void**

Cuando se devuelve esta función, contiene el puntero de interfaz solicitado en riid.

Valor devuelto

Tipo: PSSTDAPI

Devuelve S_OK si se ejecuta correctamente o un valor de error de lo contrario.

Comentarios

Esta función se admite en Windows XP y Windows Vista. Para las aplicaciones admitidas solo en Windows Vista o versiones posteriores, se recomienda usar IShellItem2::GetPropertyStore en lugar de PSGetItemPropertyHandler. Ese método proporciona un conjunto más completo de propiedades en el almacén de propiedades que se devuelve.

Esta función es aproximadamente equivalente a pasar la marca de GPS_HANDLERPROPERTIESONLY a IShellItem2::GetPropertyStore.

Debe inicializar el modelo de objetos componentes (COM) con CoInitialize o OleInitialize antes de llamar a PSGetItemPropertyHandler. COM debe permanecer inicializado durante la vigencia de este objeto.

Ejemplos

En el ejemplo siguiente, para incluirse como parte de un programa más grande, se muestra cómo usar PSGetItemPropertyHandler para obtener un controlador de propiedades para 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();
}

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP con SP2, Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 con SP1 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado propsys.h
Library Propsys.lib
Archivo DLL Propsys.dll (versión 6.0 o posterior)
Redistribuible Búsqueda de escritorio de Windows (WDS) 3.0