//////////////////////////////////////////////////////////////////////////////
/*++

Copyright (c) 1997 Microsoft Corporation

Module Name:

    NAPMMC.idl

Abstract:

	IDL source for NAPMMC.dll
	
	This file will be processed by the MIDL tool to
	produce the type library (NAPMMC.tlb) and marshalling code.

Author:

    Michael A. Maguire 11/6/97

Revision History:
	mmaguire 11/6/97 - created using MMC snap-in wizard


--*/
//////////////////////////////////////////////////////////////////////////////


import "oaidl.idl";
import "ocidl.idl";




// AttributeInfo.idl : IDL source for AttributeInfo.dll
//

// This file will be processed by the MIDL tool to
// produce the type library (AttributeInfo.tlb) and marshalling code.

import "sdoias.idl";

	[
		object,
		uuid(60F41BE3-06DF-11D2-95AA-0060B0576642),
		dual,
		helpstring("IIASAttributeInfo Interface"),
		pointer_default(unique)
	]
	interface IIASAttributeInfo : IDispatch
	{
		[propget, id(1), helpstring("property AttributeID")] HRESULT AttributeID([out, retval] ATTRIBUTEID *pVal);
		[propput, id(1), helpstring("property AttributeID")] HRESULT AttributeID([in] ATTRIBUTEID newVal);
		[propget, id(2), helpstring("property AttributeName")] HRESULT AttributeName([out, retval] BSTR *pVal);
		[propput, id(2), helpstring("property AttributeName")] HRESULT AttributeName([in] BSTR newVal);
		[propget, id(3), helpstring("property AttributeSyntax")] HRESULT AttributeSyntax([out, retval] ATTRIBUTESYNTAX *pVal);
		[propput, id(3), helpstring("property AttributeSyntax")] HRESULT AttributeSyntax([in] ATTRIBUTESYNTAX newVal);
		[propget, id(4), helpstring("property AttributeRestriction")] HRESULT AttributeRestriction([out, retval] long *pVal);
		[propput, id(4), helpstring("property AttributeRestriction")] HRESULT AttributeRestriction([in] long newVal);
		[propget, id(5), helpstring("property VendorID")] HRESULT VendorID([out, retval] long *pVal);
		[propput, id(5), helpstring("property VendorID")] HRESULT VendorID([in] long newVal);
		[propget, id(6), helpstring("property AttributeDescription")] HRESULT AttributeDescription([out, retval] BSTR *pVal);
		[propput, id(6), helpstring("property AttributeDescription")] HRESULT AttributeDescription([in] BSTR newVal);
		[propget, id(7), helpstring("property VendorName")] HRESULT VendorName([out, retval] BSTR *pVal);
		[propput, id(7), helpstring("property VendorName")] HRESULT VendorName([in] BSTR newVal);
		[propget, id(8), helpstring("property SyntaxString")] HRESULT SyntaxString([out, retval] BSTR *pVal);
		[propput, id(8), helpstring("property SyntaxString")] HRESULT SyntaxString([in] BSTR newVal);
		[propget, id(9), helpstring("property EditorProgID")] HRESULT EditorProgID([out, retval] BSTR *pVal);
		[propput, id(9), helpstring("property EditorProgID")] HRESULT EditorProgID([in] BSTR newVal);
	};
	[
		object,
		uuid(9A407537-0A20-11D2-95B0-0060B0576642),
		dual,
		helpstring("IIASEnumerableAttributeInfo Interface"),
		pointer_default(unique)
	]
	interface IIASEnumerableAttributeInfo : IDispatch
	{
		[propget, id(1), helpstring("property CountEnumerateID")] HRESULT CountEnumerateID([out, retval] long *pVal);
		[propget, id(2), helpstring("property EnumerateID")] HRESULT EnumerateID(long index, [out, retval] long *pVal);
		[id(3), helpstring("method EnumerateID")] HRESULT AddEnumerateID( [in] long newVal);
		[propget, id(4), helpstring("property CountEnumerateDescription")] HRESULT CountEnumerateDescription([out, retval] long *pVal);
		[propget, id(5), helpstring("property EnumerateDescription")] HRESULT EnumerateDescription(long index, [out, retval] BSTR *pVal);
		[id(6), helpstring("method EnumerateDescription")] HRESULT AddEnumerateDescription( [in] BSTR newVal);
	};

	[
		object,
		uuid(CB2418D2-0709-11D2-95AB-0060B0576642),
		dual,
		helpstring("IIASAttributeEditor Interface"),
		pointer_default(unique)
	]
	interface IIASAttributeEditor : IDispatch
	{
		[id(6), helpstring("method Edit")] HRESULT Edit( [in] IIASAttributeInfo *pIASAttributeInfo, [in] VARIANT *pVal, [in, out] BSTR *pReserved );
		[id(7), helpstring("method GetDisplayInfo")] HRESULT GetDisplayInfo([in] IIASAttributeInfo *pIASAttributeInfo, [in] VARIANT *pVal, [out] BSTR *pVendorName, [out] BSTR *pValueAsString, [in, out] BSTR *pReserved);
	};

	[
		object,
		uuid(C54EC3BA-7442-11d2-A036-0060B0576642),
		dual,
		helpstring("IIASNASVendors Interface"),
		pointer_default(unique)
	]
	interface IIASNASVendors : IDispatch
	{
		[id(1), helpstring("method InitFromSdo")] HRESULT InitFromSdo( [in] ISdoCollection *pSdoVendorsCollection );
		[propget, id(2), helpstring("property Size")] HRESULT Size([out, retval] long *plCount);
		[propget, id(3), helpstring("property VendorName")] HRESULT VendorName( [in] long lIndex, [out, retval] BSTR *pVendorName);
		[propget, id(4), helpstring("property VendorID")] HRESULT VendorID( [in] long lIndex, [out, retval] long *pVendorID);
		[propget, id(5), helpstring("property VendorIDToOrdinal")] HRESULT VendorIDToOrdinal( [in] long lVendorID, [out, retval] long *plIndex);
	};


