_SHGDNF-Enumeration (shobjidl_core.h)

Definiert die Werte, die mit den Methoden IShellFolder::GetDisplayNameOf und IShellFolder::SetNameOf verwendet werden, um den Typ der von diesen Methoden verwendeten Datei- oder Ordnernamen anzugeben.

Hinweis Vor Windows 7 wurden diese Werte als SHGNO-Enumeration gepackt.
 

Syntax

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

Konstanten

 
SHGDN_NORMAL
Wert: 0
Wenn sie nicht mit einem anderen Flag kombiniert ist, geben Sie den übergeordneten relativen Namen zurück, der das Element identifiziert, das für die Anzeige für den Benutzer geeignet ist. Dieser Name enthält häufig keine zusätzlichen Informationen wie die Dateinamenerweiterung und muss nicht eindeutig sein. Dieser Name kann Informationen enthalten, die den Ordner identifizieren, der das Element enthält. Für instance kann dieses Flag dazu führen, dass IShellFolder::GetDisplayNameOf die Zeichenfolge "username (on Machine)" für den Ordner eines bestimmten Benutzers zurückgibt.
SHGDN_INFOLDER
Wert: 0x1
Der Name ist relativ zum Ordner, aus dem die Anforderung erfolgt ist. Dies ist der Name, der dem Benutzer angezeigt wird, wenn er im Kontext des Ordners verwendet wird. Sie wird beispielsweise in der Ansicht und im Adressleistenpfadsegment für den Ordner verwendet. Dieser Name sollte keine Eindeutigkeitsinformationen enthalten– für instance "Benutzername" anstelle von "Benutzername (auf dem Computer)" für den Ordner eines bestimmten Benutzers.

Verwenden Sie dieses Flag in Kombination mit SHGDN_FORPARSING und SHGDN_FOREDITING.
SHGDN_FOREDITING
Wert: 0x1000
Der Name wird für die direkte Bearbeitung verwendet, wenn der Benutzer das Element umbenannt.
SHGDN_FORADDRESSBAR
Wert: 0x4000
Der Name wird in einem Kombinationsfeld der Adressleiste angezeigt.
SHGDN_FORPARSING
Wert: 0x8000
Der Name wird für die Analyse verwendet. Das heißt, es kann an IShellFolder::P arseDisplayName übergeben werden, um die PIDL des Objekts wiederherzustellen. Welche Form dieser Name annimmt, hängt vom jeweiligen Objekt ab. Wenn SHGDN_FORPARSING allein verwendet wird, ist der Name relativ zum Desktop. In Kombination mit SHGDN_INFOLDER ist der Name relativ zum Ordner, aus dem die Anforderung erfolgt ist.

Hinweise

Der SHGDNF-Typ wird in Shobjidl.h definiert, wie hier gezeigt.

typedef DWORD SHGDNF;

Diese Enumeration besteht aus zwei Wertegruppen. Die erste Gruppe – SHGDN_NORMAL und SHGDN_INFOLDER – gibt den Typ des Namens an. Die zweite Gruppe – SHGDN_FOREDITING, SHGDN_FORADDRESSBAR und SHGDN_FORPARSING – besteht aus Modifizierern für die erste Gruppe, die Optionen zum Abrufen von Namen angeben.

Wenn SHGDN_FORPARSING festgelegt und SHGDN_INFOLDER nicht festgelegt ist, kann IShellFolder::GetDisplayNameOf eine PIDL akzeptieren, die mehr als eine SHITEMID-Struktur enthält. Andernfalls kann nur eine PIDL-Ebene übergeben werden.

Hinweis Während der von Dateisystemobjekten zurückgegebene Analysename der vollqualifizierte Pfad des Objekts ist, verwenden virtuelle Ordner möglicherweise etwas ganz anderes. Beispielsweise verwenden einige virtuelle Ordner eine GUID als Analysenamen und geben eine Zeichenfolge des Formulars "::{GUID}" zurück. Um zu überprüfen, ob das Objekt Teil des Dateisystems ist, rufen Sie IShellFolder::GetAttributesOf auf, und überprüfen Sie, ob das SFGAO_FILESYSTEM-Flag festgelegt ist. Entwickler, die IShellFolder::GetDisplayNameOf implementieren, werden empfohlen, Analysenamen zurückzugeben, die den Anzeigenamen so nahe wie möglich sind, da der Endbenutzer diese Namen häufig eingeben oder bearbeiten muss.

Der numerische Wert von SHGDN_NORMAL ist 0, sodass Sie nicht auf das Vorhandensein dieses Bits testen können. Erwägen Sie SHGDN_NORMAL einer Standardeinstellung, die verwendet wird, wenn kein anderes Flag in dieser Gruppe festgelegt ist.

Beispiel

Die folgenden Tabellen veranschaulichen ein Beispiel für mögliche Rückgabewerte für fünf verschiedene Flagoptionen und drei verschiedene Elementtypen.

Dies sind die Flagoptionen.

Number Flags BESCHREIBUNG
1 SHGDN_FORPARSING Gibt den vollqualifizierten Analysenamen zurück.
2 SHGDN_INFOLDER | SHGDN_FORPARSING Gibt den Analysenamen relativ zum übergeordneten Ordner zurück.
3 SHGDN_INFOLDER | SHGDN_FOREDITING Gibt den Bearbeitungsnamen relativ zum übergeordneten Ordner zurück.
4 SHGDN_INFOLDER Gibt den Anzeigenamen relativ zum übergeordneten Ordner zurück.
5 SHGDN_NORMAL Gibt den Anzeigenamen relativ zum Desktop und nicht zu einem bestimmten Ordner zurück.
 

Dies sind die Beispielelementtypen.

Letter BESCHREIBUNG
Ein Laufwerk C: auf dem lokalen Computer, dessen Volumebezeichnung C_DRIVE ist.
B Ein Drucker namens Laser auf einem Computer namens Mailroom.
C Die Datei C:\Directory\File.txt (wenn Dateinamenerweiterungen ausgeblendet werden).
 

In der folgenden Tabelle werden die Anzeigenamen beschrieben, wie sie zurückgegeben würden.

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

Hinweise zu Beispielen

  • A3: Das Laufwerk C: stellt seinen Volumenamen zur Bearbeitung anstelle der gesamten Zeichenfolge "C_DRIVE (C:)" dar.
  • B1-B5: Der Anzeigename des Remotedruckers ändert sich abhängig davon, ob er relativ zum übergeordneten Drucker angezeigt wird. Wenn es relativ zu seinem übergeordneten Element angezeigt wird, benötigt es nur den Druckernamen, aber wenn er außerhalb des übergeordneten Objekts angezeigt wird, wird sowohl der Druckername als auch der Computername angezeigt.
  • C3: File.txt stellt nur den Basisnamen anstelle des vollständigen Namens zur Bearbeitung bereit.
Weitere Informationen zur IShellFolder-Schnittstelle finden Sie unter Abrufen von Informationen zum Inhalt eines Ordners.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP, Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile shobjidl_core.h (shobjidl.h einschließen)