JwaAdsTLB.pas
上传用户:davidchvip
上传日期:2009-07-28
资源大小:1749k
文件大小:371k
源码类别:

Windows编程

开发平台:

Delphi

  1. unit JwaAdsTLB;
  2. // ************************************************************************ //
  3. // WARNING                                                                    
  4. // -------                                                                    
  5. // The types declared in this file were generated from data read from a       
  6. // Type Library. If this type library is explicitly or indirectly (via        
  7. // another type library referring to this type library) re-imported, or the   
  8. // 'Refresh' command of the Type Library Editor activated while editing the   
  9. // Type Library, the contents of this file will be regenerated and all        
  10. // manual modifications will be lost.                                         
  11. // ************************************************************************ //
  12. // PASTLWTR : $Revision:   1.88.1.0.1.0  $
  13. // File generated on 9/25/2000 11:37:09 AM from Type Library described below.
  14. // *************************************************************************//
  15. // NOTE:                                                                      
  16. // Items guarded by $IFDEF_LIVE_SERVER_AT_DESIGN_TIME are used by properties  
  17. // which return objects that may need to be explicitly created via a function 
  18. // call prior to any access via the property. These items have been disabled  
  19. // in order to prevent accidental use from within the object inspector. You   
  20. // may enable them by defining LIVE_SERVER_AT_DESIGN_TIME or by selectively   
  21. // removing them from the $IFDEF blocks. However, such items must still be    
  22. // programmatically created via a method of the appropriate CoClass before    
  23. // they can be used.                                                          
  24. // ************************************************************************ //
  25. // Type Lib: C:WINNTsystem32activeds.tlb (1)
  26. // IIDLCID: {97D25DB0-0363-11CF-ABC4-02608C9E7553}
  27. // Helpfile: 
  28. // DepndLst: 
  29. //   (1) v2.0 stdole, (C:WINNTSystem32stdole2.tlb)
  30. //   (2) v4.0 StdVCL, (C:WINNTSystem32STDVCL40.DLL)
  31. // Errors:
  32. //   Hint: Member 'String' of '_ADS_CASEIGNORE_LIST' changed to 'String_'
  33. //   Hint: Member 'Type' of '__MIDL___MIDL_itf_ads_0000_0005' changed to 'Type_'
  34. //   Hint: Member 'Type' of '__MIDL___MIDL_itf_ads_0000_0014' changed to 'Type_'
  35. //   Hint: Member 'Class' of 'IADs' changed to 'Class_'
  36. //   Hint: Member 'Set' of 'IADsNameTranslate' changed to 'Set_'
  37. //   Hint: Member 'Type' of 'IADsEmail' changed to 'Type_'
  38. //   Hint: Member 'Type' of 'IADsPath' changed to 'Type_'
  39. //   Hint: Member 'Set' of 'IADsPathname' changed to 'Set_'
  40. //   Error creating palette bitmap of (TPropertyEntry) : Server activeds.dll contains no icons
  41. //   Error creating palette bitmap of (TPropertyValue) : Server activeds.dll contains no icons
  42. //   Error creating palette bitmap of (TAccessControlEntry) : Server activeds.dll contains no icons
  43. //   Error creating palette bitmap of (TAccessControlList) : Server activeds.dll contains no icons
  44. //   Error creating palette bitmap of (TSecurityDescriptor) : Server activeds.dll contains no icons
  45. //   Error creating palette bitmap of (TLargeInteger) : Server activeds.dll contains no icons
  46. //   Error creating palette bitmap of (TNameTranslate) : Server activeds.dll contains no icons
  47. //   Error creating palette bitmap of (TCaseIgnoreList) : Server activeds.dll contains no icons
  48. //   Error creating palette bitmap of (TFaxNumber) : Server activeds.dll contains no icons
  49. //   Error creating palette bitmap of (TNetAddress) : Server activeds.dll contains no icons
  50. //   Error creating palette bitmap of (TOctetList) : Server activeds.dll contains no icons
  51. //   Error creating palette bitmap of (TEmail) : Server activeds.dll contains no icons
  52. //   Error creating palette bitmap of (TPath) : Server activeds.dll contains no icons
  53. //   Error creating palette bitmap of (TReplicaPointer) : Server activeds.dll contains no icons
  54. //   Error creating palette bitmap of (TAcl) : Server activeds.dll contains no icons
  55. //   Error creating palette bitmap of (TTimestamp) : Server activeds.dll contains no icons
  56. //   Error creating palette bitmap of (TPostalAddress) : Server activeds.dll contains no icons
  57. //   Error creating palette bitmap of (TBackLink) : Server activeds.dll contains no icons
  58. //   Error creating palette bitmap of (TTypedName) : Server activeds.dll contains no icons
  59. //   Error creating palette bitmap of (THold) : Server activeds.dll contains no icons
  60. //   Error creating palette bitmap of (TPathname) : Server activeds.dll contains no icons
  61. //   Error creating palette bitmap of (TADSystemInfo) : Server activeds.dll contains no icons
  62. //   Error creating palette bitmap of (TWinNTSystemInfo) : Server activeds.dll contains no icons
  63. //   Error creating palette bitmap of (TDNWithBinary) : Server activeds.dll contains no icons
  64. //   Error creating palette bitmap of (TDNWithString) : Server activeds.dll contains no icons
  65. // ************************************************************************ //
  66. {$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers. 
  67. interface
  68. uses Windows, ActiveX, Classes, Graphics, OleServer, OleCtrls, StdVCL;
  69. // *********************************************************************//
  70. // GUIDS declared in the TypeLibrary. Following prefixes are used:        
  71. //   Type Libraries     : LIBID_xxxx                                      
  72. //   CoClasses          : CLASS_xxxx                                      
  73. //   DISPInterfaces     : DIID_xxxx                                       
  74. //   Non-DISP interfaces: IID_xxxx                                        
  75. // *********************************************************************//
  76. const
  77.   // TypeLibrary Major and minor versions
  78.   ActiveDsMajorVersion = 1;
  79.   ActiveDsMinorVersion = 0;
  80.   LIBID_ActiveDs: TGUID = '{97D25DB0-0363-11CF-ABC4-02608C9E7553}';
  81.   IID_IADs: TGUID = '{FD8256D0-FD15-11CE-ABC4-02608C9E7553}';
  82.   IID_IADsContainer: TGUID = '{001677D0-FD16-11CE-ABC4-02608C9E7553}';
  83.   IID_IADsCollection: TGUID = '{72B945E0-253B-11CF-A988-00AA006BC149}';
  84.   IID_IADsMembers: TGUID = '{451A0030-72EC-11CF-B03B-00AA006E0975}';
  85.   IID_IADsPropertyList: TGUID = '{C6F602B6-8F69-11D0-8528-00C04FD8D503}';
  86.   IID_IADsPropertyEntry: TGUID = '{05792C8E-941F-11D0-8529-00C04FD8D503}';
  87.   CLASS_PropertyEntry: TGUID = '{72D3EDC2-A4C4-11D0-8533-00C04FD8D503}';
  88.   IID_IADsPropertyValue: TGUID = '{79FA9AD0-A97C-11D0-8534-00C04FD8D503}';
  89.   IID_IADsPropertyValue2: TGUID = '{306E831C-5BC7-11D1-A3B8-00C04FB950DC}';
  90.   CLASS_PropertyValue: TGUID = '{7B9E38B0-A97C-11D0-8534-00C04FD8D503}';
  91.   IID_IPrivateDispatch: TGUID = '{86AB4BBE-65F6-11D1-8C13-00C04FD8D503}';
  92.   IID_ITypeInfo: TGUID = '{00020401-0000-0000-C000-000000000046}';
  93.   IID_ITypeComp: TGUID = '{00020403-0000-0000-C000-000000000046}';
  94.   IID_ITypeLib: TGUID = '{00020402-0000-0000-C000-000000000046}';
  95.   IID_IPrivateUnknown: TGUID = '{89126BAB-6EAD-11D1-8C18-00C04FD8D503}';
  96.   IID_IADsExtension: TGUID = '{3D35553C-D2B0-11D1-B17B-0000F87593A0}';
  97.   IID_IADsDeleteOps: TGUID = '{B2BD0902-8878-11D1-8C21-00C04FD8D503}';
  98.   IID_IADsNamespaces: TGUID = '{28B96BA0-B330-11CF-A9AD-00AA006BC149}';
  99.   IID_IADsClass: TGUID = '{C8F93DD0-4AE0-11CF-9E73-00AA004A5691}';
  100.   IID_IADsProperty: TGUID = '{C8F93DD3-4AE0-11CF-9E73-00AA004A5691}';
  101.   IID_IADsSyntax: TGUID = '{C8F93DD2-4AE0-11CF-9E73-00AA004A5691}';
  102.   IID_IADsLocality: TGUID = '{A05E03A2-EFFE-11CF-8ABC-00C04FD8D503}';
  103.   IID_IADsO: TGUID = '{A1CD2DC6-EFFE-11CF-8ABC-00C04FD8D503}';
  104.   IID_IADsOU: TGUID = '{A2F733B8-EFFE-11CF-8ABC-00C04FD8D503}';
  105.   IID_IADsDomain: TGUID = '{00E4C220-FD16-11CE-ABC4-02608C9E7553}';
  106.   IID_IADsComputer: TGUID = '{EFE3CC70-1D9F-11CF-B1F3-02608C9E7553}';
  107.   IID_IADsComputerOperations: TGUID = '{EF497680-1D9F-11CF-B1F3-02608C9E7553}';
  108.   IID_IADsGroup: TGUID = '{27636B00-410F-11CF-B1FF-02608C9E7553}';
  109.   IID_IADsUser: TGUID = '{3E37E320-17E2-11CF-ABC4-02608C9E7553}';
  110.   IID_IADsPrintQueue: TGUID = '{B15160D0-1226-11CF-A985-00AA006BC149}';
  111.   IID_IADsPrintQueueOperations: TGUID = '{124BE5C0-156E-11CF-A986-00AA006BC149}';
  112.   IID_IADsPrintJob: TGUID = '{32FB6780-1ED0-11CF-A988-00AA006BC149}';
  113.   IID_IADsPrintJobOperations: TGUID = '{9A52DB30-1ECF-11CF-A988-00AA006BC149}';
  114.   IID_IADsService: TGUID = '{68AF66E0-31CA-11CF-A98A-00AA006BC149}';
  115.   IID_IADsServiceOperations: TGUID = '{5D7B33F0-31CA-11CF-A98A-00AA006BC149}';
  116.   IID_IADsFileService: TGUID = '{A89D1900-31CA-11CF-A98A-00AA006BC149}';
  117.   IID_IADsFileServiceOperations: TGUID = '{A02DED10-31CA-11CF-A98A-00AA006BC149}';
  118.   IID_IADsFileShare: TGUID = '{EB6DCAF0-4B83-11CF-A995-00AA006BC149}';
  119.   IID_IADsSession: TGUID = '{398B7DA0-4AAB-11CF-AE2C-00AA006EBFB9}';
  120.   IID_IADsResource: TGUID = '{34A05B20-4AAB-11CF-AE2C-00AA006EBFB9}';
  121.   IID_IADsOpenDSObject: TGUID = '{DDF2891E-0F9C-11D0-8AD4-00C04FD8D503}';
  122.   IID_IDirectoryObject: TGUID = '{E798DE2C-22E4-11D0-84FE-00C04FD8D503}';
  123.   IID_IDirectorySearch: TGUID = '{109BA8EC-92F0-11D0-A790-00C04FD8D5A8}';
  124.   IID_IDirectorySchemaMgmt: TGUID = '{75DB3B9C-A4D8-11D0-A79C-00C04FD8D5A8}';
  125.   IID_IADsAggregatee: TGUID = '{1346CE8C-9039-11D0-8528-00C04FD8D503}';
  126.   IID_IADsAggregator: TGUID = '{52DB5FB0-941F-11D0-8529-00C04FD8D503}';
  127.   IID_IADsAccessControlEntry: TGUID = '{B4F3A14C-9BDD-11D0-852C-00C04FD8D503}';
  128.   CLASS_AccessControlEntry: TGUID = '{B75AC000-9BDD-11D0-852C-00C04FD8D503}';
  129.   IID_IADsAccessControlList: TGUID = '{B7EE91CC-9BDD-11D0-852C-00C04FD8D503}';
  130.   CLASS_AccessControlList: TGUID = '{B85EA052-9BDD-11D0-852C-00C04FD8D503}';
  131.   IID_IADsSecurityDescriptor: TGUID = '{B8C787CA-9BDD-11D0-852C-00C04FD8D503}';
  132.   CLASS_SecurityDescriptor: TGUID = '{B958F73C-9BDD-11D0-852C-00C04FD8D503}';
  133.   IID_IADsLargeInteger: TGUID = '{9068270B-0939-11D1-8BE1-00C04FD8D503}';
  134.   CLASS_LargeInteger: TGUID = '{927971F5-0939-11D1-8BE1-00C04FD8D503}';
  135.   IID_IADsNameTranslate: TGUID = '{B1B272A3-3625-11D1-A3A4-00C04FB950DC}';
  136.   CLASS_NameTranslate: TGUID = '{274FAE1F-3626-11D1-A3A4-00C04FB950DC}';
  137.   IID_IADsCaseIgnoreList: TGUID = '{7B66B533-4680-11D1-A3B4-00C04FB950DC}';
  138.   CLASS_CaseIgnoreList: TGUID = '{15F88A55-4680-11D1-A3B4-00C04FB950DC}';
  139.   IID_IADsFaxNumber: TGUID = '{A910DEA9-4680-11D1-A3B4-00C04FB950DC}';
  140.   CLASS_FaxNumber: TGUID = '{A5062215-4681-11D1-A3B4-00C04FB950DC}';
  141.   IID_IADsNetAddress: TGUID = '{B21A50A9-4080-11D1-A3AC-00C04FB950DC}';
  142.   CLASS_NetAddress: TGUID = '{B0B71247-4080-11D1-A3AC-00C04FB950DC}';
  143.   IID_IADsOctetList: TGUID = '{7B28B80F-4680-11D1-A3B4-00C04FB950DC}';
  144.   CLASS_OctetList: TGUID = '{1241400F-4680-11D1-A3B4-00C04FB950DC}';
  145.   IID_IADsEmail: TGUID = '{97AF011A-478E-11D1-A3B4-00C04FB950DC}';
  146.   CLASS_Email: TGUID = '{8F92A857-478E-11D1-A3B4-00C04FB950DC}';
  147.   IID_IADsPath: TGUID = '{B287FCD5-4080-11D1-A3AC-00C04FB950DC}';
  148.   CLASS_Path: TGUID = '{B2538919-4080-11D1-A3AC-00C04FB950DC}';
  149.   IID_IADsReplicaPointer: TGUID = '{F60FB803-4080-11D1-A3AC-00C04FB950DC}';
  150.   CLASS_ReplicaPointer: TGUID = '{F5D1BADF-4080-11D1-A3AC-00C04FB950DC}';
  151.   IID_IADsAcl: TGUID = '{8452D3AB-0869-11D1-A377-00C04FB950DC}';
  152.   CLASS_Acl: TGUID = '{7AF1EFB6-0869-11D1-A377-00C04FB950DC}';
  153.   IID_IADsTimestamp: TGUID = '{B2F5A901-4080-11D1-A3AC-00C04FB950DC}';
  154.   CLASS_Timestamp: TGUID = '{B2BED2EB-4080-11D1-A3AC-00C04FB950DC}';
  155.   IID_IADsPostalAddress: TGUID = '{7ADECF29-4680-11D1-A3B4-00C04FB950DC}';
  156.   CLASS_PostalAddress: TGUID = '{0A75AFCD-4680-11D1-A3B4-00C04FB950DC}';
  157.   IID_IADsBackLink: TGUID = '{FD1302BD-4080-11D1-A3AC-00C04FB950DC}';
  158.   CLASS_BackLink: TGUID = '{FCBF906F-4080-11D1-A3AC-00C04FB950DC}';
  159.   IID_IADsTypedName: TGUID = '{B371A349-4080-11D1-A3AC-00C04FB950DC}';
  160.   CLASS_TypedName: TGUID = '{B33143CB-4080-11D1-A3AC-00C04FB950DC}';
  161.   IID_IADsHold: TGUID = '{B3EB3B37-4080-11D1-A3AC-00C04FB950DC}';
  162.   CLASS_Hold: TGUID = '{B3AD3E13-4080-11D1-A3AC-00C04FB950DC}';
  163.   IID_IADsObjectOptions: TGUID = '{46F14FDA-232B-11D1-A808-00C04FD8D5A8}';
  164.   IID_IADsPathname: TGUID = '{D592AED4-F420-11D0-A36E-00C04FB950DC}';
  165.   CLASS_Pathname: TGUID = '{080D0D78-F421-11D0-A36E-00C04FB950DC}';
  166.   IID_IADsADSystemInfo: TGUID = '{5BB11929-AFD1-11D2-9CB9-0000F87A369E}';
  167.   CLASS_ADSystemInfo: TGUID = '{50B6327F-AFD1-11D2-9CB9-0000F87A369E}';
  168.   IID_IADsWinNTSystemInfo: TGUID = '{6C6D65DC-AFD1-11D2-9CB9-0000F87A369E}';
  169.   CLASS_WinNTSystemInfo: TGUID = '{66182EC4-AFD1-11D2-9CB9-0000F87A369E}';
  170.   IID_IADsDNWithBinary: TGUID = '{7E99C0A2-F935-11D2-BA96-00C04FB6D0D1}';
  171.   CLASS_DNWithBinary: TGUID = '{7E99C0A3-F935-11D2-BA96-00C04FB6D0D1}';
  172.   IID_IADsDNWithString: TGUID = '{370DF02E-F934-11D2-BA96-00C04FB6D0D1}';
  173.   CLASS_DNWithString: TGUID = '{334857CC-F934-11D2-BA96-00C04FB6D0D1}';
  174. // *********************************************************************//
  175. // Declaration of Enumerations defined in Type Library                    
  176. // *********************************************************************//
  177. // Constants for enum __MIDL___MIDL_itf_ads_0000_0001
  178. type
  179.   __MIDL___MIDL_itf_ads_0000_0001 = TOleEnum;
  180. const
  181.   ADSTYPE_INVALID = $00000000;
  182.   ADSTYPE_DN_STRING = $00000001;
  183.   ADSTYPE_CASE_EXACT_STRING = $00000002;
  184.   ADSTYPE_CASE_IGNORE_STRING = $00000003;
  185.   ADSTYPE_PRINTABLE_STRING = $00000004;
  186.   ADSTYPE_NUMERIC_STRING = $00000005;
  187.   ADSTYPE_BOOLEAN = $00000006;
  188.   ADSTYPE_INTEGER = $00000007;
  189.   ADSTYPE_OCTET_STRING = $00000008;
  190.   ADSTYPE_UTC_TIME = $00000009;
  191.   ADSTYPE_LARGE_INTEGER = $0000000A;
  192.   ADSTYPE_PROV_SPECIFIC = $0000000B;
  193.   ADSTYPE_OBJECT_CLASS = $0000000C;
  194.   ADSTYPE_CASEIGNORE_LIST = $0000000D;
  195.   ADSTYPE_OCTET_LIST = $0000000E;
  196.   ADSTYPE_PATH = $0000000F;
  197.   ADSTYPE_POSTALADDRESS = $00000010;
  198.   ADSTYPE_TIMESTAMP = $00000011;
  199.   ADSTYPE_BACKLINK = $00000012;
  200.   ADSTYPE_TYPEDNAME = $00000013;
  201.   ADSTYPE_HOLD = $00000014;
  202.   ADSTYPE_NETADDRESS = $00000015;
  203.   ADSTYPE_REPLICAPOINTER = $00000016;
  204.   ADSTYPE_FAXNUMBER = $00000017;
  205.   ADSTYPE_EMAIL = $00000018;
  206.   ADSTYPE_NT_SECURITY_DESCRIPTOR = $00000019;
  207.   ADSTYPE_UNKNOWN = $0000001A;
  208.   ADSTYPE_DN_WITH_BINARY = $0000001B;
  209.   ADSTYPE_DN_WITH_STRING = $0000001C;
  210. // Constants for enum __MIDL___MIDL_itf_ads_0000_0018
  211. type
  212.   __MIDL___MIDL_itf_ads_0000_0018 = TOleEnum;
  213. const
  214.   ADS_SECURE_AUTHENTICATION = $00000001;
  215.   ADS_USE_ENCRYPTION = $00000002;
  216.   ADS_USE_SSL = $00000002;
  217.   ADS_READONLY_SERVER = $00000004;
  218.   ADS_PROMPT_CREDENTIALS = $00000008;
  219.   ADS_NO_AUTHENTICATION = $00000010;
  220.   ADS_FAST_BIND = $00000020;
  221.   ADS_USE_SIGNING = $00000040;
  222.   ADS_USE_SEALING = $00000080;
  223.   ADS_USE_DELEGATION = $00000100;
  224.   ADS_AUTH_RESERVED = $80000000;
  225. // Constants for enum __MIDL___MIDL_itf_ads_0000_0019
  226. type
  227.   __MIDL___MIDL_itf_ads_0000_0019 = TOleEnum;
  228. const
  229.   ADS_STATUS_S_OK = $00000000;
  230.   ADS_STATUS_INVALID_SEARCHPREF = $00000001;
  231.   ADS_STATUS_INVALID_SEARCHPREFVALUE = $00000002;
  232. // Constants for enum __MIDL___MIDL_itf_ads_0000_0020
  233. type
  234.   __MIDL___MIDL_itf_ads_0000_0020 = TOleEnum;
  235. const
  236.   ADS_DEREF_NEVER = $00000000;
  237.   ADS_DEREF_SEARCHING = $00000001;
  238.   ADS_DEREF_FINDING = $00000002;
  239.   ADS_DEREF_ALWAYS = $00000003;
  240. // Constants for enum __MIDL___MIDL_itf_ads_0000_0021
  241. type
  242.   __MIDL___MIDL_itf_ads_0000_0021 = TOleEnum;
  243. const
  244.   ADS_SCOPE_BASE = $00000000;
  245.   ADS_SCOPE_ONELEVEL = $00000001;
  246.   ADS_SCOPE_SUBTREE = $00000002;
  247. // Constants for enum __MIDL___MIDL_itf_ads_0000_0022
  248. type
  249.   __MIDL___MIDL_itf_ads_0000_0022 = TOleEnum;
  250. const
  251.   ADSIPROP_ASYNCHRONOUS = $00000000;
  252.   ADSIPROP_DEREF_ALIASES = $00000001;
  253.   ADSIPROP_SIZE_LIMIT = $00000002;
  254.   ADSIPROP_TIME_LIMIT = $00000003;
  255.   ADSIPROP_ATTRIBTYPES_ONLY = $00000004;
  256.   ADSIPROP_SEARCH_SCOPE = $00000005;
  257.   ADSIPROP_TIMEOUT = $00000006;
  258.   ADSIPROP_PAGESIZE = $00000007;
  259.   ADSIPROP_PAGED_TIME_LIMIT = $00000008;
  260.   ADSIPROP_CHASE_REFERRALS = $00000009;
  261.   ADSIPROP_SORT_ON = $0000000A;
  262.   ADSIPROP_CACHE_RESULTS = $0000000B;
  263.   ADSIPROP_ADSIFLAG = $0000000C;
  264. // Constants for enum __MIDL___MIDL_itf_ads_0000_0023
  265. type
  266.   __MIDL___MIDL_itf_ads_0000_0023 = TOleEnum;
  267. const
  268.   ADSI_DIALECT_LDAP = $00000000;
  269.   ADSI_DIALECT_SQL = $00000001;
  270. // Constants for enum __MIDL___MIDL_itf_ads_0000_0024
  271. type
  272.   __MIDL___MIDL_itf_ads_0000_0024 = TOleEnum;
  273. const
  274.   ADS_CHASE_REFERRALS_NEVER = $00000000;
  275.   ADS_CHASE_REFERRALS_SUBORDINATE = $00000020;
  276.   ADS_CHASE_REFERRALS_EXTERNAL = $00000040;
  277.   ADS_CHASE_REFERRALS_ALWAYS = $00000060;
  278. // Constants for enum __MIDL___MIDL_itf_ads_0000_0025
  279. type
  280.   __MIDL___MIDL_itf_ads_0000_0025 = TOleEnum;
  281. const
  282.   ADS_SEARCHPREF_ASYNCHRONOUS = $00000000;
  283.   ADS_SEARCHPREF_DEREF_ALIASES = $00000001;
  284.   ADS_SEARCHPREF_SIZE_LIMIT = $00000002;
  285.   ADS_SEARCHPREF_TIME_LIMIT = $00000003;
  286.   ADS_SEARCHPREF_ATTRIBTYPES_ONLY = $00000004;
  287.   ADS_SEARCHPREF_SEARCH_SCOPE = $00000005;
  288.   ADS_SEARCHPREF_TIMEOUT = $00000006;
  289.   ADS_SEARCHPREF_PAGESIZE = $00000007;
  290.   ADS_SEARCHPREF_PAGED_TIME_LIMIT = $00000008;
  291.   ADS_SEARCHPREF_CHASE_REFERRALS = $00000009;
  292.   ADS_SEARCHPREF_SORT_ON = $0000000A;
  293.   ADS_SEARCHPREF_CACHE_RESULTS = $0000000B;
  294.   ADS_SEARCHPREF_DIRSYNC = $0000000C;
  295.   ADS_SEARCHPREF_TOMBSTONE = $0000000D;
  296. // Constants for enum __MIDL___MIDL_itf_ads_0000_0026
  297. type
  298.   __MIDL___MIDL_itf_ads_0000_0026 = TOleEnum;
  299. const
  300.   ADS_PROPERTY_CLEAR = $00000001;
  301.   ADS_PROPERTY_UPDATE = $00000002;
  302.   ADS_PROPERTY_APPEND = $00000003;
  303.   ADS_PROPERTY_DELETE = $00000004;
  304. // Constants for enum tagTYPEKIND
  305. type
  306.   tagTYPEKIND = TOleEnum;
  307. const
  308.   TKIND_ENUM = $00000000;
  309.   TKIND_RECORD = $00000001;
  310.   TKIND_MODULE = $00000002;
  311.   TKIND_INTERFACE = $00000003;
  312.   TKIND_DISPATCH = $00000004;
  313.   TKIND_COCLASS = $00000005;
  314.   TKIND_ALIAS = $00000006;
  315.   TKIND_UNION = $00000007;
  316.   TKIND_MAX = $00000008;
  317. // Constants for enum tagDESCKIND
  318. type
  319.   tagDESCKIND = TOleEnum;
  320. const
  321.   DESCKIND_NONE = $00000000;
  322.   DESCKIND_FUNCDESC = $00000001;
  323.   DESCKIND_VARDESC = $00000002;
  324.   DESCKIND_TYPECOMP = $00000003;
  325.   DESCKIND_IMPLICITAPPOBJ = $00000004;
  326.   DESCKIND_MAX = $00000005;
  327. // Constants for enum tagFUNCKIND
  328. type
  329.   tagFUNCKIND = TOleEnum;
  330. const
  331.   FUNC_VIRTUAL = $00000000;
  332.   FUNC_PUREVIRTUAL = $00000001;
  333.   FUNC_NONVIRTUAL = $00000002;
  334.   FUNC_STATIC = $00000003;
  335.   FUNC_DISPATCH = $00000004;
  336. // Constants for enum tagINVOKEKIND
  337. type
  338.   tagINVOKEKIND = TOleEnum;
  339. const
  340.   INVOKE_FUNC = $00000001;
  341.   INVOKE_PROPERTYGET = $00000002;
  342.   INVOKE_PROPERTYPUT = $00000004;
  343.   INVOKE_PROPERTYPUTREF = $00000008;
  344. // Constants for enum tagCALLCONV
  345. type
  346.   tagCALLCONV = TOleEnum;
  347. const
  348.   CC_FASTCALL = $00000000;
  349.   CC_CDECL = $00000001;
  350.   CC_MSCPASCAL = $00000002;
  351.   CC_PASCAL = $00000002;
  352.   CC_MACPASCAL = $00000003;
  353.   CC_STDCALL = $00000004;
  354.   CC_FPFASTCALL = $00000005;
  355.   CC_SYSCALL = $00000006;
  356.   CC_MPWCDECL = $00000007;
  357.   CC_MPWPASCAL = $00000008;
  358.   CC_MAX = $00000009;
  359. // Constants for enum tagVARKIND
  360. type
  361.   tagVARKIND = TOleEnum;
  362. const
  363.   VAR_PERINSTANCE = $00000000;
  364.   VAR_STATIC = $00000001;
  365.   VAR_CONST = $00000002;
  366.   VAR_DISPATCH = $00000003;
  367. // Constants for enum tagSYSKIND
  368. type
  369.   tagSYSKIND = TOleEnum;
  370. const
  371.   SYS_WIN16 = $00000000;
  372.   SYS_WIN32 = $00000001;
  373.   SYS_MAC = $00000002;
  374.   SYS_WIN64 = $00000001;
  375. // Constants for enum __MIDL___MIDL_itf_ads_0120_0001
  376. type
  377.   __MIDL___MIDL_itf_ads_0120_0001 = TOleEnum;
  378. const
  379.   ADS_SYSTEMFLAG_DISALLOW_DELETE = $80000000;
  380.   ADS_SYSTEMFLAG_CONFIG_ALLOW_RENAME = $40000000;
  381.   ADS_SYSTEMFLAG_CONFIG_ALLOW_MOVE = $20000000;
  382.   ADS_SYSTEMFLAG_CONFIG_ALLOW_LIMITED_MOVE = $10000000;
  383.   ADS_SYSTEMFLAG_DOMAIN_DISALLOW_RENAME = $08000000;
  384.   ADS_SYSTEMFLAG_DOMAIN_DISALLOW_MOVE = $04000000;
  385.   ADS_SYSTEMFLAG_CR_NTDS_NC = $00000001;
  386.   ADS_SYSTEMFLAG_CR_NTDS_DOMAIN = $00000002;
  387.   ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED = $00000001;
  388.   ADS_SYSTEMFLAG_ATTR_IS_CONSTRUCTED = $00000004;
  389. // Constants for enum __MIDL___MIDL_itf_ads_0126_0001
  390. type
  391.   __MIDL___MIDL_itf_ads_0126_0001 = TOleEnum;
  392. const
  393.   ADS_GROUP_TYPE_GLOBAL_GROUP = $00000002;
  394.   ADS_GROUP_TYPE_DOMAIN_LOCAL_GROUP = $00000004;
  395.   ADS_GROUP_TYPE_LOCAL_GROUP = $00000004;
  396.   ADS_GROUP_TYPE_UNIVERSAL_GROUP = $00000008;
  397.   ADS_GROUP_TYPE_SECURITY_ENABLED = $80000000;
  398. // Constants for enum ADS_USER_FLAG
  399. type
  400.   ADS_USER_FLAG = TOleEnum;
  401. const
  402.   ADS_UF_SCRIPT = $00000001;
  403.   ADS_UF_ACCOUNTDISABLE = $00000002;
  404.   ADS_UF_HOMEDIR_REQUIRED = $00000008;
  405.   ADS_UF_LOCKOUT = $00000010;
  406.   ADS_UF_PASSWD_NOTREQD = $00000020;
  407.   ADS_UF_PASSWD_CANT_CHANGE = $00000040;
  408.   ADS_UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED = $00000080;
  409.   ADS_UF_TEMP_DUPLICATE_ACCOUNT = $00000100;
  410.   ADS_UF_NORMAL_ACCOUNT = $00000200;
  411.   ADS_UF_INTERDOMAIN_TRUST_ACCOUNT = $00000800;
  412.   ADS_UF_WORKSTATION_TRUST_ACCOUNT = $00001000;
  413.   ADS_UF_SERVER_TRUST_ACCOUNT = $00002000;
  414.   ADS_UF_DONT_EXPIRE_PASSWD = $00010000;
  415.   ADS_UF_MNS_LOGON_ACCOUNT = $00020000;
  416.   ADS_UF_SMARTCARD_REQUIRED = $00040000;
  417.   ADS_UF_TRUSTED_FOR_DELEGATION = $00080000;
  418.   ADS_UF_NOT_DELEGATED = $00100000;
  419. // Constants for enum __MIDL___MIDL_itf_ads_0148_0001
  420. type
  421.   __MIDL___MIDL_itf_ads_0148_0001 = TOleEnum;
  422. const
  423.   ADS_RIGHT_DELETE = $00010000;
  424.   ADS_RIGHT_READ_CONTROL = $00020000;
  425.   ADS_RIGHT_WRITE_DAC = $00040000;
  426.   ADS_RIGHT_WRITE_OWNER = $00080000;
  427.   ADS_RIGHT_SYNCHRONIZE = $00100000;
  428.   ADS_RIGHT_ACCESS_SYSTEM_SECURITY = $01000000;
  429.   ADS_RIGHT_GENERIC_READ = $80000000;
  430.   ADS_RIGHT_GENERIC_WRITE = $40000000;
  431.   ADS_RIGHT_GENERIC_EXECUTE = $20000000;
  432.   ADS_RIGHT_GENERIC_ALL = $10000000;
  433.   ADS_RIGHT_DS_CREATE_CHILD = $00000001;
  434.   ADS_RIGHT_DS_DELETE_CHILD = $00000002;
  435.   ADS_RIGHT_ACTRL_DS_LIST = $00000004;
  436.   ADS_RIGHT_DS_SELF = $00000008;
  437.   ADS_RIGHT_DS_READ_PROP = $00000010;
  438.   ADS_RIGHT_DS_WRITE_PROP = $00000020;
  439.   ADS_RIGHT_DS_DELETE_TREE = $00000040;
  440.   ADS_RIGHT_DS_LIST_OBJECT = $00000080;
  441.   ADS_RIGHT_DS_CONTROL_ACCESS = $00000100;
  442. // Constants for enum __MIDL___MIDL_itf_ads_0148_0002
  443. type
  444.   __MIDL___MIDL_itf_ads_0148_0002 = TOleEnum;
  445. const
  446.   ADS_ACETYPE_ACCESS_ALLOWED = $00000000;
  447.   ADS_ACETYPE_ACCESS_DENIED = $00000001;
  448.   ADS_ACETYPE_SYSTEM_AUDIT = $00000002;
  449.   ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = $00000005;
  450.   ADS_ACETYPE_ACCESS_DENIED_OBJECT = $00000006;
  451.   ADS_ACETYPE_SYSTEM_AUDIT_OBJECT = $00000007;
  452. // Constants for enum __MIDL___MIDL_itf_ads_0148_0003
  453. type
  454.   __MIDL___MIDL_itf_ads_0148_0003 = TOleEnum;
  455. const
  456.   ADS_ACEFLAG_INHERIT_ACE = $00000002;
  457.   ADS_ACEFLAG_NO_PROPAGATE_INHERIT_ACE = $00000004;
  458.   ADS_ACEFLAG_INHERIT_ONLY_ACE = $00000008;
  459.   ADS_ACEFLAG_INHERITED_ACE = $00000010;
  460.   ADS_ACEFLAG_VALID_INHERIT_FLAGS = $0000001F;
  461.   ADS_ACEFLAG_SUCCESSFUL_ACCESS = $00000040;
  462.   ADS_ACEFLAG_FAILED_ACCESS = $00000080;
  463. // Constants for enum __MIDL___MIDL_itf_ads_0148_0004
  464. type
  465.   __MIDL___MIDL_itf_ads_0148_0004 = TOleEnum;
  466. const
  467.   ADS_FLAG_OBJECT_TYPE_PRESENT = $00000001;
  468.   ADS_FLAG_INHERITED_OBJECT_TYPE_PRESENT = $00000002;
  469. // Constants for enum __MIDL___MIDL_itf_ads_0148_0005
  470. type
  471.   __MIDL___MIDL_itf_ads_0148_0005 = TOleEnum;
  472. const
  473.   ADS_SD_CONTROL_SE_OWNER_DEFAULTED = $00000001;
  474.   ADS_SD_CONTROL_SE_GROUP_DEFAULTED = $00000002;
  475.   ADS_SD_CONTROL_SE_DACL_PRESENT = $00000004;
  476.   ADS_SD_CONTROL_SE_DACL_DEFAULTED = $00000008;
  477.   ADS_SD_CONTROL_SE_SACL_PRESENT = $00000010;
  478.   ADS_SD_CONTROL_SE_SACL_DEFAULTED = $00000020;
  479.   ADS_SD_CONTROL_SE_DACL_AUTO_INHERIT_REQ = $00000100;
  480.   ADS_SD_CONTROL_SE_SACL_AUTO_INHERIT_REQ = $00000200;
  481.   ADS_SD_CONTROL_SE_DACL_AUTO_INHERITED = $00000400;
  482.   ADS_SD_CONTROL_SE_SACL_AUTO_INHERITED = $00000800;
  483.   ADS_SD_CONTROL_SE_DACL_PROTECTED = $00001000;
  484.   ADS_SD_CONTROL_SE_SACL_PROTECTED = $00002000;
  485.   ADS_SD_CONTROL_SE_SELF_RELATIVE = $00008000;
  486. // Constants for enum __MIDL___MIDL_itf_ads_0148_0006
  487. type
  488.   __MIDL___MIDL_itf_ads_0148_0006 = TOleEnum;
  489. const
  490.   ADS_SD_REVISION_DS = $00000004;
  491. // Constants for enum __MIDL___MIDL_itf_ads_0149_0001
  492. type
  493.   __MIDL___MIDL_itf_ads_0149_0001 = TOleEnum;
  494. const
  495.   ADS_NAME_TYPE_1779 = $00000001;
  496.   ADS_NAME_TYPE_CANONICAL = $00000002;
  497.   ADS_NAME_TYPE_NT4 = $00000003;
  498.   ADS_NAME_TYPE_DISPLAY = $00000004;
  499.   ADS_NAME_TYPE_DOMAIN_SIMPLE = $00000005;
  500.   ADS_NAME_TYPE_ENTERPRISE_SIMPLE = $00000006;
  501.   ADS_NAME_TYPE_GUID = $00000007;
  502.   ADS_NAME_TYPE_UNKNOWN = $00000008;
  503.   ADS_NAME_TYPE_USER_PRINCIPAL_NAME = $00000009;
  504.   ADS_NAME_TYPE_CANONICAL_EX = $0000000A;
  505.   ADS_NAME_TYPE_SERVICE_PRINCIPAL_NAME = $0000000B;
  506.   ADS_NAME_TYPE_SID_OR_SID_HISTORY_NAME = $0000000C;
  507. // Constants for enum __MIDL___MIDL_itf_ads_0149_0002
  508. type
  509.   __MIDL___MIDL_itf_ads_0149_0002 = TOleEnum;
  510. const
  511.   ADS_NAME_INITTYPE_DOMAIN = $00000001;
  512.   ADS_NAME_INITTYPE_SERVER = $00000002;
  513.   ADS_NAME_INITTYPE_GC = $00000003;
  514. // Constants for enum __MIDL___MIDL_itf_ads_0163_0001
  515. type
  516.   __MIDL___MIDL_itf_ads_0163_0001 = TOleEnum;
  517. const
  518.   ADS_OPTION_SERVERNAME = $00000000;
  519.   ADS_OPTION_REFERRALS = $00000001;
  520.   ADS_OPTION_PAGE_SIZE = $00000002;
  521.   ADS_OPTION_SECURITY_MASK = $00000003;
  522.   ADS_OPTION_MUTUAL_AUTH_STATUS = $00000004;
  523. // Constants for enum __MIDL___MIDL_itf_ads_0163_0002
  524. type
  525.   __MIDL___MIDL_itf_ads_0163_0002 = TOleEnum;
  526. const
  527.   ADS_SECURITY_INFO_OWNER = $00000001;
  528.   ADS_SECURITY_INFO_GROUP = $00000002;
  529.   ADS_SECURITY_INFO_DACL = $00000004;
  530.   ADS_SECURITY_INFO_SACL = $00000008;
  531. // Constants for enum __MIDL___MIDL_itf_ads_0164_0001
  532. type
  533.   __MIDL___MIDL_itf_ads_0164_0001 = TOleEnum;
  534. const
  535.   ADS_SETTYPE_FULL = $00000001;
  536.   ADS_SETTYPE_PROVIDER = $00000002;
  537.   ADS_SETTYPE_SERVER = $00000003;
  538.   ADS_SETTYPE_DN = $00000004;
  539. // Constants for enum __MIDL___MIDL_itf_ads_0164_0002
  540. type
  541.   __MIDL___MIDL_itf_ads_0164_0002 = TOleEnum;
  542. const
  543.   ADS_FORMAT_WINDOWS = $00000001;
  544.   ADS_FORMAT_WINDOWS_NO_SERVER = $00000002;
  545.   ADS_FORMAT_WINDOWS_DN = $00000003;
  546.   ADS_FORMAT_WINDOWS_PARENT = $00000004;
  547.   ADS_FORMAT_X500 = $00000005;
  548.   ADS_FORMAT_X500_NO_SERVER = $00000006;
  549.   ADS_FORMAT_X500_DN = $00000007;
  550.   ADS_FORMAT_X500_PARENT = $00000008;
  551.   ADS_FORMAT_SERVER = $00000009;
  552.   ADS_FORMAT_PROVIDER = $0000000A;
  553.   ADS_FORMAT_LEAF = $0000000B;
  554. // Constants for enum __MIDL___MIDL_itf_ads_0164_0003
  555. type
  556.   __MIDL___MIDL_itf_ads_0164_0003 = TOleEnum;
  557. const
  558.   ADS_DISPLAY_FULL = $00000001;
  559.   ADS_DISPLAY_VALUE_ONLY = $00000002;
  560. // Constants for enum __MIDL___MIDL_itf_ads_0164_0004
  561. type
  562.   __MIDL___MIDL_itf_ads_0164_0004 = TOleEnum;
  563. const
  564.   ADS_ESCAPEDMODE_DEFAULT = $00000001;
  565.   ADS_ESCAPEDMODE_ON = $00000002;
  566.   ADS_ESCAPEDMODE_OFF = $00000003;
  567.   ADS_ESCAPEDMODE_OFF_EX = $00000004;
  568. type
  569. // *********************************************************************//
  570. // Forward declaration of types defined in TypeLibrary                    
  571. // *********************************************************************//
  572.   IADs = interface;
  573.   IADsDisp = dispinterface;
  574.   IADsContainer = interface;
  575.   IADsContainerDisp = dispinterface;
  576.   IADsCollection = interface;
  577.   IADsCollectionDisp = dispinterface;
  578.   IADsMembers = interface;
  579.   IADsMembersDisp = dispinterface;
  580.   IADsPropertyList = interface;
  581.   IADsPropertyListDisp = dispinterface;
  582.   IADsPropertyEntry = interface;
  583.   IADsPropertyEntryDisp = dispinterface;
  584.   IADsPropertyValue = interface;
  585.   IADsPropertyValueDisp = dispinterface;
  586.   IADsPropertyValue2 = interface;
  587.   IADsPropertyValue2Disp = dispinterface;
  588.   IPrivateDispatch = interface;
  589.   ITypeInfo = interface;
  590.   ITypeComp = interface;
  591.   ITypeLib = interface;
  592.   IPrivateUnknown = interface;
  593.   IADsExtension = interface;
  594.   IADsDeleteOps = interface;
  595.   IADsDeleteOpsDisp = dispinterface;
  596.   IADsNamespaces = interface;
  597.   IADsNamespacesDisp = dispinterface;
  598.   IADsClass = interface;
  599.   IADsClassDisp = dispinterface;
  600.   IADsProperty = interface;
  601.   IADsPropertyDisp = dispinterface;
  602.   IADsSyntax = interface;
  603.   IADsSyntaxDisp = dispinterface;
  604.   IADsLocality = interface;
  605.   IADsLocalityDisp = dispinterface;
  606.   IADsO = interface;
  607.   IADsODisp = dispinterface;
  608.   IADsOU = interface;
  609.   IADsOUDisp = dispinterface;
  610.   IADsDomain = interface;
  611.   IADsDomainDisp = dispinterface;
  612.   IADsComputer = interface;
  613.   IADsComputerDisp = dispinterface;
  614.   IADsComputerOperations = interface;
  615.   IADsComputerOperationsDisp = dispinterface;
  616.   IADsGroup = interface;
  617.   IADsGroupDisp = dispinterface;
  618.   IADsUser = interface;
  619.   IADsUserDisp = dispinterface;
  620.   IADsPrintQueue = interface;
  621.   IADsPrintQueueDisp = dispinterface;
  622.   IADsPrintQueueOperations = interface;
  623.   IADsPrintQueueOperationsDisp = dispinterface;
  624.   IADsPrintJob = interface;
  625.   IADsPrintJobDisp = dispinterface;
  626.   IADsPrintJobOperations = interface;
  627.   IADsPrintJobOperationsDisp = dispinterface;
  628.   IADsService = interface;
  629.   IADsServiceDisp = dispinterface;
  630.   IADsServiceOperations = interface;
  631.   IADsServiceOperationsDisp = dispinterface;
  632.   IADsFileService = interface;
  633.   IADsFileServiceDisp = dispinterface;
  634.   IADsFileServiceOperations = interface;
  635.   IADsFileServiceOperationsDisp = dispinterface;
  636.   IADsFileShare = interface;
  637.   IADsFileShareDisp = dispinterface;
  638.   IADsSession = interface;
  639.   IADsSessionDisp = dispinterface;
  640.   IADsResource = interface;
  641.   IADsResourceDisp = dispinterface;
  642.   IADsOpenDSObject = interface;
  643.   IADsOpenDSObjectDisp = dispinterface;
  644.   IDirectoryObject = interface;
  645.   IDirectorySearch = interface;
  646.   IDirectorySchemaMgmt = interface;
  647.   IADsAggregatee = interface;
  648.   IADsAggregator = interface;
  649.   IADsAccessControlEntry = interface;
  650.   IADsAccessControlEntryDisp = dispinterface;
  651.   IADsAccessControlList = interface;
  652.   IADsAccessControlListDisp = dispinterface;
  653.   IADsSecurityDescriptor = interface;
  654.   IADsSecurityDescriptorDisp = dispinterface;
  655.   IADsLargeInteger = interface;
  656.   IADsLargeIntegerDisp = dispinterface;
  657.   IADsNameTranslate = interface;
  658.   IADsNameTranslateDisp = dispinterface;
  659.   IADsCaseIgnoreList = interface;
  660.   IADsCaseIgnoreListDisp = dispinterface;
  661.   IADsFaxNumber = interface;
  662.   IADsFaxNumberDisp = dispinterface;
  663.   IADsNetAddress = interface;
  664.   IADsNetAddressDisp = dispinterface;
  665.   IADsOctetList = interface;
  666.   IADsOctetListDisp = dispinterface;
  667.   IADsEmail = interface;
  668.   IADsEmailDisp = dispinterface;
  669.   IADsPath = interface;
  670.   IADsPathDisp = dispinterface;
  671.   IADsReplicaPointer = interface;
  672.   IADsReplicaPointerDisp = dispinterface;
  673.   IADsAcl = interface;
  674.   IADsAclDisp = dispinterface;
  675.   IADsTimestamp = interface;
  676.   IADsTimestampDisp = dispinterface;
  677.   IADsPostalAddress = interface;
  678.   IADsPostalAddressDisp = dispinterface;
  679.   IADsBackLink = interface;
  680.   IADsBackLinkDisp = dispinterface;
  681.   IADsTypedName = interface;
  682.   IADsTypedNameDisp = dispinterface;
  683.   IADsHold = interface;
  684.   IADsHoldDisp = dispinterface;
  685.   IADsObjectOptions = interface;
  686.   IADsObjectOptionsDisp = dispinterface;
  687.   IADsPathname = interface;
  688.   IADsPathnameDisp = dispinterface;
  689.   IADsADSystemInfo = interface;
  690.   IADsADSystemInfoDisp = dispinterface;
  691.   IADsWinNTSystemInfo = interface;
  692.   IADsWinNTSystemInfoDisp = dispinterface;
  693.   IADsDNWithBinary = interface;
  694.   IADsDNWithBinaryDisp = dispinterface;
  695.   IADsDNWithString = interface;
  696.   IADsDNWithStringDisp = dispinterface;
  697. // *********************************************************************//
  698. // Declaration of CoClasses defined in Type Library                       
  699. // (NOTE: Here we map each CoClass to its Default Interface)              
  700. // *********************************************************************//
  701.   PropertyEntry = IADsPropertyEntry;
  702.   PropertyValue = IADsPropertyValue;
  703.   AccessControlEntry = IADsAccessControlEntry;
  704.   AccessControlList = IADsAccessControlList;
  705.   SecurityDescriptor = IADsSecurityDescriptor;
  706.   LargeInteger = IADsLargeInteger;
  707.   NameTranslate = IADsNameTranslate;
  708.   CaseIgnoreList = IADsCaseIgnoreList;
  709.   FaxNumber = IADsFaxNumber;
  710.   NetAddress = IADsNetAddress;
  711.   OctetList = IADsOctetList;
  712.   Email = IADsEmail;
  713.   Path = IADsPath;
  714.   ReplicaPointer = IADsReplicaPointer;
  715.   Acl = IADsAcl;
  716.   Timestamp = IADsTimestamp;
  717.   PostalAddress = IADsPostalAddress;
  718.   BackLink = IADsBackLink;
  719.   TypedName = IADsTypedName;
  720.   Hold = IADsHold;
  721.   Pathname = IADsPathname;
  722.   ADSystemInfo = IADsADSystemInfo;
  723.   WinNTSystemInfo = IADsWinNTSystemInfo;
  724.   DNWithBinary = IADsDNWithBinary;
  725.   DNWithString = IADsDNWithString;
  726. // *********************************************************************//
  727. // Declaration of structures, unions and aliases.                         
  728. // *********************************************************************//
  729.   PUserType1 = ^_ADS_CASEIGNORE_LIST; {*}
  730.   PUserType2 = ^_ADS_OCTET_LIST; {*}
  731.   PPWideChar1 = ^PWideChar; {*}
  732.   PUserType8 = ^tagTYPEDESC; {*}
  733.   PUserType9 = ^tagARRAYDESC; {*}
  734.   PUserType3 = ^TGUID; {*}
  735.   PWord1 = ^Word; {*}
  736.   PPWord1 = ^PWord1; {*}
  737.   PUserType4 = ^TGUID; {*}
  738.   PUserType5 = ^tagTYPEATTR; {*}
  739.   PUserType6 = ^tagFUNCDESC; {*}
  740.   PUserType7 = ^tagVARDESC; {*}
  741.   PUserType10 = ^tagTLIBATTR; {*}
  742.   PUserType11 = ^_ads_object_info; {*}
  743.   PUserType12 = ^_ads_attr_info; {*}
  744.   PUserType13 = ^ads_searchpref_info; {*}
  745.   PUserType14 = ^ads_search_column; {*}
  746.   PUserType15 = ^_ads_attr_def; {*}
  747.   PPUserType1 = ^PUserType15; {*}
  748.   PUINT1 = ^LongWord; {*}
  749.   PUserType16 = ^_ads_class_def; {*}
  750.   PPUserType2 = ^PUserType16; {*}
  751.   ADSTYPEENUM = __MIDL___MIDL_itf_ads_0000_0001; 
  752.   __MIDL___MIDL_itf_ads_0000_0002 = packed record
  753.     dwLength: LongWord;
  754.     lpValue: ^Byte;
  755.   end;
  756.   ADS_OCTET_STRING = __MIDL___MIDL_itf_ads_0000_0002; 
  757.   __MIDL___MIDL_itf_ads_0000_0003 = packed record
  758.     dwLength: LongWord;
  759.     lpValue: ^Byte;
  760.   end;
  761.   ADS_NT_SECURITY_DESCRIPTOR = __MIDL___MIDL_itf_ads_0000_0003; 
  762.   _SYSTEMTIME = packed record
  763.     wYear: Word;
  764.     wMonth: Word;
  765.     wDayOfWeek: Word;
  766.     wDay: Word;
  767.     wHour: Word;
  768.     wMinute: Word;
  769.     wSecond: Word;
  770.     wMilliseconds: Word;
  771.   end;
  772.   _LARGE_INTEGER = packed record
  773.     QuadPart: Int64;
  774.   end;
  775.   __MIDL___MIDL_itf_ads_0000_0004 = packed record
  776.     dwLength: LongWord;
  777.     lpValue: ^Byte;
  778.   end;
  779.   ADS_PROV_SPECIFIC = __MIDL___MIDL_itf_ads_0000_0004; 
  780.   __MIDL___MIDL_itf_ads_0000_0005 = packed record
  781.     Type_: LongWord;
  782.     VolumeName: PWideChar;
  783.     Path: PWideChar;
  784.   end;
  785.   ADS_PATH = __MIDL___MIDL_itf_ads_0000_0005; 
  786.   __MIDL___MIDL_itf_ads_0000_0006 = packed record
  787.     PostalAddress: array[0..5] of PWideChar;
  788.   end;
  789.   ADS_POSTALADDRESS = __MIDL___MIDL_itf_ads_0000_0006; 
  790.   __MIDL___MIDL_itf_ads_0000_0007 = packed record
  791.     WholeSeconds: LongWord;
  792.     EventID: LongWord;
  793.   end;
  794.   ADS_TIMESTAMP = __MIDL___MIDL_itf_ads_0000_0007; 
  795.   __MIDL___MIDL_itf_ads_0000_0008 = packed record
  796.     RemoteID: LongWord;
  797.     ObjectName: PWideChar;
  798.   end;
  799.   ADS_BACKLINK = __MIDL___MIDL_itf_ads_0000_0008; 
  800.   __MIDL___MIDL_itf_ads_0000_0009 = packed record
  801.     ObjectName: PWideChar;
  802.     Level: LongWord;
  803.     Interval: LongWord;
  804.   end;
  805.   ADS_TYPEDNAME = __MIDL___MIDL_itf_ads_0000_0009; 
  806.   __MIDL___MIDL_itf_ads_0000_0010 = packed record
  807.     ObjectName: PWideChar;
  808.     Amount: LongWord;
  809.   end;
  810.   ADS_HOLD = __MIDL___MIDL_itf_ads_0000_0010; 
  811.   __MIDL___MIDL_itf_ads_0000_0011 = packed record
  812.     AddressType: LongWord;
  813.     AddressLength: LongWord;
  814.     Address: ^Byte;
  815.   end;
  816.   ADS_NETADDRESS = __MIDL___MIDL_itf_ads_0000_0011; 
  817.   __MIDL___MIDL_itf_ads_0000_0012 = packed record
  818.     ServerName: PWideChar;
  819.     ReplicaType: LongWord;
  820.     ReplicaNumber: LongWord;
  821.     Count: LongWord;
  822.     ReplicaAddressHints: ^__MIDL___MIDL_itf_ads_0000_0011;
  823.   end;
  824.   ADS_REPLICAPOINTER = __MIDL___MIDL_itf_ads_0000_0012; 
  825.   __MIDL___MIDL_itf_ads_0000_0013 = packed record
  826.     TelephoneNumber: PWideChar;
  827.     NumberOfBits: LongWord;
  828.     Parameters: ^Byte;
  829.   end;
  830.   ADS_FAXNUMBER = __MIDL___MIDL_itf_ads_0000_0013; 
  831.   __MIDL___MIDL_itf_ads_0000_0014 = packed record
  832.     Address: PWideChar;
  833.     Type_: LongWord;
  834.   end;
  835.   ADS_EMAIL = __MIDL___MIDL_itf_ads_0000_0014; 
  836.   __MIDL___MIDL_itf_ads_0000_0015 = packed record
  837.     dwLength: LongWord;
  838.     lpBinaryValue: ^Byte;
  839.     pszDNString: PWideChar;
  840.   end;
  841.   ADS_DN_WITH_BINARY = __MIDL___MIDL_itf_ads_0000_0015; 
  842.   __MIDL___MIDL_itf_ads_0000_0016 = packed record
  843.     pszStringValue: PWideChar;
  844.     pszDNString: PWideChar;
  845.   end;
  846.   ADS_DN_WITH_STRING = __MIDL___MIDL_itf_ads_0000_0016; 
  847.   _ADS_CASEIGNORE_LIST = packed record
  848.     Next: PUserType1;
  849.     String_: PWideChar;
  850.   end;
  851.   _ADS_OCTET_LIST = packed record
  852.     Next: PUserType2;
  853.     Length: LongWord;
  854.     Data: ^Byte;
  855.   end;
  856.   __MIDL___MIDL_itf_ads_0000_0017 = record
  857.     case Integer of
  858.       0: (DNString: PWideChar);
  859.       1: (CaseExactString: PWideChar);
  860.       2: (CaseIgnoreString: PWideChar);
  861.       3: (PrintableString: PWideChar);
  862.       4: (NumericString: PWideChar);
  863.       5: (Boolean: LongWord);
  864.       6: (Integer: LongWord);
  865.       7: (OctetString: ADS_OCTET_STRING);
  866.       8: (UTCTime: _SYSTEMTIME);
  867.       9: (LargeInteger: _LARGE_INTEGER);
  868.       10: (ClassName: PWideChar);
  869.       11: (ProviderSpecific: ADS_PROV_SPECIFIC);
  870.       12: (pCaseIgnoreList: ^_ADS_CASEIGNORE_LIST);
  871.       13: (pOctetList: ^_ADS_OCTET_LIST);
  872.       14: (pPath: ^__MIDL___MIDL_itf_ads_0000_0005);
  873.       15: (pPostalAddress: ^__MIDL___MIDL_itf_ads_0000_0006);
  874.       16: (Timestamp: ADS_TIMESTAMP);
  875.       17: (BackLink: ADS_BACKLINK);
  876.       18: (pTypedName: ^__MIDL___MIDL_itf_ads_0000_0009);
  877.       19: (Hold: ADS_HOLD);
  878.       20: (pNetAddress: ^__MIDL___MIDL_itf_ads_0000_0011);
  879.       21: (pReplicaPointer: ^__MIDL___MIDL_itf_ads_0000_0012);
  880.       22: (pFaxNumber: ^__MIDL___MIDL_itf_ads_0000_0013);
  881.       23: (Email: ADS_EMAIL);
  882.       24: (SecurityDescriptor: ADS_NT_SECURITY_DESCRIPTOR);
  883.       25: (pDNWithBinary: ^__MIDL___MIDL_itf_ads_0000_0015);
  884.       26: (pDNWithString: ^__MIDL___MIDL_itf_ads_0000_0016);
  885.   end;
  886.   ADS_AUTHENTICATION_ENUM = __MIDL___MIDL_itf_ads_0000_0018; 
  887.   _ads_object_info = packed record
  888.     pszRDN: PWideChar;
  889.     pszObjectDN: PWideChar;
  890.     pszParentDN: PWideChar;
  891.     pszSchemaDN: PWideChar;
  892.     pszClassName: PWideChar;
  893.   end;
  894.   ADS_STATUSENUM = __MIDL___MIDL_itf_ads_0000_0019; 
  895.   ADS_DEREFENUM = __MIDL___MIDL_itf_ads_0000_0020; 
  896.   ADS_SCOPEENUM = __MIDL___MIDL_itf_ads_0000_0021; 
  897.   ADS_PREFERENCES_ENUM = __MIDL___MIDL_itf_ads_0000_0022; 
  898.   ADSI_DIALECT_ENUM = __MIDL___MIDL_itf_ads_0000_0023; 
  899.   ADS_CHASE_REFERRALS_ENUM = __MIDL___MIDL_itf_ads_0000_0024; 
  900.   ADS_SEARCHPREF_ENUM = __MIDL___MIDL_itf_ads_0000_0025; 
  901.   _adsvalue = packed record
  902.     dwType: ADSTYPEENUM;
  903.     __MIDL_0010: __MIDL___MIDL_itf_ads_0000_0017;
  904.   end;
  905.   ads_search_column = packed record
  906.     pszAttrName: PWideChar;
  907.     dwADsType: ADSTYPEENUM;
  908.     pADsValues: ^_adsvalue;
  909.     dwNumValues: LongWord;
  910.     hReserved: Pointer;
  911.   end;
  912.   _ads_attr_def = packed record
  913.     pszAttrName: PWideChar;
  914.     dwADsType: ADSTYPEENUM;
  915.     dwMinRange: LongWord;
  916.     dwMaxRange: LongWord;
  917.     fMultiValued: Integer;
  918.   end;
  919.   _ads_sortkey = packed record
  920.     pszAttrType: PWideChar;
  921.     pszReserved: PWideChar;
  922.     fReverseorder: Shortint;
  923.   end;
  924.   ADS_PROPERTY_OPERATION_ENUM = __MIDL___MIDL_itf_ads_0000_0026; 
  925.   __MIDL_IOleAutomationTypes_0005 = record
  926.     case Integer of
  927.       0: (lptdesc: PUserType8);
  928.       1: (lpadesc: PUserType9);
  929.       2: (hreftype: LongWord);
  930.   end;
  931.   tagTYPEDESC = packed record
  932.     __MIDL_0008: __MIDL_IOleAutomationTypes_0005;
  933.     vt: Word;
  934.   end;
  935.   tagSAFEARRAYBOUND = packed record
  936.     cElements: LongWord;
  937.     lLbound: Integer;
  938.   end;
  939.   ULONG_PTR = LongWord; 
  940.   tagIDLDESC = packed record
  941.     dwReserved: ULONG_PTR;
  942.     wIDLFlags: Word;
  943.   end;
  944.   DWORD = LongWord; 
  945.   tagPARAMDESCEX = packed record
  946.     cBytes: LongWord;
  947.     varDefaultValue: OleVariant;
  948.   end;
  949.   tagPARAMDESC = packed record
  950.     pparamdescex: ^tagPARAMDESCEX;
  951.     wParamFlags: Word;
  952.   end;
  953.   tagELEMDESC = packed record
  954.     tdesc: tagTYPEDESC;
  955.     paramdesc: tagPARAMDESC;
  956.   end;
  957.   tagFUNCDESC = packed record
  958.     memid: Integer;
  959.     lprgscode: ^SCODE;
  960.     lprgelemdescParam: ^tagELEMDESC;
  961.     funckind: tagFUNCKIND;
  962.     invkind: tagINVOKEKIND;
  963.     callconv: tagCALLCONV;
  964.     cParams: Smallint;
  965.     cParamsOpt: Smallint;
  966.     oVft: Smallint;
  967.     cScodes: Smallint;
  968.     elemdescFunc: tagELEMDESC;
  969.     wFuncFlags: Word;
  970.   end;
  971.   __MIDL_IOleAutomationTypes_0006 = record
  972.     case Integer of
  973.       0: (oInst: LongWord);
  974.       1: (lpvarValue: ^OleVariant);
  975.   end;
  976.   tagVARDESC = packed record
  977.     memid: Integer;
  978.     lpstrSchema: PWideChar;
  979.     __MIDL_0009: __MIDL_IOleAutomationTypes_0006;
  980.     elemdescVar: tagELEMDESC;
  981.     wVarFlags: Word;
  982.     varkind: tagVARKIND;
  983.   end;
  984.   tagTLIBATTR = packed record
  985.     GUID: TGUID;
  986.     lcid: LongWord;
  987.     syskind: tagSYSKIND;
  988.     wMajorVerNum: Word;
  989.     wMinorVerNum: Word;
  990.     wLibFlags: Word;
  991.   end;
  992.   ADS_SYSTEMFLAG_ENUM = __MIDL___MIDL_itf_ads_0120_0001; 
  993.   ADS_GROUP_TYPE_ENUM = __MIDL___MIDL_itf_ads_0126_0001; 
  994.   ADS_RIGHTS_ENUM = __MIDL___MIDL_itf_ads_0148_0001; 
  995.   ADS_ACETYPE_ENUM = __MIDL___MIDL_itf_ads_0148_0002; 
  996.   ADS_ACEFLAG_ENUM = __MIDL___MIDL_itf_ads_0148_0003; 
  997.   ADS_FLAGTYPE_ENUM = __MIDL___MIDL_itf_ads_0148_0004; 
  998.   ADS_SD_CONTROL_ENUM = __MIDL___MIDL_itf_ads_0148_0005; 
  999.   ADS_SD_REVISION_ENUM = __MIDL___MIDL_itf_ads_0148_0006; 
  1000.   ADS_NAME_TYPE_ENUM = __MIDL___MIDL_itf_ads_0149_0001; 
  1001.   ADS_NAME_INITTYPE_ENUM = __MIDL___MIDL_itf_ads_0149_0002; 
  1002.   ADS_OPTION_ENUM = __MIDL___MIDL_itf_ads_0163_0001; 
  1003.   ADS_SECURITY_INFO_ENUM = __MIDL___MIDL_itf_ads_0163_0002; 
  1004.   ADS_SETTYPE_ENUM = __MIDL___MIDL_itf_ads_0164_0001; 
  1005.   ADS_FORMAT_ENUM = __MIDL___MIDL_itf_ads_0164_0002; 
  1006.   ADS_DISPLAY_ENUM = __MIDL___MIDL_itf_ads_0164_0003; 
  1007.   ADS_ESCAPE_MODE_ENUM = __MIDL___MIDL_itf_ads_0164_0004; 
  1008.   _ads_attr_info = packed record
  1009.     pszAttrName: PWideChar;
  1010.     dwControlCode: LongWord;
  1011.     dwADsType: ADSTYPEENUM;
  1012.     pADsValues: ^_adsvalue;
  1013.     dwNumValues: LongWord;
  1014.   end;
  1015.   ads_searchpref_info = packed record
  1016.     dwSearchPref: ADS_SEARCHPREF_ENUM;
  1017.     vValue: _adsvalue;
  1018.     dwStatus: ADS_STATUSENUM;
  1019.   end;
  1020.   _ads_class_def = packed record
  1021.     pszClassName: PWideChar;
  1022.     dwMandatoryAttrs: LongWord;
  1023.     ppszMandatoryAttrs: ^PWideChar;
  1024.     optionalAttrs: LongWord;
  1025.     ppszOptionalAttrs: ^PPWideChar1;
  1026.     dwNamingAttrs: LongWord;
  1027.     ppszNamingAttrs: ^PPWideChar1;
  1028.     dwSuperClasses: LongWord;
  1029.     ppszSuperClasses: ^PPWideChar1;
  1030.     fIsContainer: Integer;
  1031.   end;
  1032.   tagTYPEATTR = packed record
  1033.     GUID: TGUID;
  1034.     lcid: LongWord;
  1035.     dwReserved: LongWord;
  1036.     memidConstructor: Integer;
  1037.     memidDestructor: Integer;
  1038.     lpstrSchema: PWideChar;
  1039.     cbSizeInstance: LongWord;
  1040.     typekind: tagTYPEKIND;
  1041.     cFuncs: Word;
  1042.     cVars: Word;
  1043.     cImplTypes: Word;
  1044.     cbSizeVft: Word;
  1045.     cbAlignment: Word;
  1046.     wTypeFlags: Word;
  1047.     wMajorVerNum: Word;
  1048.     wMinorVerNum: Word;
  1049.     tdescAlias: tagTYPEDESC;
  1050.     idldescType: tagIDLDESC;
  1051.   end;
  1052.   tagARRAYDESC = packed record
  1053.     tdescElem: tagTYPEDESC;
  1054.     cDims: Word;
  1055.     rgbounds: ^tagSAFEARRAYBOUND;
  1056.   end;
  1057. // *********************************************************************//
  1058. // Interface: IADs
  1059. // Flags:     (4416) Dual OleAutomation Dispatchable
  1060. // GUID:      {FD8256D0-FD15-11CE-ABC4-02608C9E7553}
  1061. // *********************************************************************//
  1062.   IADs = interface(IDispatch)
  1063.     ['{FD8256D0-FD15-11CE-ABC4-02608C9E7553}']
  1064.     function  Get_Name: WideString; safecall;
  1065.     function  Get_Class_: WideString; safecall;
  1066.     function  Get_GUID: WideString; safecall;
  1067.     function  Get_ADsPath: WideString; safecall;
  1068.     function  Get_Parent: WideString; safecall;
  1069.     function  Get_Schema: WideString; safecall;
  1070.     procedure GetInfo; safecall;
  1071.     procedure SetInfo; safecall;
  1072.     function  Get(const bstrName: WideString): OleVariant; safecall;
  1073.     procedure Put(const bstrName: WideString; vProp: OleVariant); safecall;
  1074.     function  GetEx(const bstrName: WideString): OleVariant; safecall;
  1075.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); safecall;
  1076.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); safecall;
  1077.     property Name: WideString read Get_Name;
  1078.     property Class_: WideString read Get_Class_;
  1079.     property GUID: WideString read Get_GUID;
  1080.     property ADsPath: WideString read Get_ADsPath;
  1081.     property Parent: WideString read Get_Parent;
  1082.     property Schema: WideString read Get_Schema;
  1083.   end;
  1084. // *********************************************************************//
  1085. // DispIntf:  IADsDisp
  1086. // Flags:     (4416) Dual OleAutomation Dispatchable
  1087. // GUID:      {FD8256D0-FD15-11CE-ABC4-02608C9E7553}
  1088. // *********************************************************************//
  1089.   IADsDisp = dispinterface
  1090.     ['{FD8256D0-FD15-11CE-ABC4-02608C9E7553}']
  1091.     property Name: WideString readonly dispid 2;
  1092.     property Class_: WideString readonly dispid 3;
  1093.     property GUID: WideString readonly dispid 4;
  1094.     property ADsPath: WideString readonly dispid 5;
  1095.     property Parent: WideString readonly dispid 6;
  1096.     property Schema: WideString readonly dispid 7;
  1097.     procedure GetInfo; dispid 8;
  1098.     procedure SetInfo; dispid 9;
  1099.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  1100.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  1101.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  1102.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  1103.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  1104.   end;
  1105. // *********************************************************************//
  1106. // Interface: IADsContainer
  1107. // Flags:     (4416) Dual OleAutomation Dispatchable
  1108. // GUID:      {001677D0-FD16-11CE-ABC4-02608C9E7553}
  1109. // *********************************************************************//
  1110.   IADsContainer = interface(IDispatch)
  1111.     ['{001677D0-FD16-11CE-ABC4-02608C9E7553}']
  1112.     function  Get_Count: Integer; safecall;
  1113.     function  Get__NewEnum: IUnknown; safecall;
  1114.     function  Get_Filter: OleVariant; safecall;
  1115.     procedure Set_Filter(pVar: OleVariant); safecall;
  1116.     function  Get_Hints: OleVariant; safecall;
  1117.     procedure Set_Hints(pvFilter: OleVariant); safecall;
  1118.     function  GetObject(const ClassName: WideString; const RelativeName: WideString): IDispatch; safecall;
  1119.     function  Create(const ClassName: WideString; const RelativeName: WideString): IDispatch; safecall;
  1120.     procedure Delete(const bstrClassName: WideString; const bstrRelativeName: WideString); safecall;
  1121.     function  CopyHere(const SourceName: WideString; const NewName: WideString): IDispatch; safecall;
  1122.     function  MoveHere(const SourceName: WideString; const NewName: WideString): IDispatch; safecall;
  1123.     property Count: Integer read Get_Count;
  1124.     property _NewEnum: IUnknown read Get__NewEnum;
  1125.     property Filter: OleVariant read Get_Filter write Set_Filter;
  1126.     property Hints: OleVariant read Get_Hints write Set_Hints;
  1127.   end;
  1128. // *********************************************************************//
  1129. // DispIntf:  IADsContainerDisp
  1130. // Flags:     (4416) Dual OleAutomation Dispatchable
  1131. // GUID:      {001677D0-FD16-11CE-ABC4-02608C9E7553}
  1132. // *********************************************************************//
  1133.   IADsContainerDisp = dispinterface
  1134.     ['{001677D0-FD16-11CE-ABC4-02608C9E7553}']
  1135.     property Count: Integer readonly dispid 2;
  1136.     property _NewEnum: IUnknown readonly dispid -4;
  1137.     property Filter: OleVariant dispid 3;
  1138.     property Hints: OleVariant dispid 4;
  1139.     function  GetObject(const ClassName: WideString; const RelativeName: WideString): IDispatch; dispid 5;
  1140.     function  Create(const ClassName: WideString; const RelativeName: WideString): IDispatch; dispid 6;
  1141.     procedure Delete(const bstrClassName: WideString; const bstrRelativeName: WideString); dispid 7;
  1142.     function  CopyHere(const SourceName: WideString; const NewName: WideString): IDispatch; dispid 8;
  1143.     function  MoveHere(const SourceName: WideString; const NewName: WideString): IDispatch; dispid 9;
  1144.   end;
  1145. // *********************************************************************//
  1146. // Interface: IADsCollection
  1147. // Flags:     (4416) Dual OleAutomation Dispatchable
  1148. // GUID:      {72B945E0-253B-11CF-A988-00AA006BC149}
  1149. // *********************************************************************//
  1150.   IADsCollection = interface(IDispatch)
  1151.     ['{72B945E0-253B-11CF-A988-00AA006BC149}']
  1152.     function  Get__NewEnum: IUnknown; safecall;
  1153.     procedure Add(const bstrName: WideString; vItem: OleVariant); safecall;
  1154.     procedure Remove(const bstrItemToBeRemoved: WideString); safecall;
  1155.     function  GetObject(const bstrName: WideString): OleVariant; safecall;
  1156.     property _NewEnum: IUnknown read Get__NewEnum;
  1157.   end;
  1158. // *********************************************************************//
  1159. // DispIntf:  IADsCollectionDisp
  1160. // Flags:     (4416) Dual OleAutomation Dispatchable
  1161. // GUID:      {72B945E0-253B-11CF-A988-00AA006BC149}
  1162. // *********************************************************************//
  1163.   IADsCollectionDisp = dispinterface
  1164.     ['{72B945E0-253B-11CF-A988-00AA006BC149}']
  1165.     property _NewEnum: IUnknown readonly dispid -4;
  1166.     procedure Add(const bstrName: WideString; vItem: OleVariant); dispid 4;
  1167.     procedure Remove(const bstrItemToBeRemoved: WideString); dispid 5;
  1168.     function  GetObject(const bstrName: WideString): OleVariant; dispid 6;
  1169.   end;
  1170. // *********************************************************************//
  1171. // Interface: IADsMembers
  1172. // Flags:     (4416) Dual OleAutomation Dispatchable
  1173. // GUID:      {451A0030-72EC-11CF-B03B-00AA006E0975}
  1174. // *********************************************************************//
  1175.   IADsMembers = interface(IDispatch)
  1176.     ['{451A0030-72EC-11CF-B03B-00AA006E0975}']
  1177.     function  Get_Count: Integer; safecall;
  1178.     function  Get__NewEnum: IUnknown; safecall;
  1179.     function  Get_Filter: OleVariant; safecall;
  1180.     procedure Set_Filter(pvFilter: OleVariant); safecall;
  1181.     property Count: Integer read Get_Count;
  1182.     property _NewEnum: IUnknown read Get__NewEnum;
  1183.     property Filter: OleVariant read Get_Filter write Set_Filter;
  1184.   end;
  1185. // *********************************************************************//
  1186. // DispIntf:  IADsMembersDisp
  1187. // Flags:     (4416) Dual OleAutomation Dispatchable
  1188. // GUID:      {451A0030-72EC-11CF-B03B-00AA006E0975}
  1189. // *********************************************************************//
  1190.   IADsMembersDisp = dispinterface
  1191.     ['{451A0030-72EC-11CF-B03B-00AA006E0975}']
  1192.     property Count: Integer readonly dispid 2;
  1193.     property _NewEnum: IUnknown readonly dispid -4;
  1194.     property Filter: OleVariant dispid 3;
  1195.   end;
  1196. // *********************************************************************//
  1197. // Interface: IADsPropertyList
  1198. // Flags:     (4416) Dual OleAutomation Dispatchable
  1199. // GUID:      {C6F602B6-8F69-11D0-8528-00C04FD8D503}
  1200. // *********************************************************************//
  1201.   IADsPropertyList = interface(IDispatch)
  1202.     ['{C6F602B6-8F69-11D0-8528-00C04FD8D503}']
  1203.     function  Get_PropertyCount: Integer; safecall;
  1204.     function  Next: OleVariant; safecall;
  1205.     procedure Skip(cElements: Integer); safecall;
  1206.     procedure Reset; safecall;
  1207.     function  Item(varIndex: OleVariant): OleVariant; safecall;
  1208.     function  GetPropertyItem(const bstrName: WideString; lnADsType: Integer): OleVariant; safecall;
  1209.     procedure PutPropertyItem(varData: OleVariant); safecall;
  1210.     procedure ResetPropertyItem(varEntry: OleVariant); safecall;
  1211.     procedure PurgePropertyList; safecall;
  1212.     property PropertyCount: Integer read Get_PropertyCount;
  1213.   end;
  1214. // *********************************************************************//
  1215. // DispIntf:  IADsPropertyListDisp
  1216. // Flags:     (4416) Dual OleAutomation Dispatchable
  1217. // GUID:      {C6F602B6-8F69-11D0-8528-00C04FD8D503}
  1218. // *********************************************************************//
  1219.   IADsPropertyListDisp = dispinterface
  1220.     ['{C6F602B6-8F69-11D0-8528-00C04FD8D503}']
  1221.     property PropertyCount: Integer readonly dispid 2;
  1222.     function  Next: OleVariant; dispid 3;
  1223.     procedure Skip(cElements: Integer); dispid 4;
  1224.     procedure Reset; dispid 5;
  1225.     function  Item(varIndex: OleVariant): OleVariant; dispid 0;
  1226.     function  GetPropertyItem(const bstrName: WideString; lnADsType: Integer): OleVariant; dispid 6;
  1227.     procedure PutPropertyItem(varData: OleVariant); dispid 7;
  1228.     procedure ResetPropertyItem(varEntry: OleVariant); dispid 8;
  1229.     procedure PurgePropertyList; dispid 9;
  1230.   end;
  1231. // *********************************************************************//
  1232. // Interface: IADsPropertyEntry
  1233. // Flags:     (4416) Dual OleAutomation Dispatchable
  1234. // GUID:      {05792C8E-941F-11D0-8529-00C04FD8D503}
  1235. // *********************************************************************//
  1236.   IADsPropertyEntry = interface(IDispatch)
  1237.     ['{05792C8E-941F-11D0-8529-00C04FD8D503}']
  1238.     procedure Clear; safecall;
  1239.     function  Get_Name: WideString; safecall;
  1240.     procedure Set_Name(const retval: WideString); safecall;
  1241.     function  Get_ADsType: Integer; safecall;
  1242.     procedure Set_ADsType(retval: Integer); safecall;
  1243.     function  Get_ControlCode: Integer; safecall;
  1244.     procedure Set_ControlCode(retval: Integer); safecall;
  1245.     function  Get_Values: OleVariant; safecall;
  1246.     procedure Set_Values(retval: OleVariant); safecall;
  1247.     property Name: WideString read Get_Name write Set_Name;
  1248.     property ADsType: Integer read Get_ADsType write Set_ADsType;
  1249.     property ControlCode: Integer read Get_ControlCode write Set_ControlCode;
  1250.     property Values: OleVariant read Get_Values write Set_Values;
  1251.   end;
  1252. // *********************************************************************//
  1253. // DispIntf:  IADsPropertyEntryDisp
  1254. // Flags:     (4416) Dual OleAutomation Dispatchable
  1255. // GUID:      {05792C8E-941F-11D0-8529-00C04FD8D503}
  1256. // *********************************************************************//
  1257.   IADsPropertyEntryDisp = dispinterface
  1258.     ['{05792C8E-941F-11D0-8529-00C04FD8D503}']
  1259.     procedure Clear; dispid 1;
  1260.     property Name: WideString dispid 2;
  1261.     property ADsType: Integer dispid 3;
  1262.     property ControlCode: Integer dispid 4;
  1263.     property Values: OleVariant dispid 5;
  1264.   end;
  1265. // *********************************************************************//
  1266. // Interface: IADsPropertyValue
  1267. // Flags:     (4416) Dual OleAutomation Dispatchable
  1268. // GUID:      {79FA9AD0-A97C-11D0-8534-00C04FD8D503}
  1269. // *********************************************************************//
  1270.   IADsPropertyValue = interface(IDispatch)
  1271.     ['{79FA9AD0-A97C-11D0-8534-00C04FD8D503}']
  1272.     procedure Clear; safecall;
  1273.     function  Get_ADsType: Integer; safecall;
  1274.     procedure Set_ADsType(retval: Integer); safecall;
  1275.     function  Get_DNString: WideString; safecall;
  1276.     procedure Set_DNString(const retval: WideString); safecall;
  1277.     function  Get_CaseExactString: WideString; safecall;
  1278.     procedure Set_CaseExactString(const retval: WideString); safecall;
  1279.     function  Get_CaseIgnoreString: WideString; safecall;
  1280.     procedure Set_CaseIgnoreString(const retval: WideString); safecall;
  1281.     function  Get_PrintableString: WideString; safecall;
  1282.     procedure Set_PrintableString(const retval: WideString); safecall;
  1283.     function  Get_NumericString: WideString; safecall;
  1284.     procedure Set_NumericString(const retval: WideString); safecall;
  1285.     function  Get_Boolean: Integer; safecall;
  1286.     procedure Set_Boolean(retval: Integer); safecall;
  1287.     function  Get_Integer: Integer; safecall;
  1288.     procedure Set_Integer(retval: Integer); safecall;
  1289.     function  Get_OctetString: OleVariant; safecall;
  1290.     procedure Set_OctetString(retval: OleVariant); safecall;
  1291.     function  Get_SecurityDescriptor: IDispatch; safecall;
  1292.     procedure Set_SecurityDescriptor(const retval: IDispatch); safecall;
  1293.     function  Get_LargeInteger: IDispatch; safecall;
  1294.     procedure Set_LargeInteger(const retval: IDispatch); safecall;
  1295.     function  Get_UTCTime: TDateTime; safecall;
  1296.     procedure Set_UTCTime(retval: TDateTime); safecall;
  1297.     property ADsType: Integer read Get_ADsType write Set_ADsType;
  1298.     property DNString: WideString read Get_DNString write Set_DNString;
  1299.     property CaseExactString: WideString read Get_CaseExactString write Set_CaseExactString;
  1300.     property CaseIgnoreString: WideString read Get_CaseIgnoreString write Set_CaseIgnoreString;
  1301.     property PrintableString: WideString read Get_PrintableString write Set_PrintableString;
  1302.     property NumericString: WideString read Get_NumericString write Set_NumericString;
  1303.     property Boolean: Integer read Get_Boolean write Set_Boolean;
  1304.     property Integer: Integer read Get_Integer write Set_Integer;
  1305.     property OctetString: OleVariant read Get_OctetString write Set_OctetString;
  1306.     property SecurityDescriptor: IDispatch read Get_SecurityDescriptor write Set_SecurityDescriptor;
  1307.     property LargeInteger: IDispatch read Get_LargeInteger write Set_LargeInteger;
  1308.     property UTCTime: TDateTime read Get_UTCTime write Set_UTCTime;
  1309.   end;
  1310. // *********************************************************************//
  1311. // DispIntf:  IADsPropertyValueDisp
  1312. // Flags:     (4416) Dual OleAutomation Dispatchable
  1313. // GUID:      {79FA9AD0-A97C-11D0-8534-00C04FD8D503}
  1314. // *********************************************************************//
  1315.   IADsPropertyValueDisp = dispinterface
  1316.     ['{79FA9AD0-A97C-11D0-8534-00C04FD8D503}']
  1317.     procedure Clear; dispid 1;
  1318.     property ADsType: Integer dispid 2;
  1319.     property DNString: WideString dispid 3;
  1320.     property CaseExactString: WideString dispid 4;
  1321.     property CaseIgnoreString: WideString dispid 5;
  1322.     property PrintableString: WideString dispid 6;
  1323.     property NumericString: WideString dispid 7;
  1324.     property Boolean: Integer dispid 8;
  1325.     property Integer: Integer dispid 9;
  1326.     property OctetString: OleVariant dispid 10;
  1327.     property SecurityDescriptor: IDispatch dispid 11;
  1328.     property LargeInteger: IDispatch dispid 12;
  1329.     property UTCTime: TDateTime dispid 13;
  1330.   end;
  1331. // *********************************************************************//
  1332. // Interface: IADsPropertyValue2
  1333. // Flags:     (4416) Dual OleAutomation Dispatchable
  1334. // GUID:      {306E831C-5BC7-11D1-A3B8-00C04FB950DC}
  1335. // *********************************************************************//
  1336.   IADsPropertyValue2 = interface(IDispatch)
  1337.     ['{306E831C-5BC7-11D1-A3B8-00C04FB950DC}']
  1338.     function  GetObjectProperty(var lnADsType: Integer): OleVariant; safecall;
  1339.     procedure PutObjectProperty(lnADsType: Integer; vProp: OleVariant); safecall;
  1340.   end;
  1341. // *********************************************************************//
  1342. // DispIntf:  IADsPropertyValue2Disp
  1343. // Flags:     (4416) Dual OleAutomation Dispatchable
  1344. // GUID:      {306E831C-5BC7-11D1-A3B8-00C04FB950DC}
  1345. // *********************************************************************//
  1346.   IADsPropertyValue2Disp = dispinterface
  1347.     ['{306E831C-5BC7-11D1-A3B8-00C04FB950DC}']
  1348.     function  GetObjectProperty(var lnADsType: Integer): OleVariant; dispid 1;
  1349.     procedure PutObjectProperty(lnADsType: Integer; vProp: OleVariant); dispid 2;
  1350.   end;
  1351. // *********************************************************************//
  1352. // Interface: IPrivateDispatch
  1353. // Flags:     (0)
  1354. // GUID:      {86AB4BBE-65F6-11D1-8C13-00C04FD8D503}
  1355. // *********************************************************************//
  1356.   IPrivateDispatch = interface(IUnknown)
  1357.     ['{86AB4BBE-65F6-11D1-8C13-00C04FD8D503}']
  1358.     function  ADSIInitializeDispatchManager(dwExtensionId: Integer): HResult; stdcall;
  1359.     function  ADSIGetTypeInfoCount(out pctinfo: SYSUINT): HResult; stdcall;
  1360.     function  ADSIGetTypeInfo(itinfo: SYSUINT; lcid: LongWord; out ppTInfo: ITypeInfo): HResult; stdcall;
  1361.     function  ADSIGetIDsOfNames(var riid: TGUID; rgszNames: PPWord1; cNames: SYSUINT; 
  1362.                                 lcid: LongWord; out rgdispid: Integer): HResult; stdcall;
  1363.     function  ADSIInvoke(dispidMember: Integer; var riid: TGUID; lcid: LongWord; wFlags: Word; 
  1364.                          var pdispparams: TGUID; out pvarResult: OleVariant; out pexcepinfo: TGUID; 
  1365.                          out puArgErr: SYSUINT): HResult; stdcall;
  1366.   end;
  1367. // *********************************************************************//
  1368. // Interface: ITypeInfo
  1369. // Flags:     (0)
  1370. // GUID:      {00020401-0000-0000-C000-000000000046}
  1371. // *********************************************************************//
  1372.   ITypeInfo = interface(IUnknown)
  1373.     ['{00020401-0000-0000-C000-000000000046}']
  1374.     function  RemoteGetTypeAttr(out ppTypeAttr: PUserType5; out pDummy: DWORD): HResult; stdcall;
  1375.     function  GetTypeComp(out ppTComp: ITypeComp): HResult; stdcall;
  1376.     function  RemoteGetFuncDesc(index: SYSUINT; out ppFuncDesc: PUserType6; out pDummy: DWORD): HResult; stdcall;
  1377.     function  RemoteGetVarDesc(index: SYSUINT; out ppVarDesc: PUserType7; out pDummy: DWORD): HResult; stdcall;
  1378.     function  RemoteGetNames(memid: Integer; out rgBstrNames: WideString; cMaxNames: SYSUINT; 
  1379.                              out pcNames: SYSUINT): HResult; stdcall;
  1380.     function  GetRefTypeOfImplType(index: SYSUINT; out pRefType: LongWord): HResult; stdcall;
  1381.     function  GetImplTypeFlags(index: SYSUINT; out pImplTypeFlags: SYSINT): HResult; stdcall;
  1382.     function  LocalGetIDsOfNames: HResult; stdcall;
  1383.     function  LocalInvoke: HResult; stdcall;
  1384.     function  RemoteGetDocumentation(memid: Integer; refPtrFlags: LongWord; 
  1385.                                      out pBstrName: WideString; out pBstrDocString: WideString; 
  1386.                                      out pdwHelpContext: LongWord; out pBstrHelpFile: WideString): HResult; stdcall;
  1387.     function  RemoteGetDllEntry(memid: Integer; invkind: tagINVOKEKIND; refPtrFlags: LongWord; 
  1388.                                 out pBstrDllName: WideString; out pBstrName: WideString; 
  1389.                                 out pwOrdinal: Word): HResult; stdcall;
  1390.     function  GetRefTypeInfo(hreftype: LongWord; out ppTInfo: ITypeInfo): HResult; stdcall;
  1391.     function  LocalAddressOfMember: HResult; stdcall;
  1392.     function  RemoteCreateInstance(var riid: TGUID; out ppvObj: IUnknown): HResult; stdcall;
  1393.     function  GetMops(memid: Integer; out pBstrMops: WideString): HResult; stdcall;
  1394.     function  RemoteGetContainingTypeLib(out ppTLib: ITypeLib; out pIndex: SYSUINT): HResult; stdcall;
  1395.     function  LocalReleaseTypeAttr: HResult; stdcall;
  1396.     function  LocalReleaseFuncDesc: HResult; stdcall;
  1397.     function  LocalReleaseVarDesc: HResult; stdcall;
  1398.   end;
  1399. // *********************************************************************//
  1400. // Interface: ITypeComp
  1401. // Flags:     (0)
  1402. // GUID:      {00020403-0000-0000-C000-000000000046}
  1403. // *********************************************************************//
  1404.   ITypeComp = interface(IUnknown)
  1405.     ['{00020403-0000-0000-C000-000000000046}']
  1406.     function  RemoteBind(szName: PWideChar; lHashVal: LongWord; wFlags: Word; 
  1407.                          out ppTInfo: ITypeInfo; out pDescKind: tagDESCKIND; 
  1408.                          out ppFuncDesc: PUserType6; out ppVarDesc: PUserType7; 
  1409.                          out ppTypeComp: ITypeComp; out pDummy: DWORD): HResult; stdcall;
  1410.     function  RemoteBindType(szName: PWideChar; lHashVal: LongWord; out ppTInfo: ITypeInfo): HResult; stdcall;
  1411.   end;
  1412. // *********************************************************************//
  1413. // Interface: ITypeLib
  1414. // Flags:     (0)
  1415. // GUID:      {00020402-0000-0000-C000-000000000046}
  1416. // *********************************************************************//
  1417.   ITypeLib = interface(IUnknown)
  1418.     ['{00020402-0000-0000-C000-000000000046}']
  1419.     function  RemoteGetTypeInfoCount(out pctinfo: SYSUINT): HResult; stdcall;
  1420.     function  GetTypeInfo(index: SYSUINT; out ppTInfo: ITypeInfo): HResult; stdcall;
  1421.     function  GetTypeInfoType(index: SYSUINT; out pTKind: tagTYPEKIND): HResult; stdcall;
  1422.     function  GetTypeInfoOfGuid(var GUID: TGUID; out ppTInfo: ITypeInfo): HResult; stdcall;
  1423.     function  RemoteGetLibAttr(out ppTLibAttr: PUserType10; out pDummy: DWORD): HResult; stdcall;
  1424.     function  GetTypeComp(out ppTComp: ITypeComp): HResult; stdcall;
  1425.     function  RemoteGetDocumentation(index: SYSINT; refPtrFlags: LongWord; 
  1426.                                      out pBstrName: WideString; out pBstrDocString: WideString; 
  1427.                                      out pdwHelpContext: LongWord; out pBstrHelpFile: WideString): HResult; stdcall;
  1428.     function  RemoteIsName(szNameBuf: PWideChar; lHashVal: LongWord; out pfName: Integer; 
  1429.                            out pBstrLibName: WideString): HResult; stdcall;
  1430.     function  RemoteFindName(szNameBuf: PWideChar; lHashVal: LongWord; out ppTInfo: ITypeInfo; 
  1431.                              out rgMemId: Integer; var pcFound: Word; out pBstrLibName: WideString): HResult; stdcall;
  1432.     function  LocalReleaseTLibAttr: HResult; stdcall;
  1433.   end;
  1434. // *********************************************************************//
  1435. // Interface: IPrivateUnknown
  1436. // Flags:     (0)
  1437. // GUID:      {89126BAB-6EAD-11D1-8C18-00C04FD8D503}
  1438. // *********************************************************************//
  1439.   IPrivateUnknown = interface(IUnknown)
  1440.     ['{89126BAB-6EAD-11D1-8C18-00C04FD8D503}']
  1441.     function  ADSIInitializeObject(const lpszUserName: WideString; const lpszPassword: WideString; 
  1442.                                    lnReserved: Integer): HResult; stdcall;
  1443.     function  ADSIReleaseObject: HResult; stdcall;
  1444.   end;
  1445. // *********************************************************************//
  1446. // Interface: IADsExtension
  1447. // Flags:     (0)
  1448. // GUID:      {3D35553C-D2B0-11D1-B17B-0000F87593A0}
  1449. // *********************************************************************//
  1450.   IADsExtension = interface(IUnknown)
  1451.     ['{3D35553C-D2B0-11D1-B17B-0000F87593A0}']
  1452.     function  Operate(dwCode: LongWord; varData1: OleVariant; varData2: OleVariant; 
  1453.                       varData3: OleVariant): HResult; stdcall;
  1454.     function  PrivateGetIDsOfNames(var riid: TGUID; rgszNames: PPWord1; cNames: SYSUINT; 
  1455.                                    lcid: LongWord; out rgdispid: Integer): HResult; stdcall;
  1456.     function  PrivateInvoke(dispidMember: Integer; var riid: TGUID; lcid: LongWord; wFlags: Word; 
  1457.                             var pdispparams: TGUID; out pvarResult: OleVariant; 
  1458.                             out pexcepinfo: TGUID; out puArgErr: SYSUINT): HResult; stdcall;
  1459.   end;
  1460. // *********************************************************************//
  1461. // Interface: IADsDeleteOps
  1462. // Flags:     (4416) Dual OleAutomation Dispatchable
  1463. // GUID:      {B2BD0902-8878-11D1-8C21-00C04FD8D503}
  1464. // *********************************************************************//
  1465.   IADsDeleteOps = interface(IDispatch)
  1466.     ['{B2BD0902-8878-11D1-8C21-00C04FD8D503}']
  1467.     procedure DeleteObject(lnFlags: Integer); safecall;
  1468.   end;
  1469. // *********************************************************************//
  1470. // DispIntf:  IADsDeleteOpsDisp
  1471. // Flags:     (4416) Dual OleAutomation Dispatchable
  1472. // GUID:      {B2BD0902-8878-11D1-8C21-00C04FD8D503}
  1473. // *********************************************************************//
  1474.   IADsDeleteOpsDisp = dispinterface
  1475.     ['{B2BD0902-8878-11D1-8C21-00C04FD8D503}']
  1476.     procedure DeleteObject(lnFlags: Integer); dispid 2;
  1477.   end;
  1478. // *********************************************************************//
  1479. // Interface: IADsNamespaces
  1480. // Flags:     (4416) Dual OleAutomation Dispatchable
  1481. // GUID:      {28B96BA0-B330-11CF-A9AD-00AA006BC149}
  1482. // *********************************************************************//
  1483.   IADsNamespaces = interface(IADs)
  1484.     ['{28B96BA0-B330-11CF-A9AD-00AA006BC149}']
  1485.     function  Get_DefaultContainer: WideString; safecall;
  1486.     procedure Set_DefaultContainer(const retval: WideString); safecall;
  1487.     property DefaultContainer: WideString read Get_DefaultContainer write Set_DefaultContainer;
  1488.   end;
  1489. // *********************************************************************//
  1490. // DispIntf:  IADsNamespacesDisp
  1491. // Flags:     (4416) Dual OleAutomation Dispatchable
  1492. // GUID:      {28B96BA0-B330-11CF-A9AD-00AA006BC149}
  1493. // *********************************************************************//
  1494.   IADsNamespacesDisp = dispinterface
  1495.     ['{28B96BA0-B330-11CF-A9AD-00AA006BC149}']
  1496.     property DefaultContainer: WideString dispid 1;
  1497.     property Name: WideString readonly dispid 2;
  1498.     property Class_: WideString readonly dispid 3;
  1499.     property GUID: WideString readonly dispid 4;
  1500.     property ADsPath: WideString readonly dispid 5;
  1501.     property Parent: WideString readonly dispid 6;
  1502.     property Schema: WideString readonly dispid 7;
  1503.     procedure GetInfo; dispid 8;
  1504.     procedure SetInfo; dispid 9;
  1505.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  1506.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  1507.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  1508.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  1509.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  1510.   end;
  1511. // *********************************************************************//
  1512. // Interface: IADsClass
  1513. // Flags:     (4416) Dual OleAutomation Dispatchable
  1514. // GUID:      {C8F93DD0-4AE0-11CF-9E73-00AA004A5691}
  1515. // *********************************************************************//
  1516.   IADsClass = interface(IADs)
  1517.     ['{C8F93DD0-4AE0-11CF-9E73-00AA004A5691}']
  1518.     function  Get_PrimaryInterface: WideString; safecall;
  1519.     function  Get_CLSID: WideString; safecall;
  1520.     procedure Set_CLSID(const retval: WideString); safecall;
  1521.     function  Get_OID: WideString; safecall;
  1522.     procedure Set_OID(const retval: WideString); safecall;
  1523.     function  Get_Abstract: WordBool; safecall;
  1524.     procedure Set_Abstract(retval: WordBool); safecall;
  1525.     function  Get_Auxiliary: WordBool; safecall;
  1526.     procedure Set_Auxiliary(retval: WordBool); safecall;
  1527.     function  Get_MandatoryProperties: OleVariant; safecall;
  1528.     procedure Set_MandatoryProperties(retval: OleVariant); safecall;
  1529.     function  Get_OptionalProperties: OleVariant; safecall;
  1530.     procedure Set_OptionalProperties(retval: OleVariant); safecall;
  1531.     function  Get_NamingProperties: OleVariant; safecall;
  1532.     procedure Set_NamingProperties(retval: OleVariant); safecall;
  1533.     function  Get_DerivedFrom: OleVariant; safecall;
  1534.     procedure Set_DerivedFrom(retval: OleVariant); safecall;
  1535.     function  Get_AuxDerivedFrom: OleVariant; safecall;
  1536.     procedure Set_AuxDerivedFrom(retval: OleVariant); safecall;
  1537.     function  Get_PossibleSuperiors: OleVariant; safecall;
  1538.     procedure Set_PossibleSuperiors(retval: OleVariant); safecall;
  1539.     function  Get_Containment: OleVariant; safecall;
  1540.     procedure Set_Containment(retval: OleVariant); safecall;
  1541.     function  Get_Container: WordBool; safecall;
  1542.     procedure Set_Container(retval: WordBool); safecall;
  1543.     function  Get_HelpFileName: WideString; safecall;
  1544.     procedure Set_HelpFileName(const retval: WideString); safecall;
  1545.     function  Get_HelpFileContext: Integer; safecall;
  1546.     procedure Set_HelpFileContext(retval: Integer); safecall;
  1547.     function  Qualifiers: IADsCollection; safecall;
  1548.     property PrimaryInterface: WideString read Get_PrimaryInterface;
  1549.     property CLSID: WideString read Get_CLSID write Set_CLSID;
  1550.     property OID: WideString read Get_OID write Set_OID;
  1551.     property Abstract: WordBool read Get_Abstract write Set_Abstract;
  1552.     property Auxiliary: WordBool read Get_Auxiliary write Set_Auxiliary;
  1553.     property MandatoryProperties: OleVariant read Get_MandatoryProperties write Set_MandatoryProperties;
  1554.     property OptionalProperties: OleVariant read Get_OptionalProperties write Set_OptionalProperties;
  1555.     property NamingProperties: OleVariant read Get_NamingProperties write Set_NamingProperties;
  1556.     property DerivedFrom: OleVariant read Get_DerivedFrom write Set_DerivedFrom;
  1557.     property AuxDerivedFrom: OleVariant read Get_AuxDerivedFrom write Set_AuxDerivedFrom;
  1558.     property PossibleSuperiors: OleVariant read Get_PossibleSuperiors write Set_PossibleSuperiors;
  1559.     property Containment: OleVariant read Get_Containment write Set_Containment;
  1560.     property Container: WordBool read Get_Container write Set_Container;
  1561.     property HelpFileName: WideString read Get_HelpFileName write Set_HelpFileName;
  1562.     property HelpFileContext: Integer read Get_HelpFileContext write Set_HelpFileContext;
  1563.   end;
  1564. // *********************************************************************//
  1565. // DispIntf:  IADsClassDisp
  1566. // Flags:     (4416) Dual OleAutomation Dispatchable
  1567. // GUID:      {C8F93DD0-4AE0-11CF-9E73-00AA004A5691}
  1568. // *********************************************************************//
  1569.   IADsClassDisp = dispinterface
  1570.     ['{C8F93DD0-4AE0-11CF-9E73-00AA004A5691}']
  1571.     property PrimaryInterface: WideString readonly dispid 15;
  1572.     property CLSID: WideString dispid 16;
  1573.     property OID: WideString dispid 17;
  1574.     property Abstract: WordBool dispid 18;
  1575.     property Auxiliary: WordBool dispid 26;
  1576.     property MandatoryProperties: OleVariant dispid 19;
  1577.     property OptionalProperties: OleVariant dispid 29;
  1578.     property NamingProperties: OleVariant dispid 30;
  1579.     property DerivedFrom: OleVariant dispid 20;
  1580.     property AuxDerivedFrom: OleVariant dispid 27;
  1581.     property PossibleSuperiors: OleVariant dispid 28;
  1582.     property Containment: OleVariant dispid 21;
  1583.     property Container: WordBool dispid 22;
  1584.     property HelpFileName: WideString dispid 23;
  1585.     property HelpFileContext: Integer dispid 24;
  1586.     function  Qualifiers: IADsCollection; dispid 25;
  1587.     property Name: WideString readonly dispid 2;
  1588.     property Class_: WideString readonly dispid 3;
  1589.     property GUID: WideString readonly dispid 4;
  1590.     property ADsPath: WideString readonly dispid 5;
  1591.     property Parent: WideString readonly dispid 6;
  1592.     property Schema: WideString readonly dispid 7;
  1593.     procedure GetInfo; dispid 8;
  1594.     procedure SetInfo; dispid 9;
  1595.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  1596.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  1597.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  1598.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  1599.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  1600.   end;
  1601. // *********************************************************************//
  1602. // Interface: IADsProperty
  1603. // Flags:     (4416) Dual OleAutomation Dispatchable
  1604. // GUID:      {C8F93DD3-4AE0-11CF-9E73-00AA004A5691}
  1605. // *********************************************************************//
  1606.   IADsProperty = interface(IADs)
  1607.     ['{C8F93DD3-4AE0-11CF-9E73-00AA004A5691}']
  1608.     function  Get_OID: WideString; safecall;
  1609.     procedure Set_OID(const retval: WideString); safecall;
  1610.     function  Get_Syntax: WideString; safecall;
  1611.     procedure Set_Syntax(const retval: WideString); safecall;
  1612.     function  Get_MaxRange: Integer; safecall;
  1613.     procedure Set_MaxRange(retval: Integer); safecall;
  1614.     function  Get_MinRange: Integer; safecall;
  1615.     procedure Set_MinRange(retval: Integer); safecall;
  1616.     function  Get_MultiValued: WordBool; safecall;
  1617.     procedure Set_MultiValued(retval: WordBool); safecall;
  1618.     function  Qualifiers: IADsCollection; safecall;
  1619.     property OID: WideString read Get_OID write Set_OID;
  1620.     property Syntax: WideString read Get_Syntax write Set_Syntax;
  1621.     property MaxRange: Integer read Get_MaxRange write Set_MaxRange;
  1622.     property MinRange: Integer read Get_MinRange write Set_MinRange;
  1623.     property MultiValued: WordBool read Get_MultiValued write Set_MultiValued;
  1624.   end;
  1625. // *********************************************************************//
  1626. // DispIntf:  IADsPropertyDisp
  1627. // Flags:     (4416) Dual OleAutomation Dispatchable
  1628. // GUID:      {C8F93DD3-4AE0-11CF-9E73-00AA004A5691}
  1629. // *********************************************************************//
  1630.   IADsPropertyDisp = dispinterface
  1631.     ['{C8F93DD3-4AE0-11CF-9E73-00AA004A5691}']
  1632.     property OID: WideString dispid 17;
  1633.     property Syntax: WideString dispid 18;
  1634.     property MaxRange: Integer dispid 19;
  1635.     property MinRange: Integer dispid 20;
  1636.     property MultiValued: WordBool dispid 21;
  1637.     function  Qualifiers: IADsCollection; dispid 22;
  1638.     property Name: WideString readonly dispid 2;
  1639.     property Class_: WideString readonly dispid 3;
  1640.     property GUID: WideString readonly dispid 4;
  1641.     property ADsPath: WideString readonly dispid 5;
  1642.     property Parent: WideString readonly dispid 6;
  1643.     property Schema: WideString readonly dispid 7;
  1644.     procedure GetInfo; dispid 8;
  1645.     procedure SetInfo; dispid 9;
  1646.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  1647.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  1648.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  1649.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  1650.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  1651.   end;
  1652. // *********************************************************************//
  1653. // Interface: IADsSyntax
  1654. // Flags:     (4416) Dual OleAutomation Dispatchable
  1655. // GUID:      {C8F93DD2-4AE0-11CF-9E73-00AA004A5691}
  1656. // *********************************************************************//
  1657.   IADsSyntax = interface(IADs)
  1658.     ['{C8F93DD2-4AE0-11CF-9E73-00AA004A5691}']
  1659.     function  Get_OleAutoDataType: Integer; safecall;
  1660.     procedure Set_OleAutoDataType(retval: Integer); safecall;
  1661.     property OleAutoDataType: Integer read Get_OleAutoDataType write Set_OleAutoDataType;
  1662.   end;
  1663. // *********************************************************************//
  1664. // DispIntf:  IADsSyntaxDisp
  1665. // Flags:     (4416) Dual OleAutomation Dispatchable
  1666. // GUID:      {C8F93DD2-4AE0-11CF-9E73-00AA004A5691}
  1667. // *********************************************************************//
  1668.   IADsSyntaxDisp = dispinterface
  1669.     ['{C8F93DD2-4AE0-11CF-9E73-00AA004A5691}']
  1670.     property OleAutoDataType: Integer dispid 15;
  1671.     property Name: WideString readonly dispid 2;
  1672.     property Class_: WideString readonly dispid 3;
  1673.     property GUID: WideString readonly dispid 4;
  1674.     property ADsPath: WideString readonly dispid 5;
  1675.     property Parent: WideString readonly dispid 6;
  1676.     property Schema: WideString readonly dispid 7;
  1677.     procedure GetInfo; dispid 8;
  1678.     procedure SetInfo; dispid 9;
  1679.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  1680.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  1681.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  1682.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  1683.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  1684.   end;
  1685. // *********************************************************************//
  1686. // Interface: IADsLocality
  1687. // Flags:     (4416) Dual OleAutomation Dispatchable
  1688. // GUID:      {A05E03A2-EFFE-11CF-8ABC-00C04FD8D503}
  1689. // *********************************************************************//
  1690.   IADsLocality = interface(IADs)
  1691.     ['{A05E03A2-EFFE-11CF-8ABC-00C04FD8D503}']
  1692.     function  Get_Description: WideString; safecall;
  1693.     procedure Set_Description(const retval: WideString); safecall;
  1694.     function  Get_LocalityName: WideString; safecall;
  1695.     procedure Set_LocalityName(const retval: WideString); safecall;
  1696.     function  Get_PostalAddress: WideString; safecall;
  1697.     procedure Set_PostalAddress(const retval: WideString); safecall;
  1698.     function  Get_SeeAlso: OleVariant; safecall;
  1699.     procedure Set_SeeAlso(retval: OleVariant); safecall;
  1700.     property Description: WideString read Get_Description write Set_Description;
  1701.     property LocalityName: WideString read Get_LocalityName write Set_LocalityName;
  1702.     property PostalAddress: WideString read Get_PostalAddress write Set_PostalAddress;
  1703.     property SeeAlso: OleVariant read Get_SeeAlso write Set_SeeAlso;
  1704.   end;
  1705. // *********************************************************************//
  1706. // DispIntf:  IADsLocalityDisp
  1707. // Flags:     (4416) Dual OleAutomation Dispatchable
  1708. // GUID:      {A05E03A2-EFFE-11CF-8ABC-00C04FD8D503}
  1709. // *********************************************************************//
  1710.   IADsLocalityDisp = dispinterface
  1711.     ['{A05E03A2-EFFE-11CF-8ABC-00C04FD8D503}']
  1712.     property Description: WideString dispid 15;
  1713.     property LocalityName: WideString dispid 16;
  1714.     property PostalAddress: WideString dispid 17;
  1715.     property SeeAlso: OleVariant dispid 18;
  1716.     property Name: WideString readonly dispid 2;
  1717.     property Class_: WideString readonly dispid 3;
  1718.     property GUID: WideString readonly dispid 4;
  1719.     property ADsPath: WideString readonly dispid 5;
  1720.     property Parent: WideString readonly dispid 6;
  1721.     property Schema: WideString readonly dispid 7;
  1722.     procedure GetInfo; dispid 8;
  1723.     procedure SetInfo; dispid 9;
  1724.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  1725.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  1726.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  1727.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  1728.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  1729.   end;
  1730. // *********************************************************************//
  1731. // Interface: IADsO
  1732. // Flags:     (4416) Dual OleAutomation Dispatchable
  1733. // GUID:      {A1CD2DC6-EFFE-11CF-8ABC-00C04FD8D503}
  1734. // *********************************************************************//
  1735.   IADsO = interface(IADs)
  1736.     ['{A1CD2DC6-EFFE-11CF-8ABC-00C04FD8D503}']
  1737.     function  Get_Description: WideString; safecall;
  1738.     procedure Set_Description(const retval: WideString); safecall;
  1739.     function  Get_LocalityName: WideString; safecall;
  1740.     procedure Set_LocalityName(const retval: WideString); safecall;
  1741.     function  Get_PostalAddress: WideString; safecall;
  1742.     procedure Set_PostalAddress(const retval: WideString); safecall;
  1743.     function  Get_TelephoneNumber: WideString; safecall;
  1744.     procedure Set_TelephoneNumber(const retval: WideString); safecall;
  1745.     function  Get_FaxNumber: WideString; safecall;
  1746.     procedure Set_FaxNumber(const retval: WideString); safecall;
  1747.     function  Get_SeeAlso: OleVariant; safecall;
  1748.     procedure Set_SeeAlso(retval: OleVariant); safecall;
  1749.     property Description: WideString read Get_Description write Set_Description;
  1750.     property LocalityName: WideString read Get_LocalityName write Set_LocalityName;
  1751.     property PostalAddress: WideString read Get_PostalAddress write Set_PostalAddress;
  1752.     property TelephoneNumber: WideString read Get_TelephoneNumber write Set_TelephoneNumber;
  1753.     property FaxNumber: WideString read Get_FaxNumber write Set_FaxNumber;
  1754.     property SeeAlso: OleVariant read Get_SeeAlso write Set_SeeAlso;
  1755.   end;
  1756. // *********************************************************************//
  1757. // DispIntf:  IADsODisp
  1758. // Flags:     (4416) Dual OleAutomation Dispatchable
  1759. // GUID:      {A1CD2DC6-EFFE-11CF-8ABC-00C04FD8D503}
  1760. // *********************************************************************//
  1761.   IADsODisp = dispinterface
  1762.     ['{A1CD2DC6-EFFE-11CF-8ABC-00C04FD8D503}']
  1763.     property Description: WideString dispid 15;
  1764.     property LocalityName: WideString dispid 16;
  1765.     property PostalAddress: WideString dispid 17;
  1766.     property TelephoneNumber: WideString dispid 18;
  1767.     property FaxNumber: WideString dispid 19;
  1768.     property SeeAlso: OleVariant dispid 20;
  1769.     property Name: WideString readonly dispid 2;
  1770.     property Class_: WideString readonly dispid 3;
  1771.     property GUID: WideString readonly dispid 4;
  1772.     property ADsPath: WideString readonly dispid 5;
  1773.     property Parent: WideString readonly dispid 6;
  1774.     property Schema: WideString readonly dispid 7;
  1775.     procedure GetInfo; dispid 8;
  1776.     procedure SetInfo; dispid 9;
  1777.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  1778.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  1779.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  1780.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  1781.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  1782.   end;
  1783. // *********************************************************************//
  1784. // Interface: IADsOU
  1785. // Flags:     (4416) Dual OleAutomation Dispatchable
  1786. // GUID:      {A2F733B8-EFFE-11CF-8ABC-00C04FD8D503}
  1787. // *********************************************************************//
  1788.   IADsOU = interface(IADs)
  1789.     ['{A2F733B8-EFFE-11CF-8ABC-00C04FD8D503}']
  1790.     function  Get_Description: WideString; safecall;
  1791.     procedure Set_Description(const retval: WideString); safecall;
  1792.     function  Get_LocalityName: WideString; safecall;
  1793.     procedure Set_LocalityName(const retval: WideString); safecall;
  1794.     function  Get_PostalAddress: WideString; safecall;
  1795.     procedure Set_PostalAddress(const retval: WideString); safecall;
  1796.     function  Get_TelephoneNumber: WideString; safecall;
  1797.     procedure Set_TelephoneNumber(const retval: WideString); safecall;
  1798.     function  Get_FaxNumber: WideString; safecall;
  1799.     procedure Set_FaxNumber(const retval: WideString); safecall;
  1800.     function  Get_SeeAlso: OleVariant; safecall;
  1801.     procedure Set_SeeAlso(retval: OleVariant); safecall;
  1802.     function  Get_BusinessCategory: WideString; safecall;
  1803.     procedure Set_BusinessCategory(const retval: WideString); safecall;
  1804.     property Description: WideString read Get_Description write Set_Description;
  1805.     property LocalityName: WideString read Get_LocalityName write Set_LocalityName;
  1806.     property PostalAddress: WideString read Get_PostalAddress write Set_PostalAddress;
  1807.     property TelephoneNumber: WideString read Get_TelephoneNumber write Set_TelephoneNumber;
  1808.     property FaxNumber: WideString read Get_FaxNumber write Set_FaxNumber;
  1809.     property SeeAlso: OleVariant read Get_SeeAlso write Set_SeeAlso;
  1810.     property BusinessCategory: WideString read Get_BusinessCategory write Set_BusinessCategory;
  1811.   end;
  1812. // *********************************************************************//
  1813. // DispIntf:  IADsOUDisp
  1814. // Flags:     (4416) Dual OleAutomation Dispatchable
  1815. // GUID:      {A2F733B8-EFFE-11CF-8ABC-00C04FD8D503}
  1816. // *********************************************************************//
  1817.   IADsOUDisp = dispinterface
  1818.     ['{A2F733B8-EFFE-11CF-8ABC-00C04FD8D503}']
  1819.     property Description: WideString dispid 15;
  1820.     property LocalityName: WideString dispid 16;
  1821.     property PostalAddress: WideString dispid 17;
  1822.     property TelephoneNumber: WideString dispid 18;
  1823.     property FaxNumber: WideString dispid 19;
  1824.     property SeeAlso: OleVariant dispid 20;
  1825.     property BusinessCategory: WideString dispid 21;
  1826.     property Name: WideString readonly dispid 2;
  1827.     property Class_: WideString readonly dispid 3;
  1828.     property GUID: WideString readonly dispid 4;
  1829.     property ADsPath: WideString readonly dispid 5;
  1830.     property Parent: WideString readonly dispid 6;
  1831.     property Schema: WideString readonly dispid 7;
  1832.     procedure GetInfo; dispid 8;
  1833.     procedure SetInfo; dispid 9;
  1834.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  1835.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  1836.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  1837.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  1838.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  1839.   end;
  1840. // *********************************************************************//
  1841. // Interface: IADsDomain
  1842. // Flags:     (4416) Dual OleAutomation Dispatchable
  1843. // GUID:      {00E4C220-FD16-11CE-ABC4-02608C9E7553}
  1844. // *********************************************************************//
  1845.   IADsDomain = interface(IADs)
  1846.     ['{00E4C220-FD16-11CE-ABC4-02608C9E7553}']
  1847.     function  Get_IsWorkgroup: WordBool; safecall;
  1848.     function  Get_MinPasswordLength: Integer; safecall;
  1849.     procedure Set_MinPasswordLength(retval: Integer); safecall;
  1850.     function  Get_MinPasswordAge: Integer; safecall;
  1851.     procedure Set_MinPasswordAge(retval: Integer); safecall;
  1852.     function  Get_MaxPasswordAge: Integer; safecall;
  1853.     procedure Set_MaxPasswordAge(retval: Integer); safecall;
  1854.     function  Get_MaxBadPasswordsAllowed: Integer; safecall;
  1855.     procedure Set_MaxBadPasswordsAllowed(retval: Integer); safecall;
  1856.     function  Get_PasswordHistoryLength: Integer; safecall;
  1857.     procedure Set_PasswordHistoryLength(retval: Integer); safecall;
  1858.     function  Get_PasswordAttributes: Integer; safecall;
  1859.     procedure Set_PasswordAttributes(retval: Integer); safecall;
  1860.     function  Get_AutoUnlockInterval: Integer; safecall;
  1861.     procedure Set_AutoUnlockInterval(retval: Integer); safecall;
  1862.     function  Get_LockoutObservationInterval: Integer; safecall;
  1863.     procedure Set_LockoutObservationInterval(retval: Integer); safecall;
  1864.     property IsWorkgroup: WordBool read Get_IsWorkgroup;
  1865.     property MinPasswordLength: Integer read Get_MinPasswordLength write Set_MinPasswordLength;
  1866.     property MinPasswordAge: Integer read Get_MinPasswordAge write Set_MinPasswordAge;
  1867.     property MaxPasswordAge: Integer read Get_MaxPasswordAge write Set_MaxPasswordAge;
  1868.     property MaxBadPasswordsAllowed: Integer read Get_MaxBadPasswordsAllowed write Set_MaxBadPasswordsAllowed;
  1869.     property PasswordHistoryLength: Integer read Get_PasswordHistoryLength write Set_PasswordHistoryLength;
  1870.     property PasswordAttributes: Integer read Get_PasswordAttributes write Set_PasswordAttributes;
  1871.     property AutoUnlockInterval: Integer read Get_AutoUnlockInterval write Set_AutoUnlockInterval;
  1872.     property LockoutObservationInterval: Integer read Get_LockoutObservationInterval write Set_LockoutObservationInterval;
  1873.   end;
  1874. // *********************************************************************//
  1875. // DispIntf:  IADsDomainDisp
  1876. // Flags:     (4416) Dual OleAutomation Dispatchable
  1877. // GUID:      {00E4C220-FD16-11CE-ABC4-02608C9E7553}
  1878. // *********************************************************************//
  1879.   IADsDomainDisp = dispinterface
  1880.     ['{00E4C220-FD16-11CE-ABC4-02608C9E7553}']
  1881.     property IsWorkgroup: WordBool readonly dispid 15;
  1882.     property MinPasswordLength: Integer dispid 16;
  1883.     property MinPasswordAge: Integer dispid 17;
  1884.     property MaxPasswordAge: Integer dispid 18;
  1885.     property MaxBadPasswordsAllowed: Integer dispid 19;
  1886.     property PasswordHistoryLength: Integer dispid 20;
  1887.     property PasswordAttributes: Integer dispid 21;
  1888.     property AutoUnlockInterval: Integer dispid 22;
  1889.     property LockoutObservationInterval: Integer dispid 23;
  1890.     property Name: WideString readonly dispid 2;
  1891.     property Class_: WideString readonly dispid 3;
  1892.     property GUID: WideString readonly dispid 4;
  1893.     property ADsPath: WideString readonly dispid 5;
  1894.     property Parent: WideString readonly dispid 6;
  1895.     property Schema: WideString readonly dispid 7;
  1896.     procedure GetInfo; dispid 8;
  1897.     procedure SetInfo; dispid 9;
  1898.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  1899.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  1900.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  1901.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  1902.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  1903.   end;
  1904. // *********************************************************************//
  1905. // Interface: IADsComputer
  1906. // Flags:     (4416) Dual OleAutomation Dispatchable
  1907. // GUID:      {EFE3CC70-1D9F-11CF-B1F3-02608C9E7553}
  1908. // *********************************************************************//
  1909.   IADsComputer = interface(IADs)
  1910.     ['{EFE3CC70-1D9F-11CF-B1F3-02608C9E7553}']
  1911.     function  Get_ComputerID: WideString; safecall;
  1912.     function  Get_Site: WideString; safecall;
  1913.     function  Get_Description: WideString; safecall;
  1914.     procedure Set_Description(const retval: WideString); safecall;
  1915.     function  Get_Location: WideString; safecall;
  1916.     procedure Set_Location(const retval: WideString); safecall;
  1917.     function  Get_PrimaryUser: WideString; safecall;
  1918.     procedure Set_PrimaryUser(const retval: WideString); safecall;
  1919.     function  Get_Owner: WideString; safecall;
  1920.     procedure Set_Owner(const retval: WideString); safecall;
  1921.     function  Get_Division: WideString; safecall;
  1922.     procedure Set_Division(const retval: WideString); safecall;
  1923.     function  Get_Department: WideString; safecall;
  1924.     procedure Set_Department(const retval: WideString); safecall;
  1925.     function  Get_Role: WideString; safecall;
  1926.     procedure Set_Role(const retval: WideString); safecall;
  1927.     function  Get_OperatingSystem: WideString; safecall;
  1928.     procedure Set_OperatingSystem(const retval: WideString); safecall;
  1929.     function  Get_OperatingSystemVersion: WideString; safecall;
  1930.     procedure Set_OperatingSystemVersion(const retval: WideString); safecall;
  1931.     function  Get_Model: WideString; safecall;
  1932.     procedure Set_Model(const retval: WideString); safecall;
  1933.     function  Get_Processor: WideString; safecall;
  1934.     procedure Set_Processor(const retval: WideString); safecall;
  1935.     function  Get_ProcessorCount: WideString; safecall;
  1936.     procedure Set_ProcessorCount(const retval: WideString); safecall;
  1937.     function  Get_MemorySize: WideString; safecall;
  1938.     procedure Set_MemorySize(const retval: WideString); safecall;
  1939.     function  Get_StorageCapacity: WideString; safecall;
  1940.     procedure Set_StorageCapacity(const retval: WideString); safecall;
  1941.     function  Get_NetAddresses: OleVariant; safecall;
  1942.     procedure Set_NetAddresses(retval: OleVariant); safecall;
  1943.     property ComputerID: WideString read Get_ComputerID;
  1944.     property Site: WideString read Get_Site;
  1945.     property Description: WideString read Get_Description write Set_Description;
  1946.     property Location: WideString read Get_Location write Set_Location;
  1947.     property PrimaryUser: WideString read Get_PrimaryUser write Set_PrimaryUser;
  1948.     property Owner: WideString read Get_Owner write Set_Owner;
  1949.     property Division: WideString read Get_Division write Set_Division;
  1950.     property Department: WideString read Get_Department write Set_Department;
  1951.     property Role: WideString read Get_Role write Set_Role;
  1952.     property OperatingSystem: WideString read Get_OperatingSystem write Set_OperatingSystem;
  1953.     property OperatingSystemVersion: WideString read Get_OperatingSystemVersion write Set_OperatingSystemVersion;
  1954.     property Model: WideString read Get_Model write Set_Model;
  1955.     property Processor: WideString read Get_Processor write Set_Processor;
  1956.     property ProcessorCount: WideString read Get_ProcessorCount write Set_ProcessorCount;
  1957.     property MemorySize: WideString read Get_MemorySize write Set_MemorySize;
  1958.     property StorageCapacity: WideString read Get_StorageCapacity write Set_StorageCapacity;
  1959.     property NetAddresses: OleVariant read Get_NetAddresses write Set_NetAddresses;
  1960.   end;
  1961. // *********************************************************************//
  1962. // DispIntf:  IADsComputerDisp
  1963. // Flags:     (4416) Dual OleAutomation Dispatchable
  1964. // GUID:      {EFE3CC70-1D9F-11CF-B1F3-02608C9E7553}
  1965. // *********************************************************************//
  1966.   IADsComputerDisp = dispinterface
  1967.     ['{EFE3CC70-1D9F-11CF-B1F3-02608C9E7553}']
  1968.     property ComputerID: WideString readonly dispid 16;
  1969.     property Site: WideString readonly dispid 18;
  1970.     property Description: WideString dispid 19;
  1971.     property Location: WideString dispid 20;
  1972.     property PrimaryUser: WideString dispid 21;
  1973.     property Owner: WideString dispid 22;
  1974.     property Division: WideString dispid 23;
  1975.     property Department: WideString dispid 24;
  1976.     property Role: WideString dispid 25;
  1977.     property OperatingSystem: WideString dispid 26;
  1978.     property OperatingSystemVersion: WideString dispid 27;
  1979.     property Model: WideString dispid 28;
  1980.     property Processor: WideString dispid 29;
  1981.     property ProcessorCount: WideString dispid 30;
  1982.     property MemorySize: WideString dispid 31;
  1983.     property StorageCapacity: WideString dispid 32;
  1984.     property NetAddresses: OleVariant dispid 17;
  1985.     property Name: WideString readonly dispid 2;
  1986.     property Class_: WideString readonly dispid 3;
  1987.     property GUID: WideString readonly dispid 4;
  1988.     property ADsPath: WideString readonly dispid 5;
  1989.     property Parent: WideString readonly dispid 6;
  1990.     property Schema: WideString readonly dispid 7;
  1991.     procedure GetInfo; dispid 8;
  1992.     procedure SetInfo; dispid 9;
  1993.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  1994.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  1995.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  1996.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  1997.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  1998.   end;
  1999. // *********************************************************************//
  2000. // Interface: IADsComputerOperations
  2001. // Flags:     (4416) Dual OleAutomation Dispatchable
  2002. // GUID:      {EF497680-1D9F-11CF-B1F3-02608C9E7553}
  2003. // *********************************************************************//
  2004.   IADsComputerOperations = interface(IADs)
  2005.     ['{EF497680-1D9F-11CF-B1F3-02608C9E7553}']
  2006.     function  Status: IDispatch; safecall;
  2007.     procedure Shutdown(bReboot: WordBool); safecall;
  2008.   end;
  2009. // *********************************************************************//
  2010. // DispIntf:  IADsComputerOperationsDisp
  2011. // Flags:     (4416) Dual OleAutomation Dispatchable
  2012. // GUID:      {EF497680-1D9F-11CF-B1F3-02608C9E7553}
  2013. // *********************************************************************//
  2014.   IADsComputerOperationsDisp = dispinterface
  2015.     ['{EF497680-1D9F-11CF-B1F3-02608C9E7553}']
  2016.     function  Status: IDispatch; dispid 33;
  2017.     procedure Shutdown(bReboot: WordBool); dispid 34;
  2018.     property Name: WideString readonly dispid 2;
  2019.     property Class_: WideString readonly dispid 3;
  2020.     property GUID: WideString readonly dispid 4;
  2021.     property ADsPath: WideString readonly dispid 5;
  2022.     property Parent: WideString readonly dispid 6;
  2023.     property Schema: WideString readonly dispid 7;
  2024.     procedure GetInfo; dispid 8;
  2025.     procedure SetInfo; dispid 9;
  2026.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  2027.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2028.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2029.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2030.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2031.   end;
  2032. // *********************************************************************//
  2033. // Interface: IADsGroup
  2034. // Flags:     (4416) Dual OleAutomation Dispatchable
  2035. // GUID:      {27636B00-410F-11CF-B1FF-02608C9E7553}
  2036. // *********************************************************************//
  2037.   IADsGroup = interface(IADs)
  2038.     ['{27636B00-410F-11CF-B1FF-02608C9E7553}']
  2039.     function  Get_Description: WideString; safecall;
  2040.     procedure Set_Description(const retval: WideString); safecall;
  2041.     function  Members: IADsMembers; safecall;
  2042.     function  IsMember(const bstrMember: WideString): WordBool; safecall;
  2043.     procedure Add(const bstrNewItem: WideString); safecall;
  2044.     procedure Remove(const bstrItemToBeRemoved: WideString); safecall;
  2045.     property Description: WideString read Get_Description write Set_Description;
  2046.   end;
  2047. // *********************************************************************//
  2048. // DispIntf:  IADsGroupDisp
  2049. // Flags:     (4416) Dual OleAutomation Dispatchable
  2050. // GUID:      {27636B00-410F-11CF-B1FF-02608C9E7553}
  2051. // *********************************************************************//
  2052.   IADsGroupDisp = dispinterface
  2053.     ['{27636B00-410F-11CF-B1FF-02608C9E7553}']
  2054.     property Description: WideString dispid 15;
  2055.     function  Members: IADsMembers; dispid 16;
  2056.     function  IsMember(const bstrMember: WideString): WordBool; dispid 17;
  2057.     procedure Add(const bstrNewItem: WideString); dispid 18;
  2058.     procedure Remove(const bstrItemToBeRemoved: WideString); dispid 19;
  2059.     property Name: WideString readonly dispid 2;
  2060.     property Class_: WideString readonly dispid 3;
  2061.     property GUID: WideString readonly dispid 4;
  2062.     property ADsPath: WideString readonly dispid 5;
  2063.     property Parent: WideString readonly dispid 6;
  2064.     property Schema: WideString readonly dispid 7;
  2065.     procedure GetInfo; dispid 8;
  2066.     procedure SetInfo; dispid 9;
  2067.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  2068.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2069.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2070.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2071.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2072.   end;
  2073. // *********************************************************************//
  2074. // Interface: IADsUser
  2075. // Flags:     (4416) Dual OleAutomation Dispatchable
  2076. // GUID:      {3E37E320-17E2-11CF-ABC4-02608C9E7553}
  2077. // *********************************************************************//
  2078.   IADsUser = interface(IADs)
  2079.     ['{3E37E320-17E2-11CF-ABC4-02608C9E7553}']
  2080.     function  Get_BadLoginAddress: WideString; safecall;
  2081.     function  Get_BadLoginCount: Integer; safecall;
  2082.     function  Get_LastLogin: TDateTime; safecall;
  2083.     function  Get_LastLogoff: TDateTime; safecall;
  2084.     function  Get_LastFailedLogin: TDateTime; safecall;
  2085.     function  Get_PasswordLastChanged: TDateTime; safecall;
  2086.     function  Get_Description: WideString; safecall;
  2087.     procedure Set_Description(const retval: WideString); safecall;
  2088.     function  Get_Division: WideString; safecall;
  2089.     procedure Set_Division(const retval: WideString); safecall;
  2090.     function  Get_Department: WideString; safecall;
  2091.     procedure Set_Department(const retval: WideString); safecall;
  2092.     function  Get_EmployeeID: WideString; safecall;
  2093.     procedure Set_EmployeeID(const retval: WideString); safecall;
  2094.     function  Get_FullName: WideString; safecall;
  2095.     procedure Set_FullName(const retval: WideString); safecall;
  2096.     function  Get_FirstName: WideString; safecall;
  2097.     procedure Set_FirstName(const retval: WideString); safecall;
  2098.     function  Get_LastName: WideString; safecall;
  2099.     procedure Set_LastName(const retval: WideString); safecall;
  2100.     function  Get_OtherName: WideString; safecall;
  2101.     procedure Set_OtherName(const retval: WideString); safecall;
  2102.     function  Get_NamePrefix: WideString; safecall;
  2103.     procedure Set_NamePrefix(const retval: WideString); safecall;
  2104.     function  Get_NameSuffix: WideString; safecall;
  2105.     procedure Set_NameSuffix(const retval: WideString); safecall;
  2106.     function  Get_Title: WideString; safecall;
  2107.     procedure Set_Title(const retval: WideString); safecall;
  2108.     function  Get_Manager: WideString; safecall;
  2109.     procedure Set_Manager(const retval: WideString); safecall;
  2110.     function  Get_TelephoneHome: OleVariant; safecall;
  2111.     procedure Set_TelephoneHome(retval: OleVariant); safecall;
  2112.     function  Get_TelephoneMobile: OleVariant; safecall;
  2113.     procedure Set_TelephoneMobile(retval: OleVariant); safecall;
  2114.     function  Get_TelephoneNumber: OleVariant; safecall;
  2115.     procedure Set_TelephoneNumber(retval: OleVariant); safecall;
  2116.     function  Get_TelephonePager: OleVariant; safecall;
  2117.     procedure Set_TelephonePager(retval: OleVariant); safecall;
  2118.     function  Get_FaxNumber: OleVariant; safecall;
  2119.     procedure Set_FaxNumber(retval: OleVariant); safecall;
  2120.     function  Get_OfficeLocations: OleVariant; safecall;
  2121.     procedure Set_OfficeLocations(retval: OleVariant); safecall;
  2122.     function  Get_PostalAddresses: OleVariant; safecall;
  2123.     procedure Set_PostalAddresses(retval: OleVariant); safecall;
  2124.     function  Get_PostalCodes: OleVariant; safecall;
  2125.     procedure Set_PostalCodes(retval: OleVariant); safecall;
  2126.     function  Get_SeeAlso: OleVariant; safecall;
  2127.     procedure Set_SeeAlso(retval: OleVariant); safecall;
  2128.     function  Get_AccountDisabled: WordBool; safecall;
  2129.     procedure Set_AccountDisabled(retval: WordBool); safecall;
  2130.     function  Get_AccountExpirationDate: TDateTime; safecall;
  2131.     procedure Set_AccountExpirationDate(retval: TDateTime); safecall;
  2132.     function  Get_GraceLoginsAllowed: Integer; safecall;
  2133.     procedure Set_GraceLoginsAllowed(retval: Integer); safecall;
  2134.     function  Get_GraceLoginsRemaining: Integer; safecall;
  2135.     procedure Set_GraceLoginsRemaining(retval: Integer); safecall;
  2136.     function  Get_IsAccountLocked: WordBool; safecall;
  2137.     procedure Set_IsAccountLocked(retval: WordBool); safecall;
  2138.     function  Get_LoginHours: OleVariant; safecall;
  2139.     procedure Set_LoginHours(retval: OleVariant); safecall;
  2140.     function  Get_LoginWorkstations: OleVariant; safecall;
  2141.     procedure Set_LoginWorkstations(retval: OleVariant); safecall;
  2142.     function  Get_MaxLogins: Integer; safecall;
  2143.     procedure Set_MaxLogins(retval: Integer); safecall;
  2144.     function  Get_MaxStorage: Integer; safecall;
  2145.     procedure Set_MaxStorage(retval: Integer); safecall;
  2146.     function  Get_PasswordExpirationDate: TDateTime; safecall;
  2147.     procedure Set_PasswordExpirationDate(retval: TDateTime); safecall;
  2148.     function  Get_PasswordMinimumLength: Integer; safecall;
  2149.     procedure Set_PasswordMinimumLength(retval: Integer); safecall;
  2150.     function  Get_PasswordRequired: WordBool; safecall;
  2151.     procedure Set_PasswordRequired(retval: WordBool); safecall;
  2152.     function  Get_RequireUniquePassword: WordBool; safecall;
  2153.     procedure Set_RequireUniquePassword(retval: WordBool); safecall;
  2154.     function  Get_EmailAddress: WideString; safecall;
  2155.     procedure Set_EmailAddress(const retval: WideString); safecall;
  2156.     function  Get_HomeDirectory: WideString; safecall;
  2157.     procedure Set_HomeDirectory(const retval: WideString); safecall;
  2158.     function  Get_Languages: OleVariant; safecall;
  2159.     procedure Set_Languages(retval: OleVariant); safecall;
  2160.     function  Get_Profile: WideString; safecall;
  2161.     procedure Set_Profile(const retval: WideString); safecall;
  2162.     function  Get_LoginScript: WideString; safecall;
  2163.     procedure Set_LoginScript(const retval: WideString); safecall;
  2164.     function  Get_Picture: OleVariant; safecall;
  2165.     procedure Set_Picture(retval: OleVariant); safecall;
  2166.     function  Get_HomePage: WideString; safecall;
  2167.     procedure Set_HomePage(const retval: WideString); safecall;
  2168.     function  Groups: IADsMembers; safecall;
  2169.     procedure SetPassword(const NewPassword: WideString); safecall;
  2170.     procedure ChangePassword(const bstrOldPassword: WideString; const bstrNewPassword: WideString); safecall;
  2171.     property BadLoginAddress: WideString read Get_BadLoginAddress;
  2172.     property BadLoginCount: Integer read Get_BadLoginCount;
  2173.     property LastLogin: TDateTime read Get_LastLogin;
  2174.     property LastLogoff: TDateTime read Get_LastLogoff;
  2175.     property LastFailedLogin: TDateTime read Get_LastFailedLogin;
  2176.     property PasswordLastChanged: TDateTime read Get_PasswordLastChanged;
  2177.     property Description: WideString read Get_Description write Set_Description;
  2178.     property Division: WideString read Get_Division write Set_Division;
  2179.     property Department: WideString read Get_Department write Set_Department;
  2180.     property EmployeeID: WideString read Get_EmployeeID write Set_EmployeeID;
  2181.     property FullName: WideString read Get_FullName write Set_FullName;
  2182.     property FirstName: WideString read Get_FirstName write Set_FirstName;
  2183.     property LastName: WideString read Get_LastName write Set_LastName;
  2184.     property OtherName: WideString read Get_OtherName write Set_OtherName;
  2185.     property NamePrefix: WideString read Get_NamePrefix write Set_NamePrefix;
  2186.     property NameSuffix: WideString read Get_NameSuffix write Set_NameSuffix;
  2187.     property Title: WideString read Get_Title write Set_Title;
  2188.     property Manager: WideString read Get_Manager write Set_Manager;
  2189.     property TelephoneHome: OleVariant read Get_TelephoneHome write Set_TelephoneHome;
  2190.     property TelephoneMobile: OleVariant read Get_TelephoneMobile write Set_TelephoneMobile;
  2191.     property TelephoneNumber: OleVariant read Get_TelephoneNumber write Set_TelephoneNumber;
  2192.     property TelephonePager: OleVariant read Get_TelephonePager write Set_TelephonePager;
  2193.     property FaxNumber: OleVariant read Get_FaxNumber write Set_FaxNumber;
  2194.     property OfficeLocations: OleVariant read Get_OfficeLocations write Set_OfficeLocations;
  2195.     property PostalAddresses: OleVariant read Get_PostalAddresses write Set_PostalAddresses;
  2196.     property PostalCodes: OleVariant read Get_PostalCodes write Set_PostalCodes;
  2197.     property SeeAlso: OleVariant read Get_SeeAlso write Set_SeeAlso;
  2198.     property AccountDisabled: WordBool read Get_AccountDisabled write Set_AccountDisabled;
  2199.     property AccountExpirationDate: TDateTime read Get_AccountExpirationDate write Set_AccountExpirationDate;
  2200.     property GraceLoginsAllowed: Integer read Get_GraceLoginsAllowed write Set_GraceLoginsAllowed;
  2201.     property GraceLoginsRemaining: Integer read Get_GraceLoginsRemaining write Set_GraceLoginsRemaining;
  2202.     property IsAccountLocked: WordBool read Get_IsAccountLocked write Set_IsAccountLocked;
  2203.     property LoginHours: OleVariant read Get_LoginHours write Set_LoginHours;
  2204.     property LoginWorkstations: OleVariant read Get_LoginWorkstations write Set_LoginWorkstations;
  2205.     property MaxLogins: Integer read Get_MaxLogins write Set_MaxLogins;
  2206.     property MaxStorage: Integer read Get_MaxStorage write Set_MaxStorage;
  2207.     property PasswordExpirationDate: TDateTime read Get_PasswordExpirationDate write Set_PasswordExpirationDate;
  2208.     property PasswordMinimumLength: Integer read Get_PasswordMinimumLength write Set_PasswordMinimumLength;
  2209.     property PasswordRequired: WordBool read Get_PasswordRequired write Set_PasswordRequired;
  2210.     property RequireUniquePassword: WordBool read Get_RequireUniquePassword write Set_RequireUniquePassword;
  2211.     property EmailAddress: WideString read Get_EmailAddress write Set_EmailAddress;
  2212.     property HomeDirectory: WideString read Get_HomeDirectory write Set_HomeDirectory;
  2213.     property Languages: OleVariant read Get_Languages write Set_Languages;
  2214.     property Profile: WideString read Get_Profile write Set_Profile;
  2215.     property LoginScript: WideString read Get_LoginScript write Set_LoginScript;
  2216.     property Picture: OleVariant read Get_Picture write Set_Picture;
  2217.     property HomePage: WideString read Get_HomePage write Set_HomePage;
  2218.   end;
  2219. // *********************************************************************//
  2220. // DispIntf:  IADsUserDisp
  2221. // Flags:     (4416) Dual OleAutomation Dispatchable
  2222. // GUID:      {3E37E320-17E2-11CF-ABC4-02608C9E7553}
  2223. // *********************************************************************//
  2224.   IADsUserDisp = dispinterface
  2225.     ['{3E37E320-17E2-11CF-ABC4-02608C9E7553}']
  2226.     property BadLoginAddress: WideString readonly dispid 53;
  2227.     property BadLoginCount: Integer readonly dispid 54;
  2228.     property LastLogin: TDateTime readonly dispid 56;
  2229.     property LastLogoff: TDateTime readonly dispid 57;
  2230.     property LastFailedLogin: TDateTime readonly dispid 58;
  2231.     property PasswordLastChanged: TDateTime readonly dispid 59;
  2232.     property Description: WideString dispid 15;
  2233.     property Division: WideString dispid 19;
  2234.     property Department: WideString dispid 122;
  2235.     property EmployeeID: WideString dispid 20;
  2236.     property FullName: WideString dispid 23;
  2237.     property FirstName: WideString dispid 22;
  2238.     property LastName: WideString dispid 25;
  2239.     property OtherName: WideString dispid 27;
  2240.     property NamePrefix: WideString dispid 114;
  2241.     property NameSuffix: WideString dispid 115;
  2242.     property Title: WideString dispid 36;
  2243.     property Manager: WideString dispid 26;
  2244.     property TelephoneHome: OleVariant dispid 32;
  2245.     property TelephoneMobile: OleVariant dispid 33;
  2246.     property TelephoneNumber: OleVariant dispid 34;
  2247.     property TelephonePager: OleVariant dispid 17;
  2248.     property FaxNumber: OleVariant dispid 16;
  2249.     property OfficeLocations: OleVariant dispid 28;
  2250.     property PostalAddresses: OleVariant dispid 30;
  2251.     property PostalCodes: OleVariant dispid 31;
  2252.     property SeeAlso: OleVariant dispid 117;
  2253.     property AccountDisabled: WordBool dispid 37;
  2254.     property AccountExpirationDate: TDateTime dispid 38;
  2255.     property GraceLoginsAllowed: Integer dispid 41;
  2256.     property GraceLoginsRemaining: Integer dispid 42;
  2257.     property IsAccountLocked: WordBool dispid 43;
  2258.     property LoginHours: OleVariant dispid 45;
  2259.     property LoginWorkstations: OleVariant dispid 46;
  2260.     property MaxLogins: Integer dispid 47;
  2261.     property MaxStorage: Integer dispid 48;
  2262.     property PasswordExpirationDate: TDateTime dispid 49;
  2263.     property PasswordMinimumLength: Integer dispid 50;
  2264.     property PasswordRequired: WordBool dispid 51;
  2265.     property RequireUniquePassword: WordBool dispid 52;
  2266.     property EmailAddress: WideString dispid 60;
  2267.     property HomeDirectory: WideString dispid 61;
  2268.     property Languages: OleVariant dispid 62;
  2269.     property Profile: WideString dispid 63;
  2270.     property LoginScript: WideString dispid 64;
  2271.     property Picture: OleVariant dispid 65;
  2272.     property HomePage: WideString dispid 120;
  2273.     function  Groups: IADsMembers; dispid 66;
  2274.     procedure SetPassword(const NewPassword: WideString); dispid 67;
  2275.     procedure ChangePassword(const bstrOldPassword: WideString; const bstrNewPassword: WideString); dispid 68;
  2276.     property Name: WideString readonly dispid 2;
  2277.     property Class_: WideString readonly dispid 3;
  2278.     property GUID: WideString readonly dispid 4;
  2279.     property ADsPath: WideString readonly dispid 5;
  2280.     property Parent: WideString readonly dispid 6;
  2281.     property Schema: WideString readonly dispid 7;
  2282.     procedure GetInfo; dispid 8;
  2283.     procedure SetInfo; dispid 9;
  2284.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  2285.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2286.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2287.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2288.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2289.   end;
  2290. // *********************************************************************//
  2291. // Interface: IADsPrintQueue
  2292. // Flags:     (4416) Dual OleAutomation Dispatchable
  2293. // GUID:      {B15160D0-1226-11CF-A985-00AA006BC149}
  2294. // *********************************************************************//
  2295.   IADsPrintQueue = interface(IADs)
  2296.     ['{B15160D0-1226-11CF-A985-00AA006BC149}']
  2297.     function  Get_PrinterPath: WideString; safecall;
  2298.     procedure Set_PrinterPath(const retval: WideString); safecall;
  2299.     function  Get_Model: WideString; safecall;
  2300.     procedure Set_Model(const retval: WideString); safecall;
  2301.     function  Get_Datatype: WideString; safecall;
  2302.     procedure Set_Datatype(const retval: WideString); safecall;
  2303.     function  Get_PrintProcessor: WideString; safecall;
  2304.     procedure Set_PrintProcessor(const retval: WideString); safecall;
  2305.     function  Get_Description: WideString; safecall;
  2306.     procedure Set_Description(const retval: WideString); safecall;
  2307.     function  Get_Location: WideString; safecall;
  2308.     procedure Set_Location(const retval: WideString); safecall;
  2309.     function  Get_StartTime: TDateTime; safecall;
  2310.     procedure Set_StartTime(retval: TDateTime); safecall;
  2311.     function  Get_UntilTime: TDateTime; safecall;
  2312.     procedure Set_UntilTime(retval: TDateTime); safecall;
  2313.     function  Get_DefaultJobPriority: Integer; safecall;
  2314.     procedure Set_DefaultJobPriority(retval: Integer); safecall;
  2315.     function  Get_Priority: Integer; safecall;
  2316.     procedure Set_Priority(retval: Integer); safecall;
  2317.     function  Get_BannerPage: WideString; safecall;
  2318.     procedure Set_BannerPage(const retval: WideString); safecall;
  2319.     function  Get_PrintDevices: OleVariant; safecall;
  2320.     procedure Set_PrintDevices(retval: OleVariant); safecall;
  2321.     function  Get_NetAddresses: OleVariant; safecall;
  2322.     procedure Set_NetAddresses(retval: OleVariant); safecall;
  2323.     property PrinterPath: WideString read Get_PrinterPath write Set_PrinterPath;
  2324.     property Model: WideString read Get_Model write Set_Model;
  2325.     property Datatype: WideString read Get_Datatype write Set_Datatype;
  2326.     property PrintProcessor: WideString read Get_PrintProcessor write Set_PrintProcessor;
  2327.     property Description: WideString read Get_Description write Set_Description;
  2328.     property Location: WideString read Get_Location write Set_Location;
  2329.     property StartTime: TDateTime read Get_StartTime write Set_StartTime;
  2330.     property UntilTime: TDateTime read Get_UntilTime write Set_UntilTime;
  2331.     property DefaultJobPriority: Integer read Get_DefaultJobPriority write Set_DefaultJobPriority;
  2332.     property Priority: Integer read Get_Priority write Set_Priority;
  2333.     property BannerPage: WideString read Get_BannerPage write Set_BannerPage;
  2334.     property PrintDevices: OleVariant read Get_PrintDevices write Set_PrintDevices;
  2335.     property NetAddresses: OleVariant read Get_NetAddresses write Set_NetAddresses;
  2336.   end;
  2337. // *********************************************************************//
  2338. // DispIntf:  IADsPrintQueueDisp
  2339. // Flags:     (4416) Dual OleAutomation Dispatchable
  2340. // GUID:      {B15160D0-1226-11CF-A985-00AA006BC149}
  2341. // *********************************************************************//
  2342.   IADsPrintQueueDisp = dispinterface
  2343.     ['{B15160D0-1226-11CF-A985-00AA006BC149}']
  2344.     property PrinterPath: WideString dispid 15;
  2345.     property Model: WideString dispid 16;
  2346.     property Datatype: WideString dispid 17;
  2347.     property PrintProcessor: WideString dispid 18;
  2348.     property Description: WideString dispid 19;
  2349.     property Location: WideString dispid 20;
  2350.     property StartTime: TDateTime dispid 21;
  2351.     property UntilTime: TDateTime dispid 22;
  2352.     property DefaultJobPriority: Integer dispid 23;
  2353.     property Priority: Integer dispid 24;
  2354.     property BannerPage: WideString dispid 25;
  2355.     property PrintDevices: OleVariant dispid 26;
  2356.     property NetAddresses: OleVariant dispid 27;
  2357.     property Name: WideString readonly dispid 2;
  2358.     property Class_: WideString readonly dispid 3;
  2359.     property GUID: WideString readonly dispid 4;
  2360.     property ADsPath: WideString readonly dispid 5;
  2361.     property Parent: WideString readonly dispid 6;
  2362.     property Schema: WideString readonly dispid 7;
  2363.     procedure GetInfo; dispid 8;
  2364.     procedure SetInfo; dispid 9;
  2365.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  2366.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2367.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2368.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2369.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2370.   end;
  2371. // *********************************************************************//
  2372. // Interface: IADsPrintQueueOperations
  2373. // Flags:     (4416) Dual OleAutomation Dispatchable
  2374. // GUID:      {124BE5C0-156E-11CF-A986-00AA006BC149}
  2375. // *********************************************************************//
  2376.   IADsPrintQueueOperations = interface(IADs)
  2377.     ['{124BE5C0-156E-11CF-A986-00AA006BC149}']
  2378.     function  Get_Status: Integer; safecall;
  2379.     function  PrintJobs: IADsCollection; safecall;
  2380.     procedure Pause; safecall;
  2381.     procedure Resume; safecall;
  2382.     procedure Purge; safecall;
  2383.     property Status: Integer read Get_Status;
  2384.   end;
  2385. // *********************************************************************//
  2386. // DispIntf:  IADsPrintQueueOperationsDisp
  2387. // Flags:     (4416) Dual OleAutomation Dispatchable
  2388. // GUID:      {124BE5C0-156E-11CF-A986-00AA006BC149}
  2389. // *********************************************************************//
  2390.   IADsPrintQueueOperationsDisp = dispinterface
  2391.     ['{124BE5C0-156E-11CF-A986-00AA006BC149}']
  2392.     property Status: Integer readonly dispid 27;
  2393.     function  PrintJobs: IADsCollection; dispid 28;
  2394.     procedure Pause; dispid 29;
  2395.     procedure Resume; dispid 30;
  2396.     procedure Purge; dispid 31;
  2397.     property Name: WideString readonly dispid 2;
  2398.     property Class_: WideString readonly dispid 3;
  2399.     property GUID: WideString readonly dispid 4;
  2400.     property ADsPath: WideString readonly dispid 5;
  2401.     property Parent: WideString readonly dispid 6;
  2402.     property Schema: WideString readonly dispid 7;
  2403.     procedure GetInfo; dispid 8;
  2404.     procedure SetInfo; dispid 9;
  2405.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  2406.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2407.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2408.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2409.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2410.   end;
  2411. // *********************************************************************//
  2412. // Interface: IADsPrintJob
  2413. // Flags:     (4416) Dual OleAutomation Dispatchable
  2414. // GUID:      {32FB6780-1ED0-11CF-A988-00AA006BC149}
  2415. // *********************************************************************//
  2416.   IADsPrintJob = interface(IADs)
  2417.     ['{32FB6780-1ED0-11CF-A988-00AA006BC149}']
  2418.     function  Get_HostPrintQueue: WideString; safecall;
  2419.     function  Get_User: WideString; safecall;
  2420.     function  Get_UserPath: WideString; safecall;
  2421.     function  Get_TimeSubmitted: TDateTime; safecall;
  2422.     function  Get_TotalPages: Integer; safecall;
  2423.     function  Get_Size: Integer; safecall;
  2424.     function  Get_Description: WideString; safecall;
  2425.     procedure Set_Description(const retval: WideString); safecall;
  2426.     function  Get_Priority: Integer; safecall;
  2427.     procedure Set_Priority(retval: Integer); safecall;
  2428.     function  Get_StartTime: TDateTime; safecall;
  2429.     procedure Set_StartTime(retval: TDateTime); safecall;
  2430.     function  Get_UntilTime: TDateTime; safecall;
  2431.     procedure Set_UntilTime(retval: TDateTime); safecall;
  2432.     function  Get_Notify: WideString; safecall;
  2433.     procedure Set_Notify(const retval: WideString); safecall;
  2434.     function  Get_NotifyPath: WideString; safecall;
  2435.     procedure Set_NotifyPath(const retval: WideString); safecall;
  2436.     property HostPrintQueue: WideString read Get_HostPrintQueue;
  2437.     property User: WideString read Get_User;
  2438.     property UserPath: WideString read Get_UserPath;
  2439.     property TimeSubmitted: TDateTime read Get_TimeSubmitted;
  2440.     property TotalPages: Integer read Get_TotalPages;
  2441.     property Size: Integer read Get_Size;
  2442.     property Description: WideString read Get_Description write Set_Description;
  2443.     property Priority: Integer read Get_Priority write Set_Priority;
  2444.     property StartTime: TDateTime read Get_StartTime write Set_StartTime;
  2445.     property UntilTime: TDateTime read Get_UntilTime write Set_UntilTime;
  2446.     property Notify: WideString read Get_Notify write Set_Notify;
  2447.     property NotifyPath: WideString read Get_NotifyPath write Set_NotifyPath;
  2448.   end;
  2449. // *********************************************************************//
  2450. // DispIntf:  IADsPrintJobDisp
  2451. // Flags:     (4416) Dual OleAutomation Dispatchable
  2452. // GUID:      {32FB6780-1ED0-11CF-A988-00AA006BC149}
  2453. // *********************************************************************//
  2454.   IADsPrintJobDisp = dispinterface
  2455.     ['{32FB6780-1ED0-11CF-A988-00AA006BC149}']
  2456.     property HostPrintQueue: WideString readonly dispid 15;
  2457.     property User: WideString readonly dispid 16;
  2458.     property UserPath: WideString readonly dispid 17;
  2459.     property TimeSubmitted: TDateTime readonly dispid 18;
  2460.     property TotalPages: Integer readonly dispid 19;
  2461.     property Size: Integer readonly dispid 234;
  2462.     property Description: WideString dispid 20;
  2463.     property Priority: Integer dispid 21;
  2464.     property StartTime: TDateTime dispid 22;
  2465.     property UntilTime: TDateTime dispid 23;
  2466.     property Notify: WideString dispid 24;
  2467.     property NotifyPath: WideString dispid 25;
  2468.     property Name: WideString readonly dispid 2;
  2469.     property Class_: WideString readonly dispid 3;
  2470.     property GUID: WideString readonly dispid 4;
  2471.     property ADsPath: WideString readonly dispid 5;
  2472.     property Parent: WideString readonly dispid 6;
  2473.     property Schema: WideString readonly dispid 7;
  2474.     procedure GetInfo; dispid 8;
  2475.     procedure SetInfo; dispid 9;
  2476.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  2477.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2478.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2479.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2480.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2481.   end;
  2482. // *********************************************************************//
  2483. // Interface: IADsPrintJobOperations
  2484. // Flags:     (4416) Dual OleAutomation Dispatchable
  2485. // GUID:      {9A52DB30-1ECF-11CF-A988-00AA006BC149}
  2486. // *********************************************************************//
  2487.   IADsPrintJobOperations = interface(IADs)
  2488.     ['{9A52DB30-1ECF-11CF-A988-00AA006BC149}']
  2489.     function  Get_Status: Integer; safecall;
  2490.     function  Get_TimeElapsed: Integer; safecall;
  2491.     function  Get_PagesPrinted: Integer; safecall;
  2492.     function  Get_Position: Integer; safecall;
  2493.     procedure Set_Position(retval: Integer); safecall;
  2494.     procedure Pause; safecall;
  2495.     procedure Resume; safecall;
  2496.     property Status: Integer read Get_Status;
  2497.     property TimeElapsed: Integer read Get_TimeElapsed;
  2498.     property PagesPrinted: Integer read Get_PagesPrinted;
  2499.     property Position: Integer read Get_Position write Set_Position;
  2500.   end;
  2501. // *********************************************************************//
  2502. // DispIntf:  IADsPrintJobOperationsDisp
  2503. // Flags:     (4416) Dual OleAutomation Dispatchable
  2504. // GUID:      {9A52DB30-1ECF-11CF-A988-00AA006BC149}
  2505. // *********************************************************************//
  2506.   IADsPrintJobOperationsDisp = dispinterface
  2507.     ['{9A52DB30-1ECF-11CF-A988-00AA006BC149}']
  2508.     property Status: Integer readonly dispid 26;
  2509.     property TimeElapsed: Integer readonly dispid 27;
  2510.     property PagesPrinted: Integer readonly dispid 28;
  2511.     property Position: Integer dispid 29;
  2512.     procedure Pause; dispid 30;
  2513.     procedure Resume; dispid 31;
  2514.     property Name: WideString readonly dispid 2;
  2515.     property Class_: WideString readonly dispid 3;
  2516.     property GUID: WideString readonly dispid 4;
  2517.     property ADsPath: WideString readonly dispid 5;
  2518.     property Parent: WideString readonly dispid 6;
  2519.     property Schema: WideString readonly dispid 7;
  2520.     procedure GetInfo; dispid 8;
  2521.     procedure SetInfo; dispid 9;
  2522.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  2523.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2524.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2525.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2526.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2527.   end;
  2528. // *********************************************************************//
  2529. // Interface: IADsService
  2530. // Flags:     (4416) Dual OleAutomation Dispatchable
  2531. // GUID:      {68AF66E0-31CA-11CF-A98A-00AA006BC149}
  2532. // *********************************************************************//
  2533.   IADsService = interface(IADs)
  2534.     ['{68AF66E0-31CA-11CF-A98A-00AA006BC149}']
  2535.     function  Get_HostComputer: WideString; safecall;
  2536.     procedure Set_HostComputer(const retval: WideString); safecall;
  2537.     function  Get_DisplayName: WideString; safecall;
  2538.     procedure Set_DisplayName(const retval: WideString); safecall;
  2539.     function  Get_Version: WideString; safecall;
  2540.     procedure Set_Version(const retval: WideString); safecall;
  2541.     function  Get_ServiceType: Integer; safecall;
  2542.     procedure Set_ServiceType(retval: Integer); safecall;
  2543.     function  Get_StartType: Integer; safecall;
  2544.     procedure Set_StartType(retval: Integer); safecall;
  2545.     function  Get_Path: WideString; safecall;
  2546.     procedure Set_Path(const retval: WideString); safecall;
  2547.     function  Get_StartupParameters: WideString; safecall;
  2548.     procedure Set_StartupParameters(const retval: WideString); safecall;
  2549.     function  Get_ErrorControl: Integer; safecall;
  2550.     procedure Set_ErrorControl(retval: Integer); safecall;
  2551.     function  Get_LoadOrderGroup: WideString; safecall;
  2552.     procedure Set_LoadOrderGroup(const retval: WideString); safecall;
  2553.     function  Get_ServiceAccountName: WideString; safecall;
  2554.     procedure Set_ServiceAccountName(const retval: WideString); safecall;
  2555.     function  Get_ServiceAccountPath: WideString; safecall;
  2556.     procedure Set_ServiceAccountPath(const retval: WideString); safecall;
  2557.     function  Get_Dependencies: OleVariant; safecall;
  2558.     procedure Set_Dependencies(retval: OleVariant); safecall;
  2559.     property HostComputer: WideString read Get_HostComputer write Set_HostComputer;
  2560.     property DisplayName: WideString read Get_DisplayName write Set_DisplayName;
  2561.     property Version: WideString read Get_Version write Set_Version;
  2562.     property ServiceType: Integer read Get_ServiceType write Set_ServiceType;
  2563.     property StartType: Integer read Get_StartType write Set_StartType;
  2564.     property Path: WideString read Get_Path write Set_Path;
  2565.     property StartupParameters: WideString read Get_StartupParameters write Set_StartupParameters;
  2566.     property ErrorControl: Integer read Get_ErrorControl write Set_ErrorControl;
  2567.     property LoadOrderGroup: WideString read Get_LoadOrderGroup write Set_LoadOrderGroup;
  2568.     property ServiceAccountName: WideString read Get_ServiceAccountName write Set_ServiceAccountName;
  2569.     property ServiceAccountPath: WideString read Get_ServiceAccountPath write Set_ServiceAccountPath;
  2570.     property Dependencies: OleVariant read Get_Dependencies write Set_Dependencies;
  2571.   end;
  2572. // *********************************************************************//
  2573. // DispIntf:  IADsServiceDisp
  2574. // Flags:     (4416) Dual OleAutomation Dispatchable
  2575. // GUID:      {68AF66E0-31CA-11CF-A98A-00AA006BC149}
  2576. // *********************************************************************//
  2577.   IADsServiceDisp = dispinterface
  2578.     ['{68AF66E0-31CA-11CF-A98A-00AA006BC149}']
  2579.     property HostComputer: WideString dispid 15;
  2580.     property DisplayName: WideString dispid 16;
  2581.     property Version: WideString dispid 17;
  2582.     property ServiceType: Integer dispid 18;
  2583.     property StartType: Integer dispid 19;
  2584.     property Path: WideString dispid 20;
  2585.     property StartupParameters: WideString dispid 21;
  2586.     property ErrorControl: Integer dispid 22;
  2587.     property LoadOrderGroup: WideString dispid 23;
  2588.     property ServiceAccountName: WideString dispid 24;
  2589.     property ServiceAccountPath: WideString dispid 25;
  2590.     property Dependencies: OleVariant dispid 26;
  2591.     property Name: WideString readonly dispid 2;
  2592.     property Class_: WideString readonly dispid 3;
  2593.     property GUID: WideString readonly dispid 4;
  2594.     property ADsPath: WideString readonly dispid 5;
  2595.     property Parent: WideString readonly dispid 6;
  2596.     property Schema: WideString readonly dispid 7;
  2597.     procedure GetInfo; dispid 8;
  2598.     procedure SetInfo; dispid 9;
  2599.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  2600.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2601.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2602.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2603.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2604.   end;
  2605. // *********************************************************************//
  2606. // Interface: IADsServiceOperations
  2607. // Flags:     (4416) Dual OleAutomation Dispatchable
  2608. // GUID:      {5D7B33F0-31CA-11CF-A98A-00AA006BC149}
  2609. // *********************************************************************//
  2610.   IADsServiceOperations = interface(IADs)
  2611.     ['{5D7B33F0-31CA-11CF-A98A-00AA006BC149}']
  2612.     function  Get_Status: Integer; safecall;
  2613.     procedure Start; safecall;
  2614.     procedure Stop; safecall;
  2615.     procedure Pause; safecall;
  2616.     procedure Continue; safecall;
  2617.     procedure SetPassword(const bstrNewPassword: WideString); safecall;
  2618.     property Status: Integer read Get_Status;
  2619.   end;
  2620. // *********************************************************************//
  2621. // DispIntf:  IADsServiceOperationsDisp
  2622. // Flags:     (4416) Dual OleAutomation Dispatchable
  2623. // GUID:      {5D7B33F0-31CA-11CF-A98A-00AA006BC149}
  2624. // *********************************************************************//
  2625.   IADsServiceOperationsDisp = dispinterface
  2626.     ['{5D7B33F0-31CA-11CF-A98A-00AA006BC149}']
  2627.     property Status: Integer readonly dispid 27;
  2628.     procedure Start; dispid 28;
  2629.     procedure Stop; dispid 29;
  2630.     procedure Pause; dispid 30;
  2631.     procedure Continue; dispid 31;
  2632.     procedure SetPassword(const bstrNewPassword: WideString); dispid 32;
  2633.     property Name: WideString readonly dispid 2;
  2634.     property Class_: WideString readonly dispid 3;
  2635.     property GUID: WideString readonly dispid 4;
  2636.     property ADsPath: WideString readonly dispid 5;
  2637.     property Parent: WideString readonly dispid 6;
  2638.     property Schema: WideString readonly dispid 7;
  2639.     procedure GetInfo; dispid 8;
  2640.     procedure SetInfo; dispid 9;
  2641.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  2642.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2643.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2644.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2645.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2646.   end;
  2647. // *********************************************************************//
  2648. // Interface: IADsFileService
  2649. // Flags:     (4416) Dual OleAutomation Dispatchable
  2650. // GUID:      {A89D1900-31CA-11CF-A98A-00AA006BC149}
  2651. // *********************************************************************//
  2652.   IADsFileService = interface(IADsService)
  2653.     ['{A89D1900-31CA-11CF-A98A-00AA006BC149}']
  2654.     function  Get_Description: WideString; safecall;
  2655.     procedure Set_Description(const retval: WideString); safecall;
  2656.     function  Get_MaxUserCount: Integer; safecall;
  2657.     procedure Set_MaxUserCount(retval: Integer); safecall;
  2658.     property Description: WideString read Get_Description write Set_Description;
  2659.     property MaxUserCount: Integer read Get_MaxUserCount write Set_MaxUserCount;
  2660.   end;
  2661. // *********************************************************************//
  2662. // DispIntf:  IADsFileServiceDisp
  2663. // Flags:     (4416) Dual OleAutomation Dispatchable
  2664. // GUID:      {A89D1900-31CA-11CF-A98A-00AA006BC149}
  2665. // *********************************************************************//
  2666.   IADsFileServiceDisp = dispinterface
  2667.     ['{A89D1900-31CA-11CF-A98A-00AA006BC149}']
  2668.     property Description: WideString dispid 33;
  2669.     property MaxUserCount: Integer dispid 34;
  2670.     property HostComputer: WideString dispid 15;
  2671.     property DisplayName: WideString dispid 16;
  2672.     property Version: WideString dispid 17;
  2673.     property ServiceType: Integer dispid 18;
  2674.     property StartType: Integer dispid 19;
  2675.     property Path: WideString dispid 20;
  2676.     property StartupParameters: WideString dispid 21;
  2677.     property ErrorControl: Integer dispid 22;
  2678.     property LoadOrderGroup: WideString dispid 23;
  2679.     property ServiceAccountName: WideString dispid 24;
  2680.     property ServiceAccountPath: WideString dispid 25;
  2681.     property Dependencies: OleVariant dispid 26;
  2682.     property Name: WideString readonly dispid 2;
  2683.     property Class_: WideString readonly dispid 3;
  2684.     property GUID: WideString readonly dispid 4;
  2685.     property ADsPath: WideString readonly dispid 5;
  2686.     property Parent: WideString readonly dispid 6;
  2687.     property Schema: WideString readonly dispid 7;
  2688.     procedure GetInfo; dispid 8;
  2689.     procedure SetInfo; dispid 9;
  2690.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  2691.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2692.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2693.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2694.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2695.   end;
  2696. // *********************************************************************//
  2697. // Interface: IADsFileServiceOperations
  2698. // Flags:     (4416) Dual OleAutomation Dispatchable
  2699. // GUID:      {A02DED10-31CA-11CF-A98A-00AA006BC149}
  2700. // *********************************************************************//
  2701.   IADsFileServiceOperations = interface(IADsServiceOperations)
  2702.     ['{A02DED10-31CA-11CF-A98A-00AA006BC149}']
  2703.     function  Sessions: IADsCollection; safecall;
  2704.     function  Resources: IADsCollection; safecall;
  2705.   end;
  2706. // *********************************************************************//
  2707. // DispIntf:  IADsFileServiceOperationsDisp
  2708. // Flags:     (4416) Dual OleAutomation Dispatchable
  2709. // GUID:      {A02DED10-31CA-11CF-A98A-00AA006BC149}
  2710. // *********************************************************************//
  2711.   IADsFileServiceOperationsDisp = dispinterface
  2712.     ['{A02DED10-31CA-11CF-A98A-00AA006BC149}']
  2713.     function  Sessions: IADsCollection; dispid 35;
  2714.     function  Resources: IADsCollection; dispid 36;
  2715.     property Status: Integer readonly dispid 27;
  2716.     procedure Start; dispid 28;
  2717.     procedure Stop; dispid 29;
  2718.     procedure Pause; dispid 30;
  2719.     procedure Continue; dispid 31;
  2720.     procedure SetPassword(const bstrNewPassword: WideString); dispid 32;
  2721.     property Name: WideString readonly dispid 2;
  2722.     property Class_: WideString readonly dispid 3;
  2723.     property GUID: WideString readonly dispid 4;
  2724.     property ADsPath: WideString readonly dispid 5;
  2725.     property Parent: WideString readonly dispid 6;
  2726.     property Schema: WideString readonly dispid 7;
  2727.     procedure GetInfo; dispid 8;
  2728.     procedure SetInfo; dispid 9;
  2729.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  2730.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2731.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2732.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2733.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2734.   end;
  2735. // *********************************************************************//
  2736. // Interface: IADsFileShare
  2737. // Flags:     (4416) Dual OleAutomation Dispatchable
  2738. // GUID:      {EB6DCAF0-4B83-11CF-A995-00AA006BC149}
  2739. // *********************************************************************//
  2740.   IADsFileShare = interface(IADs)
  2741.     ['{EB6DCAF0-4B83-11CF-A995-00AA006BC149}']
  2742.     function  Get_CurrentUserCount: Integer; safecall;
  2743.     function  Get_Description: WideString; safecall;
  2744.     procedure Set_Description(const retval: WideString); safecall;
  2745.     function  Get_HostComputer: WideString; safecall;
  2746.     procedure Set_HostComputer(const retval: WideString); safecall;
  2747.     function  Get_Path: WideString; safecall;
  2748.     procedure Set_Path(const retval: WideString); safecall;
  2749.     function  Get_MaxUserCount: Integer; safecall;
  2750.     procedure Set_MaxUserCount(retval: Integer); safecall;
  2751.     property CurrentUserCount: Integer read Get_CurrentUserCount;
  2752.     property Description: WideString read Get_Description write Set_Description;
  2753.     property HostComputer: WideString read Get_HostComputer write Set_HostComputer;
  2754.     property Path: WideString read Get_Path write Set_Path;
  2755.     property MaxUserCount: Integer read Get_MaxUserCount write Set_MaxUserCount;
  2756.   end;
  2757. // *********************************************************************//
  2758. // DispIntf:  IADsFileShareDisp
  2759. // Flags:     (4416) Dual OleAutomation Dispatchable
  2760. // GUID:      {EB6DCAF0-4B83-11CF-A995-00AA006BC149}
  2761. // *********************************************************************//
  2762.   IADsFileShareDisp = dispinterface
  2763.     ['{EB6DCAF0-4B83-11CF-A995-00AA006BC149}']
  2764.     property CurrentUserCount: Integer readonly dispid 15;
  2765.     property Description: WideString dispid 16;
  2766.     property HostComputer: WideString dispid 17;
  2767.     property Path: WideString dispid 18;
  2768.     property MaxUserCount: Integer dispid 19;
  2769.     property Name: WideString readonly dispid 2;
  2770.     property Class_: WideString readonly dispid 3;
  2771.     property GUID: WideString readonly dispid 4;
  2772.     property ADsPath: WideString readonly dispid 5;
  2773.     property Parent: WideString readonly dispid 6;
  2774.     property Schema: WideString readonly dispid 7;
  2775.     procedure GetInfo; dispid 8;
  2776.     procedure SetInfo; dispid 9;
  2777.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  2778.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2779.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2780.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2781.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2782.   end;
  2783. // *********************************************************************//
  2784. // Interface: IADsSession
  2785. // Flags:     (4416) Dual OleAutomation Dispatchable
  2786. // GUID:      {398B7DA0-4AAB-11CF-AE2C-00AA006EBFB9}
  2787. // *********************************************************************//
  2788.   IADsSession = interface(IADs)
  2789.     ['{398B7DA0-4AAB-11CF-AE2C-00AA006EBFB9}']
  2790.     function  Get_User: WideString; safecall;
  2791.     function  Get_UserPath: WideString; safecall;
  2792.     function  Get_Computer: WideString; safecall;
  2793.     function  Get_ComputerPath: WideString; safecall;
  2794.     function  Get_ConnectTime: Integer; safecall;
  2795.     function  Get_IdleTime: Integer; safecall;
  2796.     property User: WideString read Get_User;
  2797.     property UserPath: WideString read Get_UserPath;
  2798.     property Computer: WideString read Get_Computer;
  2799.     property ComputerPath: WideString read Get_ComputerPath;
  2800.     property ConnectTime: Integer read Get_ConnectTime;
  2801.     property IdleTime: Integer read Get_IdleTime;
  2802.   end;
  2803. // *********************************************************************//
  2804. // DispIntf:  IADsSessionDisp
  2805. // Flags:     (4416) Dual OleAutomation Dispatchable
  2806. // GUID:      {398B7DA0-4AAB-11CF-AE2C-00AA006EBFB9}
  2807. // *********************************************************************//
  2808.   IADsSessionDisp = dispinterface
  2809.     ['{398B7DA0-4AAB-11CF-AE2C-00AA006EBFB9}']
  2810.     property User: WideString readonly dispid 15;
  2811.     property UserPath: WideString readonly dispid 16;
  2812.     property Computer: WideString readonly dispid 17;
  2813.     property ComputerPath: WideString readonly dispid 18;
  2814.     property ConnectTime: Integer readonly dispid 19;
  2815.     property IdleTime: Integer readonly dispid 20;
  2816.     property Name: WideString readonly dispid 2;
  2817.     property Class_: WideString readonly dispid 3;
  2818.     property GUID: WideString readonly dispid 4;
  2819.     property ADsPath: WideString readonly dispid 5;
  2820.     property Parent: WideString readonly dispid 6;
  2821.     property Schema: WideString readonly dispid 7;
  2822.     procedure GetInfo; dispid 8;
  2823.     procedure SetInfo; dispid 9;
  2824.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  2825.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2826.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2827.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2828.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2829.   end;
  2830. // *********************************************************************//
  2831. // Interface: IADsResource
  2832. // Flags:     (4416) Dual OleAutomation Dispatchable
  2833. // GUID:      {34A05B20-4AAB-11CF-AE2C-00AA006EBFB9}
  2834. // *********************************************************************//
  2835.   IADsResource = interface(IADs)
  2836.     ['{34A05B20-4AAB-11CF-AE2C-00AA006EBFB9}']
  2837.     function  Get_User: WideString; safecall;
  2838.     function  Get_UserPath: WideString; safecall;
  2839.     function  Get_Path: WideString; safecall;
  2840.     function  Get_LockCount: Integer; safecall;
  2841.     property User: WideString read Get_User;
  2842.     property UserPath: WideString read Get_UserPath;
  2843.     property Path: WideString read Get_Path;
  2844.     property LockCount: Integer read Get_LockCount;
  2845.   end;
  2846. // *********************************************************************//
  2847. // DispIntf:  IADsResourceDisp
  2848. // Flags:     (4416) Dual OleAutomation Dispatchable
  2849. // GUID:      {34A05B20-4AAB-11CF-AE2C-00AA006EBFB9}
  2850. // *********************************************************************//
  2851.   IADsResourceDisp = dispinterface
  2852.     ['{34A05B20-4AAB-11CF-AE2C-00AA006EBFB9}']
  2853.     property User: WideString readonly dispid 15;
  2854.     property UserPath: WideString readonly dispid 16;
  2855.     property Path: WideString readonly dispid 17;
  2856.     property LockCount: Integer readonly dispid 18;
  2857.     property Name: WideString readonly dispid 2;
  2858.     property Class_: WideString readonly dispid 3;
  2859.     property GUID: WideString readonly dispid 4;
  2860.     property ADsPath: WideString readonly dispid 5;
  2861.     property Parent: WideString readonly dispid 6;
  2862.     property Schema: WideString readonly dispid 7;
  2863.     procedure GetInfo; dispid 8;
  2864.     procedure SetInfo; dispid 9;
  2865.     function  Get(const bstrName: WideString): OleVariant; dispid 10;
  2866.     procedure Put(const bstrName: WideString; vProp: OleVariant); dispid 11;
  2867.     function  GetEx(const bstrName: WideString): OleVariant; dispid 12;
  2868.     procedure PutEx(lnControlCode: Integer; const bstrName: WideString; vProp: OleVariant); dispid 13;
  2869.     procedure GetInfoEx(vProperties: OleVariant; lnReserved: Integer); dispid 14;
  2870.   end;
  2871. // *********************************************************************//
  2872. // Interface: IADsOpenDSObject
  2873. // Flags:     (4416) Dual OleAutomation Dispatchable
  2874. // GUID:      {DDF2891E-0F9C-11D0-8AD4-00C04FD8D503}
  2875. // *********************************************************************//
  2876.   IADsOpenDSObject = interface(IDispatch)
  2877.     ['{DDF2891E-0F9C-11D0-8AD4-00C04FD8D503}']
  2878.     function  OpenDSObject(const lpszDNName: WideString; const lpszUserName: WideString; 
  2879.                            const lpszPassword: WideString; lnReserved: Integer): IDispatch; safecall;
  2880.   end;
  2881. // *********************************************************************//
  2882. // DispIntf:  IADsOpenDSObjectDisp
  2883. // Flags:     (4416) Dual OleAutomation Dispatchable
  2884. // GUID:      {DDF2891E-0F9C-11D0-8AD4-00C04FD8D503}
  2885. // *********************************************************************//
  2886.   IADsOpenDSObjectDisp = dispinterface
  2887.     ['{DDF2891E-0F9C-11D0-8AD4-00C04FD8D503}']
  2888.     function  OpenDSObject(const lpszDNName: WideString; const lpszUserName: WideString; 
  2889.                            const lpszPassword: WideString; lnReserved: Integer): IDispatch; dispid 1;
  2890.   end;
  2891. // *********************************************************************//
  2892. // Interface: IDirectoryObject
  2893. // Flags:     (0)
  2894. // GUID:      {E798DE2C-22E4-11D0-84FE-00C04FD8D503}
  2895. // *********************************************************************//
  2896.   IDirectoryObject = interface(IUnknown)
  2897.     ['{E798DE2C-22E4-11D0-84FE-00C04FD8D503}']
  2898.     function  GetObjectInformation(out ppObjInfo: PUserType11): HResult; stdcall;
  2899.     function  GetObjectAttributes(var pAttributeNames: PWideChar; dwNumberAttributes: LongWord; 
  2900.                                   out ppAttributeEntries: PUserType12; 
  2901.                                   out pdwNumAttributesReturned: LongWord): HResult; stdcall;
  2902.     function  SetObjectAttributes(var pAttributeEntries: _ads_attr_info; dwNumAttributes: LongWord; 
  2903.                                   out pdwNumAttributesModified: LongWord): HResult; stdcall;
  2904.     function  CreateDSObject(pszRDNName: PWideChar; var pAttributeEntries: _ads_attr_info; 
  2905.                              dwNumAttributes: LongWord; out ppObject: IDispatch): HResult; stdcall;
  2906.     function  DeleteDSObject(pszRDNName: PWideChar): HResult; stdcall;
  2907.   end;
  2908. // *********************************************************************//
  2909. // Interface: IDirectorySearch
  2910. // Flags:     (0)
  2911. // GUID:      {109BA8EC-92F0-11D0-A790-00C04FD8D5A8}
  2912. // *********************************************************************//
  2913.   IDirectorySearch = interface(IUnknown)
  2914.     ['{109BA8EC-92F0-11D0-A790-00C04FD8D5A8}']
  2915.     function  SetSearchPreference(var pSearchPrefs: ads_searchpref_info; dwNumPrefs: LongWord): HResult; stdcall;
  2916.     function  ExecuteSearch(pszSearchFilter: PWideChar; var pAttributeNames: PWideChar; 
  2917.                             dwNumberAttributes: LongWord; out phSearchResult: Pointer): HResult; stdcall;
  2918.     function  AbandonSearch(var phSearchResult: Pointer): HResult; stdcall;
  2919.     function  GetFirstRow(var hSearchResult: Pointer): HResult; stdcall;
  2920.     function  GetNextRow(var hSearchResult: Pointer): HResult; stdcall;
  2921.     function  GetPreviousRow(var hSearchResult: Pointer): HResult; stdcall;
  2922.     function  GetNextColumnName(var hSearchHandle: Pointer; out ppszColumnName: PWideChar): HResult; stdcall;
  2923.     function  GetColumn(var hSearchResult: Pointer; szColumnName: PWideChar; 
  2924.                         out pSearchColumn: ads_search_column): HResult; stdcall;
  2925.     function  FreeColumn(var pSearchColumn: ads_search_column): HResult; stdcall;
  2926.     function  CloseSearchHandle(var hSearchResult: Pointer): HResult; stdcall;
  2927.   end;
  2928. // *********************************************************************//
  2929. // Interface: IDirectorySchemaMgmt
  2930. // Flags:     (0)
  2931. // GUID:      {75DB3B9C-A4D8-11D0-A79C-00C04FD8D5A8}
  2932. // *********************************************************************//
  2933.   IDirectorySchemaMgmt = interface(IUnknown)
  2934.     ['{75DB3B9C-A4D8-11D0-A79C-00C04FD8D5A8}']
  2935.     function  EnumAttributes(var ppszAttrNames: PWideChar; dwNumAttributes: LongWord; 
  2936.                              ppAttrDefinition: PPUserType1; var pdwNumAttributes: LongWord): HResult; stdcall;
  2937.     function  CreateAttributeDefinition(pszAttributeName: PWideChar; 
  2938.                                         var pAttributeDefinition: _ads_attr_def): HResult; stdcall;
  2939.     function  WriteAttributeDefinition(pszAttributeName: PWideChar; 
  2940.                                        var pAttributeDefinition: _ads_attr_def): HResult; stdcall;
  2941.     function  DeleteAttributeDefinition(pszAttributeName: PWideChar): HResult; stdcall;
  2942.     function  EnumClasses(var ppszClassNames: PWideChar; dwNumClasses: LongWord; 
  2943.                           ppClassDefinition: PPUserType2; var pdwNumClasses: LongWord): HResult; stdcall;
  2944.     function  WriteClassDefinition(pszClassName: PWideChar; var pClassDefinition: _ads_class_def): HResult; stdcall;
  2945.     function  CreateClassDefinition(pszClassName: PWideChar; var pClassDefinition: _ads_class_def): HResult; stdcall;
  2946.     function  DeleteClassDefinition(pszClassName: PWideChar): HResult; stdcall;
  2947.   end;
  2948. // *********************************************************************//
  2949. // Interface: IADsAggregatee
  2950. // Flags:     (0)
  2951. // GUID:      {1346CE8C-9039-11D0-8528-00C04FD8D503}
  2952. // *********************************************************************//
  2953.   IADsAggregatee = interface(IUnknown)
  2954.     ['{1346CE8C-9039-11D0-8528-00C04FD8D503}']
  2955.     function  ConnectAsAggregatee(const pOuterUnknown: IUnknown): HResult; stdcall;
  2956.     function  DisconnectAsAggregatee: HResult; stdcall;
  2957.     function  RelinquishInterface(var riid: TGUID): HResult; stdcall;
  2958.     function  RestoreInterface(var riid: TGUID): HResult; stdcall;
  2959.   end;
  2960. // *********************************************************************//
  2961. // Interface: IADsAggregator
  2962. // Flags:     (0)
  2963. // GUID:      {52DB5FB0-941F-11D0-8529-00C04FD8D503}
  2964. // *********************************************************************//
  2965.   IADsAggregator = interface(IUnknown)
  2966.     ['{52DB5FB0-941F-11D0-8529-00C04FD8D503}']
  2967.     function  ConnectAsAggregator(const pAggregatee: IUnknown): HResult; stdcall;
  2968.     function  DisconnectAsAggregator: HResult; stdcall;
  2969.   end;
  2970. // *********************************************************************//
  2971. // Interface: IADsAccessControlEntry
  2972. // Flags:     (4416) Dual OleAutomation Dispatchable
  2973. // GUID:      {B4F3A14C-9BDD-11D0-852C-00C04FD8D503}
  2974. // *********************************************************************//
  2975.   IADsAccessControlEntry = interface(IDispatch)
  2976.     ['{B4F3A14C-9BDD-11D0-852C-00C04FD8D503}']
  2977.     function  Get_AccessMask: Integer; safecall;
  2978.     procedure Set_AccessMask(retval: Integer); safecall;
  2979.     function  Get_AceType: Integer; safecall;
  2980.     procedure Set_AceType(retval: Integer); safecall;
  2981.     function  Get_AceFlags: Integer; safecall;
  2982.     procedure Set_AceFlags(retval: Integer); safecall;
  2983.     function  Get_Flags: Integer; safecall;
  2984.     procedure Set_Flags(retval: Integer); safecall;
  2985.     function  Get_ObjectType: WideString; safecall;
  2986.     procedure Set_ObjectType(const retval: WideString); safecall;
  2987.     function  Get_InheritedObjectType: WideString; safecall;
  2988.     procedure Set_InheritedObjectType(const retval: WideString); safecall;
  2989.     function  Get_Trustee: WideString; safecall;
  2990.     procedure Set_Trustee(const retval: WideString); safecall;
  2991.     property AccessMask: Integer read Get_AccessMask write Set_AccessMask;
  2992.     property AceType: Integer read Get_AceType write Set_AceType;
  2993.     property AceFlags: Integer read Get_AceFlags write Set_AceFlags;
  2994.     property Flags: Integer read Get_Flags write Set_Flags;
  2995.     property ObjectType: WideString read Get_ObjectType write Set_ObjectType;
  2996.     property InheritedObjectType: WideString read Get_InheritedObjectType write Set_InheritedObjectType;
  2997.     property Trustee: WideString read Get_Trustee write Set_Trustee;
  2998.   end;
  2999. // *********************************************************************//
  3000. // DispIntf:  IADsAccessControlEntryDisp
  3001. // Flags:     (4416) Dual OleAutomation Dispatchable
  3002. // GUID:      {B4F3A14C-9BDD-11D0-852C-00C04FD8D503}
  3003. // *********************************************************************//
  3004.   IADsAccessControlEntryDisp = dispinterface
  3005.     ['{B4F3A14C-9BDD-11D0-852C-00C04FD8D503}']
  3006.     property AccessMask: Integer dispid 2;
  3007.     property AceType: Integer dispid 3;
  3008.     property AceFlags: Integer dispid 4;
  3009.     property Flags: Integer dispid 5;
  3010.     property ObjectType: WideString dispid 6;
  3011.     property InheritedObjectType: WideString dispid 7;
  3012.     property Trustee: WideString dispid 8;
  3013.   end;
  3014. // *********************************************************************//
  3015. // Interface: IADsAccessControlList
  3016. // Flags:     (4416) Dual OleAutomation Dispatchable
  3017. // GUID:      {B7EE91CC-9BDD-11D0-852C-00C04FD8D503}
  3018. // *********************************************************************//
  3019.   IADsAccessControlList = interface(IDispatch)
  3020.     ['{B7EE91CC-9BDD-11D0-852C-00C04FD8D503}']
  3021.     function  Get_AclRevision: Integer; safecall;
  3022.     procedure Set_AclRevision(retval: Integer); safecall;
  3023.     function  Get_AceCount: Integer; safecall;
  3024.     procedure Set_AceCount(retval: Integer); safecall;
  3025.     procedure AddAce(const pAccessControlEntry: IDispatch); safecall;
  3026.     procedure RemoveAce(const pAccessControlEntry: IDispatch); safecall;
  3027.     function  CopyAccessList: IDispatch; safecall;
  3028.     function  Get__NewEnum: IUnknown; safecall;
  3029.     property AclRevision: Integer read Get_AclRevision write Set_AclRevision;
  3030.     property AceCount: Integer read Get_AceCount write Set_AceCount;
  3031.     property _NewEnum: IUnknown read Get__NewEnum;
  3032.   end;
  3033. // *********************************************************************//
  3034. // DispIntf:  IADsAccessControlListDisp
  3035. // Flags:     (4416) Dual OleAutomation Dispatchable
  3036. // GUID:      {B7EE91CC-9BDD-11D0-852C-00C04FD8D503}
  3037. // *********************************************************************//
  3038.   IADsAccessControlListDisp = dispinterface
  3039.     ['{B7EE91CC-9BDD-11D0-852C-00C04FD8D503}']
  3040.     property AclRevision: Integer dispid 3;
  3041.     property AceCount: Integer dispid 4;
  3042.     procedure AddAce(const pAccessControlEntry: IDispatch); dispid 5;
  3043.     procedure RemoveAce(const pAccessControlEntry: IDispatch); dispid 6;
  3044.     function  CopyAccessList: IDispatch; dispid 7;
  3045.     property _NewEnum: IUnknown readonly dispid -4;
  3046.   end;
  3047. // *********************************************************************//
  3048. // Interface: IADsSecurityDescriptor
  3049. // Flags:     (4416) Dual OleAutomation Dispatchable
  3050. // GUID:      {B8C787CA-9BDD-11D0-852C-00C04FD8D503}
  3051. // *********************************************************************//
  3052.   IADsSecurityDescriptor = interface(IDispatch)
  3053.     ['{B8C787CA-9BDD-11D0-852C-00C04FD8D503}']
  3054.     function  Get_Revision: Integer; safecall;
  3055.     procedure Set_Revision(retval: Integer); safecall;
  3056.     function  Get_Control: Integer; safecall;
  3057.     procedure Set_Control(retval: Integer); safecall;
  3058.     function  Get_Owner: WideString; safecall;
  3059.     procedure Set_Owner(const retval: WideString); safecall;
  3060.     function  Get_OwnerDefaulted: WordBool; safecall;
  3061.     procedure Set_OwnerDefaulted(retval: WordBool); safecall;
  3062.     function  Get_Group: WideString; safecall;
  3063.     procedure Set_Group(const retval: WideString); safecall;
  3064.     function  Get_GroupDefaulted: WordBool; safecall;
  3065.     procedure Set_GroupDefaulted(retval: WordBool); safecall;
  3066.     function  Get_DiscretionaryAcl: IDispatch; safecall;
  3067.     procedure Set_DiscretionaryAcl(const retval: IDispatch); safecall;
  3068.     function  Get_DaclDefaulted: WordBool; safecall;
  3069.     procedure Set_DaclDefaulted(retval: WordBool); safecall;
  3070.     function  Get_SystemAcl: IDispatch; safecall;
  3071.     procedure Set_SystemAcl(const retval: IDispatch); safecall;
  3072.     function  Get_SaclDefaulted: WordBool; safecall;
  3073.     procedure Set_SaclDefaulted(retval: WordBool); safecall;
  3074.     function  CopySecurityDescriptor: IDispatch; safecall;
  3075.     property Revision: Integer read Get_Revision write Set_Revision;
  3076.     property Control: Integer read Get_Control write Set_Control;
  3077.     property Owner: WideString read Get_Owner write Set_Owner;
  3078.     property OwnerDefaulted: WordBool read Get_OwnerDefaulted write Set_OwnerDefaulted;
  3079.     property Group: WideString read Get_Group write Set_Group;
  3080.     property GroupDefaulted: WordBool read Get_GroupDefaulted write Set_GroupDefaulted;
  3081.     property DiscretionaryAcl: IDispatch read Get_DiscretionaryAcl write Set_DiscretionaryAcl;
  3082.     property DaclDefaulted: WordBool read Get_DaclDefaulted write Set_DaclDefaulted;
  3083.     property SystemAcl: IDispatch read Get_SystemAcl write Set_SystemAcl;
  3084.     property SaclDefaulted: WordBool read Get_SaclDefaulted write Set_SaclDefaulted;
  3085.   end;
  3086. // *********************************************************************//
  3087. // DispIntf:  IADsSecurityDescriptorDisp
  3088. // Flags:     (4416) Dual OleAutomation Dispatchable
  3089. // GUID:      {B8C787CA-9BDD-11D0-852C-00C04FD8D503}
  3090. // *********************************************************************//
  3091.   IADsSecurityDescriptorDisp = dispinterface
  3092.     ['{B8C787CA-9BDD-11D0-852C-00C04FD8D503}']
  3093.     property Revision: Integer dispid 2;
  3094.     property Control: Integer dispid 3;
  3095.     property Owner: WideString dispid 4;
  3096.     property OwnerDefaulted: WordBool dispid 5;
  3097.     property Group: WideString dispid 6;
  3098.     property GroupDefaulted: WordBool dispid 7;
  3099.     property DiscretionaryAcl: IDispatch dispid 8;
  3100.     property DaclDefaulted: WordBool dispid 9;
  3101.     property SystemAcl: IDispatch dispid 10;
  3102.     property SaclDefaulted: WordBool dispid 11;
  3103.     function  CopySecurityDescriptor: IDispatch; dispid 12;
  3104.   end;
  3105. // *********************************************************************//
  3106. // Interface: IADsLargeInteger
  3107. // Flags:     (4416) Dual OleAutomation Dispatchable
  3108. // GUID:      {9068270B-0939-11D1-8BE1-00C04FD8D503}
  3109. // *********************************************************************//
  3110.   IADsLargeInteger = interface(IDispatch)
  3111.     ['{9068270B-0939-11D1-8BE1-00C04FD8D503}']
  3112.     function  Get_HighPart: Integer; safecall;
  3113.     procedure Set_HighPart(retval: Integer); safecall;
  3114.     function  Get_LowPart: Integer; safecall;
  3115.     procedure Set_LowPart(retval: Integer); safecall;
  3116.     property HighPart: Integer read Get_HighPart write Set_HighPart;
  3117.     property LowPart: Integer read Get_LowPart write Set_LowPart;
  3118.   end;
  3119. // *********************************************************************//
  3120. // DispIntf:  IADsLargeIntegerDisp
  3121. // Flags:     (4416) Dual OleAutomation Dispatchable
  3122. // GUID:      {9068270B-0939-11D1-8BE1-00C04FD8D503}
  3123. // *********************************************************************//
  3124.   IADsLargeIntegerDisp = dispinterface
  3125.     ['{9068270B-0939-11D1-8BE1-00C04FD8D503}']
  3126.     property HighPart: Integer dispid 2;
  3127.     property LowPart: Integer dispid 3;
  3128.   end;
  3129. // *********************************************************************//
  3130. // Interface: IADsNameTranslate
  3131. // Flags:     (4416) Dual OleAutomation Dispatchable
  3132. // GUID:      {B1B272A3-3625-11D1-A3A4-00C04FB950DC}
  3133. // *********************************************************************//
  3134.   IADsNameTranslate = interface(IDispatch)
  3135.     ['{B1B272A3-3625-11D1-A3A4-00C04FB950DC}']
  3136.     procedure Set_ChaseReferral(Param1: Integer); safecall;
  3137.     procedure Init(lnSetType: Integer; const bstrADsPath: WideString); safecall;
  3138.     procedure InitEx(lnSetType: Integer; const bstrADsPath: WideString; 
  3139.                      const bstrUserID: WideString; const bstrDomain: WideString; 
  3140.                      const bstrPassword: WideString); safecall;
  3141.     procedure Set_(lnSetType: Integer; const bstrADsPath: WideString); safecall;
  3142.     function  Get(lnFormatType: Integer): WideString; safecall;
  3143.     procedure SetEx(lnFormatType: Integer; pVar: OleVariant); safecall;
  3144.     function  GetEx(lnFormatType: Integer): OleVariant; safecall;
  3145.     property ChaseReferral: Integer write Set_ChaseReferral;
  3146.   end;
  3147. // *********************************************************************//
  3148. // DispIntf:  IADsNameTranslateDisp
  3149. // Flags:     (4416) Dual OleAutomation Dispatchable
  3150. // GUID:      {B1B272A3-3625-11D1-A3A4-00C04FB950DC}
  3151. // *********************************************************************//
  3152.   IADsNameTranslateDisp = dispinterface
  3153.     ['{B1B272A3-3625-11D1-A3A4-00C04FB950DC}']
  3154.     property ChaseReferral: Integer writeonly dispid 1;
  3155.     procedure Init(lnSetType: Integer; const bstrADsPath: WideString); dispid 2;
  3156.     procedure InitEx(lnSetType: Integer; const bstrADsPath: WideString; 
  3157.                      const bstrUserID: WideString; const bstrDomain: WideString; 
  3158.                      const bstrPassword: WideString); dispid 3;
  3159.     procedure Set_(lnSetType: Integer; const bstrADsPath: WideString); dispid 4;
  3160.     function  Get(lnFormatType: Integer): WideString; dispid 5;
  3161.     procedure SetEx(lnFormatType: Integer; pVar: OleVariant); dispid 6;
  3162.     function  GetEx(lnFormatType: Integer): OleVariant; dispid 7;
  3163.   end;
  3164. // *********************************************************************//
  3165. // Interface: IADsCaseIgnoreList
  3166. // Flags:     (4416) Dual OleAutomation Dispatchable
  3167. // GUID:      {7B66B533-4680-11D1-A3B4-00C04FB950DC}
  3168. // *********************************************************************//
  3169.   IADsCaseIgnoreList = interface(IDispatch)