A context menu handler is a shell extension that adds menu items to any of the shell's context menus. There are two types of context menu handlers. Each type has a different purpose, but the same implementation. Context menu extensions are used when the user clicks a file object by using mouse button 2, and drag and drop handlers are used when the user drags a file object using mouse button 2. This section describes the types of context menu handlers, how they are used, how they are added to the registry, and the interfaces that they must implement.