home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tricks of the Windows Gam…ming Gurus (2nd Edition)
/
Disc2.iso
/
vc98
/
include
/
core.odl
< prev
next >
Wrap
Text File
|
1998-04-25
|
7KB
|
391 lines
//---------------------------------------------------------------------------
//
// 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;
};