[
	uuid(5880CD5B-8EC0-11d1-9570-0060B0576642),
	version(1.0),
	helpstring("NAPMMC 1.0 Type Library")
]
library NAPMMCLib
{
	importlib("stdole2.tlb");

	[
		uuid(5880CD5C-8EC0-11d1-9570-0060B0576642),
		helpstring("NAPSnapin Class")
	]
	coclass NAPSnapin
	{
		[default] interface IUnknown;
	}


	[
		uuid(5880CD5D-8EC0-11d1-9570-0060B0576642),
		helpstring("NAPSnapin Class About")
	]
	coclass NAPSnapinAbout
	{
		[default] interface IUnknown;
	}


	[
		uuid(2E19B602-48EB-11d2-83CA-00104BCA42CF),
		helpstring("Logging Snapin Class")
	]
        coclass LoggingSnapin
	{
		[default] interface IUnknown;
	}

	[
		uuid(2E19B603-48EB-11d2-83CA-00104BCA42CF),
		helpstring("Logging Snapin About Class")
	]
	coclass LoggingSnapinAbout
	{
		[default] interface IUnknown;
	}


	[
		uuid(60F41BE4-06DF-11D2-95AA-0060B0576642),
		helpstring("IASAttributeInfo Class")
	]
	coclass IASAttributeInfo
	{
		[default] interface IIASAttributeInfo;
	};
	[
		uuid(9A407538-0A20-11D2-95B0-0060B0576642),
		helpstring("IASEnumerableAttributeInfo Class")
	]
	coclass IASEnumerableAttributeInfo
	{
		[default] interface IIASAttributeInfo;
		interface IIASEnumerableAttributeInfo;
	};
	[
		uuid(CB2418D3-0709-11D2-95AB-0060B0576642),
		helpstring("IASIPAttributeEditor Class")
	]
	coclass IASIPAttributeEditor
	{
		[default] interface IIASAttributeEditor;
	};
	[
		uuid(B3B443EF-0728-11D2-95AC-0060B0576642),
		helpstring("IASMultivaluedAttributeEditor Class")
	]
	coclass IASMultivaluedAttributeEditor
	{
		[default] interface IIASAttributeEditor;
	};
	[
		uuid(D601D57D-085B-11D2-95AF-0060B0576642),
		helpstring("IASVendorSpecificAttributeEditor Class")
	]
	coclass IASVendorSpecificAttributeEditor
	{
		[default] interface IIASAttributeEditor;
	};
	[
		uuid(5F7B221A-086B-11D2-95AF-0060B0576642),
		helpstring("IASEnumerableAttributeEditor Class")
	]
	coclass IASEnumerableAttributeEditor
	{
		[default] interface IIASAttributeEditor;
	};
	[
		uuid(1ABAAF84-086F-11D2-95AF-0060B0576642),
		helpstring("IASStringAttributeEditor Class")
	]
	coclass IASStringAttributeEditor
	{
		[default] interface IIASAttributeEditor;
	};
	[
		uuid(B5C59858-C75A-4bb9-B5C4-5ED0645BEEE0),
		helpstring("IASBooleanAttributeEditor Class")
	]
	coclass IASBooleanAttributeEditor
	{
		[default] interface IIASAttributeEditor;
	};
	[
		uuid(A9E6F356-317C-11d2-805D-0060B0576642),
		helpstring("IASGroupsAttributeEditor Class")
	]
	coclass IASGroupsAttributeEditor
	{
		[default] interface IIASAttributeEditor;
	};
	[
		uuid(C54EC3BB-7442-11d2-A036-0060B0576642),
		helpstring("IASNASVendors Class")
	]
	coclass IASNASVendors
	{
		[default] interface IIASNASVendors;
	};

};

