Sweden-Number/include/iads.idl

493 lines
14 KiB
Plaintext

/*
* Copyright 2005 Francois Gouget
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
import "oaidl.idl";
typedef enum
{
ADS_RIGHT_DS_CREATE_CHILD = 0x00000001,
ADS_RIGHT_DS_DELETE_CHILD = 0x00000002,
ADS_RIGHT_ACTRL_DS_LIST = 0x00000004,
ADS_RIGHT_DS_SELF = 0x00000008,
ADS_RIGHT_DS_READ_PROP = 0x00000010,
ADS_RIGHT_DS_WRITE_PROP = 0x00000020,
ADS_RIGHT_DS_DELETE_TREE = 0x00000040,
ADS_RIGHT_DS_LIST_OBJECT = 0x00000080,
ADS_RIGHT_DS_CONTROL_ACCESS = 0x00000100,
ADS_RIGHT_DELETE = 0x00010000,
ADS_RIGHT_READ_CONTROL = 0x00020000,
ADS_RIGHT_WRITE_DAC = 0x00040000,
ADS_RIGHT_WRITE_OWNER = 0x00080000,
ADS_RIGHT_SYNCHRONIZE = 0x00100000,
ADS_RIGHT_ACCESS_SYSTEM_SECURITY = 0x00200000,
ADS_RIGHT_GENERIC_ALL = 0x10000000,
ADS_RIGHT_GENERIC_EXECUTE = 0x20000000,
ADS_RIGHT_GENERIC_WRITE = 0x40000000,
ADS_RIGHT_GENERIC_READ = 0x80000000
} ADS_RIGHTS_ENUM;
typedef enum
{
ADS_SECURE_AUTHENTICATION = 0x1,
ADS_USE_ENCRYPTION = 0x2,
ADS_USE_SSL = 0x2,
ADS_READONLY_SERVER = 0x4,
ADS_PROMPT_CREDENTIALS = 0x8,
ADS_NO_AUTHENTICATION = 0x10,
ADS_FAST_BIND = 0x20,
ADS_USE_SIGNING = 0x40,
ADS_USE_SEALING = 0x80,
ADS_USE_DELEGATION = 0x100,
ADS_SERVER_BIND = 0x200,
ADS_NO_REFERRAL_CHASING = 0x400,
ADS_AUTH_RESERVED = 0x80000000
} ADS_AUTHENTICATION_ENUM;
/*****************************************************************************
* IADsContainer interface
*/
[
object,
uuid(001677d0-fd16-11ce-abc4-02608c9e7553)
]
interface IADsContainer: IDispatch
{
[propget] HRESULT Count(
[out, retval] long *retval);
[propget, restricted] HRESULT _NewEnum(
[out, retval] IUnknown **retval);
[propget] HRESULT Filter(
[out, retval] VARIANT *pvFilter);
[propput] HRESULT Filter(
[in] VARIANT vFilter);
[propget] HRESULT Hints(
[out, retval] VARIANT *pvHints);
[propput] HRESULT Hints(
[in] VARIANT vHints);
HRESULT GetObject(
[in] BSTR bstrClassName,
[in] BSTR bstrRelativeName,
[out, retval] IDispatch **ppObject);
HRESULT Create(
[in] BSTR bstrClassName,
[in] BSTR bstrRelativeName,
[out, retval] IDispatch **ppObject);
HRESULT Delete(
[in] BSTR bstrClassName,
[in] BSTR bstrRelativeName);
HRESULT CopyHere(
[in] BSTR bstrSourceName,
[in] BSTR bstrNewName,
[out, retval] IDispatch **ppObject);
HRESULT MoveHere(
[in] BSTR bstrSourceName,
[in] BSTR bstrNewName,
[out, retval] IDispatch **ppObject);
}
/*****************************************************************************
* IADs interface
*/
[
odl,
uuid(FD8256D0-FD15-11CE-ABC4-02608C9E7553),
dual,
oleautomation
]
interface IADs : IDispatch
{
[id(0x00000002), propget]
HRESULT Name([out, retval] BSTR* retval);
[id(0x00000003), propget]
HRESULT Class([out, retval] BSTR* retval);
[id(0x00000004), propget]
HRESULT GUID([out, retval] BSTR* retval);
[id(0x00000005), propget]
HRESULT ADsPath([out, retval] BSTR* retval);
[id(0x00000006), propget]
HRESULT Parent([out, retval] BSTR* retval);
[id(0x00000007), propget]
HRESULT Schema([out, retval] BSTR* retval);
[id(0x00000008)]
HRESULT GetInfo();
[id(0x00000009)]
HRESULT SetInfo();
[id(0x0000000a)]
HRESULT Get([in] BSTR bstrName, [out, retval] VARIANT* pvProp);
[id(0x0000000b)]
HRESULT Put([in] BSTR bstrName, [in] VARIANT vProp);
[id(0x0000000c)]
HRESULT GetEx([in] BSTR bstrName, [out, retval] VARIANT* pvProp);
[id(0x0000000d)]
HRESULT PutEx([in] long lnControlCode, [in] BSTR bstrName, [in] VARIANT vProp);
[id(0x0000000e)]
HRESULT GetInfoEx( [in] VARIANT vProperties, [in] long lnReserved);
};
/*****************************************************************************
* IADsMembers interface
*/
[
odl,
uuid(451A0030-72EC-11CF-B03B-00AA006E0975),
dual,
oleautomation
]
interface IADsMembers : IDispatch
{
[id(0x00000002), propget]
HRESULT Count([out, retval] long* plCount);
[id(0xfffffffc), propget]
HRESULT _NewEnum([out, retval] IUnknown** ppEnumerator);
[id(0x00000003), propget]
HRESULT Filter([out, retval] VARIANT* pvFilter);
[id(0x00000003), propput]
HRESULT Filter([in] VARIANT pvFilter);
};
/*****************************************************************************
* IADsGroup interface
*/
[
odl,
uuid(27636B00-410F-11CF-B1FF-02608C9E7553),
dual,
oleautomation
]
interface IADsGroup : IADs {
[id(0x0000000f), propget]
HRESULT Description([out, retval] BSTR* retval);
[id(0x0000000f), propput]
HRESULT Description([in] BSTR retval);
[id(0x00000010)]
HRESULT Members([out, retval] IADsMembers** ppMembers);
[id(0x00000011)]
HRESULT IsMember([in] BSTR bstrMember, [out, retval] VARIANT_BOOL* bMember);
[id(0x00000012)]
HRESULT Add([in] BSTR bstrNewItem);
[id(0x00000013)]
HRESULT Remove([in] BSTR bstrItemToBeRemoved);
};
/*****************************************************************************
* IADsUser interface
*/
[
odl,
uuid(3E37E320-17E2-11CF-ABC4-02608C9E7553),
dual,
oleautomation
]
interface IADsUser : IADs
{
[id(0x00000035), propget]
HRESULT BadLoginAddress([out, retval] BSTR* retval);
[id(0x00000036), propget]
HRESULT BadLoginCount([out, retval] long* retval);
[id(0x00000038), propget]
HRESULT LastLogin([out, retval] DATE* retval);
[id(0x00000039), propget]
HRESULT LastLogoff([out, retval] DATE* retval);
[id(0x0000003a), propget]
HRESULT LastFailedLogin([out, retval] DATE* retval);
[id(0x0000003b), propget]
HRESULT PasswordLastChanged([out, retval] DATE* retval);
[id(0x0000000f), propget]
HRESULT Description([out, retval] BSTR* retval);
[id(0x0000000f), propput]
HRESULT Description([in] BSTR retval);
[id(0x00000013), propget]
HRESULT Division([out, retval] BSTR* retval);
[id(0x00000013), propput]
HRESULT Division([in] BSTR retval);
[id(0x0000007a), propget]
HRESULT Department([out, retval] BSTR* retval);
[id(0x0000007a), propput]
HRESULT Department([in] BSTR retval);
[id(0x00000014), propget]
HRESULT EmployeeID([out, retval] BSTR* retval);
[id(0x00000014), propput]
HRESULT EmployeeID([in] BSTR retval);
[id(0x00000017), propget]
HRESULT FullName([out, retval] BSTR* retval);
[id(0x00000017), propput]
HRESULT FullName([in] BSTR retval);
[id(0x00000016), propget]
HRESULT FirstName([out, retval] BSTR* retval);
[id(0x00000016), propput]
HRESULT FirstName([in] BSTR retval);
[id(0x00000019), propget]
HRESULT LastName([out, retval] BSTR* retval);
[id(0x00000019), propput]
HRESULT LastName([in] BSTR retval);
[id(0x0000001b), propget]
HRESULT OtherName([out, retval] BSTR* retval);
[id(0x0000001b), propput]
HRESULT OtherName([in] BSTR retval);
[id(0x00000072), propget]
HRESULT NamePrefix([out, retval] BSTR* retval);
[id(0x00000072), propput]
HRESULT NamePrefix([in] BSTR retval);
[id(0x00000073), propget]
HRESULT NameSuffix([out, retval] BSTR* retval);
[id(0x00000073), propput]
HRESULT NameSuffix([in] BSTR retval);
[id(0x00000024), propget]
HRESULT Title([out, retval] BSTR* retval);
[id(0x00000024), propput]
HRESULT Title([in] BSTR retval);
[id(0x0000001a), propget]
HRESULT Manager([out, retval] BSTR* retval);
[id(0x0000001a), propput]
HRESULT Manager([in] BSTR retval);
[id(0x00000020), propget]
HRESULT TelephoneHome([out, retval] VARIANT* retval);
[id(0x00000020), propput]
HRESULT TelephoneHome([in] VARIANT retval);
[id(0x00000021), propget]
HRESULT TelephoneMobile([out, retval] VARIANT* retval);
[id(0x00000021), propput]
HRESULT TelephoneMobile([in] VARIANT retval);
[id(0x00000022), propget]
HRESULT TelephoneNumber([out, retval] VARIANT* retval);
[id(0x00000022), propput]
HRESULT TelephoneNumber([in] VARIANT retval);
[id(0x00000011), propget]
HRESULT TelephonePager([out, retval] VARIANT* retval);
[id(0x00000011), propput]
HRESULT TelephonePager([in] VARIANT retval);
[id(0x00000010), propget]
HRESULT FaxNumber([out, retval] VARIANT* retval);
[id(0x00000010), propput]
HRESULT FaxNumber([in] VARIANT retval);
[id(0x0000001c), propget]
HRESULT OfficeLocations([out, retval] VARIANT* retval);
[id(0x0000001c), propput]
HRESULT OfficeLocations([in] VARIANT retval);
[id(0x0000001e), propget]
HRESULT PostalAddresses([out, retval] VARIANT* retval);
[id(0x0000001e), propput]
HRESULT PostalAddresses([in] VARIANT retval);
[id(0x0000001f), propget]
HRESULT PostalCodes([out, retval] VARIANT* retval);
[id(0x0000001f), propput]
HRESULT PostalCodes([in] VARIANT retval);
[id(0x00000075), propget]
HRESULT SeeAlso([out, retval] VARIANT* retval);
[id(0x00000075), propput]
HRESULT SeeAlso([in] VARIANT retval);
[id(0x00000025), propget]
HRESULT AccountDisabled([out, retval] VARIANT_BOOL* retval);
[id(0x00000025), propput]
HRESULT AccountDisabled([in] VARIANT_BOOL retval);
[id(0x00000026), propget]
HRESULT AccountExpirationDate([out, retval] DATE* retval);
[id(0x00000026), propput]
HRESULT AccountExpirationDate([in] DATE retval);
[id(0x00000029), propget]
HRESULT GraceLoginsAllowed([out, retval] long* retval);
[id(0x00000029), propput]
HRESULT GraceLoginsAllowed([in] long retval);
[id(0x0000002a), propget]
HRESULT GraceLoginsRemaining([out, retval] long* retval);
[id(0x0000002a), propput]
HRESULT GraceLoginsRemaining([in] long retval);
[id(0x0000002b), propget]
HRESULT IsAccountLocked([out, retval] VARIANT_BOOL* retval);
[id(0x0000002b), propput]
HRESULT IsAccountLocked([in] VARIANT_BOOL retval);
[id(0x0000002d), propget]
HRESULT LoginHours([out, retval] VARIANT* retval);
[id(0x0000002d), propput]
HRESULT LoginHours([in] VARIANT retval);
[id(0x0000002e), propget]
HRESULT LoginWorkstations([out, retval] VARIANT* retval);
[id(0x0000002e), propput]
HRESULT LoginWorkstations([in] VARIANT retval);
[id(0x0000002f), propget]
HRESULT MaxLogins([out, retval] long* retval);
[id(0x0000002f), propput]
HRESULT MaxLogins([in] long retval);
[id(0x00000030), propget]
HRESULT MaxStorage([out, retval] long* retval);
[id(0x00000030), propput]
HRESULT MaxStorage([in] long retval);
[id(0x00000031), propget]
HRESULT PasswordExpirationDate([out, retval] DATE* retval);
[id(0x00000031), propput]
HRESULT PasswordExpirationDate([in] DATE retval);
[id(0x00000032), propget]
HRESULT PasswordMinimumLength([out, retval] long* retval);
[id(0x00000032), propput]
HRESULT PasswordMinimumLength([in] long retval);
[id(0x00000033), propget]
HRESULT PasswordRequired([out, retval] VARIANT_BOOL* retval);
[id(0x00000033), propput]
HRESULT PasswordRequired([in] VARIANT_BOOL retval);
[id(0x00000034), propget]
HRESULT RequireUniquePassword([out, retval] VARIANT_BOOL* retval);
[id(0x00000034), propput]
HRESULT RequireUniquePassword([in] VARIANT_BOOL retval);
[id(0x0000003c), propget]
HRESULT EmailAddress([out, retval] BSTR* retval);
[id(0x0000003c), propput]
HRESULT EmailAddress([in] BSTR retval);
[id(0x0000003d), propget]
HRESULT HomeDirectory([out, retval] BSTR* retval);
[id(0x0000003d), propput]
HRESULT HomeDirectory([in] BSTR retval);
[id(0x0000003e), propget]
HRESULT Languages([out, retval] VARIANT* retval);
[id(0x0000003e), propput]
HRESULT Languages([in] VARIANT retval);
[id(0x0000003f), propget]
HRESULT Profile([out, retval] BSTR* retval);
[id(0x0000003f), propput]
HRESULT Profile([in] BSTR retval);
[id(0x00000040), propget]
HRESULT LoginScript([out, retval] BSTR* retval);
[id(0x00000040), propput]
HRESULT LoginScript([in] BSTR retval);
[id(0x00000041), propget]
HRESULT Picture([out, retval] VARIANT* retval);
[id(0x00000041), propput]
HRESULT Picture([in] VARIANT retval);
[id(0x00000078), propget]
HRESULT HomePage([out, retval] BSTR* retval);
[id(0x00000078), propput]
HRESULT HomePage([in] BSTR retval);
[id(0x00000042)]
HRESULT Groups([out, retval] IADsMembers** ppGroups);
[id(0x00000043)]
HRESULT SetPassword([in] BSTR NewPassword);
[id(0x00000044)]
HRESULT ChangePassword([in] BSTR bstrOldPassword, [in] BSTR bstrNewPassword);
};