Я реализую обработчик контекстного меню расширения оболочки, и вещи, которые он добавит в контекстное меню, будут различаться в зависимости от контекста, т.е. какого типа файла или папки пользователь щелкнул правой кнопкой мыши. Должен ли быть отдельный обработчик контекстного меню для каждой ситуации (каждый со своим собственным CLSID), или они должны быть объединены в один обработчик и затем дифференцированы с использованием информации, предоставленной через IShellExtInit::Initialize
?