Función PSCreateAdapterFromPropertyStore (propsys.h)
Crea un adaptador a partir de un IPropertyStore.
Sintaxis
PSSTDAPI PSCreateAdapterFromPropertyStore(
[in] IPropertyStore *pps,
[in] REFIID riid,
[out] void **ppv
);
Parámetros
[in] pps
Tipo: IPropertyStore*
Puntero a un objeto IPropertyStore que representa el almacén de propiedades.
[in] riid
Tipo: REFIID
Referencia a un IID.
[out] ppv
Tipo: void**
Cuando se devuelve esta función, contiene el puntero de interfaz solicitado en riid.
Valor devuelto
Tipo: HRESULT
Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
El objeto de adaptador implementa IPropertySetStorage, IPropertyStore, IPropertyStoreCapabilities e IObjectProvider.
Use esta función si necesita un objeto que implemente IPropertyStore con una API que requiera una interfaz IPropertySetStorage . El objeto creado también puede ser útil para una extensión de espacio de nombres que quiera proporcionar compatibilidad con el enlace a elementos de espacio de nombres mediante IPropertySetStorage. Las aplicaciones deben llamar a este objeto solo desde un subproceso a la vez.
El almacén de propiedades del adaptador creado por esta función conserva una referencia a la interfaz IPropertyStore de origen. Por lo tanto, la aplicación que realiza la llamada es libre de liberar su referencia al IPropertyStore de origen siempre que sea conveniente después de llamar a esta función.
El almacén de propiedades del adaptador realiza llamadas a métodos en la interfaz IPropertyStore según corresponda. Por lo tanto, si la aplicación que realiza la llamada escribe valores en el almacén, debe llamar al método IPropertyStore::Commit solo en una de las interfaces.
Ejemplos
En el ejemplo siguiente, para incluirse como parte de un programa mayor, se muestra cómo usar PSCreateAdapterFromPropertyStore para usar un almacén de propiedades de adaptador para convertir una interfaz IPropertyStore en una interfaz 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();
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP con SP2, Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 con SP1 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | propsys.h |
Library | Propsys.lib |
Archivo DLL | Propsys.dll (versión 6.0 o posterior) |
Redistribuible | Windows Desktop Search (WDS) 3.0 |