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 |