windows-nt/Source/XPSP1/NT/net/ias/mmc/nap/iasbaseattributeinfo.h
2020-09-26 16:20:57 +08:00

100 lines
2.8 KiB
C++

//////////////////////////////////////////////////////////////////////////////
/*++
Copyright (C) Microsoft Corporation, 1998 - 1999
Module Name:
IASBaseAttributeInfo.h
Abstract:
Declaration of the CBaseAttributeInfo class.
This class is the base C++ implementation of IIASAttributeInfo interface
methods common all our AttributeInfo COM objects.
See IASBaseAttributeInfo.cpp for implementation.
Revision History:
mmaguire 06/25/98 - created
--*/
//////////////////////////////////////////////////////////////////////////////
#if !defined(_BASE_SCHEMA_ATTRIBUTE_H_)
#define _BASE_SCHEMA_ATTRIBUTE_H_
//////////////////////////////////////////////////////////////////////////////
// BEGIN INCLUDES
//
// where we can find what this class derives from:
//
//
// where we can find what this class has or uses:
//
//
// END INCLUDES
//////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// CAttributeInfo
class ATL_NO_VTABLE CBaseAttributeInfo :
public IDispatchImpl<IIASAttributeInfo, &IID_IIASAttributeInfo, &LIBID_NAPMMCLib>
{
public:
CBaseAttributeInfo()
{
// Set some default values.
m_lVendorID = 0;
m_AttributeID = ATTRIBUTE_UNDEFINED;
m_AttributeSyntax = IAS_SYNTAX_BOOLEAN;
m_lAttributeRestriction =0;
}
// IAttributeInfo
public:
STDMETHOD(get_EditorProgID)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_EditorProgID)(/*[in]*/ BSTR newVal);
STDMETHOD(get_SyntaxString)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_SyntaxString)(/*[in]*/ BSTR newVal);
STDMETHOD(get_VendorName)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_VendorName)(/*[in]*/ BSTR newVal);
STDMETHOD(get_AttributeDescription)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_AttributeDescription)(/*[in]*/ BSTR newVal);
STDMETHOD(get_VendorID)(/*[out, retval]*/ long *pVal);
STDMETHOD(put_VendorID)(/*[in]*/ long newVal);
STDMETHOD(get_AttributeRestriction)(/*[out, retval]*/ long *pVal);
STDMETHOD(put_AttributeRestriction)(/*[in]*/ long newVal);
STDMETHOD(get_AttributeSyntax)(/*[out, retval]*/ ATTRIBUTESYNTAX *pVal);
STDMETHOD(put_AttributeSyntax)(/*[in]*/ ATTRIBUTESYNTAX newVal);
STDMETHOD(get_AttributeName)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_AttributeName)(/*[in]*/ BSTR newVal);
STDMETHOD(get_AttributeID)(/*[out, retval]*/ ATTRIBUTEID *pVal);
STDMETHOD(put_AttributeID)(/*[in]*/ ATTRIBUTEID newVal);
// STDMETHOD(get_Value)(/*[out, retval]*/ VARIANT *pVal);
// STDMETHOD(put_Value)(/*[in]*/ VARIANT newVal);
protected:
CComBSTR m_bstrAttributeName;
CComBSTR m_bstrAttributeDescription;
CComBSTR m_bstrSyntaxString;
CComBSTR m_bstrVendorName;
CComBSTR m_bstrEditorProgID;
long m_lVendorID;
long m_lAttributeRestriction;
ATTRIBUTEID m_AttributeID;
ATTRIBUTESYNTAX m_AttributeSyntax;
// CComVariant m_varValue;
};
#endif // _BASE_SCHEMA_ATTRIBUTE_H_