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 |