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.
 
 
 
 
 
 

106 lines
3.2 KiB

//////////////////////////////////////////////////////////////////////////////
/*++
Copyright (C) Microsoft Corporation
Module Name:
IASVendorSpecificAttributeEditor.h
Abstract:
Declaration of the CIASVendorSpecificAttributeEditor class.
This class is the C++ implementation of the IIASAttributeEditor interface on
the Vendor Specific Attribute Editor COM object.
See IASVendorSpecificAttributeEditor.cpp for implementation.
Revision History:
mmaguire 06/25/98 - created
--*/
//////////////////////////////////////////////////////////////////////////////
#if !defined(_VENDOR_SPECIFIC_ATTRIBUTE_EDITOR_H_)
#define _VENDOR_SPECIFIC_ATTRIBUTE_EDITOR_H_
#pragma once
//////////////////////////////////////////////////////////////////////////////
// BEGIN INCLUDES
//
// where we can find what this class derives from:
//
#include "IASAttributeEditor.h"
//
// where we can find what this class has or uses:
//
//
// END INCLUDES
//////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// CIASVendorSpecificAttributeEditor
class ATL_NO_VTABLE CIASVendorSpecificAttributeEditor :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CIASVendorSpecificAttributeEditor, &CLSID_IASVendorSpecificAttributeEditor>,
public CIASAttributeEditor
{
public:
CIASVendorSpecificAttributeEditor()
{
}
DECLARE_NO_REGISTRY()
BEGIN_COM_MAP(CIASVendorSpecificAttributeEditor)
COM_INTERFACE_ENTRY(IIASAttributeEditor)
COM_INTERFACE_ENTRY(IDispatch)
END_COM_MAP()
// IIASVendorSpecificAttributeEditor
public:
STDMETHOD(get_VSAFormat)(/*[out, retval]*/ long *pVal);
STDMETHOD(put_VSAFormat)(/*[in]*/ long newVal);
STDMETHOD(get_VSAType)(/*[out, retval]*/ long *pVal);
STDMETHOD(put_VSAType)(/*[in]*/ long newVal);
STDMETHOD(get_VendorID)(/*[out, retval]*/ long *pVal);
STDMETHOD(put_VendorID)(/*[in]*/ long newVal);
STDMETHOD(get_RFCCompliant)(/*[out, retval]*/ BOOL *pVal);
STDMETHOD(put_RFCCompliant)(/*[in]*/ BOOL newVal);
// IIASAttributeEditor overrides
protected:
STDMETHOD(get_VendorName)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_VendorName)(/*[in]*/ BSTR newVal);
STDMETHOD(ShowEditor)( /*[in, out]*/ BSTR *pReserved );
STDMETHOD(put_ValueAsString)(/*[in]*/ BSTR newVal);
STDMETHOD(get_ValueAsString)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(SetAttributeValue)(VARIANT * pValue);
private:
// We store info about a vendor specific attribute which we
// unpack from the variant passed in when SetAttributeValue
// is called.
DWORD m_dwVendorId;
BOOL m_fNonRFC; // RFC compatible?
DWORD m_dwVSAFormat;
DWORD m_dwVSAType;
CComBSTR m_bstrDisplayValue;
CComBSTR m_bstrVendorName;
// Utility function which takes m_pvarValue and unpacks
// its values into the member variables above.
STDMETHOD(UnpackVSA)();
// Utility function which takes member variables above and
// packs them into m_pvarValue;
STDMETHOD(RepackVSA)();
};
#endif // _VENDOR_SPECIFIC_ATTRIBUTE_EDITOR_H_