Função PSLookupPropertyHandlerCLSID (propsys.h)
Obtém o CLSID (identificador de classe) de um manipulador de propriedade de arquivo registrado por computador.
Sintaxe
PSSTDAPI PSLookupPropertyHandlerCLSID(
[in] PCWSTR pszFilePath,
[out] CLSID *pclsid
);
Parâmetros
[in] pszFilePath
Tipo: PCWSTR
Ponteiro para um buffer Unicode terminado em nulo que contém o caminho absoluto do arquivo cujo manipulador de propriedade CLSID é solicitado.
[out] pclsid
Tipo: CLSID*
Quando essa função retorna, contém o CLSID do manipulador de propriedades solicitado.
Valor retornado
Tipo: PSSTDAPI
Retorna S_OK se tiver êxito ou um valor de erro, caso contrário.
Comentários
Para obter informações sobre como registrar seu manipulador, consulte Inicializando manipuladores de propriedade.
Essa função retorna apenas os manipuladores registrados em HKEY_LOCAL_MACHINE.
A maioria dos aplicativos de chamada não deve precisar chamar esse método ou usar CoCreateInstance para criar um manipulador de propriedades diretamente. Em vez disso, os aplicativos de chamada devem usar IShellItem2::GetPropertyStore para criar um repositório de propriedades para um item shell no Windows Vista. O IShellItem2::GetPropertyStore fornece o maior conjunto de propriedades disponíveis para um item shell e a maioria das opções para personalizar exatamente quais propriedades devem ser retornadas.
Se nenhum manipulador de propriedade estiver registrado para o arquivo especificado, essa função retornará um código de erro. Quando isso acontece, ainda pode ser possível ler determinadas propriedades do sistema de arquivos do repositório de propriedades retornadas de IShellItem2::GetPropertyStore.
Aplicativos que precisam criar um manipulador de propriedades a partir do código e que devem ser executados no Windows Vista e no Windows XP podem chamar PSGetItemPropertyHandler para criar um repositório de propriedades para um item shell por meio do redistribuível da Pesquisa de Área de Trabalho do Microsoft Windows (WDS).
Exemplos
O exemplo a seguir, a ser incluído como parte de um programa maior, demonstra como 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 com suporte | Windows XP com SP2, Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 com SP1 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | propsys.h |
Biblioteca | Propsys.lib |
DLL | Propsys.dll (versão 6.0 ou posterior) |
Redistribuível | Pesquisa da Área de Trabalho do Windows (WDS) 3.0 |