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 |