Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

156 lines
5.6 KiB

  1. #ifndef _UEMAPP_H_ // {
  2. #define _UEMAPP_H_
  3. //*** uemapp.h -- application (client) side of event monitor
  4. //
  5. #ifdef __cplusplus
  6. extern "C" {
  7. #endif
  8. // {
  9. //*** UEME_* -- events
  10. #include "uemevt.h" // separate #include so rulc.exe can use it
  11. #define UEME_FBROWSER 0x80000000 // 0:shell 1:browser
  12. //*** UEMF_* -- Flags used when calling FireEvent
  13. #define UEMF_EVENTMON 0x00000001 // Traditional Event Monitor use of FireEvent
  14. #define UEMF_INSTRUMENT 0x00000002 // These events are being instrumented
  15. #define UEMF_MASK (UEMF_EVENTMON | UEMF_INSTRUMENT)
  16. //**** UEMF_ Meta Categories
  17. #define UEMF_XEVENT (UEMF_EVENTMON | UEMF_INSTRUMENT)
  18. //*** UIG_* -- UI 'groups'
  19. // NOTES
  20. // NOTE not sure if this is the right partitioning
  21. #define UIG_NIL (-1)
  22. #define UIG_COMMON 1 // common UI elements (e.g. back/stop/refresh)
  23. #define UIG_INET 2 // inet (html) elements (e.g. search/favs)
  24. #define UIG_FILE 3 // file (defview) elements (e.g. up)
  25. #define UIG_OTHER 4 // custom (isf, isv, docobj) elements
  26. //*** UIM_* -- modules
  27. // NOTES
  28. // used to separate namespaces. e.g. IDMs for UEME_RUNWMCMD.
  29. #define UIM_NIL (-1) // none (global)
  30. #define UIM_EXPLORER 1 // explorer.exe
  31. #define UIM_BROWSEUI 2 // browseui.dll
  32. #define UIM_SHDOCVW 3 // shdocvw.dll
  33. #define UIM_SHELL32 4 // shell32.dll
  34. // Instrumented Browser wparams
  35. #define UIBW_ADDTOFAV 1
  36. #define UIBW_404ERROR 2
  37. #define UIBW_NAVIGATE 3 // navigation lP=how
  38. #define UIBL_NAVOTHER 0 // via other
  39. #define UIBL_NAVADDRESS 1 // via address bar
  40. #define UIBL_NAVGO 2 // (NYI) via 'go' button on address bar
  41. #define UIBL_NAVHIST 3 // via history pane
  42. #define UIBL_NAVFAVS 4 // via favorites pane
  43. #define UIBL_NAVFOLDERS 5 // (NYI) via all-folders pane
  44. #define UIBL_NAVSEARCH 6 // (NYI) via search pane
  45. #define UIBW_RUNASSOC 4 // run lP=assoc
  46. #define UIBL_DOTOTHER 0 // other
  47. #define UIBL_DOTEXE 1 // .exe
  48. #define UIBL_DOTASSOC 2 // associated w/ some .exe
  49. #define UIBL_DOTNOASSOC 3 // not associated w/ some .exe (OpenWith)
  50. #define UIBL_DOTFOLDER 4 // folder
  51. #define UIBL_DOTLNK 5 // .lnk
  52. #define UIBW_UICONTEXT 5 // context menu lP=where
  53. #define UIBL_CTXTOTHER 0 // (NYI) other
  54. #define UIBL_CTXTDEFBKGND 1 // defview background
  55. #define UIBL_CTXTDEFITEM 2 // defview item
  56. #define UIBL_CTXTDESKBKGND 3 // desktop background
  57. #define UIBL_CTXTDESKITEM 4 // desktop item
  58. // #define UIBL_CTXTQCUTBKGND 5 // (n/a) qlaunch background
  59. #define UIBL_CTXTQCUTITEM 6 // qlaunch/qlinks item
  60. // #define UIBL_CTXTISFBKGND 7 // (n/a) arb. isf background
  61. #define UIBL_CTXTISFITEM 8 // arb. isf item
  62. #define UIBL_CTXTITBBKGND 9 // (n/a) itbar background
  63. #define UIBL_CTXTITBITEM 10 // itbar item
  64. // for input, however the menu is *1st* invoked is assumed to be representative
  65. // of the *entire* menu action
  66. #define UIBW_UIINPUT 6 // input method lP=source
  67. // n.b. no desktop/browser distinction
  68. #define UIBL_INPOTHER 0 // (NYI) other
  69. #define UIBL_INPMOUSE 1 // mouse
  70. #define UIBL_INPMENU 2 // menu key (alt or alt+letter)
  71. #define UIBL_INPACCEL 3 // (NYI) accelerator
  72. #define UIBL_INPWIN 4 // (NYI) 'windows' key
  73. // Instrumented Browser lparams
  74. #define UIBL_KEYBOARD 1
  75. #define UIBL_MENU 2
  76. #define UIBL_PANE 3
  77. //*** UEM*_* -- app 'groups'
  78. //
  79. #define UEMIID_NIL CLSID_NULL // nil (office uses 0...)
  80. #define UEMIID_SHELL CLSID_ActiveDesktop // FEATURE need better one
  81. #define UEMIID_BROWSER CLSID_InternetToolbar // FEATURE need better one
  82. #define UEMIND_NIL (-1)
  83. #define UEMIND_SHELL 0
  84. #define UEMIND_BROWSER 1
  85. #define UEMIND_NSTANDARD 2 // cardinality(UEMIND_*)
  86. //*** UEM*Event -- helpers from ../lib/uassist.cpp
  87. // NOTES
  88. // FEATURE rename to UA* (from UEM*)
  89. BOOL UEMIsLoaded();
  90. HRESULT UEMFireEvent(const GUID *pguidGrp, int eCmd, DWORD dwFlags, WPARAM wParam, LPARAM lParam);
  91. HRESULT UEMQueryEvent(const GUID *pguidGrp, int eCmd, WPARAM wParam, LPARAM lParam, LPUEMINFO pui);
  92. HRESULT UEMSetEvent(const GUID *pguidGrp, int eCmd, WPARAM wParam, LPARAM lParam, LPUEMINFO pui);
  93. typedef int (CALLBACK *UEMCallback)(void *param, const GUID *pguidGrp, int eCmd);
  94. HRESULT UEMRegisterNotify(UEMCallback pfnUEMCB, void *param);
  95. #if 1 // {
  96. //*** obsolete -- old exports, nuke after all callers fixed
  97. //
  98. STDAPI_(void) UEMEvalMsg(const GUID *pguidGrp, int uemCmd, WPARAM wParam, LPARAM lParam);
  99. // obsolete! use UEMEvalMsg
  100. //STDAPI_(void) UEMTrace(int uemCmd, LPARAM lParam);
  101. #define UEMTrace(uemCmd, lParam) UEMEvalMsg(&UEMIID_NIL, uemCmd, -1, lParam)
  102. #define UEIA_RARE 0x01 // rare (demotion candidate)
  103. STDAPI_(BOOL) UEMGetInfo(const GUID *pguidGrp, int eCmd, WPARAM wParam, LPARAM lParam, LPUEMINFO pui);
  104. #endif // }
  105. // }
  106. // {
  107. //*** UEMC_* -- commands
  108. //
  109. #define TABDAT(uemc) uemc,
  110. enum {
  111. #include "uemcdat.h"
  112. };
  113. #undef TABDAT
  114. // }
  115. // {
  116. //*** misc helpers
  117. //
  118. //*** XMB_ICONERROR -- guys that look like an error (vs. idle chit-chat)
  119. // error stop (question) exclamation hand (info) (aster) (warn)
  120. // is this the right set? sounds good to me -justmann
  121. #define XMB_ICONERROR (MB_ICONERROR|MB_ICONSTOP|MB_ICONEXCLAMATION|MB_ICONHAND)
  122. // }
  123. #ifdef __cplusplus
  124. }
  125. #endif
  126. #endif // } _UEMAPP_H_