[SDK][INCLUDE] Add MENUGETOBJECTINFO structure (#1727)
[reactos.git] / sdk / include / psdk / winuser.h
index 4f77a9c..3f14ab7 100644 (file)
@@ -836,6 +836,11 @@ extern "C" {
 #define IDTRYAGAIN 10
 #define IDCONTINUE 11
 #endif
+#if (WINVER >= 0x0501)
+#ifndef IDTIMEOUT
+#define IDTIMEOUT 32000
+#endif
+#endif
 
 #define GWL_EXSTYLE (-20)
 #define GWL_STYLE (-16)
@@ -849,12 +854,17 @@ extern "C" {
 #define GWLP_ID (-12)
 #define GWL_USERDATA (-21)
 #define GWLP_USERDATA (-21)
-#define DWL_DLGPROC 4
-#define DWLP_DLGPROC 4
+
+#ifndef __REACTOS__ // NEVER USE THESE!
 #define DWL_MSGRESULT 0
-#define DWLP_MSGRESULT 0
+#define DWL_DLGPROC 4
 #define DWL_USER 8
-#define DWLP_USER 8
+#endif
+
+#define DWLP_MSGRESULT 0
+#define DWLP_DLGPROC (DWLP_MSGRESULT + sizeof(LRESULT))
+#define DWLP_USER (DWLP_DLGPROC + sizeof(DLGPROC))
+
 #if (_WIN32_WINNT >= 0x0501)
 #define QS_ALLEVENTS 1215
 #define QS_ALLINPUT 1279
@@ -1541,8 +1551,8 @@ extern "C" {
 #endif
 
 #define SPIF_UPDATEINIFILE 1
-#define SPIF_SENDWININICHANGE 2
 #define SPIF_SENDCHANGE 2
+#define SPIF_SENDWININICHANGE SPIF_SENDCHANGE
 #define ATF_ONOFFFEEDBACK 2
 #define ATF_TIMEOUTON 1
 
@@ -3170,6 +3180,17 @@ typedef struct _WNDCLASSEXW {
        HICON hIconSm;
 } WNDCLASSEXW,*LPWNDCLASSEXW,*PWNDCLASSEXW;
 
+#define MNGOF_TOPGAP 0x00000001
+#define MNGOF_BOTTOMGAP 0x00000002
+
+typedef struct tagMENUGETOBJECTINFO {
+       DWORD dwFlags;
+       UINT uPos;
+       HMENU hmenu;
+       PVOID riid;
+       PVOID pvObj;
+} MENUGETOBJECTINFO,*PMENUGETOBJECTINFO;
+
 typedef struct tagMENUITEMINFOA {
        UINT cbSize;
        UINT fMask;
@@ -3336,6 +3357,9 @@ typedef struct tagMINIMIZEDMETRICS {
        int iArrange;
 } MINIMIZEDMETRICS, *PMINIMIZEDMETRICS,*LPMINIMIZEDMETRICS;
 
+#define WDA_NONE    0x0
+#define WDA_MONITOR 0x1
+
 typedef struct tagMOUSEKEYS{
        UINT cbSize;
        DWORD dwFlags;
@@ -5398,7 +5422,7 @@ BOOL WINAPI GetLayeredWindowAttributes(_In_ HWND, _Out_opt_ COLORREF*, _Out_opt_
 #define EDITWORDBREAKPROC EDITWORDBREAKPROCW
 #define PROPENUMPROC PROPENUMPROCW
 #define PROPENUMPROCEX PROPENUMPROCEXW
-#define DEKSTOPENUMPROC DEKSTOPENUMPROCW
+#define DESKTOPENUMPROC DESKTOPENUMPROCW
 #define WINSTAENUMPROC WINSTAENUMPROCW
 #define PROPENUMPROC PROPENUMPROCW
 #define PROPENUMPROCEX PROPENUMPROCEXW
@@ -5564,7 +5588,7 @@ typedef MONITORINFOEXW MONITORINFOEX, *LPMONITORINFOEX;
 #define EDITWORDBREAKPROC EDITWORDBREAKPROCA
 #define PROPENUMPROC PROPENUMPROCA
 #define PROPENUMPROCEX PROPENUMPROCEXA
-#define DEKSTOPENUMPROC DEKSTOPENUMPROCA
+#define DESKTOPENUMPROC DESKTOPENUMPROCA
 #define WINSTAENUMPROC WINSTAENUMPROCA
 #define PROPENUMPROC PROPENUMPROCA
 #define PROPENUMPROCEX PROPENUMPROCEXA