Partager via


Fonction SHCreateShellItemArrayFromDataObject (shobjidl_core.h)

Crée un objet de tableau d’éléments Shell à partir d’un objet de données.

Syntaxe

SHSTDAPI SHCreateShellItemArrayFromDataObject(
  [in]  IDataObject *pdo,
  [in]  REFIID      riid,
  [out] void        **ppv
);

Paramètres

[in] pdo

Type : IDataObject*

Pointeur vers l’interface IDataObject .

[in] riid

Type : REFIID

Référence à l’ID d’interface souhaité.

[out] ppv

Type : void**

Lorsque cette méthode retourne, contient le pointeur d’interface demandé dans riid. Il s’agit généralement d’IShellItemArray.

Valeur retournée

Type : HRESULT

Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Cette fonction est utile pour les extensions Shell qui implémentent IShellExtInit et passent un objet de données à la méthode IShellExtInit ::Initialize ; par exemple, les gestionnaires de menus contextuels.

Cette API vous permet de convertir l’objet de données en élément Shell que le gestionnaire peut consommer. Il est recommandé aux gestionnaires d’utiliser un tableau d’éléments Shell plutôt que des formats de Presse-papiers tels que CF_HDROP et CFSTR_SHELLIDLIST (également appelé HIDA), car cela simplifie le code et permet d’améliorer certaines performances.

Le tableau d’éléments d’interpréteur de commandes résultant contient une référence à l’objet de données source. Par conséquent, cet objet de données doit rester valide pendant la durée de vie du tableau d’éléments de l’interpréteur de commandes. Notamment, les objets de données passés aux méthodes IDropTarget ne sont plus valides une fois l’opération de suppression terminée.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête shobjidl_core.h (inclure Shobjidl.h)
DLL Shell32.dll
Ensemble d’API ext-ms-win-shell-shell32-l1-2-2 (introduit dans Windows 10, version 10.0.14393)