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.

112 lines
4.9 KiB

  1. /*************************************************************************/
  2. /* Copyright (C) 1999 Microsoft Corporation */
  3. /* File: MSVidWebDVDAdm.h */
  4. /* Description: Declaration of the CMSDVDAdm */
  5. /* Author: Fang Wang */
  6. /*************************************************************************/
  7. #ifndef __MSVidWebDVDAdm_H_
  8. #define __MSVidWebDVDAdm_H_
  9. #include "resource.h" // main symbols
  10. #include <atlctl.h>
  11. #include <objectwithsiteimplsec.h>
  12. #define MAX_PASSWD 256
  13. #define PRE_PASSWD 20
  14. #define MAX_SECTION 20
  15. #define MAX_RATE 10
  16. #define PARENTAL_LEVEL_DISABLED -1
  17. /////////////////////////////////////////////////////////////////////////////
  18. // CMSDVDAdm
  19. class ATL_NO_VTABLE __declspec(uuid("FA7C375B-66A7-4280-879D-FD459C84BB02")) CMSVidWebDVDAdm :
  20. public CComObjectRootEx<CComSingleThreadModel>,
  21. public IDispatchImpl<IMSVidWebDVDAdm, &IID_IMSVidWebDVDAdm, &LIBID_MSVidCtlLib>,
  22. public CComCoClass<CMSVidWebDVDAdm, &__uuidof(CMSVidWebDVDAdm)>,
  23. public IObjectWithSiteImplSec<CMSVidWebDVDAdm>,
  24. public IObjectSafetyImpl<CMSVidWebDVDAdm, INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA>,
  25. public ISupportErrorInfo
  26. {
  27. public:
  28. CMSVidWebDVDAdm();
  29. virtual ~CMSVidWebDVDAdm();
  30. REGISTER_AUTOMATION_OBJECT(IDS_PROJNAME,
  31. IDS_REG_MSVIDWEBDVDADM_PROGID,
  32. IDS_REG_MSVIDWEBDVDADM_DESC,
  33. LIBID_MSVidCtlLib,
  34. __uuidof(CMSVidWebDVDAdm));
  35. DECLARE_PROTECT_FINAL_CONSTRUCT()
  36. BEGIN_COM_MAP(CMSVidWebDVDAdm)
  37. COM_INTERFACE_ENTRY(IMSVidWebDVDAdm)
  38. COM_INTERFACE_ENTRY(IDispatch)
  39. COM_INTERFACE_ENTRY(IObjectWithSite)
  40. COM_INTERFACE_ENTRY(IObjectSafety)
  41. COM_INTERFACE_ENTRY(ISupportErrorInfo)
  42. END_COM_MAP()
  43. BEGIN_PROP_MAP(CMSVidWebDVDAdm)
  44. END_PROP_MAP()
  45. // ISupportsErrorInfo
  46. STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
  47. // IMSDVDAdm
  48. public:
  49. STDMETHOD(get_DefaultMenuLCID)(/*[out, retval]*/ long *pVal);
  50. STDMETHOD(put_DefaultMenuLCID)(/*[in]*/ long newVal);
  51. STDMETHOD(get_DefaultSubpictureLCID)(/*[out, retval]*/ long *pVal);
  52. STDMETHOD(put_DefaultSubpictureLCID)(/*[in]*/ long newVal);
  53. STDMETHOD(get_DefaultAudioLCID)(/*[out, retval]*/ long *pVal);
  54. STDMETHOD(put_DefaultAudioLCID)(/*[in]*/ long newVal);
  55. STDMETHOD(GetParentalCountry)(long *lCountry);
  56. STDMETHOD(GetParentalLevel)(long *lLevel);
  57. STDMETHOD(get_DisableScreenSaver)(/*[out, retval]*/ VARIANT_BOOL *pVal);
  58. STDMETHOD(put_DisableScreenSaver)(/*[in]*/ VARIANT_BOOL newVal);
  59. STDMETHOD(ChangePassword)(BSTR strUserName, BSTR strOld, BSTR strNew);
  60. STDMETHOD(ConfirmPassword)(BSTR strUserName, BSTR szPassword, VARIANT_BOOL *fRight);
  61. STDMETHOD(SaveParentalLevel)(long lParentalLevel,BSTR strUserName, BSTR strPassword);
  62. STDMETHOD(SaveParentalCountry)(long lCountry,BSTR strUserName, BSTR strPassword);
  63. STDMETHOD(get_BookmarkOnStop)(/*[out, retval]*/ VARIANT_BOOL *pVal);
  64. STDMETHOD(put_BookmarkOnStop)(/*[in]*/ VARIANT_BOOL newVal);
  65. STDMETHOD(RestoreScreenSaver)();
  66. protected:
  67. long m_lParentctrlLevel;
  68. long m_lParentctrlCountry;
  69. VARIANT_BOOL m_fDisableScreenSaver;
  70. BOOL m_bScrnSvrOld;
  71. BOOL m_bPowerlowOld;
  72. BOOL m_bPowerOffOld;
  73. VARIANT_BOOL m_fBookmarkOnStop;
  74. HRESULT EncryptPassword(LPTSTR lpPassword, BYTE **lpAssaultedHash, DWORD *dwCryptLen, DWORD *dwAssault, BOOL genAssault);
  75. HRESULT DisableScreenSaver();
  76. HRESULT SaveScreenSaver();
  77. HRESULT HandleError(HRESULT hr);
  78. };
  79. BOOL SetRegistryString(const TCHAR *pKey, TCHAR *szString, DWORD dwLen);
  80. BOOL GetRegistryString(const TCHAR *pKey, TCHAR *szRet, DWORD *dwLen, TCHAR *szDefault);
  81. BOOL SetRegistryDword(const TCHAR *pKey, DWORD dwRet);
  82. BOOL GetRegistryDword(const TCHAR *pKey, DWORD *dwRet, DWORD dwDefault);
  83. BOOL SetRegistryBytes(const TCHAR *pKey, BYTE *szString, DWORD dwLen);
  84. BOOL GetRegistryBytes(const TCHAR *pKey, BYTE *szRet, DWORD *dwLen);
  85. // Not so lame functions that use hkcu
  86. BOOL SetRegistryStringCU(const TCHAR *pKey, TCHAR *szString, DWORD dwLen);
  87. BOOL GetRegistryStringCU(const TCHAR *pKey, TCHAR *szRet, DWORD *dwLen, TCHAR *szDefault);
  88. BOOL SetRegistryDwordCU(const TCHAR *pKey, DWORD dwRet);
  89. BOOL GetRegistryDwordCU(const TCHAR *pKey, DWORD *dwRet, DWORD dwDefault);
  90. BOOL SetRegistryBytesCU(const TCHAR *pKey, BYTE *szString, DWORD dwLen);
  91. BOOL GetRegistryBytesCU(const TCHAR *pKey, BYTE *szRet, DWORD *dwLen);
  92. #endif //__MSVidWebDVDAdm_H_
  93. /*************************************************************************/
  94. /* End of file: MSVidWebDVDAdm.h */
  95. /*************************************************************************/