When you need multi level menus, with multiple parameters SharpShell comes to rescue.
https://github.com/dwmkerr/sharpshell has umpteen number of examples and it works perfect even for single level to multi level custom context menus.
Key thing is to create class with attributes [ComVisible(true)]...