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.

81 lines
2.1 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. /*++
  3. Copyright (C) Microsoft Corporation, 1998 - 1999
  4. Module Name:
  5. IASStringAttributeEditor.h
  6. Abstract:
  7. Declaration of the CIASStringAttributeEditor class.
  8. This class is the C++ implementation of the IIASAttributeEditor interface on
  9. the String Attribute Editor COM object.
  10. See IASStringAttributeEditor.cpp for implementation.
  11. Revision History:
  12. mmaguire 06/25/98 - created
  13. --*/
  14. //////////////////////////////////////////////////////////////////////////////
  15. #if !defined(_STRING_ATTRIBUTE_EDITOR_H_)
  16. #define _STRING_ATTRIBUTE_EDITOR_H_
  17. //////////////////////////////////////////////////////////////////////////////
  18. // BEGIN INCLUDES
  19. //
  20. // where we can find what this class derives from:
  21. //
  22. #include "IASAttributeEditor.h"
  23. //
  24. // where we can find what this class has or uses:
  25. //
  26. //
  27. // END INCLUDES
  28. //////////////////////////////////////////////////////////////////////////////
  29. enum EStringType
  30. {
  31. STRING_TYPE_NULL = 0,
  32. STRING_TYPE_NORMAL,
  33. STRING_TYPE_UNICODE,
  34. STRING_TYPE_HEX_FROM_BINARY,
  35. };
  36. /////////////////////////////////////////////////////////////////////////////
  37. // CIASStringAttributeEditor
  38. class ATL_NO_VTABLE CIASStringAttributeEditor :
  39. public CComObjectRootEx<CComSingleThreadModel>,
  40. public CComCoClass<CIASStringAttributeEditor, &CLSID_IASStringAttributeEditor>,
  41. public CIASAttributeEditor
  42. {
  43. public:
  44. CIASStringAttributeEditor()
  45. {
  46. }
  47. DECLARE_REGISTRY_RESOURCEID(IDR_NAPSNAPIN)
  48. BEGIN_COM_MAP(CIASStringAttributeEditor)
  49. COM_INTERFACE_ENTRY(IIASAttributeEditor)
  50. COM_INTERFACE_ENTRY(IDispatch)
  51. END_COM_MAP()
  52. // IIASAttributeEditor overrides
  53. protected:
  54. STDMETHOD(SetAttributeValue)(VARIANT *pValue);
  55. STDMETHOD(ShowEditor)( /*[in, out]*/ BSTR *pReserved );
  56. STDMETHOD(get_ValueAsString)(/*[out, retval]*/ BSTR *pVal);
  57. STDMETHOD(put_ValueAsString)(/*[in]*/ BSTR newVal);
  58. STDMETHOD(get_ValueAsStringEx)(/*[out, retval]*/ BSTR *pVal, OUT EStringType* pType);
  59. STDMETHOD(put_ValueAsStringEx)(/*[in]*/ BSTR newVal, IN EStringType type);
  60. };
  61. #endif // _STRING_ATTRIBUTE_EDITOR_H_