Partager via


Fonction PSCreateMemoryPropertyStore (propsys.h)

Crée un magasin de propriétés en mémoire.

Syntaxe

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

Paramètres

[in] riid

Type : REFIID

Référence à l’ID d’interface demandé.

[out] ppv

Type : void**

Lorsque cette fonction retourne, contient un pointeur vers l’interface souhaitée, généralement IPropertyStore ou IPersistSerializedPropStorage.

Valeur retournée

Type : HRESULT

Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Cette fonction crée un objet de magasin de propriétés en mémoire qui implémente IPropertyStore, INamedPropertyStore, IPropertyStoreCache, IPersistStream, IPropertyBag et IPersistSerializedPropStorage.

Il s’agit du même objet identifié par InMemoryPropertyStore (CLSID_InMemoryPropertyStore) et InMemoryPropertyStoreMarshalByValue (CLSID_InMemoryPropertyStoreMarshalByValue), construit avec CoCreateInstance.

InMemoryPropertyStoreMarshalByValue peut être utilisé dans des conceptions qui passent des objets entre des processus pour les rendre plus efficaces. Il implémente marshal par valeur, créant une copie de l’objet dans le contexte unmarshal et évitant les communications entre processus qui peuvent être coûteuses.

Le magasin de propriétés de mémoire n’a pas de représentation présistente, donc les appels à IPropertyStore ::Commit ne sont pas op.

Le magasin de propriétés de mémoire est thread safe et agile.

Exemples

L’exemple suivant montre comment utiliser 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));

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP avec SP2, Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 avec SP1 [applications de bureau uniquement]
Plateforme cible Windows
En-tête propsys.h
Bibliothèque Propsys.lib
DLL Propsys.dll (version 6.0 ou ultérieure)
Composant redistribuable Windows Desktop Search (WDS) 3.0

Voir aussi

PSCreateMultiplexPropertyStore