Share via


IShellIconOverlay-Schnittstelle (shlobj_core.h)

Macht Methoden verfügbar, die von einer Namespaceerweiterung verwendet werden, um Symbolüberlagerungen für die darin enthaltenen Objekte anzugeben.

Vererbung

Die IShellIconOverlay-Schnittstelle erbt von der IUnknown-Schnittstelle . IShellIconOverlay verfügt auch über folgende Membertypen:

Methoden

Die IShellIconOverlay-Schnittstelle verfügt über diese Methoden.

 
IShellIconOverlay::GetOverlayIconIndex

Ruft den Index der Symbolüberlagerung in der Systembildliste ab.
IShellIconOverlay::GetOverlayIndex

Ruft den Überlagerungsindex in der Systembildliste ab.

Hinweise

Symbolüberlagerungen sind kleine Bilder, die in der unteren linken Ecke des Symbols platziert werden, das ein Shell-Objekt darstellt. Sie werden in der Regel verwendet, um dem Symbol zusätzliche Informationen hinzuzufügen. Eine häufig verwendete Symbolüberlagerung ist der kleine Pfeil, der angibt, dass ein Datei- oder Ordnersymbol eine Verknüpfung darstellt.

Symbolüberlagerungen sind Teil der Systembildliste. Sie verfügen über zwei Bezeichner. Eins ist ein onebasierter Überlagerungsindex, der die Überlagerung relativ zu anderen Überlagerungen in der Bildliste identifiziert. Der andere ist ein Bildindex, der das tatsächliche Bild identifiziert. Diese beiden Indizes entsprechen den Werten, die Sie den Parametern iOverlay bzw. iImage zuweisen, wenn Sie einer privaten Bildliste mit ImageList::SetOverlayImage eine Symbolüberlagerung hinzufügen.

Bevor das Symbol für ein Objekt angezeigt wird, ruft die Shell die IShellIconOverlay-Schnittstelle des zugeordneten Ordners auf, um abzufragen, ob das Symbol des Objekts eine Überlagerung aufweisen soll. In der Regel wird IShellIconOverlay::GetOverlayIndex aufgerufen, um den Überlagerungsindex des Overlays anzufordern. In einigen Fällen ruft die Shell möglicherweise IShellIconOverlay::GetOverlayIconIndex auf, um den Bildindex der Überlagerung anzufordern. Um eine Symbolüberlagerung anzugeben, müssen die Methoden den angeforderten Index zurückgeben. Andernfalls wird S_FALSE zurückgegeben.

Um eine Symbolüberlagerung anzugeben, müssen beide Methoden zuerst den Overlayindex des Overlays in der Systembildliste abrufen, indem SHGetIconOverlayIndex aufgerufen wird. Wenn SHGetIconOverlayIndex zum ersten Mal aufgerufen wird, verwendet die Shell den Dateinamen und Index der Überlagerung, um das Image der Systemabbildliste hinzuzufügen. Sobald sich eine Überlagerung in der Systembildliste befindet, verwendet die Shell einfach den Dateinamen und den Index als Bezeichner. Sie können shGetIconOverlayIndex auch verwenden, um den Überlagerungsindex mehrerer Standardsystemüberlagerungen abzurufen. IShellIconOverlay::GetOverlayIndex gibt einfach den Überlagerungsindex an die Shell zurück. IShellIconOverlay::GetOverlayIconIndex muss das INDEXTOOVERLAYMASK-Makro verwenden, um den Überlagerungsindex in den entsprechenden Bildindex zu konvertieren.

Die Anzahl der verschiedenen Symbolüberlagerungshandler, die das System unterstützen kann, wird durch den verfügbaren Speicherplatz für Symbolüberlagerungen in der Systembildliste begrenzt. Derzeit sind fünfzehn Slots für Symbolüberlagerungen vorgesehen, von denen einige vom System reserviert sind. Aus diesem Grund sollten Symbolüberlagerungen nur angegeben werden, wenn keine zufriedenstellenden Alternativen vorhanden sind.

Diese Schnittstelle wird durch Namespaceerweiterungen implementiert, die Symbolüberlagerungen für ihre Objekte angeben müssen.

Diese Schnittstelle wird in der Regel nicht von Anwendungen verwendet.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional, Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shlobj_core.h