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

Consulte también

IPropertySetStorage

IPropertyStore

PSCreatePropertyStoreFromPropertySetStorage