Función PSLookupPropertyHandlerCLSID (propsys.h)
Obtiene el identificador de clase (CLSID) de un controlador de propiedades de archivo registrado por equipo.
Sintaxis
PSSTDAPI PSLookupPropertyHandlerCLSID(
[in] PCWSTR pszFilePath,
[out] CLSID *pclsid
);
Parámetros
[in] pszFilePath
Tipo: PCWSTR
Puntero a un búfer Unicode terminado en null que contiene la ruta de acceso absoluta del archivo cuyo CLSID del controlador de propiedades se solicita.
[out] pclsid
Tipo: CLSID*
Cuando se devuelve esta función, contiene el CLSID del controlador de propiedades solicitado.
Valor devuelto
Tipo: PSSTDAPI
Devuelve S_OK si se ejecuta correctamente o un valor de error de lo contrario.
Comentarios
Para obtener información sobre cómo registrar el controlador, vea Inicializar controladores de propiedades.
Esta función devuelve solo los controladores registrados en HKEY_LOCAL_MACHINE.
La mayoría de las aplicaciones que llaman no deben necesitar llamar a este método ni usar CoCreateInstance para crear un controlador de propiedades directamente. En su lugar, las aplicaciones que llaman deben usar IShellItem2::GetPropertyStore para crear un almacén de propiedades para un elemento de Shell en Windows Vista. IShellItem2::GetPropertyStore proporciona el conjunto más grande de propiedades disponibles para un elemento de Shell y la mayoría de las opciones para personalizar exactamente qué propiedades se van a devolver.
Si no se registra ningún controlador de propiedades para el archivo especificado, esta función devuelve un código de error. Cuando esto sucede, es posible leer ciertas propiedades del sistema de archivos del almacén de propiedades devueltos desde IShellItem2::GetPropertyStore.
Las aplicaciones que necesitan crear un controlador de propiedades a partir del código y que deben ejecutarse tanto en Windows Vista como en Windows XP pueden llamar a PSGetItemPropertyHandler para crear un almacén de propiedades para un elemento de Shell a través del redistribuible Microsoft Windows Desktop Search (WDS).
Ejemplos
En el ejemplo siguiente, para incluirse como parte de un programa mayor, se muestra cómo usar PSLookupPropertyHandlerCLSID.
CLSID clsid;
HRESULT hr = PSLookupPropertyHandlerCLSID(L"C:\\windows\\system32\\shell32.dll", &clsid);
if (SUCCEEDED(hr))
{
// clsid contains the CLSID of the property handler used for
// C:\windows\system32\shell32.dll.
}
Requisitos
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 | Windows Desktop Search (WDS) 3.0 |