SHCreateShellItemArrayFromDataObject-Funktion (shobjidl_core.h)
Erstellt ein Shellelementarrayobjekt aus einem Datenobjekt.
Syntax
SHSTDAPI SHCreateShellItemArrayFromDataObject(
[in] IDataObject *pdo,
[in] REFIID riid,
[out] void **ppv
);
Parameter
[in] pdo
Typ: IDataObject*
Ein Zeiger auf die IDataObject-Schnittstelle .
[in] riid
Typ: REFIID
Ein Verweis auf die gewünschte Schnittstellen-ID.
[out] ppv
Typ: void**
Wenn diese Methode zurückgibt, enthält den in riid angeforderten Schnittstellenzeiger. Dies ist in der Regel IShellItemArray.
Rückgabewert
Typ: HRESULT
Wenn diese Funktion erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.
Hinweise
Diese Funktion ist nützlich für Shell-Erweiterungen, die IShellExtInit implementieren und ein Datenobjekt an die IShellExtInit::Initialize-Methode übergeben werden. Beispiel: Kontextmenühandler.
Mit dieser API können Sie das Datenobjekt in ein Shellelement konvertieren, das der Handler nutzen kann. Es wird empfohlen, dass Handler ein Shellelementarray anstelle von Zwischenablageformaten wie CF_HDROP und CFSTR_SHELLIDLIST (auch bekannt als HIDA) verwenden, da dies zu einfacherem Code führt und einige Leistungsverbesserungen ermöglicht.
Das resultierende Shellelementarray enthält einen Verweis auf das Quelldatenobjekt. Daher muss dieses Datenobjekt für die Lebensdauer des Shellelementarrays gültig bleiben. Insbesondere sind die an IDropTarget-Methoden übergebenen Datenobjekte nach Abschluss des Ablagevorgangs nicht mehr gültig.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | shobjidl_core.h (shobjidl.h einschließen) |
DLL | Shell32.dll |
APIs | ext-ms-win-shell-shell32-l1-2-2 (eingeführt in Windows 10, Version 10.0.14393) |