windows-nt/Source/XPSP1/NT/inetsrv/iis/utils/metautil/metautil.idl
2020-09-26 16:20:57 +08:00

247 lines
7.5 KiB
Plaintext

/*===================================================================
Microsoft Denali
Microsoft Confidential.
Copyright 1997 Microsoft Corporation. All Rights Reserved.
Component: MetaUtil object
File: MetaUtil.idl
Owner: t-BrianM
This file contains the MIDL code for the MetaUtil object.
===================================================================*/
import "oaidl.idl";
import "ocidl.idl";
[
object,
uuid(A4FA4E18-EF45-11D0-9E65-00C04FB94FEF),
dual,
helpstring("ICheckError Interface"),
pointer_default(unique)
]
interface ICheckError : IDispatch
{
[propget, id(1), helpstring("Id of the type of error")]
HRESULT Id([out, retval] long *plId);
[propget, id(2), helpstring("Severity of the error")]
HRESULT Severity([out, retval] long *plSeverity);
[propget, id(3), helpstring("Description of the error")]
HRESULT Description([out, retval] BSTR *pbstrDescription);
[propget, id(4), helpstring("Key where occured")]
HRESULT Key([out, retval] BSTR *pbstrKey);
[propget, id(5), helpstring("Property where occured or 0")]
HRESULT Property([out, retval] long *plProperty);
};
[
object,
uuid(A4FA4E11-EF45-11D0-9E65-00C04FB94FEF),
dual,
helpstring("ICheckErrorCollection Interface"),
pointer_default(unique)
]
interface ICheckErrorCollection : IDispatch
{
[propget, id(DISPID_VALUE), helpstring("Get an error by 1 based index")]
HRESULT Item([in] long lIndex, [out, retval] LPDISPATCH *ppIReturn);
[propget, id(1), helpstring("Number of errors")]
HRESULT Count([out, retval] long *plReturn);
[propget, id(DISPID_NEWENUM), restricted]
HRESULT _NewEnum([out, retval] LPUNKNOWN *ppIReturn);
};
[
object,
uuid(5C3CD722-E6C3-11D0-9E5D-00C04FB94FEF),
dual,
helpstring("IProperty Interface"),
pointer_default(unique)
]
interface IProperty : IDispatch
{
[propget, id(1), helpstring("Id of property")]
HRESULT Id([out, retval] long *plId);
[propget, id(2), helpstring("Name or property")]
HRESULT Name([out, retval] BSTR *pbstrName);
[propget, id(3), helpstring("Metabase attributes of property")]
HRESULT Attributes([out, retval] long *plAttributes);
[propput, id(3), helpstring("Metabase attributes of property")]
HRESULT Attributes([in] long lAttributes);
[propget, id(4), helpstring("Metabase UserType of property")]
HRESULT UserType([out, retval] long *plUserType);
[propput, id(4), helpstring("Metabase UserType of property")]
HRESULT UserType([in] long lUserType);
[propget, id(5), helpstring("Metabase DataType of property")]
HRESULT DataType([out, retval] long *plDataType);
[propput, id(5), helpstring("Metabase DataType of property")]
HRESULT DataType([in] long lDataType);
[propget, id(6), helpstring("Property data")]
HRESULT Data([out, retval] VARIANT *pvarData);
[propput, id(6), helpstring("Property data")]
HRESULT Data([in] VARIANT varData);
[id(7), helpstring("Write property to metabase")]
HRESULT Write();
};
[
object,
uuid(802D7470-E767-11D0-9E5D-00C04FB94FEF),
dual,
helpstring("IPropertyCollection Interface"),
pointer_default(unique)
]
interface IPropertyCollection : IDispatch
{
[propget, id(DISPID_VALUE), helpstring("Get a property by 1 based index")]
HRESULT Item([in] long lIndex, [out, retval] LPDISPATCH *ppIReturn);
[propget, id(1), helpstring("Count the properties")]
HRESULT Count([out, retval] long *plReturn);
[propget, id(DISPID_NEWENUM), restricted]
HRESULT _NewEnum([out, retval] LPUNKNOWN *ppIReturn);
[id(2), helpstring("Get a property by Id or Name")]
HRESULT Get([in] VARIANT varId, [out, retval] IProperty **ppIReturn);
[id(3), helpstring("Add a property to the collection's base key")]
HRESULT Add([in] VARIANT varId, [out, retval] IProperty **ppIReturn);
[id(4), helpstring("Delete a property from the collection's base key")]
HRESULT Remove([in] VARIANT varId);
};
[
object,
uuid(1C733DD0-E1B5-11D0-9E58-00C04FB94FEF),
dual,
helpstring("IKeyCollection Interface"),
pointer_default(unique)
]
interface IKeyCollection : IDispatch
{
[propget, id(DISPID_VALUE), helpstring("Get a key by 1 based index")]
HRESULT Item([in] long lIndex, [out, retval] BSTR *pbstrRetKey);
[propget, id(1), helpstring("Count the keys")]
HRESULT Count([out, retval] long *plReturn);
[propget, id(DISPID_NEWENUM), restricted]
HRESULT _NewEnum([out, retval] LPUNKNOWN *ppIReturn);
[id(2), helpstring("Create a key relative to the collection's base key")]
HRESULT Add([in] BSTR bstrRelKey);
[id(3), helpstring("Delete a key relative to the collection's base key")]
HRESULT Remove([in] BSTR bstrRelKey);
};
[
object,
uuid(B40F6F4D-E116-11D0-9E58-00C04FB94FEF),
dual,
helpstring("IMetaUtil Interface"),
pointer_default(unique)
]
interface IMetaUtil : IDispatch
{
[id(1), helpstring("Flat, non-recursive enumeration of keys")]
HRESULT EnumKeys([in] BSTR bstrBaseKey, [out, retval] IKeyCollection **ppIReturn);
[id(2), helpstring("Depth first, recursive enumeration of keys")]
HRESULT EnumAllKeys([in] BSTR bstrBaseKey, [out, retval] IKeyCollection **ppIReturn);
[id(3), helpstring("Enumerate properties of a key")]
HRESULT EnumProperties([in] BSTR bstrKey, [out, retval] IPropertyCollection **ppIReturn);
[id(4), helpstring("Create a key")]
HRESULT CreateKey([in] BSTR bstrKey);
[id(5), helpstring("Delete a key")]
HRESULT DeleteKey([in] BSTR bstrKey);
[id(6), helpstring("Rename a key")]
HRESULT RenameKey([in] BSTR bstrOldName, [in] BSTR bstrNewName);
[id(7), helpstring("Copy a key")]
HRESULT CopyKey([in] BSTR bstrSrcKey, [in] BSTR bstrDestKey, [in] BOOL fOverwrite);
[id(8), helpstring("Move a key")]
HRESULT MoveKey([in] BSTR bstrSrcKey, [in] BSTR bstrDestKey, [in] BOOL fOverwrite);
[id(9), helpstring("Get a property")]
HRESULT GetProperty([in] BSTR bstrKey, [in] VARIANT varId, [out, retval] IProperty **ppIReturn);
[id(10), helpstring("Create a property")]
HRESULT CreateProperty([in] BSTR bstrKey, [in] VARIANT varId, [out, retval] IProperty **ppIReturn);
[id(11), helpstring("Delete a property")]
HRESULT DeleteProperty([in] BSTR Key, [in] VARIANT varId);
[id(12), helpstring("Check a metabase schema for errors")]
HRESULT CheckSchema([in] BSTR bstrMachine, [out, retval] ICheckErrorCollection **ppIReturn);
[id(13), helpstring("Check a metabase key for errors")]
HRESULT CheckKey([in] BSTR bstrKey, [out, retval] ICheckErrorCollection **ppIReturn);
[id(14), helpstring("Expand an environment string")]
HRESULT ExpandString([in] BSTR bstrIn, [out, retval] BSTR *pbstrRet);
[id(15), helpstring("Translate a property id to a name")]
HRESULT PropIdToName([in] BSTR bstrKey, [in] long lId, [out, retval] BSTR *pbstrName);
[id(16), helpstring("Translate a property name to an id")]
HRESULT PropNameToId([in] BSTR bstrKey, [in] BSTR bstrName, [out, retval] long *plId);
[propget, id(17), helpstring("Get a configuration setting")]
HRESULT Config([in] BSTR bstrSetting, [out, retval] VARIANT *pvarValue);
[propput, id(17), helpstring("Set a configuration setting")]
HRESULT Config([in] BSTR bstrSetting, [in] VARIANT varValue);
};
[
uuid(B40F6F40-E116-11D0-9E58-00C04FB94FEF),
version(1.0),
helpstring("IISSample MetaUtil Object Library")
]
library MetaUtil
{
importlib("stdole2.tlb");
[
uuid(8C4B7ADF-E10B-11D0-9E58-00C04FB94FEF),
helpstring("MetaUtil Class")
]
coclass MetaUtil
{
[default] interface IMetaUtil;
};
[
uuid(A4FA4E19-EF45-11D0-9E65-00C04FB94FEF),
helpstring("CheckError Class")
]
coclass CheckError
{
[default] interface ICheckError;
};
};