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 |