home *** CD-ROM | disk | FTP | other *** search
- //---------------------------------------------------------------------------
- //
- // Microsoft Windows
- // Copyright (C) Microsoft Corporation, 1996
- //
- // File: core.odl
- //
- // Contents: Core Interfaces
- //
- //----------------------------------------------------------------------------
-
- #define DISPID_NEWENUM -4
-
-
- //
- // The constants below are control codes acceptable for
- // IADs::PutEx functions
- //
-
- enum {
- ADS_PROPERTY_CLEAR=1,
- ADS_PROPERTY_UPDATE=2,
- ADS_PROPERTY_APPEND=3,
- ADS_PROPERTY_DELETE=4
-
- };
-
-
- [ uuid(OLEDS_IID_IADs), oleautomation, dual]
- interface IADs : IDispatch
- {
-
- PROPERTY_RO(Name, BSTR, 2)
- PROPERTY_RO(Class, BSTR, 3)
- PROPERTY_RO(GUID, BSTR, 4)
- PROPERTY_RO(ADsPath, BSTR, 5)
- PROPERTY_RO(Parent, BSTR, 6)
- PROPERTY_RO(Schema, BSTR, 7)
-
- [id(8)]
- HRESULT
- GetInfo();
-
- [id(9)]
- HRESULT
- SetInfo();
-
- [id(10)]
- HRESULT
- Get (
- [in] BSTR bstrName,
- [out, retval] VARIANT *pvProp
- );
-
- [id(11)]
- HRESULT
- Put (
- [in] BSTR bstrName,
- [in] VARIANT vProp
- );
-
- [id(12)]
- HRESULT
- GetEx(
- [in] BSTR bstrName,
- [out, retval] VARIANT *pvProp
- );
-
- [id(13)]
- HRESULT
- PutEx(
- [in] long lnControlCode,
- [in] BSTR bstrName,
- [in] VARIANT vProp
- );
-
- [id(14)]
- HRESULT
- GetInfoEx(
- [in] VARIANT vProperties,
- [in] long lnReserved
- );
-
-
- };
-
- [ uuid(OLEDS_IID_IADsContainer), oleautomation, dual]
- interface IADsContainer : IDispatch
- {
-
- [propget, id(2)]
- HRESULT
- Count(
- [out, retval] long *retval
- );
-
- [propget, restricted, id(DISPID_NEWENUM)] // Must be propget.
- HRESULT
- _NewEnum(
- [out, retval] IUnknown** retval
- );
-
- [propget, id(3)]
- HRESULT
- Filter(
- [out,retval] VARIANT *pVar
- );
-
- [propput, id(3)]
- HRESULT
- Filter(
- [in] VARIANT Var
- );
-
- [propget, id(4)]
- HRESULT
- Hints(
- [out,retval] VARIANT *pvFilter
- );
-
- [propput, id(4)]
- HRESULT
- Hints(
- [in] VARIANT vHints
- );
-
- [id(5)]
- HRESULT
- GetObject(
- [in] BSTR ClassName,
- [in] BSTR RelativeName,
- [out, retval] IDispatch **ppObject
- );
-
- [id(6)]
- HRESULT
- Create(
- [in]BSTR ClassName,
- [in] BSTR RelativeName,
- [out, retval] IDispatch **ppObject
- );
-
- [id(7)]
- HRESULT
- Delete(
- [in] BSTR bstrClassName,
- [in] BSTR bstrRelativeName
- );
-
- [id(8)]
- HRESULT
- CopyHere(
- [in] BSTR SourceName,
- [in] BSTR NewName,
- [retval, out] IDispatch **ppObject
- );
-
- [id(9)]
- HRESULT
- MoveHere(
- [in] BSTR SourceName,
- [in]BSTR NewName,
- [retval, out] IDispatch **ppObject
- );
- };
-
-
- [uuid(OLEDS_IID_IADsCollection), oleautomation, dual]
- interface IADsCollection: IDispatch
- {
-
- [id(DISPID_NEWENUM), propget]
- HRESULT
- _NewEnum(
- [out, retval] IUnknown **ppEnumerator
- );
-
- [id(4)]
- HRESULT
- Add(
- [in]BSTR bstrName,
- [in] VARIANT vItem
- );
-
- [id(5)]
- HRESULT
- Remove(
- [in] BSTR bstrItemToBeRemoved
- );
-
- [id(6)]
- HRESULT
- GetObject(
- [in] BSTR bstrName,
- [out, retval] VARIANT *pvItem
- );
-
- };
-
-
- [uuid(OLEDS_IID_IADsMembers), oleautomation, dual]
- interface IADsMembers: IDispatch
- {
- [id(2), propget]
- HRESULT
- Count(
- [out, retval] long *plCount
- );
-
- [id(DISPID_NEWENUM), propget]
- HRESULT
- _NewEnum(
- [out, retval] IUnknown **ppEnumerator
- );
-
- [id(3), propget]
- HRESULT
- Filter(
- [out, retval] VARIANT *pvFilter
- );
-
- [id(3), propput]
- HRESULT
- Filter(
- [in] VARIANT pvFilter
- );
- };
-
-
-
- [uuid(OLEDS_IID_IADsPropertyList), oleautomation, dual]
- interface IADsPropertyList: IDispatch
- {
- [id(2), propget]
- HRESULT
- PropertyCount(
- [out, retval] long *plCount
- );
-
- [id(3)]
- HRESULT
- Next(
- [out, retval] VARIANT *pVariant
- );
-
- [id(4)]
- HRESULT
- Skip([in] ULONG cElements);
-
- [id(5)]
- HRESULT
- Reset();
-
- [id(DISPID_VALUE)]
- HRESULT
- Item(
- [in] VARIANT varIndex,
- [out, retval] VARIANT *pVariant
- );
-
- [id(6)]
- HRESULT
- GetPropertyItem(
- [in] BSTR bstrName,
- [in] LONG lnADsType,
- [out, retval] VARIANT *pVariant
- );
-
- [id(7)]
- HRESULT
- PutPropertyItem(
- [in] VARIANT varData
- );
-
- [id(8)]
- HRESULT
- ResetPropertyItem(
- [in] VARIANT varEntry
- );
-
-
- [id(9)]
- HRESULT
- PurgePropertyList();
-
- };
-
-
-
-
-
-
-
- [uuid(OLEDS_IID_IADsPropertyEntry), oleautomation, dual]
- interface IADsPropertyEntry: IDispatch
- {
- [id(1)]
- HRESULT
- Clear();
-
- PROPERTY_BSTR_RW(Name, 2)
-
- PROPERTY_LONG_RW(ADsType, 3)
-
- PROPERTY_LONG_RW(ControlCode, 4)
-
- PROPERTY_VARIANT_RW(Values, 5)
-
- };
-
- [uuid(OLEDS_IID_IADsAttrInfo)]
- interface IADsAttrInfo: IUnknown
- {
- HRESULT
- ConvertAttrInfoToPropertyEntry(
- PADS_ATTR_INFO pAttrInfo
- );
-
- HRESULT
- ConvertPropertyEntryToAttrInfo(
- PADS_ATTR_INFO * ppAttrInfo
- );
- };
-
-
-
- [ uuid(OLEDS_CLSID_PropertyEntry)]
- coclass PropertyEntry
- {
- [default] interface IADsPropertyEntry;
- interface IDispatch;
- };
-
-
- [uuid(OLEDS_IID_IADsPropertyValue), oleautomation, dual]
- interface IADsPropertyValue: IDispatch
- {
-
- [id(1)]
- HRESULT
- Clear();
-
- PROPERTY_LONG_RW(ADsType, 2)
-
- PROPERTY_BSTR_RW(DNString, 3)
-
- PROPERTY_BSTR_RW(CaseExactString, 4)
-
- PROPERTY_BSTR_RW(CaseIgnoreString, 5)
-
- PROPERTY_BSTR_RW(PrintableString, 6)
-
- PROPERTY_BSTR_RW(NumericString, 7)
-
- PROPERTY_LONG_RW(Boolean, 8)
-
- PROPERTY_LONG_RW(Integer, 9)
-
- PROPERTY_VARIANT_RW(OctetString, 10)
-
- PROPERTY_DISPATCH_RW(SecurityDescriptor, 11)
-
- PROPERTY_DISPATCH_RW(LargeInteger, 12)
-
- PROPERTY_DATE_RW(UTCTime, 13)
- };
-
- [uuid(OLEDS_IID_IADsValue)]
- interface IADsValue: IUnknown
- {
- HRESULT
- ConvertADsValueToPropertyValue(
- PADSVALUE pADsValue
- );
-
- HRESULT
- ConvertPropertyValueToADsValue(
- PADSVALUE pADsValue
- );
- };
-
-
- [ uuid(OLEDS_CLSID_PropertyValue)]
- coclass PropertyValue
- {
- [default] interface IADsPropertyValue;
- interface IDispatch;
- };
-
-
-