Compartilhar via


SHGNO (Windows CE 5.0)

Send Feedback

This enumeration defines the values used with the IShellFolder::GetDisplayNameOf and IShellFolder::SetNameOf methods.

Syntax

typedef enum tagSHGDN {  SHGDN_NORMAL,  SHGDN_INFOLDER,  SHGDN_FOREDITING,  SHGDN_FORADDRESSBAR,  SHGDN_FORPARSING} SHGNO;

Elements

  • SHGDN_NORMAL
    Full name. The name is relative to the desktop computer and not to a specific folder. This value is used for generic display of the name of the specified file object or subfolder.
  • SHGDN_INFOLDER
    Relative name. The name is relative to the folder that is processing the name.
  • SHGDN_FOREDITING
    The name is used for in-place editing when the user renames the item.
  • SHGDN_FORADDRESSBAR
    The name is displayed in an address bar combo box.
  • SHGDN_FORPARSING
    The name is used for parsing. That is, it can be passed to IShellFolder::ParseDisplayName to recover the object's pointer to an item identifier list (PIDL). The form this name takes depends on the particular object.

Remarks

This enumeration consists of two groups of values. The first group — SHGDN_NORMAL and SHGDN_INFOLDER — specifies the name's type. The second group — SHGDN_FOREDITING, SHGDN_FORADDRESSBAR, and SHGDN_FORPARSING — consists of modifiers to the first group that specify name retrieval options.

If SHGDN_FORPARSING is set and SHGDN_INFOLDER is not set, IShellFolder::GetDisplayNameOf can accept a PIDL that contains more than an SHITEMID structure. Otherwise, only a single-level PIDL can be passed.

Although the parsing name returned by file system objects is the object's fully qualified path, virtual folders might use something quite different. For example, some virtual folders use a globally unique identifier (GUID) as the parsing name and return a string of the form "::{GUID}". To check whether the object is part of the file system, call IShellFolder::GetAttributesOf and see if the SFGAO_FILESYSTEM flag is set. If you are implementing IShellFolder::GetDisplayNameOf, you are encouraged to return parsed names that are as close to the display names as possible. This practice helps the end user to type or edit these names.

The numeric value of SHGDN_NORMAL is zero, so you cannot test for the presence of this bit. Consider SHGDN_NORMAL a default setting that is used if no other flag in that group is set.

Example

The following tables show an example of possible return values for five different flag options and three different item types.

The following table shows the flag options.

Number Flags Description
1 SHGDN_NORMAL | SHGDN_FORPARSING Returns the fully qualified parsing name.
2 SHGDN_INFOLDER | SHGDN_FORPARSING Returns the parsing name relative to the parent folder.
3 SHGDN_INFOLDER | SHGDN_FOREDITING Returns the editing name relative to the parent folder.
4 SHGDN_INFOLDER Returns the display name relative to the parent folder.
5 SHGDN_NORMAL Returns the display name relative to the desktop.

The following table shows the sample item types.

Letter Description
A A printer named Laser on a computer called Mailroom.
B The file C:\Directory\File.txt (when file name extensions are hidden).

The following table shows the display names, as they would be returned.

Number A B
1 \\Mailroom\Laser C:\Directory\File.txt
2 Laser File.txt
3 Laser File
4 Laser File
5 Laser on Mailroom File

Remarks about examples:

  • A1-A5: The display name of the remote printer changes depending on whether it is being shown relative to its parent. When shown relative to its parent, only the printer name is needed, but when shown outside its parent, both the printer name and computer name are needed.
  • B3: File.txt presents only its base name for editing instead of its full name.

Requirements

OS Versions: Windows CE .NET 4.2 and later.
Header: Shobjidl.h, Shobjidl.idl.

See Also

Standard Shell Enumerations | IShellFolder | SHGetDesktopFolder

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.