Source code of Windows XP (NT5)
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.

105 lines
2.7 KiB

  1. //////////////////////////////////////////////////////////////////////////////////////////////
  2. //
  3. // File : ITellMe.h
  4. //
  5. // Copyright (C) 2000 Microsoft Corporation. All rights reserved.
  6. //
  7. //////////////////////////////////////////////////////////////////////////////////////////////
  8. #ifndef __ITELLME_H_
  9. #define __ITELLME_H_
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif // _cplusplus
  13. //
  14. // Get a few important things defined properly before proceeding
  15. //
  16. #undef EXPORT
  17. #ifdef WIN32
  18. #define EXPORT __declspec(dllexport)
  19. #else // WIN32
  20. #define EXPORT __export
  21. #endif // WIN32
  22. #if defined( _WIN32 ) && !defined( _NO_COM )
  23. #define COM_NO_WINDOWS_H
  24. #include <objbase.h>
  25. #else // defined( _WIN32 ) && !defined( _NO_COM )
  26. #include "windows.h"
  27. #include "ole2.h"
  28. #define IUnknown void
  29. #endif // defined( _WIN32 ) && !defined( _NO_COM )
  30. //
  31. // GUID definition for the IApplicationManager interface
  32. //
  33. // CLSID_TellMe = {A087B8F5-B971-4329-AD36-42D75D95A8EF}
  34. // IID_TellMe = {3E570A89-3E66-493d-813C-6F2013A9F167}
  35. //
  36. DEFINE_GUID(CLSID_TellMe, 0xa087b8f5, 0xb971, 0x4329, 0xad, 0x36, 0x42, 0xd7, 0x5d, 0x95, 0xa8, 0xef);
  37. DEFINE_GUID(IID_TellMe, 0x3e570a89, 0x3e66, 0x493d, 0x81, 0x3c, 0x6f, 0x20, 0x13, 0xa9, 0xf1, 0x67);
  38. //////////////////////////////////////////////////////////////////////////////////////////////
  39. //
  40. // Window information structure
  41. //
  42. //////////////////////////////////////////////////////////////////////////////////////////////
  43. typedef struct
  44. {
  45. DWORD dwSize;
  46. DWORD dwCapabilitiesMask;
  47. } WINDOWCAPS, *LPWINDOWCAPS;
  48. //////////////////////////////////////////////////////////////////////////////////////////////
  49. //
  50. // Window cap bits
  51. //
  52. //////////////////////////////////////////////////////////////////////////////////////////////
  53. #define TELLME_CAP_PRESSANDHOLDNOTALLOWED 0x00000001
  54. #define TELLME_CAP_TAKESTESTINPUT 0x00000002
  55. //////////////////////////////////////////////////////////////////////////////////////////////
  56. //
  57. // Interface definitions
  58. //
  59. //////////////////////////////////////////////////////////////////////////////////////////////
  60. #if defined( _WIN32 ) && !defined( _NO_COM )
  61. //
  62. // ITellMe Interface
  63. //
  64. #undef INTERFACE
  65. #define INTERFACE ITellMe
  66. DECLARE_INTERFACE_( ITellMe, IUnknown )
  67. {
  68. //
  69. // IUnknown interfaces
  70. //
  71. STDMETHOD (QueryInterface) (THIS_ REFIID, LPVOID *) PURE;
  72. STDMETHOD_(ULONG, AddRef) (THIS) PURE;
  73. STDMETHOD_(ULONG, Release) (THIS) PURE;
  74. //
  75. // IApplicationEntry interface methods
  76. //
  77. STDMETHOD (GetWindowCapabilities) (THIS_ const POINT *, LPWINDOWCAPS) PURE;
  78. STDMETHOD (GetLastValidFocusHWnd) (THIS_ HWND *) PURE;
  79. };
  80. #endif // defined( _WIN32 ) && !defined( _NO_COM )
  81. #ifdef __cplusplus
  82. }
  83. #endif // _cplusplus
  84. #endif // __ITELLME_H_