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 |