Compartilhar via


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

Confira também

IShellItem2::GetPropertyStore

PSGetItemPropertyHandler