Função PSCreateMemoryPropertyStore (propsys.h)
Cria um repositório de propriedades na memória.
Sintaxe
PSSTDAPI PSCreateMemoryPropertyStore(
[in] REFIID riid,
[out] void **ppv
);
Parâmetros
[in] riid
Tipo: REFIID
Referência à ID da interface solicitada.
[out] ppv
Tipo: void**
Quando essa função retorna, contém um ponteiro para a interface desejada, normalmente IPropertyStore ou IPersistSerializedPropStorage.
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
Essa função cria um objeto de repositório de propriedades na memória que implementa IPropertyStore, INamedPropertyStore, IPropertyStoreCache, IPersistStream, IPropertyBag e IPersistSerializedPropStorage.
Esse é o mesmo objeto identificado por InMemoryPropertyStore
(CLSID_InMemoryPropertyStore
) e InMemoryPropertyStoreMarshalByValue
(CLSID_InMemoryPropertyStoreMarshalByValue
), construído com CoCreateInstance.
InMemoryPropertyStoreMarshalByValue
pode ser usado em designs que passam objetos entre processos para torná-los mais eficientes. Ele implementa marshal by value, criando uma cópia do objeto no contexto unmarshal e evita comunicação entre processos que pode ser cara.
O repositório de propriedades de memória não tem representação presistent, portanto, as chamadas para IPropertyStore::Commit são uma no-op.
O repositório de propriedades de memória é thread-safe e ágil.
Exemplos
O exemplo a seguir demonstra como usar InMemoryPropertyStore
.
auto memPropStore = wil::CoCreateInstance<InMemoryPropertyStore, IPropertyStore>();
auto value = PROPVARIANT{};
value.vt = VT_LPWSTR;
value.pwszVal = L"Title";
THROW_IF_FAILED(memPropStore->SetValue(PKEY_Title, value));
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 |