Funzione PSCreateAdapterFromPropertyStore (propsys.h)

Crea un adattatore da un archivio IProperty.

Sintassi

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

Parametri

[in] pps

Tipo: IPropertyStore*

Puntatore a un oggetto IPropertyStore che rappresenta l'archivio delle proprietà.

[in] riid

Tipo: REFIID

Riferimento a un IID.

[out] ppv

Tipo: void**

Quando questa funzione restituisce, contiene il puntatore dell'interfaccia richiesto in riid.

Valore restituito

Tipo: HRESULT

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

Commenti

L'oggetto adapter implementa IPropertySetStorage, IPropertyStore, IPropertyStoreCapabilities e IObjectProvider.

Usare questa funzione se è necessario un oggetto che implementa IPropertyStore con un'API che richiede un'interfaccia IPropertySetStorage . L'oggetto creato può essere utile anche per un'estensione dello spazio dei nomi che vuole fornire il supporto per l'associazione agli elementi dello spazio dei nomi usando IPropertySetStorage. Le applicazioni devono chiamare questo oggetto da un solo thread alla volta.

L'archivio delle proprietà adapter creato da questa funzione mantiene un riferimento all'interfaccia IPropertyStore di origine. Pertanto, l'applicazione chiamante è gratuita per rilasciare il relativo riferimento all'archivio IPropertyStore di origine ogni volta che è utile dopo aver chiamato questa funzione.

L'archivio delle proprietà adapter effettua chiamate ai metodi nell'interfaccia IPropertyStore in base alle esigenze. Pertanto, se l'applicazione chiamante scrive valori nell'archivio, deve chiamare il metodo IPropertyStore::Commit solo in una delle interfacce.

Esempio

L'esempio seguente, da includere come parte di un programma più grande, illustra come usare PSCreateAdapterFromPropertyStore per usare un archivio proprietà adapter per convertire un'interfaccia IPropertyStore in un'interfaccia 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();
}

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

IPropertySetStorage

Ipropertystore

PSCreatePropertyStoreFromPropertySetStorage