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 |