Partager via


PsCreateAdapterFromPropertyStore, fonction (propsys.h)

Crée un adaptateur à partir d’un IPropertyStore.

Syntaxe

PSSTDAPI PSCreateAdapterFromPropertyStore(
  [in]  IPropertyStore *pps,
  [in]  REFIID         riid,
  [out] void           **ppv
);

Paramètres

[in] pps

Type : IPropertyStore*

Pointeur vers un objet IPropertyStore qui représente le magasin de propriétés.

[in] riid

Type : REFIID

Référence à un IID.

[out] ppv

Type : void**

Lorsque cette fonction retourne, contient le pointeur d’interface demandé dans riid.

Valeur retournée

Type : HRESULT

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

Remarques

L’objet adapter implémente IPropertySetStorage, IPropertyStore, IPropertyStoreCapabilities et IObjectProvider.

Utilisez cette fonction si vous avez besoin d’un objet qui implémente IPropertyStore avec une API qui nécessite une interface IPropertySetStorage . L’objet créé peut également être utile pour une extension d’espace de noms qui souhaite fournir la prise en charge de la liaison à des éléments d’espace de noms à l’aide de IPropertySetStorage. Les applications doivent appeler cet objet à partir d’un seul thread à la fois.

Le magasin de propriétés d’adaptateur créé par cette fonction conserve une référence à l’interface IPropertyStore source. Par conséquent, l’application appelante est libre de libérer sa référence à l’IPropertyStore source chaque fois que cela est pratique après l’appel de cette fonction.

Le magasin de propriétés de l’adaptateur effectue des appels aux méthodes sur l’interface IPropertyStore comme il convient. Par conséquent, si l’application appelante écrit des valeurs dans le magasin, elle doit appeler la méthode IPropertyStore ::Commit sur une seule des interfaces.

Exemples

L’exemple suivant, à inclure dans le cadre d’un programme plus large, montre comment utiliser PSCreateAdapterFromPropertyStore pour utiliser un magasin de propriétés d’adaptateur pour convertir une interface IPropertyStore en interface IPropertySetStorage .

// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
IPropertySetStorage *pSetStorage;

HRESULT hr = PSCreateadapterFromPropertyStore(ppropstore, IID_PPV_ARGS(&pSetStorage));

if (SUCCEEDED(hr))
{
    // pSetStorage is now valid and can be used to access the data in ppropstore.
    pSetStorage->Release();
}

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

IPropertySetStorage

Ipropertystore

PSCreatePropertyStoreFromPropertySetStorage