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.

99 lines
2.9 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. /*++
  3. Copyright (C) Microsoft Corporation, 1998 - 1999
  4. Module Name:
  5. IASBaseAttributeInfo.h
  6. Abstract:
  7. Declaration of the CBaseAttributeInfo class.
  8. This class is the base C++ implementation of IIASAttributeInfo interface
  9. methods common all our AttributeInfo COM objects.
  10. See IASBaseAttributeInfo.cpp for implementation.
  11. Revision History:
  12. mmaguire 06/25/98 - created
  13. --*/
  14. //////////////////////////////////////////////////////////////////////////////
  15. #if !defined(_BASE_SCHEMA_ATTRIBUTE_H_)
  16. #define _BASE_SCHEMA_ATTRIBUTE_H_
  17. //////////////////////////////////////////////////////////////////////////////
  18. // BEGIN INCLUDES
  19. //
  20. // where we can find what this class derives from:
  21. //
  22. //
  23. // where we can find what this class has or uses:
  24. //
  25. //
  26. // END INCLUDES
  27. //////////////////////////////////////////////////////////////////////////////
  28. /////////////////////////////////////////////////////////////////////////////
  29. // CAttributeInfo
  30. class ATL_NO_VTABLE CBaseAttributeInfo :
  31. public IDispatchImpl<IIASAttributeInfo, &IID_IIASAttributeInfo, &LIBID_NAPMMCLib>
  32. {
  33. public:
  34. CBaseAttributeInfo()
  35. {
  36. // Set some default values.
  37. m_lVendorID = 0;
  38. m_AttributeID = ATTRIBUTE_UNDEFINED;
  39. m_AttributeSyntax = IAS_SYNTAX_BOOLEAN;
  40. m_lAttributeRestriction =0;
  41. }
  42. // IAttributeInfo
  43. public:
  44. STDMETHOD(get_EditorProgID)(/*[out, retval]*/ BSTR *pVal);
  45. STDMETHOD(put_EditorProgID)(/*[in]*/ BSTR newVal);
  46. STDMETHOD(get_SyntaxString)(/*[out, retval]*/ BSTR *pVal);
  47. STDMETHOD(put_SyntaxString)(/*[in]*/ BSTR newVal);
  48. STDMETHOD(get_VendorName)(/*[out, retval]*/ BSTR *pVal);
  49. STDMETHOD(put_VendorName)(/*[in]*/ BSTR newVal);
  50. STDMETHOD(get_AttributeDescription)(/*[out, retval]*/ BSTR *pVal);
  51. STDMETHOD(put_AttributeDescription)(/*[in]*/ BSTR newVal);
  52. STDMETHOD(get_VendorID)(/*[out, retval]*/ long *pVal);
  53. STDMETHOD(put_VendorID)(/*[in]*/ long newVal);
  54. STDMETHOD(get_AttributeRestriction)(/*[out, retval]*/ long *pVal);
  55. STDMETHOD(put_AttributeRestriction)(/*[in]*/ long newVal);
  56. STDMETHOD(get_AttributeSyntax)(/*[out, retval]*/ ATTRIBUTESYNTAX *pVal);
  57. STDMETHOD(put_AttributeSyntax)(/*[in]*/ ATTRIBUTESYNTAX newVal);
  58. STDMETHOD(get_AttributeName)(/*[out, retval]*/ BSTR *pVal);
  59. STDMETHOD(put_AttributeName)(/*[in]*/ BSTR newVal);
  60. STDMETHOD(get_AttributeID)(/*[out, retval]*/ ATTRIBUTEID *pVal);
  61. STDMETHOD(put_AttributeID)(/*[in]*/ ATTRIBUTEID newVal);
  62. // STDMETHOD(get_Value)(/*[out, retval]*/ VARIANT *pVal);
  63. // STDMETHOD(put_Value)(/*[in]*/ VARIANT newVal);
  64. protected:
  65. CComBSTR m_bstrAttributeName;
  66. CComBSTR m_bstrAttributeDescription;
  67. CComBSTR m_bstrSyntaxString;
  68. CComBSTR m_bstrVendorName;
  69. CComBSTR m_bstrEditorProgID;
  70. long m_lVendorID;
  71. long m_lAttributeRestriction;
  72. ATTRIBUTEID m_AttributeID;
  73. ATTRIBUTESYNTAX m_AttributeSyntax;
  74. // CComVariant m_varValue;
  75. };
  76. #endif // _BASE_SCHEMA_ATTRIBUTE_H_