Condividi tramite


Funzione PSCreateMemoryPropertyStore (propsys.h)

Crea un archivio delle proprietà in memoria.

Sintassi

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

Parametri

[in] riid

Tipo: REFIID

Riferimento all'ID interfaccia richiesto.

[out] ppv

Tipo: void**

Quando questa funzione viene restituita, contiene un puntatore all'interfaccia desiderata, in genere IPropertyStore o IPersistSerializedPropStorage.

Valore restituito

Tipo: HRESULT

Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Questa funzione crea un oggetto archivio proprietà in memoria che implementa IPropertyStore, INamedPropertyStore, IPropertyStoreCache, IPersistStream, IPropertyBag e IPersistSerializedPropStorage.

Si tratta dello stesso oggetto identificato da InMemoryPropertyStore (CLSID_InMemoryPropertyStore) e InMemoryPropertyStoreMarshalByValue (CLSID_InMemoryPropertyStoreMarshalByValue), costruito con CoCreateInstance.

InMemoryPropertyStoreMarshalByValue può essere usato nelle progettazioni che passano oggetti tra processi per renderli più efficienti. Implementa il marshalling per valore, creando una copia dell'oggetto nel contesto unmarshal ed evita la comunicazione tra processi che possono essere costosi.

L'archivio delle proprietà di memoria non ha alcuna rappresentazione presestent, quindi le chiamate a IPropertyStore::Commit non sono un'operazione.

L'archivio delle proprietà di memoria è thread-safe e agile.

Esempio

Nell'esempio seguente viene illustrato come usare 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));

Requisiti

Requisito Valore
Client minimo supportato Windows XP con SP2, Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2003 con SP1 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione propsys.h
Libreria Propsys.lib
DLL Propsys.dll (versione 6.0 o successiva)
Componente ridistribuibile Windows Desktop Search (WDS) 3.0

Vedi anche

PSCreateMultiplexPropertyStore