é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.
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.
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) |