énumération _SHGDNF (shobjidl_core.h)

Définit les valeurs utilisées avec les méthodes IShellFolder ::GetDisplayNameOf et IShellFolder ::SetNameOf pour spécifier le type de noms de fichiers ou de dossiers utilisés par ces méthodes.

Note Avant Windows 7, ces valeurs étaient empaquetées en tant qu’énumération SHGNO.
 

Syntax

typedef enum _SHGDNF {
  SHGDN_NORMAL = 0,
  SHGDN_INFOLDER = 0x1,
  SHGDN_FOREDITING = 0x1000,
  SHGDN_FORADDRESSBAR = 0x4000,
  SHGDN_FORPARSING = 0x8000
} ;

Constantes

 
SHGDN_NORMAL
Valeur : 0
Lorsqu’il n’est pas combiné avec un autre indicateur, retournez le nom parent-relatif qui identifie l’élément, adapté à l’affichage pour l’utilisateur. Ce nom n’inclut souvent pas d’informations supplémentaires telles que l’extension de nom de fichier et n’a pas besoin d’être unique. Ce nom peut inclure des informations qui identifient le dossier qui contient l’élément. Par instance, cet indicateur peut amener IShellFolder ::GetDisplayNameOf à renvoyer la chaîne « username (on Machine) » pour le dossier d’un utilisateur particulier.
SHGDN_INFOLDER
Valeur : 0x1
Le nom est relatif au dossier à partir duquel la demande a été effectuée. Il s’agit du nom affiché à l’utilisateur lorsqu’il est utilisé dans le contexte du dossier. Par exemple, il est utilisé dans la vue et dans le segment de chemin de la barre d’adresse pour le dossier. Ce nom ne doit pas inclure d’informations de levée d’ambiguïté, pour instance « nom d’utilisateur » au lieu de « nom d’utilisateur (sur l’ordinateur) » pour le dossier d’un utilisateur particulier.

Utilisez cet indicateur en combinaison avec SHGDN_FORPARSING et SHGDN_FOREDITING.
SHGDN_FOREDITING
Valeur : 0x1000
Le nom est utilisé pour la modification sur place lorsque l’utilisateur renomme l’élément.
SHGDN_FORADDRESSBAR
Valeur : 0x4000
Le nom s’affiche dans une zone de liste déroulante de barre d’adresse.
SHGDN_FORPARSING
Valeur : 0x8000
Le nom est utilisé pour l’analyse. Autrement dit, il peut être passé à IShellFolder ::P arseDisplayName pour récupérer le PIDL de l’objet. La forme que prend ce nom dépend de l’objet particulier. Lorsque SHGDN_FORPARSING est utilisé seul, le nom est relatif au bureau. Lorsqu’il est combiné avec SHGDN_INFOLDER, le nom est relatif au dossier à partir duquel la demande a été effectuée.

Remarques

Le type SHGDNF est défini dans Shobjidl.h comme indiqué ici.

typedef DWORD SHGDNF;

Cette énumération se compose de deux groupes de valeurs. Le premier groupe( SHGDN_NORMAL et SHGDN_INFOLDER) spécifie le type du nom. Le deuxième groupe( SHGDN_FOREDITING, SHGDN_FORADDRESSBAR et SHGDN_FORPARSING) se compose de modificateurs du premier groupe qui spécifient les options de récupération de nom.

Si SHGDN_FORPARSING est défini et SHGDN_INFOLDER ne l’est pas, IShellFolder ::GetDisplayNameOf peut accepter un PIDL qui contient plus qu’une structure SHITEMID . Sinon, seul un PIDL à un seul niveau peut être passé.

Note Bien que le nom d’analyse retourné par les objets de système de fichiers soit le chemin d’accès complet de l’objet, les dossiers virtuels peuvent utiliser quelque chose de très différent. Par exemple, certains dossiers virtuels utilisent un GUID comme nom d’analyse et retournent une chaîne de la forme « ::{GUID} ». Pour case activée si l’objet fait partie du système de fichiers, appelez IShellFolder ::GetAttributesOf et vérifiez si l’indicateur SFGAO_FILESYSTEM est défini. Les développeurs qui implémentent IShellFolder ::GetDisplayNameOf sont encouragés à retourner des noms d’analyse aussi proches que possible des noms complets, car l’utilisateur final doit souvent taper ou modifier ces noms.

La valeur numérique de SHGDN_NORMAL étant égale à zéro, vous ne pouvez pas tester la présence de ce bit. Considérez SHGDN_NORMAL un paramètre par défaut qui est utilisé si aucun autre indicateur de ce groupe n’est défini.

Exemple

Les tableaux suivants illustrent un exemple de valeurs de retour possibles pour cinq options d’indicateur différentes et trois types d’éléments différents.

Il s’agit des options d’indicateur.

Nombre Indicateurs Description
1 SHGDN_FORPARSING Retourne le nom d’analyse complet.
2 SHGDN_INFOLDER | SHGDN_FORPARSING Retourne le nom d’analyse relatif au dossier parent.
3 SHGDN_INFOLDER | SHGDN_FOREDITING Retourne le nom d’édition relatif au dossier parent.
4 SHGDN_INFOLDER Retourne le nom d’affichage relatif au dossier parent.
5 SHGDN_NORMAL Retourne le nom d’affichage relatif au bureau et non à un dossier spécifique.
 

Il s’agit des exemples de types d’éléments.

Lettre Description
Un Lecteur C : sur l’ordinateur local, dont l’étiquette de volume est C_DRIVE.
B Une imprimante nommée Laser sur un ordinateur appelé Mailroom.
C Le fichier C:\Directory\File.txt (lorsque les extensions de nom de fichier sont masquées).
 

Le tableau suivant décrit les noms d’affichage tels qu’ils seraient retournés.

A B C
1 C:\ \\Mailroom\Laser C:\Directory\File.txt
2 C:\ Laser File.txt
3 C_DRIVE Laser Fichier
4 C_DRIVE (C :) Laser Fichier
5 C_DRIVE (C :) Laser sur Mailroom Fichier
 

Remarques sur les exemples

  • A3 : Le lecteur C : présente son nom de volume à modifier, plutôt que la chaîne entière « C_DRIVE (C :) ».
  • B1-B5 : le nom complet de l’imprimante distante change selon qu’elle est affichée par rapport à son parent. Lorsqu’il est affiché par rapport à son parent, il n’a besoin que de son nom d’imprimante, mais lorsqu’il est affiché en dehors de son parent, il affiche à la fois son nom d’imprimante et son nom d’ordinateur.
  • C3 : File.txt présente uniquement son nom de base à modifier au lieu de son nom complet.
Pour plus d’informations sur l’interface IShellFolder , consultez Obtention d’informations sur le contenu d’un dossier.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP, Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
En-tête shobjidl_core.h (incluez Shobjidl.h)