Partager via


SHGetDataFromIDListW, fonction (shlobj_core.h)

Récupère les données de propriété étendues à partir d’une liste d’identificateurs relative.

Syntaxe

SHSTDAPI SHGetDataFromIDListW(
  [in]  IShellFolder    *psf,
  [in]  PCUITEMID_CHILD pidl,
        int             nFormat,
  [out] void            *pv,
        int             cb
);

Paramètres

[in] psf

Type : * IShellFolder

Adresse de l’interface IShellFolder parente . Il doit s’agir du parent immédiat de la structure ITEMIDLIST référencée par le paramètre pidl .

[in] pidl

Type : PCUITEMID_CHILD

Pointeur vers une structure ITEMIDLIST qui identifie l’objet par rapport au dossier spécifié dans psf.

nFormat

Type : int

Format dans lequel les données sont demandées. Ce paramètre doit être défini sur l’une des valeurs suivantes.

SHGDFIL_FINDDATA

Format utilisé pour les objets de système de fichiers. Le paramètre pv est l’adresse d’une structure WIN32_FIND_DATA.

SHGDFIL_NETRESOURCE

Format utilisé pour les ressources réseau. Le paramètre pv est l’adresse d’une structure NETRESOURCE.

SHGDFIL_DESCRIPTIONID

version 4.71. Format utilisé pour les ressources réseau. Le paramètre pv est l’adresse d’une structure SHDESCRIPTIONID .

[out] pv

Type : void*

Pointeur vers une mémoire tampon qui, lorsque cette fonction retourne correctement, reçoit les données demandées. Le format de cette mémoire tampon est déterminé par nFormat.

Si nFormat est SHGDFIL_NETRESOURCE, il existe deux cas possibles. Si la mémoire tampon est suffisamment grande, les informations de chaîne de la ressource net (champs pour le nom du réseau, le nom local, le fournisseur et les commentaires) sont placées dans la mémoire tampon. Si la mémoire tampon n’est pas suffisamment volumineuse, seule la structure de ressources nette est placée dans la mémoire tampon et les pointeurs d’informations de chaîne sont NULL.

cb

Type : int

Taille de la mémoire tampon à pv, en octets.

Valeur de retour

Type : HRESULT

Retourne S_OK si elle réussit ou E_INVALIDARG sinon.

Remarques

Cette fonction extrait uniquement les informations présentes dans le pointeur vers une liste d’identificateurs d’élément (PIDL). Étant donné que le contenu d’une adresse PIDL dépend de l’objet de dossier qui a créé le code PIDL, il n’existe aucune garantie que toutes les informations demandées seront disponibles. En outre, les informations retournées reflètent l’état de l’objet au moment de la création du code PIDL. L’état actuel de l’objet peut être différent. Par exemple, si vous définissez nFormat sur SHGDFIL_FINDDATA, la fonction peut affecter des valeurs significatives à seulement certains des membres de la structure WIN32_FIND_DATA. Les membres restants sont définis sur zéro. Pour récupérer des informations actuelles sur un fichier ou un dossier de système de fichiers, utilisez des fonctions de système de fichiers standard telles que GetFileTime ou FindFirstFile.

E_INVALIDARG est retourné si lepsf , pidl, pvou paramètre cb ne correspond pas au paramètre nFormat, ou si nFormat n’est pas l’une des valeurs SHGDFIL_ spécifiques indiquées ci-dessus.

Note

L’en-tête shlobj_core.h définit SHGetDataFromIDList comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête shlobj_core.h (include Shlobj.h, Shlobj_core.h)
bibliothèque Shell32.lib
DLL Shell32.dll (version 4.0 ou ultérieure)
ensemble d’API ext-ms-win-shell-shell32-l1-2-1 (introduit dans Windows 10, version 10.0.10240)