4.4.1 IADs<Class>

Every Active Directory object in Active Directory that supports object-specific properties mustsupport a COM interface of the name IADs<Class>.. The interface must be derived from IADs, In this manner, a single COM interface provides access to naming and cachingfor the component.

For example, the User component has a COM interface IADsUser. The interface has get_xxx and put_xxx methods for the properties defined by Active Directory for User objects and methods for setting and changing a user's password.

[ object, uuid(IID_IADsUser), oleautomation, dual ]

interface IADsUser: IADs

{

// Read/write properties

[propget]

HRESULT Description ([out, retval]BSTR *pbstrDescription);

[propput]

HRESULT Description ([in]BSTR bstrDescription);

[propget]

HRESULT Country ([out, retval]BSTR *pbstrCountry);

[propput]

HRESULT Country ([in]BSTR bstrCountry);

[propget]

HRESULT Division ([out, retval]BSTR *pbstrDivision);

[propput]

HRESULT Division ([in]BSTR bstrDivision);

// …many more peoperties omitted for brevity;s sake …

// Methods.

HRESULT SetPassword ([in]BSTR bstr NewPassword);

HRESULT ChangePassword ( [in]BSTR bstrOldPassword

[in]BSTR bstrNewPassword);

};