mirror of
https://github.com/reactos/reactos.git
synced 2024-09-14 14:51:27 +00:00
e1ef078741
The idea then would be to have the following behaviour (when specifying the following options in the kernel command line): /DEBUGPORT=COMi --> load KDCOM.DLL and use COMi port (i == 1,2,3,4) if possible. /DEBUGPORT=FOO --> load KDFOO.DLL (useful for KDUSB.DLL, KD1394.DLL, KDBAZIS.DLL for VirtualKD, etc...) /DEBUGPORT=ROSDBG:[COMi|SCREEN|FILE|GDB|...] --> load KDROSDBG.DLL which contains the ROS kernel debugger, and use COMi or SCREEN or... as output port. svn path=/branches/kd++/; revision=58883
76 lines
1.7 KiB
C
76 lines
1.7 KiB
C
#pragma once
|
|
|
|
#define IS_ATOM(x) \
|
|
(((ULONG_PTR)(x) > 0x0) && ((ULONG_PTR)(x) < 0x10000))
|
|
|
|
#define MENU_ITEM_TYPE(flags) \
|
|
((flags) & (MF_STRING | MF_BITMAP | MF_OWNERDRAW | MF_SEPARATOR))
|
|
|
|
#ifndef MF_END
|
|
#define MF_END (0x0080)
|
|
#endif
|
|
|
|
typedef struct _MENU_ITEM
|
|
{
|
|
struct _MENU_ITEM *Next;
|
|
UINT fType;
|
|
UINT fState;
|
|
UINT wID;
|
|
HMENU hSubMenu;
|
|
HBITMAP hbmpChecked;
|
|
HBITMAP hbmpUnchecked;
|
|
ULONG_PTR dwItemData;
|
|
UNICODE_STRING Text;
|
|
HBITMAP hbmpItem;
|
|
RECTL Rect;
|
|
UINT dxTab;
|
|
} MENU_ITEM, *PMENU_ITEM;
|
|
|
|
typedef struct _MENU_OBJECT
|
|
{
|
|
PROCDESKHEAD head;
|
|
PEPROCESS Process;
|
|
LIST_ENTRY ListEntry;
|
|
PMENU_ITEM MenuItemList;
|
|
ROSMENUINFO MenuInfo;
|
|
BOOL RtoL;
|
|
} MENU_OBJECT, *PMENU_OBJECT;
|
|
|
|
typedef struct _SETMENUITEMRECT
|
|
{
|
|
UINT uItem;
|
|
BOOL fByPosition;
|
|
RECTL rcRect;
|
|
} SETMENUITEMRECT, *PSETMENUITEMRECT;
|
|
|
|
PMENU_OBJECT FASTCALL
|
|
IntGetMenuObject(HMENU hMenu);
|
|
|
|
#define IntReleaseMenuObject(MenuObj) \
|
|
UserDereferenceObject(MenuObj)
|
|
|
|
BOOL FASTCALL
|
|
IntDestroyMenuObject(PMENU_OBJECT MenuObject, BOOL bRecurse, BOOL RemoveFromProcess);
|
|
|
|
PMENU_OBJECT FASTCALL
|
|
IntCloneMenu(PMENU_OBJECT Source);
|
|
|
|
int FASTCALL
|
|
IntGetMenuItemByFlag(PMENU_OBJECT MenuObject, UINT uSearchBy, UINT fFlag,
|
|
PMENU_OBJECT *SubMenu, PMENU_ITEM *MenuItem,
|
|
PMENU_ITEM *PrevMenuItem);
|
|
|
|
BOOL FASTCALL
|
|
IntCleanupMenus(struct _EPROCESS *Process, PPROCESSINFO Win32Process);
|
|
|
|
BOOL FASTCALL
|
|
IntInsertMenuItem(_In_ PMENU_OBJECT MenuObject, UINT uItem, BOOL fByPosition,
|
|
PROSMENUITEMINFO ItemInfo);
|
|
|
|
PMENU_OBJECT FASTCALL
|
|
IntGetSystemMenu(PWND Window, BOOL bRevert, BOOL RetMenu);
|
|
|
|
UINT FASTCALL IntFindSubMenu(HMENU *hMenu, HMENU hSubTarget );
|
|
UINT FASTCALL IntGetMenuState( HMENU hMenu, UINT uId, UINT uFlags);
|
|
|