Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Crée un objet de données dans un dossier parent.
Syntaxe
SHSTDAPI SHCreateDataObject(
[in, optional] PCIDLIST_ABSOLUTE pidlFolder,
[in] UINT cidl,
[in, optional] PCUITEMID_CHILD_ARRAY apidl,
[in, optional] IDataObject *pdtInner,
[in] REFIID riid,
[out] void **ppv
);
Paramètres
[in, optional] pidlFolder
Type : PCIDLIST_ABSOLUTE
Pointeur vers un ÉLÉMENTIDLIST (PIDL) du dossier parent qui contient l’objet de données.
[in] cidl
Type : UINT
Nombre d’objets de fichier ou de sous-dossiers spécifiés dans le paramètre apidl .
[in, optional] apidl
Type : PCUITEMID_CHILD_ARRAY
Tableau de pointeurs vers des structures ITEMIDLIST constantes, chacune identifiant de manière unique un objet de fichier ou un sous-dossier par rapport au dossier parent. Chaque liste d’identificateurs d’élément doit contenir exactement une structure SHITEMID suivie d’un zéro de fin.
[in, optional] pdtInner
Type : IDataObject*
Pointeur vers l’interface IDataObject. Ce paramètre peut être NULL. Spécifiez pdtInner uniquement si l’objet de données créé doit prendre en charge des formats de Presse-papiers FORMATETC supplémentaires au-delà des formats par défaut qu’il est attribué lors de la création. Vous pouvez également prendre en charge le remplissage de l’objet de données créé à l’aide de formats de Presse-papiers non par défaut en appelant la méthode IDataObject ::SetData et en spécifiant le format dans la structure FORMATETC passée dans le paramètre pFormatetc.
[in] riid
Type : REFIID
Référence à l’IID de l’interface à récupérer via ppv. Cela doit être IID_IDataObject.
[out] ppv
Type : void**
Lorsque cette méthode retourne correctement, contient le pointeur d’interface IDataObject demandé dans riid.
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 généralement appelée lors de l’implémentation de la méthode IShellFolder ::GetUIObjectOf. Lorsqu’un pointeur d’interface de l’ID d’interface IID_IDataObject est demandé (à l’aide du riid de paramètre), l’implémenteur peut retourner le pointeur d’interface sur l’objet créé avec SHCreateDataObject en réponse.
Cette fonction prend en charge le format de presse-papiers CFSTR_SHELLIDLIST (également appelé HIDA) et prend également en charge générique les formats de Presse-papiers arbitraires via IDataObject ::SetData. Pour plus d’informations sur les formats du Presse-papiers, consultez Formats du Presse-papiers Shell.
Le nouvel objet de données est destiné à être utilisé dans des opérations telles que le glisser-déplacer, dans lequel les données sont stockées dans le Presse-papiers avec un format donné.
Nous vous recommandons d’utiliser la macro IID_PPV_ARGS , définie dans Objbase.h, pour empaqueter les paramètres riid et ppv . Cette macro fournit l’IID correct basé sur l’interface pointée par la valeur dans ppv, ce qui élimine la possibilité d’une erreur de codage dans riid qui pourrait entraîner des résultats inattendus.
Spécifications
| Requirement | Valeur |
|---|---|
| Client minimum requis | Windows Vista [applications de bureau uniquement] |
| Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
| plateforme cible | Fenêtres |
| Header | shlobj_core.h (include Shlobj.h) |
| Library | OneCore.Lib |
| DLL | Shell32.dll |
| Ensemble d’API | ext-ms-win-shell-shell32-l1-2-2 (introduit dans Windows 10, version 10.0.14393) |