/// <inheritdoc/> public int QueryContextMenu(IntPtr hMenu, uint indexMenu, uint idCmdFirst, uint idCmdLast, QueryContextMenuFlags uFlags) { if (uFlags.HasFlag(QueryContextMenuFlags.CMF_DEFAULTONLY)) { return(HRESULT.MakeHResult((uint)HRESULT.S_OK, 0, 0)); } _menutStartId = idCmdFirst; foreach (var item in Options.ContextMenuItems) { item.AddToMenu(hMenu, indexMenu++, ref idCmdFirst, _contextMenuActions); } return(HRESULT.MakeHResult((uint)HRESULT.S_OK, 0, idCmdFirst + 1)); // #id of last command + 1 }