Partager via


Fonction SHParseDisplayName (shlobj_core.h)

Convertit le nom d’affichage d’un objet d’espace de noms Shell en une liste d’identificateur d’élément et retourne les attributs de l’objet. Cette fonction est la méthode préférée pour convertir une chaîne en pointeur vers une liste d’identificateur d’élément (PIDL).

Syntaxe

SHSTDAPI SHParseDisplayName(
  [in]            PCWSTR           pszName,
  [in, optional]  IBindCtx         *pbc,
  [out]           PIDLIST_ABSOLUTE *ppidl,
  [in]            SFGAOF           sfgaoIn,
  [out, optional] SFGAOF           *psfgaoOut
);

Paramètres

[in] pszName

Type : LPCWSTR

Pointeur vers une chaîne large sans fin qui contient le nom d’affichage à analyser.

[in, optional] pbc

Type : IBindCtx*

Contexte de liaison qui contrôle l’opération d’analyse. Ce paramètre est normalement défini sur NULL.

[out] ppidl

Type : PIDLIST_ABSOLUTE*

Adresse d’un pointeur vers une variable de type ITEMIDLIST qui reçoit la liste d’identificateurs d’élément pour l’objet. Si une erreur se produit, ce paramètre est défini sur NULL.

[in] sfgaoIn

Type : SFGAOF

Valeur ULONG qui spécifie les attributs à interroger. Pour rechercher un ou plusieurs attributs, initialisez ce paramètre avec les indicateurs qui représentent les attributs d’intérêt. Pour obtenir la liste des indicateurs SFGAO disponibles, consultez SFGAO.

[out, optional] psfgaoOut

Type : SFGAOF*

Pointeur vers un ULONG. En retour, les attributs qui sont true pour l’objet et qui ont été demandés dans sfgaoIn sont définis. Les indicateurs d’attribut d’un objet peuvent être zéro ou une combinaison d’indicateurs SFGAO. Pour obtenir la liste des indicateurs SFGAO disponibles, consultez SFGAO.

Valeur retournée

Type : HRESULT

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

Remarques

Vous devez appeler cette fonction à partir d’un thread d’arrière-plan. Si vous ne le faites pas, l’interface utilisateur peut cesser de répondre.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête shlobj_core.h (inclure Shlobj.h)
Bibliothèque Shell32.lib
DLL Shell32.dll (version 6.0 ou ultérieure)

Voir aussi

IBindCtx

IShellFolder ::GetAttributesOf

IShellFolder ::P arseDisplayName

ITEMIDLIST

SHGetPathFromIDList