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.

95 lines
2.6 KiB

  1. /*++
  2. Copyright (c) 1991 - 2001 Microsoft Corporation
  3. Module Name:
  4. ### ### ##### #### ### ##### ## ### ## ## ## ##
  5. ## # ### ## ## ## ## # ## ## ## ### ## ## ## ##
  6. ### ## ## ## ## ## ### ## ## ## ## ## #### ## ##
  7. ### ## ## ## ## ## ### ## ## ## ## ## #### #######
  8. ### ####### ## ## ## ### ##### ## ####### ## ## ##
  9. # ## ## ## ## ## ## # ## ## ## ## ## ## ## ## ##
  10. ### ## ## ##### #### ### ## ##### ## ## ## ## ## ##
  11. Abstract:
  12. This header file contains the class definition for
  13. the ISaDisplay interface class.
  14. Author:
  15. Wesley Witt (wesw) 1-Oct-2001
  16. Environment:
  17. User mode only.
  18. Notes:
  19. --*/
  20. #ifndef __SADISPLAY_H_
  21. #define __SADISPLAY_H_
  22. class ATL_NO_VTABLE CSaDisplay :
  23. public CComObjectRootEx<CComMultiThreadModel>,
  24. public CComCoClass<CSaDisplay, &CLSID_SaDisplay>,
  25. public IDispatchImpl<ISaDisplay, &IID_ISaDisplay, &LIBID_SACOMLib>
  26. {
  27. public:
  28. CSaDisplay();
  29. ~CSaDisplay();
  30. DECLARE_REGISTRY_RESOURCEID(IDR_SADISPLAY)
  31. DECLARE_PROTECT_FINAL_CONSTRUCT()
  32. BEGIN_COM_MAP(CSaDisplay)
  33. COM_INTERFACE_ENTRY(ISaDisplay)
  34. COM_INTERFACE_ENTRY(IDispatch)
  35. END_COM_MAP()
  36. public:
  37. STDMETHOD(ClearDisplay)();
  38. STDMETHOD(ShowMessage)(long MsgCode, long Width, long Height, unsigned char *Bits);
  39. STDMETHOD(ShowMessageFromFile)(long MsgCode,BSTR BitmapFileName);
  40. STDMETHOD(StoreBitmap)(long MessageId,long Width,long Height,unsigned char *Bits);
  41. STDMETHOD(Lock)();
  42. STDMETHOD(UnLock)();
  43. STDMETHOD(ReloadRegistryBitmaps)();
  44. STDMETHOD(ShowRegistryBitmap)(long MessageId);
  45. STDMETHOD(get_InterfaceVersion)(/*[out, retval]*/ long *pVal);
  46. STDMETHOD(get_DisplayWidth)(/*[out, retval]*/ long *pVal);
  47. STDMETHOD(get_DisplayHeight)(/*[out, retval]*/ long *pVal);
  48. STDMETHOD(get_CharacterSet)(/*[out, retval]*/ long *pVal);
  49. STDMETHOD(get_DisplayType)(/*[out, retval]*/ long *pVal);
  50. private:
  51. void
  52. ConvertBottomLeft2TopLeft(
  53. PUCHAR Bits,
  54. ULONG Width,
  55. ULONG Height
  56. );
  57. int
  58. DisplayBitmap(
  59. long MsgCode,
  60. long Width,
  61. long Height,
  62. unsigned char *Bits
  63. );
  64. HANDLE m_hFile;
  65. SA_DISPLAY_CAPS m_DisplayCaps;
  66. ULONG m_InterfaceVersion;
  67. PUCHAR m_CachedBitmap;
  68. ULONG m_CachedBitmapSize;
  69. SA_DISPLAY_SHOW_MESSAGE m_SaDisplay;
  70. };
  71. #endif //__SADISPLAY_H_