Freigeben über


PSCreateAdapterFromPropertyStore-Funktion (propsys.h)

Erstellt einen Adapter aus einem IPropertyStore.

Syntax

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

Parameter

[in] pps

Typ: IPropertyStore*

Zeiger auf ein IPropertyStore-Objekt , das den Eigenschaftenspeicher darstellt.

[in] riid

Typ: REFIID

Verweis auf eine IID.

[out] ppv

Typ: void**

Wenn diese Funktion zurückgibt, enthält den in riid angeforderten Schnittstellenzeiger.

Rückgabewert

Typ: HRESULT

Wenn diese Funktion erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Das Adapterobjekt implementiert IPropertySetStorage, IPropertyStore, IPropertyStoreCapabilities und IObjectProvider.

Verwenden Sie diese Funktion, wenn Sie ein Objekt benötigen, das IPropertyStore mit einer API implementiert, die eine IPropertySetStorage-Schnittstelle erfordert. Das erstellte Objekt kann auch für eine Namespaceerweiterung nützlich sein, die unterstützung für die Bindung an Namespaceelemente mithilfe von IPropertySetStorage bereitstellen möchte. Anwendungen müssen dieses Objekt jeweils nur aus einem Thread aufrufen.

Der von dieser Funktion erstellte Adaptereigenschaftenspeicher behält einen Verweis auf die IPropertyStore-Quellschnittstelle bei. Daher kann die aufrufende Anwendung ihren Verweis auf den Quell-IPropertyStore nach dem Aufrufen dieser Funktion jederzeit freigeben.

Der Adaptereigenschaftenspeicher führt ggf. Aufrufe von Methoden auf der IPropertyStore-Schnittstelle durch. Wenn die aufrufende Anwendung Also Werte in den Speicher schreibt, sollte sie die IPropertyStore::Commit-Methode nur für eine der Schnittstellen aufrufen.

Beispiele

Im folgenden Beispiel, das als Teil eines größeren Programms eingeschlossen werden soll, wird veranschaulicht, wie Sie PSCreateAdapterFromPropertyStore verwenden, um einen Adaptereigenschaftenspeicher zu verwenden, um eine IPropertyStore-Schnittstelle in eine IPropertySetStorage-Schnittstelle zu konvertieren.

// 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();
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP mit SP2, Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 mit SP1 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile propsys.h
Bibliothek Propsys.lib
DLL Propsys.dll (Version 6.0 oder höher)
Verteilbare Komponente Windows Desktop Search (WDS) 3.0

Weitere Informationen

IPropertySetStorage

Ipropertystore

PSCreatePropertyStoreFromPropertySetStorage