Hacker News new | ask | show | jobs
by pjc50 1457 days ago
I believe it was "shell extensions". There's still a few of these lying around. You can even add your own ones: https://docs.microsoft.com/en-us/windows/win32/shell/nse-imp...

It's not so easy to add to the filesystem, but you can make things show up in Explorer that you can click on.

1 comments

Modern NTFS (Win2000 and later) has "reparse points", which are basically file entries with some metadata that triggers special handling. It's the mechanism used to implement soft links (that are handled transparently by the file system, as opposed with the shortcuts you use e.g. on the desktop), or to mount an NTFS volume as a directory inside another NTFS volume, or by OneDrive to download files on the fly when you open them, or to implement unix domain sockets. You can add your own, though it requires adding a filter-driver.

https://docs.microsoft.com/en-us/windows/win32/fileio/repars...

https://en.wikipedia.org/wiki/NTFS_reparse_point

That is different level of abstraction and NTFS-only thing.

The mechanism mentioned in the article is Shell Namespace. Explorer.exe and friends do not operate on file system (ie. files and directories) but on tree of COM objects (called folders and items) that can represent pretty much anything, although usually represent file system directories and folders. The "Classes root" in "HKCR" means that this registry hive describes how names of these objects are transformed into the COM instances (either by directly naming the CLSID or by parametrizing the behavior of default class of filesystem objects). It works this way to this day. And for example the "Windows 10 God mode menu" is nothing else than exposing internal shell folder.