Função PSCreateAdapterFromPropertyStore (propsys.h)
Cria um adaptador de um IPropertyStore.
Sintaxe
PSSTDAPI PSCreateAdapterFromPropertyStore(
[in] IPropertyStore *pps,
[in] REFIID riid,
[out] void **ppv
);
Parâmetros
[in] pps
Tipo: IPropertyStore*
Ponteiro para um objeto IPropertyStore que representa o repositório de propriedades.
[in] riid
Tipo: REFIID
Referência a um IID.
[out] ppv
Tipo: void**
Quando essa função retorna, contém o ponteiro de interface solicitado em riid.
Retornar valor
Tipo: HRESULT
Se essa função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
O objeto do adaptador implementa IPropertySetStorage, IPropertyStore, IPropertyStoreCapabilities e IObjectProvider.
Use essa função se precisar de um objeto que implemente IPropertyStore com uma API que exija uma interface IPropertySetStorage . O objeto criado também pode ser útil para uma extensão de namespace que deseja fornecer suporte para associação a itens de namespace usando IPropertySetStorage. Os aplicativos devem chamar esse objeto de apenas um thread por vez.
O repositório de propriedades do adaptador criado por essa função mantém uma referência à interface IPropertyStore de origem. Portanto, o aplicativo de chamada é gratuito para liberar sua referência ao IPropertyStore de origem sempre que for conveniente depois de chamar essa função.
O repositório de propriedades do adaptador faz chamadas para métodos na interface IPropertyStore conforme apropriado. Portanto, se o aplicativo de chamada estiver gravando valores no repositório, ele deverá chamar o método IPropertyStore::Commit em apenas uma das interfaces.
Exemplos
O exemplo a seguir, a ser incluído como parte de um programa maior, demonstra como usar PSCreateAdapterFromPropertyStore para usar um repositório de propriedades do adaptador para converter uma interface IPropertyStore em uma interface IPropertySetStorage .
// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
IPropertySetStorage *pSetStorage;
HRESULT hr = PSCreateadapterFromPropertyStore(ppropstore, IID_PPV_ARGS(&pSetStorage));
if (SUCCEEDED(hr))
{
// pSetStorage is now valid and can be used to access the data in ppropstore.
pSetStorage->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 |