//---------------------------------------------------------------------------
//
//  Microsoft Windows
//  Copyright (C) Microsoft Corporation, 1996
//
//  File:      user.odl
//
//  Contents:  User Interfaces
//
//----------------------------------------------------------------------------

[ uuid(OLEDS_IID_IADsUser), oleautomation, dual]
interface IADsUser : IADs
{
    PROPERTY_BSTR_RO(BadLoginAddress, DISPID_IADs_UPPER_BOUND +  39)
    PROPERTY_LONG_RO(BadLoginCount, DISPID_IADs_UPPER_BOUND +  40)
    PROPERTY_DATE_RO(LastLogin, DISPID_IADs_UPPER_BOUND +  42)
    PROPERTY_DATE_RO(LastLogoff, DISPID_IADs_UPPER_BOUND +  43)
    PROPERTY_DATE_RO(LastFailedLogin, DISPID_IADs_UPPER_BOUND + 44)
    PROPERTY_DATE_RO(PasswordLastChanged, DISPID_IADs_UPPER_BOUND +  45)
    PROPERTY_BSTR_RW(Description, DISPID_IADs_UPPER_BOUND + 1)
    PROPERTY_BSTR_RW(Division, DISPID_IADs_UPPER_BOUND +  5)
    PROPERTY_BSTR_RW(Department, DISPID_IADs_UPPER_BOUND +  108)
    PROPERTY_BSTR_RW(EmployeeID, DISPID_IADs_UPPER_BOUND + 6)
    PROPERTY_BSTR_RW(FullName, DISPID_IADs_UPPER_BOUND + 9)
    PROPERTY_BSTR_RW(FirstName, DISPID_IADs_UPPER_BOUND + 8)
    PROPERTY_BSTR_RW(LastName, DISPID_IADs_UPPER_BOUND + 11)
    PROPERTY_BSTR_RW(OtherName, DISPID_IADs_UPPER_BOUND + 13)
    PROPERTY_BSTR_RW(NamePrefix, DISPID_IADs_UPPER_BOUND + 100)
    PROPERTY_BSTR_RW(NameSuffix, DISPID_IADs_UPPER_BOUND + 101)
    PROPERTY_BSTR_RW(Title, DISPID_IADs_UPPER_BOUND + 22)
    PROPERTY_BSTR_RW(Manager, DISPID_IADs_UPPER_BOUND + 12)
    PROPERTY_VARIANT_RW(TelephoneHome, DISPID_IADs_UPPER_BOUND + 18)
    PROPERTY_VARIANT_RW(TelephoneMobile, DISPID_IADs_UPPER_BOUND + 19)
    PROPERTY_VARIANT_RW(TelephoneNumber, DISPID_IADs_UPPER_BOUND + 20)
    PROPERTY_VARIANT_RW(TelephonePager, DISPID_IADs_UPPER_BOUND + 3)
    PROPERTY_VARIANT_RW(FaxNumber, DISPID_IADs_UPPER_BOUND + 2)
    PROPERTY_VARIANT_RW(OfficeLocations, DISPID_IADs_UPPER_BOUND + 14)
    PROPERTY_VARIANT_RW(PostalAddresses, DISPID_IADs_UPPER_BOUND + 16)
    PROPERTY_VARIANT_RW(PostalCodes, DISPID_IADs_UPPER_BOUND + 17)
    PROPERTY_VARIANT_RW(SeeAlso, DISPID_IADs_UPPER_BOUND + 103)
    PROPERTY_VARIANT_BOOL_RW(AccountDisabled, DISPID_IADs_UPPER_BOUND +  23)
    PROPERTY_DATE_RW(AccountExpirationDate, DISPID_IADs_UPPER_BOUND +  24)
    PROPERTY_LONG_RW(GraceLoginsAllowed, DISPID_IADs_UPPER_BOUND +  27)
    PROPERTY_LONG_RW(GraceLoginsRemaining, DISPID_IADs_UPPER_BOUND +  28)
    PROPERTY_VARIANT_BOOL_RW(IsAccountLocked, DISPID_IADs_UPPER_BOUND +  29)
    PROPERTY_VARIANT_RW(LoginHours, DISPID_IADs_UPPER_BOUND +  31)
    PROPERTY_VARIANT_RW(LoginWorkstations, DISPID_IADs_UPPER_BOUND +  32)
    PROPERTY_LONG_RW(MaxLogins, DISPID_IADs_UPPER_BOUND +  33)
    PROPERTY_LONG_RW(MaxStorage, DISPID_IADs_UPPER_BOUND +  34)
    PROPERTY_DATE_RW(PasswordExpirationDate, DISPID_IADs_UPPER_BOUND +  35)
    PROPERTY_LONG_RW(PasswordMinimumLength, DISPID_IADs_UPPER_BOUND + 36)
    PROPERTY_VARIANT_BOOL_RW(PasswordRequired, DISPID_IADs_UPPER_BOUND +  37)
    PROPERTY_VARIANT_BOOL_RW(RequireUniquePassword, DISPID_IADs_UPPER_BOUND + 38)
    PROPERTY_BSTR_RW(EmailAddress, DISPID_IADs_UPPER_BOUND +  46)
    PROPERTY_BSTR_RW(HomeDirectory, DISPID_IADs_UPPER_BOUND +  47)
    PROPERTY_VARIANT_RW(Languages, DISPID_IADs_UPPER_BOUND +  48)
    PROPERTY_BSTR_RW(Profile, DISPID_IADs_UPPER_BOUND +  49)
    PROPERTY_BSTR_RW(LoginScript, DISPID_IADs_UPPER_BOUND +  50)
    PROPERTY_VARIANT_RW(Picture, DISPID_IADs_UPPER_BOUND +  51)
    PROPERTY_BSTR_RW(HomePage, DISPID_IADs_UPPER_BOUND +  106)

    //methods

    [id(DISPID_IADs_UPPER_BOUND + 52)]
    HRESULT
    Groups(
        [out,retval] IADsMembers **ppGroups
        );

    [id(DISPID_IADs_UPPER_BOUND + 53)]
    HRESULT
    SetPassword(
        [in] BSTR NewPassword
        );

    [id(DISPID_IADs_UPPER_BOUND + 54)]
    HRESULT
    ChangePassword(
        [in] BSTR bstrOldPassword,
        [in] BSTR bstrNewPassword
        );

};
