Compartir a través de


Función PSCreateMemoryPropertyStore (propsys.h)

Crea un almacén de propiedades en memoria.

Sintaxis

PSSTDAPI PSCreateMemoryPropertyStore(
  [in]  REFIID riid,
  [out] void   **ppv
);

Parámetros

[in] riid

Tipo: REFIID

Referencia al identificador de interfaz solicitado.

[out] ppv

Tipo: void**

Cuando esta función vuelve, contiene un puntero a la interfaz deseada, normalmente IPropertyStore o IPersistSerializedPropStorage.

Valor devuelto

Tipo: HRESULT

Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Esta función crea un objeto de almacén de propiedades en memoria que implementa IPropertyStore, INamedPropertyStore, IPropertyStoreCache, IPersistStream, IPropertyBag e IPersistSerializedPropStorage.

Este es el mismo objeto identificado por InMemoryPropertyStore (CLSID_InMemoryPropertyStore) y InMemoryPropertyStoreMarshalByValue (CLSID_InMemoryPropertyStoreMarshalByValue), construido con CoCreateInstance.

InMemoryPropertyStoreMarshalByValue se puede usar en diseños que pasan objetos entre procesos para que sean más eficientes. Implementa las referencias por valor, creando una copia del objeto en el contexto no marshal y evita la comunicación entre procesos que puede ser costosa.

El almacén de propiedades de memoria no tiene ninguna representación presistente, por lo que las llamadas a IPropertyStore::Commit son una operación sin operación.

El almacén de propiedades de memoria es seguro para subprocesos y ágil.

Ejemplos

En el ejemplo siguiente se muestra cómo 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 Value
Cliente mínimo compatible Windows XP con SP2, Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 con SP1 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado propsys.h
Library Propsys.lib
Archivo DLL Propsys.dll (versión 6.0 o posterior)
Redistribuible Windows Desktop Search (WDS) 3.0

Consulte también

PSCreateMultiplexPropertyStore