4 (((ULONG_PTR)(x) > 0x0) && ((ULONG_PTR)(x) < 0x10000))
6 #define MENU_ITEM_TYPE(flags) \
7 ((flags) & (MF_STRING | MF_BITMAP | MF_OWNERDRAW | MF_SEPARATOR))
10 #define MF_END (0x0080)
13 typedef struct _MENU_ITEM
15 struct _MENU_ITEM
*Next
;
21 HBITMAP hbmpUnchecked
;
27 } MENU_ITEM
, *PMENU_ITEM
;
29 typedef struct _MENU_OBJECT
34 PMENU_ITEM MenuItemList
;
37 } MENU_OBJECT
, *PMENU_OBJECT
;
39 typedef struct _SETMENUITEMRECT
44 } SETMENUITEMRECT
, *PSETMENUITEMRECT
;
47 IntGetMenuObject(HMENU hMenu
);
49 #define IntReleaseMenuObject(MenuObj) \
50 UserDereferenceObject(MenuObj)
53 IntDestroyMenuObject(PMENU_OBJECT MenuObject
, BOOL bRecurse
, BOOL RemoveFromProcess
);
56 IntCloneMenu(PMENU_OBJECT Source
);
59 IntGetMenuItemByFlag(PMENU_OBJECT MenuObject
, UINT uSearchBy
, UINT fFlag
,
60 PMENU_OBJECT
*SubMenu
, PMENU_ITEM
*MenuItem
,
61 PMENU_ITEM
*PrevMenuItem
);
64 IntCleanupMenus(struct _EPROCESS
*Process
, PPROCESSINFO Win32Process
);
67 IntInsertMenuItem(PMENU_OBJECT MenuObject
, UINT uItem
, BOOL fByPosition
,
68 PROSMENUITEMINFO ItemInfo
);
71 IntGetSystemMenu(PWND Window
, BOOL bRevert
, BOOL RetMenu
);
73 UINT FASTCALL
IntFindSubMenu(HMENU
*hMenu
, HMENU hSubTarget
);
74 UINT FASTCALL
IntGetMenuState( HMENU hMenu
, UINT uId
, UINT uFlags
);