Compartilhar via


Função PSGetItemPropertyHandler (propsys.h)

Recupera um manipulador de propriedades para um item shell.

Sintaxe

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

Parâmetros

[in] punkItem

Tipo: IUnknown*

Um ponteiro para a interface IUnknown de um item shell que dá suporte a IShellItem.

Windows XP: Use SHCreateShellItem para criar o item Shell.

Windows Vista: Use SHCreateItemFromIDList, SHCreateItemFromParsingName, SHCreateItemFromRelativeName, SHCreateItemInKnownFolder ou SHCreateItemWithParent para criar o item shell.

[in] fReadWrite

Tipo: BOOL

TRUE para recuperar um manipulador de propriedade de leitura/gravação. FALSE para recuperar um manipulador de propriedade somente leitura.

[in] riid

Tipo: REFIID

Referência à IID da interface que o objeto manipulador deve retornar. Isso deve ser IPropertyStore ou uma interface derivada de IPropertyStore.

[out] ppv

Tipo: void**

Quando essa função retorna, contém o ponteiro de interface solicitado em riid.

Retornar valor

Tipo: PSSTDAPI

Retorna S_OK se tiver êxito ou um valor de erro, caso contrário.

Comentários

Essa função tem suporte no Windows XP e no Windows Vista. Para aplicativos com suporte apenas no Windows Vista ou posterior, é recomendável que você use IShellItem2::GetPropertyStore em vez de PSGetItemPropertyHandler. Esse método fornece um conjunto mais avançado de propriedades no repositório de propriedades retornado.

Essa função é aproximadamente equivalente a passar o sinalizador GPS_HANDLERPROPERTIESONLY para IShellItem2::GetPropertyStore.

Você deve inicializar o COM (Component Object Model) com CoInitialize ou OleInitialize antes de chamar PSGetItemPropertyHandler. O COM deve permanecer inicializado durante o tempo de vida deste objeto.

Exemplos

O exemplo a seguir, a ser incluído como parte de um programa maior, demonstra como usar PSGetItemPropertyHandler para obter um manipulador de propriedades para um item.

// 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 Valor
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