What is the "Circle With A Vertical Line" icon appearing on removable disk icons?

In Windows 7, a removable disk's icon sometimes has a smaller icon in its corner similar to the 0/1 icons resembling power on/off. Look:

The strange icon

I don't remember the small thing appearing there before. It appeared after I plugged in my USB stick into some other computer then plugged it back in my own computer.

What is it for and why it started to show off all of a sudden?

Edit: I'm aware of hidden autorun.inf files that can change the icon. There is no autorun.inf file there.

ANSWER

Thanks to answers, so it's the EhStorShell.dll with GUID {D9144DCD-E998-4ECA-AB6A-DCD83CCBA16D}, which claims it's Windows Enhanced Storage Shell Extension DLL.

I asked a follow-up question for more info about it and how to turn it off HERE.


Solution 1:

What you're seeeing is a custom overlay icon. Overlay icons (or icon overlays) are mostly transparent icons that are overlaid on top of a standard icon to display extra status or property information about that file/program/shortcut.

The most common overlay is the "shortcut" overlay. You'll recognize this as the white square with a blue curved arrow that is displayed at the bottom left corner in Windows 7. In Windows XP, another popular overlay icon was the "shared" overlay, indicating that file sharing has been enabled for a drive or folder. Other overlays include "locked" folders, the "UAC"/"Run as administrator" shortcuts and, I believe, "disconnected" network drives.

However, the one pictured in your screenshot is most likely a custom overlay installed by a program, such as the file/folder status overlays used by TortoiseSVN or the drive temperature overlays used by some hardware monitoring programs.

To see exactly what this overlay is, I'd open up regedit and navigate to:

HKEY_LOCAL_MACHINE
  \SOFTWARE
    \Microsoft
      \Windows
        \CurrentVersion
          \Explorer
            \ShellIconOverlayIdentifiers

Or you can use the program linked to by grawity, which will actually let you enable/disable each overlay.

Just to be clear, the long codes you see in the registry are class identifiers (CLSID) used by COM objects to identify linkable resources within them. To actually see the location of the icon, you have to go to HKEY_CLASSES_ROOT\CLSID\{whatever}\, which will give you the location of a DLL where the overlay is stored. This is why the app grawity mentioned is so helpful.

Otherwise, you'll need to use an icon browser to look inside the DLL. Though an easy way to do this without installing an icon browser is to edit a shortcut and select the DLL file when choosing an icon for the shortcut. This will list all of the icons stored inside the DLL.

Solution 2:

It might be a shell extension adding the overlay.

Download ShExView, use Options → Filter by extension type → Icon Overlay Handler.

Solution 3:

The icon may have been changed by some software on the other computer.

To check, enable showing of hidden files, open the removable disk and check for any .ico files and an autorun.inf file. Open the autorun file with notepad. If it has a line with the label icon=someicon.ico, Windows will choose this icon instead of the default one.