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

Confira também

PSCreateMultiplexPropertyStore