Iads.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:795k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for ads.odl:
  5.     Os, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __iads_h__
  20. #define __iads_h__
  21. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  22. #pragma once
  23. #endif
  24. /* Forward Declarations */ 
  25. #ifndef __IADs_FWD_DEFINED__
  26. #define __IADs_FWD_DEFINED__
  27. typedef interface IADs IADs;
  28. #endif  /* __IADs_FWD_DEFINED__ */
  29. #ifndef __IADsContainer_FWD_DEFINED__
  30. #define __IADsContainer_FWD_DEFINED__
  31. typedef interface IADsContainer IADsContainer;
  32. #endif  /* __IADsContainer_FWD_DEFINED__ */
  33. #ifndef __IADsCollection_FWD_DEFINED__
  34. #define __IADsCollection_FWD_DEFINED__
  35. typedef interface IADsCollection IADsCollection;
  36. #endif  /* __IADsCollection_FWD_DEFINED__ */
  37. #ifndef __IADsMembers_FWD_DEFINED__
  38. #define __IADsMembers_FWD_DEFINED__
  39. typedef interface IADsMembers IADsMembers;
  40. #endif  /* __IADsMembers_FWD_DEFINED__ */
  41. #ifndef __IADsPropertyList_FWD_DEFINED__
  42. #define __IADsPropertyList_FWD_DEFINED__
  43. typedef interface IADsPropertyList IADsPropertyList;
  44. #endif  /* __IADsPropertyList_FWD_DEFINED__ */
  45. #ifndef __IADsPropertyEntry_FWD_DEFINED__
  46. #define __IADsPropertyEntry_FWD_DEFINED__
  47. typedef interface IADsPropertyEntry IADsPropertyEntry;
  48. #endif  /* __IADsPropertyEntry_FWD_DEFINED__ */
  49. #ifndef __PropertyEntry_FWD_DEFINED__
  50. #define __PropertyEntry_FWD_DEFINED__
  51. #ifdef __cplusplus
  52. typedef class PropertyEntry PropertyEntry;
  53. #else
  54. typedef struct PropertyEntry PropertyEntry;
  55. #endif /* __cplusplus */
  56. #endif  /* __PropertyEntry_FWD_DEFINED__ */
  57. #ifndef __IADsPropertyValue_FWD_DEFINED__
  58. #define __IADsPropertyValue_FWD_DEFINED__
  59. typedef interface IADsPropertyValue IADsPropertyValue;
  60. #endif  /* __IADsPropertyValue_FWD_DEFINED__ */
  61. #ifndef __IADsPropertyValue2_FWD_DEFINED__
  62. #define __IADsPropertyValue2_FWD_DEFINED__
  63. typedef interface IADsPropertyValue2 IADsPropertyValue2;
  64. #endif  /* __IADsPropertyValue2_FWD_DEFINED__ */
  65. #ifndef __PropertyValue_FWD_DEFINED__
  66. #define __PropertyValue_FWD_DEFINED__
  67. #ifdef __cplusplus
  68. typedef class PropertyValue PropertyValue;
  69. #else
  70. typedef struct PropertyValue PropertyValue;
  71. #endif /* __cplusplus */
  72. #endif  /* __PropertyValue_FWD_DEFINED__ */
  73. #ifndef __IPrivateDispatch_FWD_DEFINED__
  74. #define __IPrivateDispatch_FWD_DEFINED__
  75. typedef interface IPrivateDispatch IPrivateDispatch;
  76. #endif  /* __IPrivateDispatch_FWD_DEFINED__ */
  77. #ifndef __IPrivateUnknown_FWD_DEFINED__
  78. #define __IPrivateUnknown_FWD_DEFINED__
  79. typedef interface IPrivateUnknown IPrivateUnknown;
  80. #endif  /* __IPrivateUnknown_FWD_DEFINED__ */
  81. #ifndef __IADsExtension_FWD_DEFINED__
  82. #define __IADsExtension_FWD_DEFINED__
  83. typedef interface IADsExtension IADsExtension;
  84. #endif  /* __IADsExtension_FWD_DEFINED__ */
  85. #ifndef __IADsDeleteOps_FWD_DEFINED__
  86. #define __IADsDeleteOps_FWD_DEFINED__
  87. typedef interface IADsDeleteOps IADsDeleteOps;
  88. #endif  /* __IADsDeleteOps_FWD_DEFINED__ */
  89. #ifndef __IADsNamespaces_FWD_DEFINED__
  90. #define __IADsNamespaces_FWD_DEFINED__
  91. typedef interface IADsNamespaces IADsNamespaces;
  92. #endif  /* __IADsNamespaces_FWD_DEFINED__ */
  93. #ifndef __IADsClass_FWD_DEFINED__
  94. #define __IADsClass_FWD_DEFINED__
  95. typedef interface IADsClass IADsClass;
  96. #endif  /* __IADsClass_FWD_DEFINED__ */
  97. #ifndef __IADsProperty_FWD_DEFINED__
  98. #define __IADsProperty_FWD_DEFINED__
  99. typedef interface IADsProperty IADsProperty;
  100. #endif  /* __IADsProperty_FWD_DEFINED__ */
  101. #ifndef __IADsSyntax_FWD_DEFINED__
  102. #define __IADsSyntax_FWD_DEFINED__
  103. typedef interface IADsSyntax IADsSyntax;
  104. #endif  /* __IADsSyntax_FWD_DEFINED__ */
  105. #ifndef __IADsLocality_FWD_DEFINED__
  106. #define __IADsLocality_FWD_DEFINED__
  107. typedef interface IADsLocality IADsLocality;
  108. #endif  /* __IADsLocality_FWD_DEFINED__ */
  109. #ifndef __IADsO_FWD_DEFINED__
  110. #define __IADsO_FWD_DEFINED__
  111. typedef interface IADsO IADsO;
  112. #endif  /* __IADsO_FWD_DEFINED__ */
  113. #ifndef __IADsOU_FWD_DEFINED__
  114. #define __IADsOU_FWD_DEFINED__
  115. typedef interface IADsOU IADsOU;
  116. #endif  /* __IADsOU_FWD_DEFINED__ */
  117. #ifndef __IADsDomain_FWD_DEFINED__
  118. #define __IADsDomain_FWD_DEFINED__
  119. typedef interface IADsDomain IADsDomain;
  120. #endif  /* __IADsDomain_FWD_DEFINED__ */
  121. #ifndef __IADsComputer_FWD_DEFINED__
  122. #define __IADsComputer_FWD_DEFINED__
  123. typedef interface IADsComputer IADsComputer;
  124. #endif  /* __IADsComputer_FWD_DEFINED__ */
  125. #ifndef __IADsComputerOperations_FWD_DEFINED__
  126. #define __IADsComputerOperations_FWD_DEFINED__
  127. typedef interface IADsComputerOperations IADsComputerOperations;
  128. #endif  /* __IADsComputerOperations_FWD_DEFINED__ */
  129. #ifndef __IADsGroup_FWD_DEFINED__
  130. #define __IADsGroup_FWD_DEFINED__
  131. typedef interface IADsGroup IADsGroup;
  132. #endif  /* __IADsGroup_FWD_DEFINED__ */
  133. #ifndef __IADsUser_FWD_DEFINED__
  134. #define __IADsUser_FWD_DEFINED__
  135. typedef interface IADsUser IADsUser;
  136. #endif  /* __IADsUser_FWD_DEFINED__ */
  137. #ifndef __IADsPrintQueue_FWD_DEFINED__
  138. #define __IADsPrintQueue_FWD_DEFINED__
  139. typedef interface IADsPrintQueue IADsPrintQueue;
  140. #endif  /* __IADsPrintQueue_FWD_DEFINED__ */
  141. #ifndef __IADsPrintQueueOperations_FWD_DEFINED__
  142. #define __IADsPrintQueueOperations_FWD_DEFINED__
  143. typedef interface IADsPrintQueueOperations IADsPrintQueueOperations;
  144. #endif  /* __IADsPrintQueueOperations_FWD_DEFINED__ */
  145. #ifndef __IADsPrintJob_FWD_DEFINED__
  146. #define __IADsPrintJob_FWD_DEFINED__
  147. typedef interface IADsPrintJob IADsPrintJob;
  148. #endif  /* __IADsPrintJob_FWD_DEFINED__ */
  149. #ifndef __IADsPrintJobOperations_FWD_DEFINED__
  150. #define __IADsPrintJobOperations_FWD_DEFINED__
  151. typedef interface IADsPrintJobOperations IADsPrintJobOperations;
  152. #endif  /* __IADsPrintJobOperations_FWD_DEFINED__ */
  153. #ifndef __IADsService_FWD_DEFINED__
  154. #define __IADsService_FWD_DEFINED__
  155. typedef interface IADsService IADsService;
  156. #endif  /* __IADsService_FWD_DEFINED__ */
  157. #ifndef __IADsServiceOperations_FWD_DEFINED__
  158. #define __IADsServiceOperations_FWD_DEFINED__
  159. typedef interface IADsServiceOperations IADsServiceOperations;
  160. #endif  /* __IADsServiceOperations_FWD_DEFINED__ */
  161. #ifndef __IADsFileService_FWD_DEFINED__
  162. #define __IADsFileService_FWD_DEFINED__
  163. typedef interface IADsFileService IADsFileService;
  164. #endif  /* __IADsFileService_FWD_DEFINED__ */
  165. #ifndef __IADsFileServiceOperations_FWD_DEFINED__
  166. #define __IADsFileServiceOperations_FWD_DEFINED__
  167. typedef interface IADsFileServiceOperations IADsFileServiceOperations;
  168. #endif  /* __IADsFileServiceOperations_FWD_DEFINED__ */
  169. #ifndef __IADsFileShare_FWD_DEFINED__
  170. #define __IADsFileShare_FWD_DEFINED__
  171. typedef interface IADsFileShare IADsFileShare;
  172. #endif  /* __IADsFileShare_FWD_DEFINED__ */
  173. #ifndef __IADsSession_FWD_DEFINED__
  174. #define __IADsSession_FWD_DEFINED__
  175. typedef interface IADsSession IADsSession;
  176. #endif  /* __IADsSession_FWD_DEFINED__ */
  177. #ifndef __IADsResource_FWD_DEFINED__
  178. #define __IADsResource_FWD_DEFINED__
  179. typedef interface IADsResource IADsResource;
  180. #endif  /* __IADsResource_FWD_DEFINED__ */
  181. #ifndef __IADsOpenDSObject_FWD_DEFINED__
  182. #define __IADsOpenDSObject_FWD_DEFINED__
  183. typedef interface IADsOpenDSObject IADsOpenDSObject;
  184. #endif  /* __IADsOpenDSObject_FWD_DEFINED__ */
  185. #ifndef __IDirectoryObject_FWD_DEFINED__
  186. #define __IDirectoryObject_FWD_DEFINED__
  187. typedef interface IDirectoryObject IDirectoryObject;
  188. #endif  /* __IDirectoryObject_FWD_DEFINED__ */
  189. #ifndef __IDirectorySearch_FWD_DEFINED__
  190. #define __IDirectorySearch_FWD_DEFINED__
  191. typedef interface IDirectorySearch IDirectorySearch;
  192. #endif  /* __IDirectorySearch_FWD_DEFINED__ */
  193. #ifndef __IDirectorySchemaMgmt_FWD_DEFINED__
  194. #define __IDirectorySchemaMgmt_FWD_DEFINED__
  195. typedef interface IDirectorySchemaMgmt IDirectorySchemaMgmt;
  196. #endif  /* __IDirectorySchemaMgmt_FWD_DEFINED__ */
  197. #ifndef __IADsAggregatee_FWD_DEFINED__
  198. #define __IADsAggregatee_FWD_DEFINED__
  199. typedef interface IADsAggregatee IADsAggregatee;
  200. #endif  /* __IADsAggregatee_FWD_DEFINED__ */
  201. #ifndef __IADsAggregator_FWD_DEFINED__
  202. #define __IADsAggregator_FWD_DEFINED__
  203. typedef interface IADsAggregator IADsAggregator;
  204. #endif  /* __IADsAggregator_FWD_DEFINED__ */
  205. #ifndef __IADsAccessControlEntry_FWD_DEFINED__
  206. #define __IADsAccessControlEntry_FWD_DEFINED__
  207. typedef interface IADsAccessControlEntry IADsAccessControlEntry;
  208. #endif  /* __IADsAccessControlEntry_FWD_DEFINED__ */
  209. #ifndef __AccessControlEntry_FWD_DEFINED__
  210. #define __AccessControlEntry_FWD_DEFINED__
  211. #ifdef __cplusplus
  212. typedef class AccessControlEntry AccessControlEntry;
  213. #else
  214. typedef struct AccessControlEntry AccessControlEntry;
  215. #endif /* __cplusplus */
  216. #endif  /* __AccessControlEntry_FWD_DEFINED__ */
  217. #ifndef __IADsAccessControlList_FWD_DEFINED__
  218. #define __IADsAccessControlList_FWD_DEFINED__
  219. typedef interface IADsAccessControlList IADsAccessControlList;
  220. #endif  /* __IADsAccessControlList_FWD_DEFINED__ */
  221. #ifndef __AccessControlList_FWD_DEFINED__
  222. #define __AccessControlList_FWD_DEFINED__
  223. #ifdef __cplusplus
  224. typedef class AccessControlList AccessControlList;
  225. #else
  226. typedef struct AccessControlList AccessControlList;
  227. #endif /* __cplusplus */
  228. #endif  /* __AccessControlList_FWD_DEFINED__ */
  229. #ifndef __IADsSecurityDescriptor_FWD_DEFINED__
  230. #define __IADsSecurityDescriptor_FWD_DEFINED__
  231. typedef interface IADsSecurityDescriptor IADsSecurityDescriptor;
  232. #endif  /* __IADsSecurityDescriptor_FWD_DEFINED__ */
  233. #ifndef __SecurityDescriptor_FWD_DEFINED__
  234. #define __SecurityDescriptor_FWD_DEFINED__
  235. #ifdef __cplusplus
  236. typedef class SecurityDescriptor SecurityDescriptor;
  237. #else
  238. typedef struct SecurityDescriptor SecurityDescriptor;
  239. #endif /* __cplusplus */
  240. #endif  /* __SecurityDescriptor_FWD_DEFINED__ */
  241. #ifndef __IADsLargeInteger_FWD_DEFINED__
  242. #define __IADsLargeInteger_FWD_DEFINED__
  243. typedef interface IADsLargeInteger IADsLargeInteger;
  244. #endif  /* __IADsLargeInteger_FWD_DEFINED__ */
  245. #ifndef __LargeInteger_FWD_DEFINED__
  246. #define __LargeInteger_FWD_DEFINED__
  247. #ifdef __cplusplus
  248. typedef class LargeInteger LargeInteger;
  249. #else
  250. typedef struct LargeInteger LargeInteger;
  251. #endif /* __cplusplus */
  252. #endif  /* __LargeInteger_FWD_DEFINED__ */
  253. #ifndef __IADsNameTranslate_FWD_DEFINED__
  254. #define __IADsNameTranslate_FWD_DEFINED__
  255. typedef interface IADsNameTranslate IADsNameTranslate;
  256. #endif  /* __IADsNameTranslate_FWD_DEFINED__ */
  257. #ifndef __NameTranslate_FWD_DEFINED__
  258. #define __NameTranslate_FWD_DEFINED__
  259. #ifdef __cplusplus
  260. typedef class NameTranslate NameTranslate;
  261. #else
  262. typedef struct NameTranslate NameTranslate;
  263. #endif /* __cplusplus */
  264. #endif  /* __NameTranslate_FWD_DEFINED__ */
  265. #ifndef __IADsCaseIgnoreList_FWD_DEFINED__
  266. #define __IADsCaseIgnoreList_FWD_DEFINED__
  267. typedef interface IADsCaseIgnoreList IADsCaseIgnoreList;
  268. #endif  /* __IADsCaseIgnoreList_FWD_DEFINED__ */
  269. #ifndef __CaseIgnoreList_FWD_DEFINED__
  270. #define __CaseIgnoreList_FWD_DEFINED__
  271. #ifdef __cplusplus
  272. typedef class CaseIgnoreList CaseIgnoreList;
  273. #else
  274. typedef struct CaseIgnoreList CaseIgnoreList;
  275. #endif /* __cplusplus */
  276. #endif  /* __CaseIgnoreList_FWD_DEFINED__ */
  277. #ifndef __IADsFaxNumber_FWD_DEFINED__
  278. #define __IADsFaxNumber_FWD_DEFINED__
  279. typedef interface IADsFaxNumber IADsFaxNumber;
  280. #endif  /* __IADsFaxNumber_FWD_DEFINED__ */
  281. #ifndef __FaxNumber_FWD_DEFINED__
  282. #define __FaxNumber_FWD_DEFINED__
  283. #ifdef __cplusplus
  284. typedef class FaxNumber FaxNumber;
  285. #else
  286. typedef struct FaxNumber FaxNumber;
  287. #endif /* __cplusplus */
  288. #endif  /* __FaxNumber_FWD_DEFINED__ */
  289. #ifndef __IADsNetAddress_FWD_DEFINED__
  290. #define __IADsNetAddress_FWD_DEFINED__
  291. typedef interface IADsNetAddress IADsNetAddress;
  292. #endif  /* __IADsNetAddress_FWD_DEFINED__ */
  293. #ifndef __NetAddress_FWD_DEFINED__
  294. #define __NetAddress_FWD_DEFINED__
  295. #ifdef __cplusplus
  296. typedef class NetAddress NetAddress;
  297. #else
  298. typedef struct NetAddress NetAddress;
  299. #endif /* __cplusplus */
  300. #endif  /* __NetAddress_FWD_DEFINED__ */
  301. #ifndef __IADsOctetList_FWD_DEFINED__
  302. #define __IADsOctetList_FWD_DEFINED__
  303. typedef interface IADsOctetList IADsOctetList;
  304. #endif  /* __IADsOctetList_FWD_DEFINED__ */
  305. #ifndef __OctetList_FWD_DEFINED__
  306. #define __OctetList_FWD_DEFINED__
  307. #ifdef __cplusplus
  308. typedef class OctetList OctetList;
  309. #else
  310. typedef struct OctetList OctetList;
  311. #endif /* __cplusplus */
  312. #endif  /* __OctetList_FWD_DEFINED__ */
  313. #ifndef __IADsEmail_FWD_DEFINED__
  314. #define __IADsEmail_FWD_DEFINED__
  315. typedef interface IADsEmail IADsEmail;
  316. #endif  /* __IADsEmail_FWD_DEFINED__ */
  317. #ifndef __Email_FWD_DEFINED__
  318. #define __Email_FWD_DEFINED__
  319. #ifdef __cplusplus
  320. typedef class Email Email;
  321. #else
  322. typedef struct Email Email;
  323. #endif /* __cplusplus */
  324. #endif  /* __Email_FWD_DEFINED__ */
  325. #ifndef __IADsPath_FWD_DEFINED__
  326. #define __IADsPath_FWD_DEFINED__
  327. typedef interface IADsPath IADsPath;
  328. #endif  /* __IADsPath_FWD_DEFINED__ */
  329. #ifndef __Path_FWD_DEFINED__
  330. #define __Path_FWD_DEFINED__
  331. #ifdef __cplusplus
  332. typedef class Path Path;
  333. #else
  334. typedef struct Path Path;
  335. #endif /* __cplusplus */
  336. #endif  /* __Path_FWD_DEFINED__ */
  337. #ifndef __IADsReplicaPointer_FWD_DEFINED__
  338. #define __IADsReplicaPointer_FWD_DEFINED__
  339. typedef interface IADsReplicaPointer IADsReplicaPointer;
  340. #endif  /* __IADsReplicaPointer_FWD_DEFINED__ */
  341. #ifndef __ReplicaPointer_FWD_DEFINED__
  342. #define __ReplicaPointer_FWD_DEFINED__
  343. #ifdef __cplusplus
  344. typedef class ReplicaPointer ReplicaPointer;
  345. #else
  346. typedef struct ReplicaPointer ReplicaPointer;
  347. #endif /* __cplusplus */
  348. #endif  /* __ReplicaPointer_FWD_DEFINED__ */
  349. #ifndef __IADsAcl_FWD_DEFINED__
  350. #define __IADsAcl_FWD_DEFINED__
  351. typedef interface IADsAcl IADsAcl;
  352. #endif  /* __IADsAcl_FWD_DEFINED__ */
  353. #ifndef __IADsTimestamp_FWD_DEFINED__
  354. #define __IADsTimestamp_FWD_DEFINED__
  355. typedef interface IADsTimestamp IADsTimestamp;
  356. #endif  /* __IADsTimestamp_FWD_DEFINED__ */
  357. #ifndef __Timestamp_FWD_DEFINED__
  358. #define __Timestamp_FWD_DEFINED__
  359. #ifdef __cplusplus
  360. typedef class Timestamp Timestamp;
  361. #else
  362. typedef struct Timestamp Timestamp;
  363. #endif /* __cplusplus */
  364. #endif  /* __Timestamp_FWD_DEFINED__ */
  365. #ifndef __IADsPostalAddress_FWD_DEFINED__
  366. #define __IADsPostalAddress_FWD_DEFINED__
  367. typedef interface IADsPostalAddress IADsPostalAddress;
  368. #endif  /* __IADsPostalAddress_FWD_DEFINED__ */
  369. #ifndef __PostalAddress_FWD_DEFINED__
  370. #define __PostalAddress_FWD_DEFINED__
  371. #ifdef __cplusplus
  372. typedef class PostalAddress PostalAddress;
  373. #else
  374. typedef struct PostalAddress PostalAddress;
  375. #endif /* __cplusplus */
  376. #endif  /* __PostalAddress_FWD_DEFINED__ */
  377. #ifndef __IADsBackLink_FWD_DEFINED__
  378. #define __IADsBackLink_FWD_DEFINED__
  379. typedef interface IADsBackLink IADsBackLink;
  380. #endif  /* __IADsBackLink_FWD_DEFINED__ */
  381. #ifndef __BackLink_FWD_DEFINED__
  382. #define __BackLink_FWD_DEFINED__
  383. #ifdef __cplusplus
  384. typedef class BackLink BackLink;
  385. #else
  386. typedef struct BackLink BackLink;
  387. #endif /* __cplusplus */
  388. #endif  /* __BackLink_FWD_DEFINED__ */
  389. #ifndef __IADsTypedName_FWD_DEFINED__
  390. #define __IADsTypedName_FWD_DEFINED__
  391. typedef interface IADsTypedName IADsTypedName;
  392. #endif  /* __IADsTypedName_FWD_DEFINED__ */
  393. #ifndef __TypedName_FWD_DEFINED__
  394. #define __TypedName_FWD_DEFINED__
  395. #ifdef __cplusplus
  396. typedef class TypedName TypedName;
  397. #else
  398. typedef struct TypedName TypedName;
  399. #endif /* __cplusplus */
  400. #endif  /* __TypedName_FWD_DEFINED__ */
  401. #ifndef __IADsHold_FWD_DEFINED__
  402. #define __IADsHold_FWD_DEFINED__
  403. typedef interface IADsHold IADsHold;
  404. #endif  /* __IADsHold_FWD_DEFINED__ */
  405. #ifndef __Hold_FWD_DEFINED__
  406. #define __Hold_FWD_DEFINED__
  407. #ifdef __cplusplus
  408. typedef class Hold Hold;
  409. #else
  410. typedef struct Hold Hold;
  411. #endif /* __cplusplus */
  412. #endif  /* __Hold_FWD_DEFINED__ */
  413. #ifndef __IADsObjectOptions_FWD_DEFINED__
  414. #define __IADsObjectOptions_FWD_DEFINED__
  415. typedef interface IADsObjectOptions IADsObjectOptions;
  416. #endif  /* __IADsObjectOptions_FWD_DEFINED__ */
  417. #ifndef __IADsPathname_FWD_DEFINED__
  418. #define __IADsPathname_FWD_DEFINED__
  419. typedef interface IADsPathname IADsPathname;
  420. #endif  /* __IADsPathname_FWD_DEFINED__ */
  421. #ifndef __Pathname_FWD_DEFINED__
  422. #define __Pathname_FWD_DEFINED__
  423. #ifdef __cplusplus
  424. typedef class Pathname Pathname;
  425. #else
  426. typedef struct Pathname Pathname;
  427. #endif /* __cplusplus */
  428. #endif  /* __Pathname_FWD_DEFINED__ */
  429. #ifndef __IADsADSystemInfo_FWD_DEFINED__
  430. #define __IADsADSystemInfo_FWD_DEFINED__
  431. typedef interface IADsADSystemInfo IADsADSystemInfo;
  432. #endif  /* __IADsADSystemInfo_FWD_DEFINED__ */
  433. #ifndef __ADSystemInfo_FWD_DEFINED__
  434. #define __ADSystemInfo_FWD_DEFINED__
  435. #ifdef __cplusplus
  436. typedef class ADSystemInfo ADSystemInfo;
  437. #else
  438. typedef struct ADSystemInfo ADSystemInfo;
  439. #endif /* __cplusplus */
  440. #endif  /* __ADSystemInfo_FWD_DEFINED__ */
  441. #ifndef __IADsWinNTSystemInfo_FWD_DEFINED__
  442. #define __IADsWinNTSystemInfo_FWD_DEFINED__
  443. typedef interface IADsWinNTSystemInfo IADsWinNTSystemInfo;
  444. #endif  /* __IADsWinNTSystemInfo_FWD_DEFINED__ */
  445. #ifndef __WinNTSystemInfo_FWD_DEFINED__
  446. #define __WinNTSystemInfo_FWD_DEFINED__
  447. #ifdef __cplusplus
  448. typedef class WinNTSystemInfo WinNTSystemInfo;
  449. #else
  450. typedef struct WinNTSystemInfo WinNTSystemInfo;
  451. #endif /* __cplusplus */
  452. #endif  /* __WinNTSystemInfo_FWD_DEFINED__ */
  453. #ifndef __IADsDNWithBinary_FWD_DEFINED__
  454. #define __IADsDNWithBinary_FWD_DEFINED__
  455. typedef interface IADsDNWithBinary IADsDNWithBinary;
  456. #endif  /* __IADsDNWithBinary_FWD_DEFINED__ */
  457. #ifndef __DNWithBinary_FWD_DEFINED__
  458. #define __DNWithBinary_FWD_DEFINED__
  459. #ifdef __cplusplus
  460. typedef class DNWithBinary DNWithBinary;
  461. #else
  462. typedef struct DNWithBinary DNWithBinary;
  463. #endif /* __cplusplus */
  464. #endif  /* __DNWithBinary_FWD_DEFINED__ */
  465. #ifndef __IADsDNWithString_FWD_DEFINED__
  466. #define __IADsDNWithString_FWD_DEFINED__
  467. typedef interface IADsDNWithString IADsDNWithString;
  468. #endif  /* __IADsDNWithString_FWD_DEFINED__ */
  469. #ifndef __DNWithString_FWD_DEFINED__
  470. #define __DNWithString_FWD_DEFINED__
  471. #ifdef __cplusplus
  472. typedef class DNWithString DNWithString;
  473. #else
  474. typedef struct DNWithString DNWithString;
  475. #endif /* __cplusplus */
  476. #endif  /* __DNWithString_FWD_DEFINED__ */
  477. #ifndef __IADsSecurityUtility_FWD_DEFINED__
  478. #define __IADsSecurityUtility_FWD_DEFINED__
  479. typedef interface IADsSecurityUtility IADsSecurityUtility;
  480. #endif  /* __IADsSecurityUtility_FWD_DEFINED__ */
  481. #ifndef __ADsSecurityUtility_FWD_DEFINED__
  482. #define __ADsSecurityUtility_FWD_DEFINED__
  483. #ifdef __cplusplus
  484. typedef class ADsSecurityUtility ADsSecurityUtility;
  485. #else
  486. typedef struct ADsSecurityUtility ADsSecurityUtility;
  487. #endif /* __cplusplus */
  488. #endif  /* __ADsSecurityUtility_FWD_DEFINED__ */
  489. #ifdef __cplusplus
  490. extern "C"{
  491. #endif 
  492. void * __RPC_USER MIDL_user_allocate(size_t);
  493. void __RPC_USER MIDL_user_free( void * ); 
  494. #ifndef __ActiveDs_LIBRARY_DEFINED__
  495. #define __ActiveDs_LIBRARY_DEFINED__
  496. /* library ActiveDs */
  497. /* [helpstring][version][uuid] */ 
  498. typedef /* [public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public] */ 
  499. enum __MIDL___MIDL_itf_ads_0000_0001
  500.     { ADSTYPE_INVALID = 0,
  501. ADSTYPE_DN_STRING = ADSTYPE_INVALID + 1,
  502. ADSTYPE_CASE_EXACT_STRING = ADSTYPE_DN_STRING + 1,
  503. ADSTYPE_CASE_IGNORE_STRING = ADSTYPE_CASE_EXACT_STRING + 1,
  504. ADSTYPE_PRINTABLE_STRING = ADSTYPE_CASE_IGNORE_STRING + 1,
  505. ADSTYPE_NUMERIC_STRING = ADSTYPE_PRINTABLE_STRING + 1,
  506. ADSTYPE_BOOLEAN = ADSTYPE_NUMERIC_STRING + 1,
  507. ADSTYPE_INTEGER = ADSTYPE_BOOLEAN + 1,
  508. ADSTYPE_OCTET_STRING = ADSTYPE_INTEGER + 1,
  509. ADSTYPE_UTC_TIME = ADSTYPE_OCTET_STRING + 1,
  510. ADSTYPE_LARGE_INTEGER = ADSTYPE_UTC_TIME + 1,
  511. ADSTYPE_PROV_SPECIFIC = ADSTYPE_LARGE_INTEGER + 1,
  512. ADSTYPE_OBJECT_CLASS = ADSTYPE_PROV_SPECIFIC + 1,
  513. ADSTYPE_CASEIGNORE_LIST = ADSTYPE_OBJECT_CLASS + 1,
  514. ADSTYPE_OCTET_LIST = ADSTYPE_CASEIGNORE_LIST + 1,
  515. ADSTYPE_PATH = ADSTYPE_OCTET_LIST + 1,
  516. ADSTYPE_POSTALADDRESS = ADSTYPE_PATH + 1,
  517. ADSTYPE_TIMESTAMP = ADSTYPE_POSTALADDRESS + 1,
  518. ADSTYPE_BACKLINK = ADSTYPE_TIMESTAMP + 1,
  519. ADSTYPE_TYPEDNAME = ADSTYPE_BACKLINK + 1,
  520. ADSTYPE_HOLD = ADSTYPE_TYPEDNAME + 1,
  521. ADSTYPE_NETADDRESS = ADSTYPE_HOLD + 1,
  522. ADSTYPE_REPLICAPOINTER = ADSTYPE_NETADDRESS + 1,
  523. ADSTYPE_FAXNUMBER = ADSTYPE_REPLICAPOINTER + 1,
  524. ADSTYPE_EMAIL = ADSTYPE_FAXNUMBER + 1,
  525. ADSTYPE_NT_SECURITY_DESCRIPTOR = ADSTYPE_EMAIL + 1,
  526. ADSTYPE_UNKNOWN = ADSTYPE_NT_SECURITY_DESCRIPTOR + 1,
  527. ADSTYPE_DN_WITH_BINARY = ADSTYPE_UNKNOWN + 1,
  528. ADSTYPE_DN_WITH_STRING = ADSTYPE_DN_WITH_BINARY + 1
  529.     }  ADSTYPEENUM;
  530. typedef ADSTYPEENUM ADSTYPE;
  531. typedef unsigned char BYTE;
  532. typedef unsigned char *LPBYTE;
  533. typedef unsigned char *PBYTE;
  534. typedef LPWSTR ADS_DN_STRING;
  535. typedef LPWSTR *PADS_DN_STRING;
  536. typedef LPWSTR ADS_CASE_EXACT_STRING;
  537. typedef LPWSTR *PADS_CASE_EXACT_STRING;
  538. typedef LPWSTR ADS_CASE_IGNORE_STRING;
  539. typedef LPWSTR *PADS_CASE_IGNORE_STRING;
  540. typedef LPWSTR ADS_PRINTABLE_STRING;
  541. typedef LPWSTR *PADS_PRINTABLE_STRING;
  542. typedef LPWSTR ADS_NUMERIC_STRING;
  543. typedef LPWSTR *PADS_NUMERIC_STRING;
  544. typedef DWORD ADS_BOOLEAN;
  545. typedef DWORD *LPNDS_BOOLEAN;
  546. typedef DWORD ADS_INTEGER;
  547. typedef DWORD *PADS_INTEGER;
  548. typedef /* [public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_ads_0000_0002
  549.     {
  550.     DWORD dwLength;
  551.     LPBYTE lpValue;
  552.     }  ADS_OCTET_STRING;
  553. typedef struct __MIDL___MIDL_itf_ads_0000_0002 *PADS_OCTET_STRING;
  554. typedef /* [public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_ads_0000_0003
  555.     {
  556.     DWORD dwLength;
  557.     LPBYTE lpValue;
  558.     }  ADS_NT_SECURITY_DESCRIPTOR;
  559. typedef struct __MIDL___MIDL_itf_ads_0000_0003 *PADS_NT_SECURITY_DESCRIPTOR;
  560. typedef SYSTEMTIME ADS_UTC_TIME;
  561. typedef SYSTEMTIME *PADS_UTC_TIME;
  562. typedef LARGE_INTEGER ADS_LARGE_INTEGER;
  563. typedef LARGE_INTEGER *PADS_LARGE_INTEGER;
  564. typedef LPWSTR ADS_OBJECT_CLASS;
  565. typedef LPWSTR *PADS_OBJECT_CLASS;
  566. typedef /* [public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_ads_0000_0004
  567.     {
  568.     DWORD dwLength;
  569.     LPBYTE lpValue;
  570.     }  ADS_PROV_SPECIFIC;
  571. typedef struct __MIDL___MIDL_itf_ads_0000_0004 *PADS_PROV_SPECIFIC;
  572. typedef struct _ADS_CASEIGNORE_LIST
  573.     {
  574.     struct _ADS_CASEIGNORE_LIST *Next;
  575.     LPWSTR String;
  576.     }  ADS_CASEIGNORE_LIST;
  577. typedef struct _ADS_CASEIGNORE_LIST *PADS_CASEIGNORE_LIST;
  578. typedef struct _ADS_OCTET_LIST
  579.     {
  580.     struct _ADS_OCTET_LIST *Next;
  581.     DWORD Length;
  582.     BYTE *Data;
  583.     }  ADS_OCTET_LIST;
  584. typedef struct _ADS_OCTET_LIST *PADS_OCTET_LIST;
  585. typedef /* [public] */ struct __MIDL___MIDL_itf_ads_0000_0005
  586.     {
  587.     DWORD Type;
  588.     LPWSTR VolumeName;
  589.     LPWSTR Path;
  590.     }  ADS_PATH;
  591. typedef struct __MIDL___MIDL_itf_ads_0000_0005 *PADS_PATH;
  592. typedef /* [public] */ struct __MIDL___MIDL_itf_ads_0000_0006
  593.     {
  594.     LPWSTR PostalAddress[ 6 ];
  595.     }  ADS_POSTALADDRESS;
  596. typedef struct __MIDL___MIDL_itf_ads_0000_0006 *PADS_POSTALADDRESS;
  597. typedef /* [public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_ads_0000_0007
  598.     {
  599.     DWORD WholeSeconds;
  600.     DWORD EventID;
  601.     }  ADS_TIMESTAMP;
  602. typedef struct __MIDL___MIDL_itf_ads_0000_0007 *PADS_TIMESTAMP;
  603. typedef /* [public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_ads_0000_0008
  604.     {
  605.     DWORD RemoteID;
  606.     LPWSTR ObjectName;
  607.     }  ADS_BACKLINK;
  608. typedef struct __MIDL___MIDL_itf_ads_0000_0008 *PADS_BACKLINK;
  609. typedef /* [public] */ struct __MIDL___MIDL_itf_ads_0000_0009
  610.     {
  611.     LPWSTR ObjectName;
  612.     DWORD Level;
  613.     DWORD Interval;
  614.     }  ADS_TYPEDNAME;
  615. typedef struct __MIDL___MIDL_itf_ads_0000_0009 *PADS_TYPEDNAME;
  616. typedef /* [public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_ads_0000_0010
  617.     {
  618.     LPWSTR ObjectName;
  619.     DWORD Amount;
  620.     }  ADS_HOLD;
  621. typedef struct __MIDL___MIDL_itf_ads_0000_0010 *PADS_HOLD;
  622. typedef /* [public] */ struct __MIDL___MIDL_itf_ads_0000_0011
  623.     {
  624.     DWORD AddressType;
  625.     DWORD AddressLength;
  626.     BYTE *Address;
  627.     }  ADS_NETADDRESS;
  628. typedef struct __MIDL___MIDL_itf_ads_0000_0011 *PADS_NETADDRESS;
  629. typedef /* [public] */ struct __MIDL___MIDL_itf_ads_0000_0012
  630.     {
  631.     LPWSTR ServerName;
  632.     DWORD ReplicaType;
  633.     DWORD ReplicaNumber;
  634.     DWORD Count;
  635.     PADS_NETADDRESS ReplicaAddressHints;
  636.     }  ADS_REPLICAPOINTER;
  637. typedef struct __MIDL___MIDL_itf_ads_0000_0012 *PADS_REPLICAPOINTER;
  638. typedef /* [public] */ struct __MIDL___MIDL_itf_ads_0000_0013
  639.     {
  640.     LPWSTR TelephoneNumber;
  641.     DWORD NumberOfBits;
  642.     LPBYTE Parameters;
  643.     }  ADS_FAXNUMBER;
  644. typedef struct __MIDL___MIDL_itf_ads_0000_0013 *PADS_FAXNUMBER;
  645. typedef /* [public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_ads_0000_0014
  646.     {
  647.     LPWSTR Address;
  648.     DWORD Type;
  649.     }  ADS_EMAIL;
  650. typedef struct __MIDL___MIDL_itf_ads_0000_0014 *PADS_EMAIL;
  651. typedef /* [public] */ struct __MIDL___MIDL_itf_ads_0000_0015
  652.     {
  653.     DWORD dwLength;
  654.     LPBYTE lpBinaryValue;
  655.     LPWSTR pszDNString;
  656.     }  ADS_DN_WITH_BINARY;
  657. typedef struct __MIDL___MIDL_itf_ads_0000_0015 *PADS_DN_WITH_BINARY;
  658. typedef /* [public] */ struct __MIDL___MIDL_itf_ads_0000_0016
  659.     {
  660.     LPWSTR pszStringValue;
  661.     LPWSTR pszDNString;
  662.     }  ADS_DN_WITH_STRING;
  663. typedef struct __MIDL___MIDL_itf_ads_0000_0016 *PADS_DN_WITH_STRING;
  664. typedef struct _adsvalue
  665.     {
  666.     ADSTYPE dwType;
  667.     union 
  668.         {
  669.         ADS_DN_STRING DNString;
  670.         ADS_CASE_EXACT_STRING CaseExactString;
  671.         ADS_CASE_IGNORE_STRING CaseIgnoreString;
  672.         ADS_PRINTABLE_STRING PrintableString;
  673.         ADS_NUMERIC_STRING NumericString;
  674.         ADS_BOOLEAN Boolean;
  675.         ADS_INTEGER Integer;
  676.         ADS_OCTET_STRING OctetString;
  677.         ADS_UTC_TIME UTCTime;
  678.         ADS_LARGE_INTEGER LargeInteger;
  679.         ADS_OBJECT_CLASS ClassName;
  680.         ADS_PROV_SPECIFIC ProviderSpecific;
  681.         PADS_CASEIGNORE_LIST pCaseIgnoreList;
  682.         PADS_OCTET_LIST pOctetList;
  683.         PADS_PATH pPath;
  684.         PADS_POSTALADDRESS pPostalAddress;
  685.         ADS_TIMESTAMP Timestamp;
  686.         ADS_BACKLINK BackLink;
  687.         PADS_TYPEDNAME pTypedName;
  688.         ADS_HOLD Hold;
  689.         PADS_NETADDRESS pNetAddress;
  690.         PADS_REPLICAPOINTER pReplicaPointer;
  691.         PADS_FAXNUMBER pFaxNumber;
  692.         ADS_EMAIL Email;
  693.         ADS_NT_SECURITY_DESCRIPTOR SecurityDescriptor;
  694.         PADS_DN_WITH_BINARY pDNWithBinary;
  695.         PADS_DN_WITH_STRING pDNWithString;
  696.         }  ;
  697.     }  ADSVALUE;
  698. typedef struct _adsvalue *PADSVALUE;
  699. typedef struct _adsvalue *LPADSVALUE;
  700. typedef struct _ads_attr_info
  701.     {
  702.     LPWSTR pszAttrName;
  703.     DWORD dwControlCode;
  704.     ADSTYPE dwADsType;
  705.     PADSVALUE pADsValues;
  706.     DWORD dwNumValues;
  707.     }  ADS_ATTR_INFO;
  708. typedef struct _ads_attr_info *PADS_ATTR_INFO;
  709. typedef /* [public] */ 
  710. enum __MIDL___MIDL_itf_ads_0000_0018
  711.     { ADS_SECURE_AUTHENTICATION = 0x1,
  712. ADS_USE_ENCRYPTION = 0x2,
  713. ADS_USE_SSL = 0x2,
  714. ADS_READONLY_SERVER = 0x4,
  715. ADS_PROMPT_CREDENTIALS = 0x8,
  716. ADS_NO_AUTHENTICATION = 0x10,
  717. ADS_FAST_BIND = 0x20,
  718. ADS_USE_SIGNING = 0x40,
  719. ADS_USE_SEALING = 0x80,
  720. ADS_USE_DELEGATION = 0x100,
  721. ADS_SERVER_BIND = 0x200,
  722. ADS_AUTH_RESERVED = 0x80000000
  723.     }  ADS_AUTHENTICATION_ENUM;
  724. #define ADS_ATTR_CLEAR ( 1 )
  725. #define ADS_ATTR_UPDATE ( 2 )
  726. #define ADS_ATTR_APPEND ( 3 )
  727. #define ADS_ATTR_DELETE ( 4 )
  728. typedef struct _ads_object_info
  729.     {
  730.     LPWSTR pszRDN;
  731.     LPWSTR pszObjectDN;
  732.     LPWSTR pszParentDN;
  733.     LPWSTR pszSchemaDN;
  734.     LPWSTR pszClassName;
  735.     }  ADS_OBJECT_INFO;
  736. typedef struct _ads_object_info *PADS_OBJECT_INFO;
  737. typedef /* [public][public][public][public][public][public][public] */ 
  738. enum __MIDL___MIDL_itf_ads_0000_0019
  739.     { ADS_STATUS_S_OK = 0,
  740. ADS_STATUS_INVALID_SEARCHPREF = ADS_STATUS_S_OK + 1,
  741. ADS_STATUS_INVALID_SEARCHPREFVALUE = ADS_STATUS_INVALID_SEARCHPREF + 1
  742.     }  ADS_STATUSENUM;
  743. typedef ADS_STATUSENUM ADS_STATUS;
  744. typedef ADS_STATUSENUM *PADS_STATUS;
  745. typedef /* [public] */ 
  746. enum __MIDL___MIDL_itf_ads_0000_0020
  747.     { ADS_DEREF_NEVER = 0,
  748. ADS_DEREF_SEARCHING = 1,
  749. ADS_DEREF_FINDING = 2,
  750. ADS_DEREF_ALWAYS = 3
  751.     }  ADS_DEREFENUM;
  752. typedef /* [public] */ 
  753. enum __MIDL___MIDL_itf_ads_0000_0021
  754.     { ADS_SCOPE_BASE = 0,
  755. ADS_SCOPE_ONELEVEL = 1,
  756. ADS_SCOPE_SUBTREE = 2
  757.     }  ADS_SCOPEENUM;
  758. typedef /* [public] */ 
  759. enum __MIDL___MIDL_itf_ads_0000_0022
  760.     { ADSIPROP_ASYNCHRONOUS = 0,
  761. ADSIPROP_DEREF_ALIASES = 0x1,
  762. ADSIPROP_SIZE_LIMIT = 0x2,
  763. ADSIPROP_TIME_LIMIT = 0x3,
  764. ADSIPROP_ATTRIBTYPES_ONLY = 0x4,
  765. ADSIPROP_SEARCH_SCOPE = 0x5,
  766. ADSIPROP_TIMEOUT = 0x6,
  767. ADSIPROP_PAGESIZE = 0x7,
  768. ADSIPROP_PAGED_TIME_LIMIT = 0x8,
  769. ADSIPROP_CHASE_REFERRALS = 0x9,
  770. ADSIPROP_SORT_ON = 0xa,
  771. ADSIPROP_CACHE_RESULTS = 0xb,
  772. ADSIPROP_ADSIFLAG = 0xc
  773.     }  ADS_PREFERENCES_ENUM;
  774. typedef /* [public] */ 
  775. enum __MIDL___MIDL_itf_ads_0000_0023
  776.     { ADSI_DIALECT_LDAP = 0,
  777. ADSI_DIALECT_SQL = 0x1
  778.     }  ADSI_DIALECT_ENUM;
  779. typedef /* [public] */ 
  780. enum __MIDL___MIDL_itf_ads_0000_0024
  781.     { ADS_CHASE_REFERRALS_NEVER = 0,
  782. ADS_CHASE_REFERRALS_SUBORDINATE = 0x20,
  783. ADS_CHASE_REFERRALS_EXTERNAL = 0x40,
  784. ADS_CHASE_REFERRALS_ALWAYS = ADS_CHASE_REFERRALS_SUBORDINATE | ADS_CHASE_REFERRALS_EXTERNAL
  785.     }  ADS_CHASE_REFERRALS_ENUM;
  786. typedef /* [public][public][public][public][public][public] */ 
  787. enum __MIDL___MIDL_itf_ads_0000_0025
  788.     { ADS_SEARCHPREF_ASYNCHRONOUS = 0,
  789. ADS_SEARCHPREF_DEREF_ALIASES = ADS_SEARCHPREF_ASYNCHRONOUS + 1,
  790. ADS_SEARCHPREF_SIZE_LIMIT = ADS_SEARCHPREF_DEREF_ALIASES + 1,
  791. ADS_SEARCHPREF_TIME_LIMIT = ADS_SEARCHPREF_SIZE_LIMIT + 1,
  792. ADS_SEARCHPREF_ATTRIBTYPES_ONLY = ADS_SEARCHPREF_TIME_LIMIT + 1,
  793. ADS_SEARCHPREF_SEARCH_SCOPE = ADS_SEARCHPREF_ATTRIBTYPES_ONLY + 1,
  794. ADS_SEARCHPREF_TIMEOUT = ADS_SEARCHPREF_SEARCH_SCOPE + 1,
  795. ADS_SEARCHPREF_PAGESIZE = ADS_SEARCHPREF_TIMEOUT + 1,
  796. ADS_SEARCHPREF_PAGED_TIME_LIMIT = ADS_SEARCHPREF_PAGESIZE + 1,
  797. ADS_SEARCHPREF_CHASE_REFERRALS = ADS_SEARCHPREF_PAGED_TIME_LIMIT + 1,
  798. ADS_SEARCHPREF_SORT_ON = ADS_SEARCHPREF_CHASE_REFERRALS + 1,
  799. ADS_SEARCHPREF_CACHE_RESULTS = ADS_SEARCHPREF_SORT_ON + 1,
  800. ADS_SEARCHPREF_DIRSYNC = ADS_SEARCHPREF_CACHE_RESULTS + 1,
  801. ADS_SEARCHPREF_TOMBSTONE = ADS_SEARCHPREF_DIRSYNC + 1,
  802. ADS_SEARCHPREF_VLV = ADS_SEARCHPREF_TOMBSTONE + 1,
  803. ADS_SEARCHPREF_ATTRIBUTE_QUERY = ADS_SEARCHPREF_VLV + 1,
  804. ADS_SEARCHPREF_SECURITY_MASK = ADS_SEARCHPREF_ATTRIBUTE_QUERY + 1
  805.     }  ADS_SEARCHPREF_ENUM;
  806. typedef ADS_SEARCHPREF_ENUM ADS_SEARCHPREF;
  807. typedef struct ads_searchpref_info
  808.     {
  809.     ADS_SEARCHPREF dwSearchPref;
  810.     ADSVALUE vValue;
  811.     ADS_STATUS dwStatus;
  812.     }  ADS_SEARCHPREF_INFO;
  813. typedef struct ads_searchpref_info *PADS_SEARCHPREF_INFO;
  814. typedef struct ads_searchpref_info *LPADS_SEARCHPREF_INFO;
  815. #define ADS_DIRSYNC_COOKIE ( L"fc8cb04d-311d-406c-8cb9-1ae8b843b418" )
  816. #define ADS_VLV_RESPONSE ( L"fc8cb04d-311d-406c-8cb9-1ae8b843b419" )
  817. typedef HANDLE ADS_SEARCH_HANDLE;
  818. typedef HANDLE *PADS_SEARCH_HANDLE;
  819. typedef struct ads_search_column
  820.     {
  821.     LPWSTR pszAttrName;
  822.     ADSTYPE dwADsType;
  823.     PADSVALUE pADsValues;
  824.     DWORD dwNumValues;
  825.     HANDLE hReserved;
  826.     }  ADS_SEARCH_COLUMN;
  827. typedef struct ads_search_column *PADS_SEARCH_COLUMN;
  828. typedef struct _ads_attr_def
  829.     {
  830.     LPWSTR pszAttrName;
  831.     ADSTYPE dwADsType;
  832.     DWORD dwMinRange;
  833.     DWORD dwMaxRange;
  834.     BOOL fMultiValued;
  835.     }  ADS_ATTR_DEF;
  836. typedef struct _ads_attr_def *PADS_ATTR_DEF;
  837. typedef struct _ads_class_def
  838.     {
  839.     LPWSTR pszClassName;
  840.     DWORD dwMandatoryAttrs;
  841.     LPWSTR *ppszMandatoryAttrs;
  842.     DWORD optionalAttrs;
  843.     LPWSTR **ppszOptionalAttrs;
  844.     DWORD dwNamingAttrs;
  845.     LPWSTR **ppszNamingAttrs;
  846.     DWORD dwSuperClasses;
  847.     LPWSTR **ppszSuperClasses;
  848.     BOOL fIsContainer;
  849.     }  ADS_CLASS_DEF;
  850. typedef struct _ads_class_def *PADS_CLASS_DEF;
  851. typedef struct _ads_sortkey
  852.     {
  853.     LPWSTR pszAttrType;
  854.     LPWSTR pszReserved;
  855.     BOOLEAN fReverseorder;
  856.     }  ADS_SORTKEY;
  857. typedef struct _ads_sortkey *PADS_SORTKEY;
  858. typedef struct _ads_vlv
  859.     {
  860.     DWORD dwBeforeCount;
  861.     DWORD dwAfterCount;
  862.     DWORD dwOffset;
  863.     DWORD dwContentCount;
  864.     LPWSTR pszTarget;
  865.     DWORD dwContextIDLength;
  866.     LPBYTE lpContextID;
  867.     }  ADS_VLV;
  868. typedef struct _ads_vlv *PADS_VLV;
  869. #define ADS_EXT_MINEXTDISPID ( 1 )
  870. #define ADS_EXT_MAXEXTDISPID ( 16777215 )
  871. #define ADS_EXT_INITCREDENTIALS ( 1 )
  872. #define ADS_EXT_INITIALIZE_COMPLETE ( 2 )
  873. typedef /* [public] */ 
  874. enum __MIDL___MIDL_itf_ads_0000_0026
  875.     { ADS_PROPERTY_CLEAR = 1,
  876. ADS_PROPERTY_UPDATE = 2,
  877. ADS_PROPERTY_APPEND = 3,
  878. ADS_PROPERTY_DELETE = 4
  879.     }  ADS_PROPERTY_OPERATION_ENUM;
  880. typedef /* [public] */ 
  881. enum __MIDL___MIDL_itf_ads_0125_0001
  882.     { ADS_SYSTEMFLAG_DISALLOW_DELETE = 0x80000000,
  883. ADS_SYSTEMFLAG_CONFIG_ALLOW_RENAME = 0x40000000,
  884. ADS_SYSTEMFLAG_CONFIG_ALLOW_MOVE = 0x20000000,
  885. ADS_SYSTEMFLAG_CONFIG_ALLOW_LIMITED_MOVE = 0x10000000,
  886. ADS_SYSTEMFLAG_DOMAIN_DISALLOW_RENAME = 0x8000000,
  887. ADS_SYSTEMFLAG_DOMAIN_DISALLOW_MOVE = 0x4000000,
  888. ADS_SYSTEMFLAG_CR_NTDS_NC = 0x1,
  889. ADS_SYSTEMFLAG_CR_NTDS_DOMAIN = 0x2,
  890. ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED = 0x1,
  891. ADS_SYSTEMFLAG_ATTR_IS_CONSTRUCTED = 0x4
  892.     }  ADS_SYSTEMFLAG_ENUM;
  893. typedef /* [public] */ 
  894. enum __MIDL___MIDL_itf_ads_0131_0001
  895.     { ADS_GROUP_TYPE_GLOBAL_GROUP = 0x2,
  896. ADS_GROUP_TYPE_DOMAIN_LOCAL_GROUP = 0x4,
  897. ADS_GROUP_TYPE_LOCAL_GROUP = 0x4,
  898. ADS_GROUP_TYPE_UNIVERSAL_GROUP = 0x8,
  899. ADS_GROUP_TYPE_SECURITY_ENABLED = 0x80000000
  900.     }  ADS_GROUP_TYPE_ENUM;
  901. typedef 
  902. enum ADS_USER_FLAG
  903.     { ADS_UF_SCRIPT = 0x1,
  904. ADS_UF_ACCOUNTDISABLE = 0x2,
  905. ADS_UF_HOMEDIR_REQUIRED = 0x8,
  906. ADS_UF_LOCKOUT = 0x10,
  907. ADS_UF_PASSWD_NOTREQD = 0x20,
  908. ADS_UF_PASSWD_CANT_CHANGE = 0x40,
  909. ADS_UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED = 0x80,
  910. ADS_UF_TEMP_DUPLICATE_ACCOUNT = 0x100,
  911. ADS_UF_NORMAL_ACCOUNT = 0x200,
  912. ADS_UF_INTERDOMAIN_TRUST_ACCOUNT = 0x800,
  913. ADS_UF_WORKSTATION_TRUST_ACCOUNT = 0x1000,
  914. ADS_UF_SERVER_TRUST_ACCOUNT = 0x2000,
  915. ADS_UF_DONT_EXPIRE_PASSWD = 0x10000,
  916. ADS_UF_MNS_LOGON_ACCOUNT = 0x20000,
  917. ADS_UF_SMARTCARD_REQUIRED = 0x40000,
  918. ADS_UF_TRUSTED_FOR_DELEGATION = 0x80000,
  919. ADS_UF_NOT_DELEGATED = 0x100000,
  920. ADS_UF_USE_DES_KEY_ONLY = 0x200000,
  921. ADS_UF_DONT_REQUIRE_PREAUTH = 0x400000,
  922. ADS_UF_PASSWORD_EXPIRED = 0x800000,
  923. ADS_UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION = 0x1000000
  924.     }  ADS_USER_FLAG_ENUM;
  925. typedef /* [public] */ 
  926. enum __MIDL___MIDL_itf_ads_0153_0001
  927.     { ADS_RIGHT_DELETE = 0x10000,
  928. ADS_RIGHT_READ_CONTROL = 0x20000,
  929. ADS_RIGHT_WRITE_DAC = 0x40000,
  930. ADS_RIGHT_WRITE_OWNER = 0x80000,
  931. ADS_RIGHT_SYNCHRONIZE = 0x100000,
  932. ADS_RIGHT_ACCESS_SYSTEM_SECURITY = 0x1000000,
  933. ADS_RIGHT_GENERIC_READ = 0x80000000,
  934. ADS_RIGHT_GENERIC_WRITE = 0x40000000,
  935. ADS_RIGHT_GENERIC_EXECUTE = 0x20000000,
  936. ADS_RIGHT_GENERIC_ALL = 0x10000000,
  937. ADS_RIGHT_DS_CREATE_CHILD = 0x1,
  938. ADS_RIGHT_DS_DELETE_CHILD = 0x2,
  939. ADS_RIGHT_ACTRL_DS_LIST = 0x4,
  940. ADS_RIGHT_DS_SELF = 0x8,
  941. ADS_RIGHT_DS_READ_PROP = 0x10,
  942. ADS_RIGHT_DS_WRITE_PROP = 0x20,
  943. ADS_RIGHT_DS_DELETE_TREE = 0x40,
  944. ADS_RIGHT_DS_LIST_OBJECT = 0x80,
  945. ADS_RIGHT_DS_CONTROL_ACCESS = 0x100
  946.     }  ADS_RIGHTS_ENUM;
  947. typedef /* [public] */ 
  948. enum __MIDL___MIDL_itf_ads_0153_0002
  949.     { ADS_ACETYPE_ACCESS_ALLOWED = 0,
  950. ADS_ACETYPE_ACCESS_DENIED = 0x1,
  951. ADS_ACETYPE_SYSTEM_AUDIT = 0x2,
  952. ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = 0x5,
  953. ADS_ACETYPE_ACCESS_DENIED_OBJECT = 0x6,
  954. ADS_ACETYPE_SYSTEM_AUDIT_OBJECT = 0x7,
  955. ADS_ACETYPE_SYSTEM_ALARM_OBJECT = 0x8,
  956. ADS_ACETYPE_ACCESS_ALLOWED_CALLBACK = 0x9,
  957. ADS_ACETYPE_ACCESS_DENIED_CALLBACK = 0xa,
  958. ADS_ACETYPE_ACCESS_ALLOWED_CALLBACK_OBJECT = 0xb,
  959. ADS_ACETYPE_ACCESS_DENIED_CALLBACK_OBJECT = 0xc,
  960. ADS_ACETYPE_SYSTEM_AUDIT_CALLBACK = 0xd,
  961. ADS_ACETYPE_SYSTEM_ALARM_CALLBACK = 0xe,
  962. ADS_ACETYPE_SYSTEM_AUDIT_CALLBACK_OBJECT = 0xf,
  963. ADS_ACETYPE_SYSTEM_ALARM_CALLBACK_OBJECT = 0x10
  964.     }  ADS_ACETYPE_ENUM;
  965. typedef /* [public] */ 
  966. enum __MIDL___MIDL_itf_ads_0153_0003
  967.     { ADS_ACEFLAG_INHERIT_ACE = 0x2,
  968. ADS_ACEFLAG_NO_PROPAGATE_INHERIT_ACE = 0x4,
  969. ADS_ACEFLAG_INHERIT_ONLY_ACE = 0x8,
  970. ADS_ACEFLAG_INHERITED_ACE = 0x10,
  971. ADS_ACEFLAG_VALID_INHERIT_FLAGS = 0x1f,
  972. ADS_ACEFLAG_SUCCESSFUL_ACCESS = 0x40,
  973. ADS_ACEFLAG_FAILED_ACCESS = 0x80
  974.     }  ADS_ACEFLAG_ENUM;
  975. typedef /* [public] */ 
  976. enum __MIDL___MIDL_itf_ads_0153_0004
  977.     { ADS_FLAG_OBJECT_TYPE_PRESENT = 0x1,
  978. ADS_FLAG_INHERITED_OBJECT_TYPE_PRESENT = 0x2
  979.     }  ADS_FLAGTYPE_ENUM;
  980. typedef /* [public] */ 
  981. enum __MIDL___MIDL_itf_ads_0153_0005
  982.     { ADS_SD_CONTROL_SE_OWNER_DEFAULTED = 0x1,
  983. ADS_SD_CONTROL_SE_GROUP_DEFAULTED = 0x2,
  984. ADS_SD_CONTROL_SE_DACL_PRESENT = 0x4,
  985. ADS_SD_CONTROL_SE_DACL_DEFAULTED = 0x8,
  986. ADS_SD_CONTROL_SE_SACL_PRESENT = 0x10,
  987. ADS_SD_CONTROL_SE_SACL_DEFAULTED = 0x20,
  988. ADS_SD_CONTROL_SE_DACL_AUTO_INHERIT_REQ = 0x100,
  989. ADS_SD_CONTROL_SE_SACL_AUTO_INHERIT_REQ = 0x200,
  990. ADS_SD_CONTROL_SE_DACL_AUTO_INHERITED = 0x400,
  991. ADS_SD_CONTROL_SE_SACL_AUTO_INHERITED = 0x800,
  992. ADS_SD_CONTROL_SE_DACL_PROTECTED = 0x1000,
  993. ADS_SD_CONTROL_SE_SACL_PROTECTED = 0x2000,
  994. ADS_SD_CONTROL_SE_SELF_RELATIVE = 0x8000
  995.     }  ADS_SD_CONTROL_ENUM;
  996. typedef /* [public] */ 
  997. enum __MIDL___MIDL_itf_ads_0153_0006
  998.     { ADS_SD_REVISION_DS = 4
  999.     }  ADS_SD_REVISION_ENUM;
  1000. typedef /* [public] */ 
  1001. enum __MIDL___MIDL_itf_ads_0154_0001
  1002.     { ADS_NAME_TYPE_1779 = 1,
  1003. ADS_NAME_TYPE_CANONICAL = 2,
  1004. ADS_NAME_TYPE_NT4 = 3,
  1005. ADS_NAME_TYPE_DISPLAY = 4,
  1006. ADS_NAME_TYPE_DOMAIN_SIMPLE = 5,
  1007. ADS_NAME_TYPE_ENTERPRISE_SIMPLE = 6,
  1008. ADS_NAME_TYPE_GUID = 7,
  1009. ADS_NAME_TYPE_UNKNOWN = 8,
  1010. ADS_NAME_TYPE_USER_PRINCIPAL_NAME = 9,
  1011. ADS_NAME_TYPE_CANONICAL_EX = 10,
  1012. ADS_NAME_TYPE_SERVICE_PRINCIPAL_NAME = 11,
  1013. ADS_NAME_TYPE_SID_OR_SID_HISTORY_NAME = 12
  1014.     }  ADS_NAME_TYPE_ENUM;
  1015. typedef /* [public] */ 
  1016. enum __MIDL___MIDL_itf_ads_0154_0002
  1017.     { ADS_NAME_INITTYPE_DOMAIN = 1,
  1018. ADS_NAME_INITTYPE_SERVER = 2,
  1019. ADS_NAME_INITTYPE_GC = 3
  1020.     }  ADS_NAME_INITTYPE_ENUM;
  1021. typedef /* [public] */ 
  1022. enum __MIDL___MIDL_itf_ads_0168_0001
  1023.     { ADS_OPTION_SERVERNAME = 0,
  1024. ADS_OPTION_REFERRALS = ADS_OPTION_SERVERNAME + 1,
  1025. ADS_OPTION_PAGE_SIZE = ADS_OPTION_REFERRALS + 1,
  1026. ADS_OPTION_SECURITY_MASK = ADS_OPTION_PAGE_SIZE + 1,
  1027. ADS_OPTION_MUTUAL_AUTH_STATUS = ADS_OPTION_SECURITY_MASK + 1
  1028.     }  ADS_OPTION_ENUM;
  1029. typedef /* [public] */ 
  1030. enum __MIDL___MIDL_itf_ads_0168_0002
  1031.     { ADS_SECURITY_INFO_OWNER = 0x1,
  1032. ADS_SECURITY_INFO_GROUP = 0x2,
  1033. ADS_SECURITY_INFO_DACL = 0x4,
  1034. ADS_SECURITY_INFO_SACL = 0x8
  1035.     }  ADS_SECURITY_INFO_ENUM;
  1036. typedef /* [public] */ 
  1037. enum __MIDL___MIDL_itf_ads_0169_0001
  1038.     { ADS_SETTYPE_FULL = 1,
  1039. ADS_SETTYPE_PROVIDER = 2,
  1040. ADS_SETTYPE_SERVER = 3,
  1041. ADS_SETTYPE_DN = 4
  1042.     }  ADS_SETTYPE_ENUM;
  1043. typedef /* [public] */ 
  1044. enum __MIDL___MIDL_itf_ads_0169_0002
  1045.     { ADS_FORMAT_WINDOWS = 1,
  1046. ADS_FORMAT_WINDOWS_NO_SERVER = 2,
  1047. ADS_FORMAT_WINDOWS_DN = 3,
  1048. ADS_FORMAT_WINDOWS_PARENT = 4,
  1049. ADS_FORMAT_X500 = 5,
  1050. ADS_FORMAT_X500_NO_SERVER = 6,
  1051. ADS_FORMAT_X500_DN = 7,
  1052. ADS_FORMAT_X500_PARENT = 8,
  1053. ADS_FORMAT_SERVER = 9,
  1054. ADS_FORMAT_PROVIDER = 10,
  1055. ADS_FORMAT_LEAF = 11
  1056.     }  ADS_FORMAT_ENUM;
  1057. typedef /* [public] */ 
  1058. enum __MIDL___MIDL_itf_ads_0169_0003
  1059.     { ADS_DISPLAY_FULL = 1,
  1060. ADS_DISPLAY_VALUE_ONLY = 2
  1061.     }  ADS_DISPLAY_ENUM;
  1062. typedef /* [public] */ 
  1063. enum __MIDL___MIDL_itf_ads_0169_0004
  1064.     { ADS_ESCAPEDMODE_DEFAULT = 1,
  1065. ADS_ESCAPEDMODE_ON = 2,
  1066. ADS_ESCAPEDMODE_OFF = 3,
  1067. ADS_ESCAPEDMODE_OFF_EX = 4
  1068.     }  ADS_ESCAPE_MODE_ENUM;
  1069. typedef /* [public] */ 
  1070. enum __MIDL___MIDL_itf_ads_0174_0001
  1071.     { ADS_PATH_FILE = 1,
  1072. ADS_PATH_FILESHARE = 2,
  1073. ADS_PATH_REGISTRY = 3
  1074.     }  ADS_PATHTYPE_ENUM;
  1075. typedef /* [public] */ 
  1076. enum __MIDL___MIDL_itf_ads_0174_0002
  1077.     { ADS_SD_FORMAT_IID = 1,
  1078. ADS_SD_FORMAT_RAW = 2,
  1079. ADS_SD_FORMAT_HEXSTRING = 3
  1080.     }  ADS_SD_FORMAT_ENUM;
  1081. EXTERN_C const IID LIBID_ActiveDs;
  1082. #ifndef __IADs_INTERFACE_DEFINED__
  1083. #define __IADs_INTERFACE_DEFINED__
  1084. /* interface IADs */
  1085. /* [object][dual][oleautomation][uuid] */ 
  1086. EXTERN_C const IID IID_IADs;
  1087. #if defined(__cplusplus) && !defined(CINTERFACE)
  1088.     
  1089.     MIDL_INTERFACE("fd8256d0-fd15-11ce-abc4-02608c9e7553")
  1090.     IADs : public IDispatch
  1091.     {
  1092.     public:
  1093.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  1094.             /* [retval][out] */ BSTR *retval) = 0;
  1095.         
  1096.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Class( 
  1097.             /* [retval][out] */ BSTR *retval) = 0;
  1098.         
  1099.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_GUID( 
  1100.             /* [retval][out] */ BSTR *retval) = 0;
  1101.         
  1102.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ADsPath( 
  1103.             /* [retval][out] */ BSTR *retval) = 0;
  1104.         
  1105.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
  1106.             /* [retval][out] */ BSTR *retval) = 0;
  1107.         
  1108.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Schema( 
  1109.             /* [retval][out] */ BSTR *retval) = 0;
  1110.         
  1111.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetInfo( void) = 0;
  1112.         
  1113.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE SetInfo( void) = 0;
  1114.         
  1115.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Get( 
  1116.             /* [in] */ BSTR bstrName,
  1117.             /* [retval][out] */ VARIANT *pvProp) = 0;
  1118.         
  1119.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Put( 
  1120.             /* [in] */ BSTR bstrName,
  1121.             /* [in] */ VARIANT vProp) = 0;
  1122.         
  1123.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetEx( 
  1124.             /* [in] */ BSTR bstrName,
  1125.             /* [retval][out] */ VARIANT *pvProp) = 0;
  1126.         
  1127.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE PutEx( 
  1128.             /* [in] */ long lnControlCode,
  1129.             /* [in] */ BSTR bstrName,
  1130.             /* [in] */ VARIANT vProp) = 0;
  1131.         
  1132.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetInfoEx( 
  1133.             /* [in] */ VARIANT vProperties,
  1134.             /* [in] */ long lnReserved) = 0;
  1135.         
  1136.     };
  1137.     
  1138. #else  /* C style interface */
  1139.     typedef struct IADsVtbl
  1140.     {
  1141.         BEGIN_INTERFACE
  1142.         
  1143.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1144.             IADs * This,
  1145.             /* [in] */ REFIID riid,
  1146.             /* [iid_is][out] */ void **ppvObject);
  1147.         
  1148.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1149.             IADs * This);
  1150.         
  1151.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1152.             IADs * This);
  1153.         
  1154.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1155.             IADs * This,
  1156.             /* [out] */ UINT *pctinfo);
  1157.         
  1158.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1159.             IADs * This,
  1160.             /* [in] */ UINT iTInfo,
  1161.             /* [in] */ LCID lcid,
  1162.             /* [out] */ ITypeInfo **ppTInfo);
  1163.         
  1164.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1165.             IADs * This,
  1166.             /* [in] */ REFIID riid,
  1167.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1168.             /* [in] */ UINT cNames,
  1169.             /* [in] */ LCID lcid,
  1170.             /* [size_is][out] */ DISPID *rgDispId);
  1171.         
  1172.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1173.             IADs * This,
  1174.             /* [in] */ DISPID dispIdMember,
  1175.             /* [in] */ REFIID riid,
  1176.             /* [in] */ LCID lcid,
  1177.             /* [in] */ WORD wFlags,
  1178.             /* [out][in] */ DISPPARAMS *pDispParams,
  1179.             /* [out] */ VARIANT *pVarResult,
  1180.             /* [out] */ EXCEPINFO *pExcepInfo,
  1181.             /* [out] */ UINT *puArgErr);
  1182.         
  1183.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  1184.             IADs * This,
  1185.             /* [retval][out] */ BSTR *retval);
  1186.         
  1187.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Class )( 
  1188.             IADs * This,
  1189.             /* [retval][out] */ BSTR *retval);
  1190.         
  1191.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GUID )( 
  1192.             IADs * This,
  1193.             /* [retval][out] */ BSTR *retval);
  1194.         
  1195.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ADsPath )( 
  1196.             IADs * This,
  1197.             /* [retval][out] */ BSTR *retval);
  1198.         
  1199.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
  1200.             IADs * This,
  1201.             /* [retval][out] */ BSTR *retval);
  1202.         
  1203.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Schema )( 
  1204.             IADs * This,
  1205.             /* [retval][out] */ BSTR *retval);
  1206.         
  1207.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetInfo )( 
  1208.             IADs * This);
  1209.         
  1210.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *SetInfo )( 
  1211.             IADs * This);
  1212.         
  1213.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Get )( 
  1214.             IADs * This,
  1215.             /* [in] */ BSTR bstrName,
  1216.             /* [retval][out] */ VARIANT *pvProp);
  1217.         
  1218.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Put )( 
  1219.             IADs * This,
  1220.             /* [in] */ BSTR bstrName,
  1221.             /* [in] */ VARIANT vProp);
  1222.         
  1223.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetEx )( 
  1224.             IADs * This,
  1225.             /* [in] */ BSTR bstrName,
  1226.             /* [retval][out] */ VARIANT *pvProp);
  1227.         
  1228.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *PutEx )( 
  1229.             IADs * This,
  1230.             /* [in] */ long lnControlCode,
  1231.             /* [in] */ BSTR bstrName,
  1232.             /* [in] */ VARIANT vProp);
  1233.         
  1234.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetInfoEx )( 
  1235.             IADs * This,
  1236.             /* [in] */ VARIANT vProperties,
  1237.             /* [in] */ long lnReserved);
  1238.         
  1239.         END_INTERFACE
  1240.     } IADsVtbl;
  1241.     interface IADs
  1242.     {
  1243.         CONST_VTBL struct IADsVtbl *lpVtbl;
  1244.     };
  1245.     
  1246. #ifdef COBJMACROS
  1247. #define IADs_QueryInterface(This,riid,ppvObject)
  1248.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1249. #define IADs_AddRef(This)
  1250.     (This)->lpVtbl -> AddRef(This)
  1251. #define IADs_Release(This)
  1252.     (This)->lpVtbl -> Release(This)
  1253. #define IADs_GetTypeInfoCount(This,pctinfo)
  1254.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1255. #define IADs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1256.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1257. #define IADs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1258.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1259. #define IADs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1260.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1261. #define IADs_get_Name(This,retval)
  1262.     (This)->lpVtbl -> get_Name(This,retval)
  1263. #define IADs_get_Class(This,retval)
  1264.     (This)->lpVtbl -> get_Class(This,retval)
  1265. #define IADs_get_GUID(This,retval)
  1266.     (This)->lpVtbl -> get_GUID(This,retval)
  1267. #define IADs_get_ADsPath(This,retval)
  1268.     (This)->lpVtbl -> get_ADsPath(This,retval)
  1269. #define IADs_get_Parent(This,retval)
  1270.     (This)->lpVtbl -> get_Parent(This,retval)
  1271. #define IADs_get_Schema(This,retval)
  1272.     (This)->lpVtbl -> get_Schema(This,retval)
  1273. #define IADs_GetInfo(This)
  1274.     (This)->lpVtbl -> GetInfo(This)
  1275. #define IADs_SetInfo(This)
  1276.     (This)->lpVtbl -> SetInfo(This)
  1277. #define IADs_Get(This,bstrName,pvProp)
  1278.     (This)->lpVtbl -> Get(This,bstrName,pvProp)
  1279. #define IADs_Put(This,bstrName,vProp)
  1280.     (This)->lpVtbl -> Put(This,bstrName,vProp)
  1281. #define IADs_GetEx(This,bstrName,pvProp)
  1282.     (This)->lpVtbl -> GetEx(This,bstrName,pvProp)
  1283. #define IADs_PutEx(This,lnControlCode,bstrName,vProp)
  1284.     (This)->lpVtbl -> PutEx(This,lnControlCode,bstrName,vProp)
  1285. #define IADs_GetInfoEx(This,vProperties,lnReserved)
  1286.     (This)->lpVtbl -> GetInfoEx(This,vProperties,lnReserved)
  1287. #endif /* COBJMACROS */
  1288. #endif  /* C style interface */
  1289. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADs_get_Name_Proxy( 
  1290.     IADs * This,
  1291.     /* [retval][out] */ BSTR *retval);
  1292. void __RPC_STUB IADs_get_Name_Stub(
  1293.     IRpcStubBuffer *This,
  1294.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1295.     PRPC_MESSAGE _pRpcMessage,
  1296.     DWORD *_pdwStubPhase);
  1297. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADs_get_Class_Proxy( 
  1298.     IADs * This,
  1299.     /* [retval][out] */ BSTR *retval);
  1300. void __RPC_STUB IADs_get_Class_Stub(
  1301.     IRpcStubBuffer *This,
  1302.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1303.     PRPC_MESSAGE _pRpcMessage,
  1304.     DWORD *_pdwStubPhase);
  1305. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADs_get_GUID_Proxy( 
  1306.     IADs * This,
  1307.     /* [retval][out] */ BSTR *retval);
  1308. void __RPC_STUB IADs_get_GUID_Stub(
  1309.     IRpcStubBuffer *This,
  1310.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1311.     PRPC_MESSAGE _pRpcMessage,
  1312.     DWORD *_pdwStubPhase);
  1313. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADs_get_ADsPath_Proxy( 
  1314.     IADs * This,
  1315.     /* [retval][out] */ BSTR *retval);
  1316. void __RPC_STUB IADs_get_ADsPath_Stub(
  1317.     IRpcStubBuffer *This,
  1318.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1319.     PRPC_MESSAGE _pRpcMessage,
  1320.     DWORD *_pdwStubPhase);
  1321. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADs_get_Parent_Proxy( 
  1322.     IADs * This,
  1323.     /* [retval][out] */ BSTR *retval);
  1324. void __RPC_STUB IADs_get_Parent_Stub(
  1325.     IRpcStubBuffer *This,
  1326.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1327.     PRPC_MESSAGE _pRpcMessage,
  1328.     DWORD *_pdwStubPhase);
  1329. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADs_get_Schema_Proxy( 
  1330.     IADs * This,
  1331.     /* [retval][out] */ BSTR *retval);
  1332. void __RPC_STUB IADs_get_Schema_Stub(
  1333.     IRpcStubBuffer *This,
  1334.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1335.     PRPC_MESSAGE _pRpcMessage,
  1336.     DWORD *_pdwStubPhase);
  1337. /* [id] */ HRESULT STDMETHODCALLTYPE IADs_GetInfo_Proxy( 
  1338.     IADs * This);
  1339. void __RPC_STUB IADs_GetInfo_Stub(
  1340.     IRpcStubBuffer *This,
  1341.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1342.     PRPC_MESSAGE _pRpcMessage,
  1343.     DWORD *_pdwStubPhase);
  1344. /* [id] */ HRESULT STDMETHODCALLTYPE IADs_SetInfo_Proxy( 
  1345.     IADs * This);
  1346. void __RPC_STUB IADs_SetInfo_Stub(
  1347.     IRpcStubBuffer *This,
  1348.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1349.     PRPC_MESSAGE _pRpcMessage,
  1350.     DWORD *_pdwStubPhase);
  1351. /* [id] */ HRESULT STDMETHODCALLTYPE IADs_Get_Proxy( 
  1352.     IADs * This,
  1353.     /* [in] */ BSTR bstrName,
  1354.     /* [retval][out] */ VARIANT *pvProp);
  1355. void __RPC_STUB IADs_Get_Stub(
  1356.     IRpcStubBuffer *This,
  1357.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1358.     PRPC_MESSAGE _pRpcMessage,
  1359.     DWORD *_pdwStubPhase);
  1360. /* [id] */ HRESULT STDMETHODCALLTYPE IADs_Put_Proxy( 
  1361.     IADs * This,
  1362.     /* [in] */ BSTR bstrName,
  1363.     /* [in] */ VARIANT vProp);
  1364. void __RPC_STUB IADs_Put_Stub(
  1365.     IRpcStubBuffer *This,
  1366.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1367.     PRPC_MESSAGE _pRpcMessage,
  1368.     DWORD *_pdwStubPhase);
  1369. /* [id] */ HRESULT STDMETHODCALLTYPE IADs_GetEx_Proxy( 
  1370.     IADs * This,
  1371.     /* [in] */ BSTR bstrName,
  1372.     /* [retval][out] */ VARIANT *pvProp);
  1373. void __RPC_STUB IADs_GetEx_Stub(
  1374.     IRpcStubBuffer *This,
  1375.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1376.     PRPC_MESSAGE _pRpcMessage,
  1377.     DWORD *_pdwStubPhase);
  1378. /* [id] */ HRESULT STDMETHODCALLTYPE IADs_PutEx_Proxy( 
  1379.     IADs * This,
  1380.     /* [in] */ long lnControlCode,
  1381.     /* [in] */ BSTR bstrName,
  1382.     /* [in] */ VARIANT vProp);
  1383. void __RPC_STUB IADs_PutEx_Stub(
  1384.     IRpcStubBuffer *This,
  1385.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1386.     PRPC_MESSAGE _pRpcMessage,
  1387.     DWORD *_pdwStubPhase);
  1388. /* [id] */ HRESULT STDMETHODCALLTYPE IADs_GetInfoEx_Proxy( 
  1389.     IADs * This,
  1390.     /* [in] */ VARIANT vProperties,
  1391.     /* [in] */ long lnReserved);
  1392. void __RPC_STUB IADs_GetInfoEx_Stub(
  1393.     IRpcStubBuffer *This,
  1394.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1395.     PRPC_MESSAGE _pRpcMessage,
  1396.     DWORD *_pdwStubPhase);
  1397. #endif  /* __IADs_INTERFACE_DEFINED__ */
  1398. #ifndef __IADsContainer_INTERFACE_DEFINED__
  1399. #define __IADsContainer_INTERFACE_DEFINED__
  1400. /* interface IADsContainer */
  1401. /* [object][dual][oleautomation][uuid] */ 
  1402. EXTERN_C const IID IID_IADsContainer;
  1403. #if defined(__cplusplus) && !defined(CINTERFACE)
  1404.     
  1405.     MIDL_INTERFACE("001677d0-fd16-11ce-abc4-02608c9e7553")
  1406.     IADsContainer : public IDispatch
  1407.     {
  1408.     public:
  1409.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  1410.             /* [retval][out] */ long *retval) = 0;
  1411.         
  1412.         virtual /* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  1413.             /* [retval][out] */ IUnknown **retval) = 0;
  1414.         
  1415.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Filter( 
  1416.             /* [retval][out] */ VARIANT *pVar) = 0;
  1417.         
  1418.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Filter( 
  1419.             /* [in] */ VARIANT Var) = 0;
  1420.         
  1421.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Hints( 
  1422.             /* [retval][out] */ VARIANT *pvFilter) = 0;
  1423.         
  1424.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Hints( 
  1425.             /* [in] */ VARIANT vHints) = 0;
  1426.         
  1427.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetObject( 
  1428.             /* [in] */ BSTR ClassName,
  1429.             /* [in] */ BSTR RelativeName,
  1430.             /* [retval][out] */ IDispatch **ppObject) = 0;
  1431.         
  1432.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Create( 
  1433.             /* [in] */ BSTR ClassName,
  1434.             /* [in] */ BSTR RelativeName,
  1435.             /* [retval][out] */ IDispatch **ppObject) = 0;
  1436.         
  1437.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Delete( 
  1438.             /* [in] */ BSTR bstrClassName,
  1439.             /* [in] */ BSTR bstrRelativeName) = 0;
  1440.         
  1441.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE CopyHere( 
  1442.             /* [in] */ BSTR SourceName,
  1443.             /* [in] */ BSTR NewName,
  1444.             /* [out][retval] */ IDispatch **ppObject) = 0;
  1445.         
  1446.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE MoveHere( 
  1447.             /* [in] */ BSTR SourceName,
  1448.             /* [in] */ BSTR NewName,
  1449.             /* [out][retval] */ IDispatch **ppObject) = 0;
  1450.         
  1451.     };
  1452.     
  1453. #else  /* C style interface */
  1454.     typedef struct IADsContainerVtbl
  1455.     {
  1456.         BEGIN_INTERFACE
  1457.         
  1458.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1459.             IADsContainer * This,
  1460.             /* [in] */ REFIID riid,
  1461.             /* [iid_is][out] */ void **ppvObject);
  1462.         
  1463.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1464.             IADsContainer * This);
  1465.         
  1466.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1467.             IADsContainer * This);
  1468.         
  1469.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1470.             IADsContainer * This,
  1471.             /* [out] */ UINT *pctinfo);
  1472.         
  1473.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1474.             IADsContainer * This,
  1475.             /* [in] */ UINT iTInfo,
  1476.             /* [in] */ LCID lcid,
  1477.             /* [out] */ ITypeInfo **ppTInfo);
  1478.         
  1479.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1480.             IADsContainer * This,
  1481.             /* [in] */ REFIID riid,
  1482.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1483.             /* [in] */ UINT cNames,
  1484.             /* [in] */ LCID lcid,
  1485.             /* [size_is][out] */ DISPID *rgDispId);
  1486.         
  1487.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1488.             IADsContainer * This,
  1489.             /* [in] */ DISPID dispIdMember,
  1490.             /* [in] */ REFIID riid,
  1491.             /* [in] */ LCID lcid,
  1492.             /* [in] */ WORD wFlags,
  1493.             /* [out][in] */ DISPPARAMS *pDispParams,
  1494.             /* [out] */ VARIANT *pVarResult,
  1495.             /* [out] */ EXCEPINFO *pExcepInfo,
  1496.             /* [out] */ UINT *puArgErr);
  1497.         
  1498.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  1499.             IADsContainer * This,
  1500.             /* [retval][out] */ long *retval);
  1501.         
  1502.         /* [id][restricted][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  1503.             IADsContainer * This,
  1504.             /* [retval][out] */ IUnknown **retval);
  1505.         
  1506.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Filter )( 
  1507.             IADsContainer * This,
  1508.             /* [retval][out] */ VARIANT *pVar);
  1509.         
  1510.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Filter )( 
  1511.             IADsContainer * This,
  1512.             /* [in] */ VARIANT Var);
  1513.         
  1514.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Hints )( 
  1515.             IADsContainer * This,
  1516.             /* [retval][out] */ VARIANT *pvFilter);
  1517.         
  1518.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Hints )( 
  1519.             IADsContainer * This,
  1520.             /* [in] */ VARIANT vHints);
  1521.         
  1522.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetObject )( 
  1523.             IADsContainer * This,
  1524.             /* [in] */ BSTR ClassName,
  1525.             /* [in] */ BSTR RelativeName,
  1526.             /* [retval][out] */ IDispatch **ppObject);
  1527.         
  1528.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Create )( 
  1529.             IADsContainer * This,
  1530.             /* [in] */ BSTR ClassName,
  1531.             /* [in] */ BSTR RelativeName,
  1532.             /* [retval][out] */ IDispatch **ppObject);
  1533.         
  1534.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
  1535.             IADsContainer * This,
  1536.             /* [in] */ BSTR bstrClassName,
  1537.             /* [in] */ BSTR bstrRelativeName);
  1538.         
  1539.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *CopyHere )( 
  1540.             IADsContainer * This,
  1541.             /* [in] */ BSTR SourceName,
  1542.             /* [in] */ BSTR NewName,
  1543.             /* [out][retval] */ IDispatch **ppObject);
  1544.         
  1545.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *MoveHere )( 
  1546.             IADsContainer * This,
  1547.             /* [in] */ BSTR SourceName,
  1548.             /* [in] */ BSTR NewName,
  1549.             /* [out][retval] */ IDispatch **ppObject);
  1550.         
  1551.         END_INTERFACE
  1552.     } IADsContainerVtbl;
  1553.     interface IADsContainer
  1554.     {
  1555.         CONST_VTBL struct IADsContainerVtbl *lpVtbl;
  1556.     };
  1557.     
  1558. #ifdef COBJMACROS
  1559. #define IADsContainer_QueryInterface(This,riid,ppvObject)
  1560.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1561. #define IADsContainer_AddRef(This)
  1562.     (This)->lpVtbl -> AddRef(This)
  1563. #define IADsContainer_Release(This)
  1564.     (This)->lpVtbl -> Release(This)
  1565. #define IADsContainer_GetTypeInfoCount(This,pctinfo)
  1566.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1567. #define IADsContainer_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1568.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1569. #define IADsContainer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1570.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1571. #define IADsContainer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1572.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1573. #define IADsContainer_get_Count(This,retval)
  1574.     (This)->lpVtbl -> get_Count(This,retval)
  1575. #define IADsContainer_get__NewEnum(This,retval)
  1576.     (This)->lpVtbl -> get__NewEnum(This,retval)
  1577. #define IADsContainer_get_Filter(This,pVar)
  1578.     (This)->lpVtbl -> get_Filter(This,pVar)
  1579. #define IADsContainer_put_Filter(This,Var)
  1580.     (This)->lpVtbl -> put_Filter(This,Var)
  1581. #define IADsContainer_get_Hints(This,pvFilter)
  1582.     (This)->lpVtbl -> get_Hints(This,pvFilter)
  1583. #define IADsContainer_put_Hints(This,vHints)
  1584.     (This)->lpVtbl -> put_Hints(This,vHints)
  1585. #define IADsContainer_GetObject(This,ClassName,RelativeName,ppObject)
  1586.     (This)->lpVtbl -> GetObject(This,ClassName,RelativeName,ppObject)
  1587. #define IADsContainer_Create(This,ClassName,RelativeName,ppObject)
  1588.     (This)->lpVtbl -> Create(This,ClassName,RelativeName,ppObject)
  1589. #define IADsContainer_Delete(This,bstrClassName,bstrRelativeName)
  1590.     (This)->lpVtbl -> Delete(This,bstrClassName,bstrRelativeName)
  1591. #define IADsContainer_CopyHere(This,SourceName,NewName,ppObject)
  1592.     (This)->lpVtbl -> CopyHere(This,SourceName,NewName,ppObject)
  1593. #define IADsContainer_MoveHere(This,SourceName,NewName,ppObject)
  1594.     (This)->lpVtbl -> MoveHere(This,SourceName,NewName,ppObject)
  1595. #endif /* COBJMACROS */
  1596. #endif  /* C style interface */
  1597. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsContainer_get_Count_Proxy( 
  1598.     IADsContainer * This,
  1599.     /* [retval][out] */ long *retval);
  1600. void __RPC_STUB IADsContainer_get_Count_Stub(
  1601.     IRpcStubBuffer *This,
  1602.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1603.     PRPC_MESSAGE _pRpcMessage,
  1604.     DWORD *_pdwStubPhase);
  1605. /* [id][restricted][propget] */ HRESULT STDMETHODCALLTYPE IADsContainer_get__NewEnum_Proxy( 
  1606.     IADsContainer * This,
  1607.     /* [retval][out] */ IUnknown **retval);
  1608. void __RPC_STUB IADsContainer_get__NewEnum_Stub(
  1609.     IRpcStubBuffer *This,
  1610.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1611.     PRPC_MESSAGE _pRpcMessage,
  1612.     DWORD *_pdwStubPhase);
  1613. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsContainer_get_Filter_Proxy( 
  1614.     IADsContainer * This,
  1615.     /* [retval][out] */ VARIANT *pVar);
  1616. void __RPC_STUB IADsContainer_get_Filter_Stub(
  1617.     IRpcStubBuffer *This,
  1618.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1619.     PRPC_MESSAGE _pRpcMessage,
  1620.     DWORD *_pdwStubPhase);
  1621. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsContainer_put_Filter_Proxy( 
  1622.     IADsContainer * This,
  1623.     /* [in] */ VARIANT Var);
  1624. void __RPC_STUB IADsContainer_put_Filter_Stub(
  1625.     IRpcStubBuffer *This,
  1626.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1627.     PRPC_MESSAGE _pRpcMessage,
  1628.     DWORD *_pdwStubPhase);
  1629. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsContainer_get_Hints_Proxy( 
  1630.     IADsContainer * This,
  1631.     /* [retval][out] */ VARIANT *pvFilter);
  1632. void __RPC_STUB IADsContainer_get_Hints_Stub(
  1633.     IRpcStubBuffer *This,
  1634.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1635.     PRPC_MESSAGE _pRpcMessage,
  1636.     DWORD *_pdwStubPhase);
  1637. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsContainer_put_Hints_Proxy( 
  1638.     IADsContainer * This,
  1639.     /* [in] */ VARIANT vHints);
  1640. void __RPC_STUB IADsContainer_put_Hints_Stub(
  1641.     IRpcStubBuffer *This,
  1642.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1643.     PRPC_MESSAGE _pRpcMessage,
  1644.     DWORD *_pdwStubPhase);
  1645. /* [id] */ HRESULT STDMETHODCALLTYPE IADsContainer_GetObject_Proxy( 
  1646.     IADsContainer * This,
  1647.     /* [in] */ BSTR ClassName,
  1648.     /* [in] */ BSTR RelativeName,
  1649.     /* [retval][out] */ IDispatch **ppObject);
  1650. void __RPC_STUB IADsContainer_GetObject_Stub(
  1651.     IRpcStubBuffer *This,
  1652.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1653.     PRPC_MESSAGE _pRpcMessage,
  1654.     DWORD *_pdwStubPhase);
  1655. /* [id] */ HRESULT STDMETHODCALLTYPE IADsContainer_Create_Proxy( 
  1656.     IADsContainer * This,
  1657.     /* [in] */ BSTR ClassName,
  1658.     /* [in] */ BSTR RelativeName,
  1659.     /* [retval][out] */ IDispatch **ppObject);
  1660. void __RPC_STUB IADsContainer_Create_Stub(
  1661.     IRpcStubBuffer *This,
  1662.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1663.     PRPC_MESSAGE _pRpcMessage,
  1664.     DWORD *_pdwStubPhase);
  1665. /* [id] */ HRESULT STDMETHODCALLTYPE IADsContainer_Delete_Proxy( 
  1666.     IADsContainer * This,
  1667.     /* [in] */ BSTR bstrClassName,
  1668.     /* [in] */ BSTR bstrRelativeName);
  1669. void __RPC_STUB IADsContainer_Delete_Stub(
  1670.     IRpcStubBuffer *This,
  1671.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1672.     PRPC_MESSAGE _pRpcMessage,
  1673.     DWORD *_pdwStubPhase);
  1674. /* [id] */ HRESULT STDMETHODCALLTYPE IADsContainer_CopyHere_Proxy( 
  1675.     IADsContainer * This,
  1676.     /* [in] */ BSTR SourceName,
  1677.     /* [in] */ BSTR NewName,
  1678.     /* [out][retval] */ IDispatch **ppObject);
  1679. void __RPC_STUB IADsContainer_CopyHere_Stub(
  1680.     IRpcStubBuffer *This,
  1681.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1682.     PRPC_MESSAGE _pRpcMessage,
  1683.     DWORD *_pdwStubPhase);
  1684. /* [id] */ HRESULT STDMETHODCALLTYPE IADsContainer_MoveHere_Proxy( 
  1685.     IADsContainer * This,
  1686.     /* [in] */ BSTR SourceName,
  1687.     /* [in] */ BSTR NewName,
  1688.     /* [out][retval] */ IDispatch **ppObject);
  1689. void __RPC_STUB IADsContainer_MoveHere_Stub(
  1690.     IRpcStubBuffer *This,
  1691.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1692.     PRPC_MESSAGE _pRpcMessage,
  1693.     DWORD *_pdwStubPhase);
  1694. #endif  /* __IADsContainer_INTERFACE_DEFINED__ */
  1695. #ifndef __IADsCollection_INTERFACE_DEFINED__
  1696. #define __IADsCollection_INTERFACE_DEFINED__
  1697. /* interface IADsCollection */
  1698. /* [object][dual][oleautomation][uuid] */ 
  1699. EXTERN_C const IID IID_IADsCollection;
  1700. #if defined(__cplusplus) && !defined(CINTERFACE)
  1701.     
  1702.     MIDL_INTERFACE("72b945e0-253b-11cf-a988-00aa006bc149")
  1703.     IADsCollection : public IDispatch
  1704.     {
  1705.     public:
  1706.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  1707.             /* [retval][out] */ IUnknown **ppEnumerator) = 0;
  1708.         
  1709.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Add( 
  1710.             /* [in] */ BSTR bstrName,
  1711.             /* [in] */ VARIANT vItem) = 0;
  1712.         
  1713.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Remove( 
  1714.             /* [in] */ BSTR bstrItemToBeRemoved) = 0;
  1715.         
  1716.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetObject( 
  1717.             /* [in] */ BSTR bstrName,
  1718.             /* [retval][out] */ VARIANT *pvItem) = 0;
  1719.         
  1720.     };
  1721.     
  1722. #else  /* C style interface */
  1723.     typedef struct IADsCollectionVtbl
  1724.     {
  1725.         BEGIN_INTERFACE
  1726.         
  1727.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1728.             IADsCollection * This,
  1729.             /* [in] */ REFIID riid,
  1730.             /* [iid_is][out] */ void **ppvObject);
  1731.         
  1732.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1733.             IADsCollection * This);
  1734.         
  1735.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1736.             IADsCollection * This);
  1737.         
  1738.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1739.             IADsCollection * This,
  1740.             /* [out] */ UINT *pctinfo);
  1741.         
  1742.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1743.             IADsCollection * This,
  1744.             /* [in] */ UINT iTInfo,
  1745.             /* [in] */ LCID lcid,
  1746.             /* [out] */ ITypeInfo **ppTInfo);
  1747.         
  1748.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1749.             IADsCollection * This,
  1750.             /* [in] */ REFIID riid,
  1751.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1752.             /* [in] */ UINT cNames,
  1753.             /* [in] */ LCID lcid,
  1754.             /* [size_is][out] */ DISPID *rgDispId);
  1755.         
  1756.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1757.             IADsCollection * This,
  1758.             /* [in] */ DISPID dispIdMember,
  1759.             /* [in] */ REFIID riid,
  1760.             /* [in] */ LCID lcid,
  1761.             /* [in] */ WORD wFlags,
  1762.             /* [out][in] */ DISPPARAMS *pDispParams,
  1763.             /* [out] */ VARIANT *pVarResult,
  1764.             /* [out] */ EXCEPINFO *pExcepInfo,
  1765.             /* [out] */ UINT *puArgErr);
  1766.         
  1767.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  1768.             IADsCollection * This,
  1769.             /* [retval][out] */ IUnknown **ppEnumerator);
  1770.         
  1771.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
  1772.             IADsCollection * This,
  1773.             /* [in] */ BSTR bstrName,
  1774.             /* [in] */ VARIANT vItem);
  1775.         
  1776.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
  1777.             IADsCollection * This,
  1778.             /* [in] */ BSTR bstrItemToBeRemoved);
  1779.         
  1780.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetObject )( 
  1781.             IADsCollection * This,
  1782.             /* [in] */ BSTR bstrName,
  1783.             /* [retval][out] */ VARIANT *pvItem);
  1784.         
  1785.         END_INTERFACE
  1786.     } IADsCollectionVtbl;
  1787.     interface IADsCollection
  1788.     {
  1789.         CONST_VTBL struct IADsCollectionVtbl *lpVtbl;
  1790.     };
  1791.     
  1792. #ifdef COBJMACROS
  1793. #define IADsCollection_QueryInterface(This,riid,ppvObject)
  1794.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1795. #define IADsCollection_AddRef(This)
  1796.     (This)->lpVtbl -> AddRef(This)
  1797. #define IADsCollection_Release(This)
  1798.     (This)->lpVtbl -> Release(This)
  1799. #define IADsCollection_GetTypeInfoCount(This,pctinfo)
  1800.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1801. #define IADsCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1802.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1803. #define IADsCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1804.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1805. #define IADsCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1806.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1807. #define IADsCollection_get__NewEnum(This,ppEnumerator)
  1808.     (This)->lpVtbl -> get__NewEnum(This,ppEnumerator)
  1809. #define IADsCollection_Add(This,bstrName,vItem)
  1810.     (This)->lpVtbl -> Add(This,bstrName,vItem)
  1811. #define IADsCollection_Remove(This,bstrItemToBeRemoved)
  1812.     (This)->lpVtbl -> Remove(This,bstrItemToBeRemoved)
  1813. #define IADsCollection_GetObject(This,bstrName,pvItem)
  1814.     (This)->lpVtbl -> GetObject(This,bstrName,pvItem)
  1815. #endif /* COBJMACROS */
  1816. #endif  /* C style interface */
  1817. /* [propget][id] */ HRESULT STDMETHODCALLTYPE IADsCollection_get__NewEnum_Proxy( 
  1818.     IADsCollection * This,
  1819.     /* [retval][out] */ IUnknown **ppEnumerator);
  1820. void __RPC_STUB IADsCollection_get__NewEnum_Stub(
  1821.     IRpcStubBuffer *This,
  1822.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1823.     PRPC_MESSAGE _pRpcMessage,
  1824.     DWORD *_pdwStubPhase);
  1825. /* [id] */ HRESULT STDMETHODCALLTYPE IADsCollection_Add_Proxy( 
  1826.     IADsCollection * This,
  1827.     /* [in] */ BSTR bstrName,
  1828.     /* [in] */ VARIANT vItem);
  1829. void __RPC_STUB IADsCollection_Add_Stub(
  1830.     IRpcStubBuffer *This,
  1831.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1832.     PRPC_MESSAGE _pRpcMessage,
  1833.     DWORD *_pdwStubPhase);
  1834. /* [id] */ HRESULT STDMETHODCALLTYPE IADsCollection_Remove_Proxy( 
  1835.     IADsCollection * This,
  1836.     /* [in] */ BSTR bstrItemToBeRemoved);
  1837. void __RPC_STUB IADsCollection_Remove_Stub(
  1838.     IRpcStubBuffer *This,
  1839.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1840.     PRPC_MESSAGE _pRpcMessage,
  1841.     DWORD *_pdwStubPhase);
  1842. /* [id] */ HRESULT STDMETHODCALLTYPE IADsCollection_GetObject_Proxy( 
  1843.     IADsCollection * This,
  1844.     /* [in] */ BSTR bstrName,
  1845.     /* [retval][out] */ VARIANT *pvItem);
  1846. void __RPC_STUB IADsCollection_GetObject_Stub(
  1847.     IRpcStubBuffer *This,
  1848.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1849.     PRPC_MESSAGE _pRpcMessage,
  1850.     DWORD *_pdwStubPhase);
  1851. #endif  /* __IADsCollection_INTERFACE_DEFINED__ */
  1852. #ifndef __IADsMembers_INTERFACE_DEFINED__
  1853. #define __IADsMembers_INTERFACE_DEFINED__
  1854. /* interface IADsMembers */
  1855. /* [object][dual][oleautomation][uuid] */ 
  1856. EXTERN_C const IID IID_IADsMembers;
  1857. #if defined(__cplusplus) && !defined(CINTERFACE)
  1858.     
  1859.     MIDL_INTERFACE("451a0030-72ec-11cf-b03b-00aa006e0975")
  1860.     IADsMembers : public IDispatch
  1861.     {
  1862.     public:
  1863.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Count( 
  1864.             /* [retval][out] */ long *plCount) = 0;
  1865.         
  1866.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  1867.             /* [retval][out] */ IUnknown **ppEnumerator) = 0;
  1868.         
  1869.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_Filter( 
  1870.             /* [retval][out] */ VARIANT *pvFilter) = 0;
  1871.         
  1872.         virtual /* [propput][id] */ HRESULT STDMETHODCALLTYPE put_Filter( 
  1873.             /* [in] */ VARIANT pvFilter) = 0;
  1874.         
  1875.     };
  1876.     
  1877. #else  /* C style interface */
  1878.     typedef struct IADsMembersVtbl
  1879.     {
  1880.         BEGIN_INTERFACE
  1881.         
  1882.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1883.             IADsMembers * This,
  1884.             /* [in] */ REFIID riid,
  1885.             /* [iid_is][out] */ void **ppvObject);
  1886.         
  1887.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1888.             IADsMembers * This);
  1889.         
  1890.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1891.             IADsMembers * This);
  1892.         
  1893.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1894.             IADsMembers * This,
  1895.             /* [out] */ UINT *pctinfo);
  1896.         
  1897.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1898.             IADsMembers * This,
  1899.             /* [in] */ UINT iTInfo,
  1900.             /* [in] */ LCID lcid,
  1901.             /* [out] */ ITypeInfo **ppTInfo);
  1902.         
  1903.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1904.             IADsMembers * This,
  1905.             /* [in] */ REFIID riid,
  1906.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1907.             /* [in] */ UINT cNames,
  1908.             /* [in] */ LCID lcid,
  1909.             /* [size_is][out] */ DISPID *rgDispId);
  1910.         
  1911.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1912.             IADsMembers * This,
  1913.             /* [in] */ DISPID dispIdMember,
  1914.             /* [in] */ REFIID riid,
  1915.             /* [in] */ LCID lcid,
  1916.             /* [in] */ WORD wFlags,
  1917.             /* [out][in] */ DISPPARAMS *pDispParams,
  1918.             /* [out] */ VARIANT *pVarResult,
  1919.             /* [out] */ EXCEPINFO *pExcepInfo,
  1920.             /* [out] */ UINT *puArgErr);
  1921.         
  1922.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  1923.             IADsMembers * This,
  1924.             /* [retval][out] */ long *plCount);
  1925.         
  1926.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  1927.             IADsMembers * This,
  1928.             /* [retval][out] */ IUnknown **ppEnumerator);
  1929.         
  1930.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Filter )( 
  1931.             IADsMembers * This,
  1932.             /* [retval][out] */ VARIANT *pvFilter);
  1933.         
  1934.         /* [propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Filter )( 
  1935.             IADsMembers * This,
  1936.             /* [in] */ VARIANT pvFilter);
  1937.         
  1938.         END_INTERFACE
  1939.     } IADsMembersVtbl;
  1940.     interface IADsMembers
  1941.     {
  1942.         CONST_VTBL struct IADsMembersVtbl *lpVtbl;
  1943.     };
  1944.     
  1945. #ifdef COBJMACROS
  1946. #define IADsMembers_QueryInterface(This,riid,ppvObject)
  1947.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1948. #define IADsMembers_AddRef(This)
  1949.     (This)->lpVtbl -> AddRef(This)
  1950. #define IADsMembers_Release(This)
  1951.     (This)->lpVtbl -> Release(This)
  1952. #define IADsMembers_GetTypeInfoCount(This,pctinfo)
  1953.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1954. #define IADsMembers_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1955.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1956. #define IADsMembers_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1957.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1958. #define IADsMembers_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1959.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1960. #define IADsMembers_get_Count(This,plCount)
  1961.     (This)->lpVtbl -> get_Count(This,plCount)
  1962. #define IADsMembers_get__NewEnum(This,ppEnumerator)
  1963.     (This)->lpVtbl -> get__NewEnum(This,ppEnumerator)
  1964. #define IADsMembers_get_Filter(This,pvFilter)
  1965.     (This)->lpVtbl -> get_Filter(This,pvFilter)
  1966. #define IADsMembers_put_Filter(This,pvFilter)
  1967.     (This)->lpVtbl -> put_Filter(This,pvFilter)
  1968. #endif /* COBJMACROS */
  1969. #endif  /* C style interface */
  1970. /* [propget][id] */ HRESULT STDMETHODCALLTYPE IADsMembers_get_Count_Proxy( 
  1971.     IADsMembers * This,
  1972.     /* [retval][out] */ long *plCount);
  1973. void __RPC_STUB IADsMembers_get_Count_Stub(
  1974.     IRpcStubBuffer *This,
  1975.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1976.     PRPC_MESSAGE _pRpcMessage,
  1977.     DWORD *_pdwStubPhase);
  1978. /* [propget][id] */ HRESULT STDMETHODCALLTYPE IADsMembers_get__NewEnum_Proxy( 
  1979.     IADsMembers * This,
  1980.     /* [retval][out] */ IUnknown **ppEnumerator);
  1981. void __RPC_STUB IADsMembers_get__NewEnum_Stub(
  1982.     IRpcStubBuffer *This,
  1983.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1984.     PRPC_MESSAGE _pRpcMessage,
  1985.     DWORD *_pdwStubPhase);
  1986. /* [propget][id] */ HRESULT STDMETHODCALLTYPE IADsMembers_get_Filter_Proxy( 
  1987.     IADsMembers * This,
  1988.     /* [retval][out] */ VARIANT *pvFilter);
  1989. void __RPC_STUB IADsMembers_get_Filter_Stub(
  1990.     IRpcStubBuffer *This,
  1991.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1992.     PRPC_MESSAGE _pRpcMessage,
  1993.     DWORD *_pdwStubPhase);
  1994. /* [propput][id] */ HRESULT STDMETHODCALLTYPE IADsMembers_put_Filter_Proxy( 
  1995.     IADsMembers * This,
  1996.     /* [in] */ VARIANT pvFilter);
  1997. void __RPC_STUB IADsMembers_put_Filter_Stub(
  1998.     IRpcStubBuffer *This,
  1999.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2000.     PRPC_MESSAGE _pRpcMessage,
  2001.     DWORD *_pdwStubPhase);
  2002. #endif  /* __IADsMembers_INTERFACE_DEFINED__ */
  2003. #ifndef __IADsPropertyList_INTERFACE_DEFINED__
  2004. #define __IADsPropertyList_INTERFACE_DEFINED__
  2005. /* interface IADsPropertyList */
  2006. /* [object][dual][oleautomation][uuid] */ 
  2007. EXTERN_C const IID IID_IADsPropertyList;
  2008. #if defined(__cplusplus) && !defined(CINTERFACE)
  2009.     
  2010.     MIDL_INTERFACE("c6f602b6-8f69-11d0-8528-00c04fd8d503")
  2011.     IADsPropertyList : public IDispatch
  2012.     {
  2013.     public:
  2014.         virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_PropertyCount( 
  2015.             /* [retval][out] */ long *plCount) = 0;
  2016.         
  2017.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Next( 
  2018.             /* [retval][out] */ VARIANT *pVariant) = 0;
  2019.         
  2020.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Skip( 
  2021.             /* [in] */ long cElements) = 0;
  2022.         
  2023.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  2024.         
  2025.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Item( 
  2026.             /* [in] */ VARIANT varIndex,
  2027.             /* [retval][out] */ VARIANT *pVariant) = 0;
  2028.         
  2029.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE GetPropertyItem( 
  2030.             /* [in] */ BSTR bstrName,
  2031.             /* [in] */ LONG lnADsType,
  2032.             /* [retval][out] */ VARIANT *pVariant) = 0;
  2033.         
  2034.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE PutPropertyItem( 
  2035.             /* [in] */ VARIANT varData) = 0;
  2036.         
  2037.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE ResetPropertyItem( 
  2038.             /* [in] */ VARIANT varEntry) = 0;
  2039.         
  2040.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE PurgePropertyList( void) = 0;
  2041.         
  2042.     };
  2043.     
  2044. #else  /* C style interface */
  2045.     typedef struct IADsPropertyListVtbl
  2046.     {
  2047.         BEGIN_INTERFACE
  2048.         
  2049.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2050.             IADsPropertyList * This,
  2051.             /* [in] */ REFIID riid,
  2052.             /* [iid_is][out] */ void **ppvObject);
  2053.         
  2054.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2055.             IADsPropertyList * This);
  2056.         
  2057.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2058.             IADsPropertyList * This);
  2059.         
  2060.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2061.             IADsPropertyList * This,
  2062.             /* [out] */ UINT *pctinfo);
  2063.         
  2064.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2065.             IADsPropertyList * This,
  2066.             /* [in] */ UINT iTInfo,
  2067.             /* [in] */ LCID lcid,
  2068.             /* [out] */ ITypeInfo **ppTInfo);
  2069.         
  2070.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2071.             IADsPropertyList * This,
  2072.             /* [in] */ REFIID riid,
  2073.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2074.             /* [in] */ UINT cNames,
  2075.             /* [in] */ LCID lcid,
  2076.             /* [size_is][out] */ DISPID *rgDispId);
  2077.         
  2078.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2079.             IADsPropertyList * This,
  2080.             /* [in] */ DISPID dispIdMember,
  2081.             /* [in] */ REFIID riid,
  2082.             /* [in] */ LCID lcid,
  2083.             /* [in] */ WORD wFlags,
  2084.             /* [out][in] */ DISPPARAMS *pDispParams,
  2085.             /* [out] */ VARIANT *pVarResult,
  2086.             /* [out] */ EXCEPINFO *pExcepInfo,
  2087.             /* [out] */ UINT *puArgErr);
  2088.         
  2089.         /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PropertyCount )( 
  2090.             IADsPropertyList * This,
  2091.             /* [retval][out] */ long *plCount);
  2092.         
  2093.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
  2094.             IADsPropertyList * This,
  2095.             /* [retval][out] */ VARIANT *pVariant);
  2096.         
  2097.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Skip )( 
  2098.             IADsPropertyList * This,
  2099.             /* [in] */ long cElements);
  2100.         
  2101.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Reset )( 
  2102.             IADsPropertyList * This);
  2103.         
  2104.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
  2105.             IADsPropertyList * This,
  2106.             /* [in] */ VARIANT varIndex,
  2107.             /* [retval][out] */ VARIANT *pVariant);
  2108.         
  2109.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *GetPropertyItem )( 
  2110.             IADsPropertyList * This,
  2111.             /* [in] */ BSTR bstrName,
  2112.             /* [in] */ LONG lnADsType,
  2113.             /* [retval][out] */ VARIANT *pVariant);
  2114.         
  2115.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *PutPropertyItem )( 
  2116.             IADsPropertyList * This,
  2117.             /* [in] */ VARIANT varData);
  2118.         
  2119.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *ResetPropertyItem )( 
  2120.             IADsPropertyList * This,
  2121.             /* [in] */ VARIANT varEntry);
  2122.         
  2123.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *PurgePropertyList )( 
  2124.             IADsPropertyList * This);
  2125.         
  2126.         END_INTERFACE
  2127.     } IADsPropertyListVtbl;
  2128.     interface IADsPropertyList
  2129.     {
  2130.         CONST_VTBL struct IADsPropertyListVtbl *lpVtbl;
  2131.     };
  2132.     
  2133. #ifdef COBJMACROS
  2134. #define IADsPropertyList_QueryInterface(This,riid,ppvObject)
  2135.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2136. #define IADsPropertyList_AddRef(This)
  2137.     (This)->lpVtbl -> AddRef(This)
  2138. #define IADsPropertyList_Release(This)
  2139.     (This)->lpVtbl -> Release(This)
  2140. #define IADsPropertyList_GetTypeInfoCount(This,pctinfo)
  2141.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2142. #define IADsPropertyList_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2143.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2144. #define IADsPropertyList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2145.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2146. #define IADsPropertyList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2147.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2148. #define IADsPropertyList_get_PropertyCount(This,plCount)
  2149.     (This)->lpVtbl -> get_PropertyCount(This,plCount)
  2150. #define IADsPropertyList_Next(This,pVariant)
  2151.     (This)->lpVtbl -> Next(This,pVariant)
  2152. #define IADsPropertyList_Skip(This,cElements)
  2153.     (This)->lpVtbl -> Skip(This,cElements)
  2154. #define IADsPropertyList_Reset(This)
  2155.     (This)->lpVtbl -> Reset(This)
  2156. #define IADsPropertyList_Item(This,varIndex,pVariant)
  2157.     (This)->lpVtbl -> Item(This,varIndex,pVariant)
  2158. #define IADsPropertyList_GetPropertyItem(This,bstrName,lnADsType,pVariant)
  2159.     (This)->lpVtbl -> GetPropertyItem(This,bstrName,lnADsType,pVariant)
  2160. #define IADsPropertyList_PutPropertyItem(This,varData)
  2161.     (This)->lpVtbl -> PutPropertyItem(This,varData)
  2162. #define IADsPropertyList_ResetPropertyItem(This,varEntry)
  2163.     (This)->lpVtbl -> ResetPropertyItem(This,varEntry)
  2164. #define IADsPropertyList_PurgePropertyList(This)
  2165.     (This)->lpVtbl -> PurgePropertyList(This)
  2166. #endif /* COBJMACROS */
  2167. #endif  /* C style interface */
  2168. /* [propget][id] */ HRESULT STDMETHODCALLTYPE IADsPropertyList_get_PropertyCount_Proxy( 
  2169.     IADsPropertyList * This,
  2170.     /* [retval][out] */ long *plCount);
  2171. void __RPC_STUB IADsPropertyList_get_PropertyCount_Stub(
  2172.     IRpcStubBuffer *This,
  2173.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2174.     PRPC_MESSAGE _pRpcMessage,
  2175.     DWORD *_pdwStubPhase);
  2176. /* [id] */ HRESULT STDMETHODCALLTYPE IADsPropertyList_Next_Proxy( 
  2177.     IADsPropertyList * This,
  2178.     /* [retval][out] */ VARIANT *pVariant);
  2179. void __RPC_STUB IADsPropertyList_Next_Stub(
  2180.     IRpcStubBuffer *This,
  2181.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2182.     PRPC_MESSAGE _pRpcMessage,
  2183.     DWORD *_pdwStubPhase);
  2184. /* [id] */ HRESULT STDMETHODCALLTYPE IADsPropertyList_Skip_Proxy( 
  2185.     IADsPropertyList * This,
  2186.     /* [in] */ long cElements);
  2187. void __RPC_STUB IADsPropertyList_Skip_Stub(
  2188.     IRpcStubBuffer *This,
  2189.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2190.     PRPC_MESSAGE _pRpcMessage,
  2191.     DWORD *_pdwStubPhase);
  2192. /* [id] */ HRESULT STDMETHODCALLTYPE IADsPropertyList_Reset_Proxy( 
  2193.     IADsPropertyList * This);
  2194. void __RPC_STUB IADsPropertyList_Reset_Stub(
  2195.     IRpcStubBuffer *This,
  2196.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2197.     PRPC_MESSAGE _pRpcMessage,
  2198.     DWORD *_pdwStubPhase);
  2199. /* [id] */ HRESULT STDMETHODCALLTYPE IADsPropertyList_Item_Proxy( 
  2200.     IADsPropertyList * This,
  2201.     /* [in] */ VARIANT varIndex,
  2202.     /* [retval][out] */ VARIANT *pVariant);
  2203. void __RPC_STUB IADsPropertyList_Item_Stub(
  2204.     IRpcStubBuffer *This,
  2205.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2206.     PRPC_MESSAGE _pRpcMessage,
  2207.     DWORD *_pdwStubPhase);
  2208. /* [id] */ HRESULT STDMETHODCALLTYPE IADsPropertyList_GetPropertyItem_Proxy( 
  2209.     IADsPropertyList * This,
  2210.     /* [in] */ BSTR bstrName,
  2211.     /* [in] */ LONG lnADsType,
  2212.     /* [retval][out] */ VARIANT *pVariant);
  2213. void __RPC_STUB IADsPropertyList_GetPropertyItem_Stub(
  2214.     IRpcStubBuffer *This,
  2215.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2216.     PRPC_MESSAGE _pRpcMessage,
  2217.     DWORD *_pdwStubPhase);
  2218. /* [id] */ HRESULT STDMETHODCALLTYPE IADsPropertyList_PutPropertyItem_Proxy( 
  2219.     IADsPropertyList * This,
  2220.     /* [in] */ VARIANT varData);
  2221. void __RPC_STUB IADsPropertyList_PutPropertyItem_Stub(
  2222.     IRpcStubBuffer *This,
  2223.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2224.     PRPC_MESSAGE _pRpcMessage,
  2225.     DWORD *_pdwStubPhase);
  2226. /* [id] */ HRESULT STDMETHODCALLTYPE IADsPropertyList_ResetPropertyItem_Proxy( 
  2227.     IADsPropertyList * This,
  2228.     /* [in] */ VARIANT varEntry);
  2229. void __RPC_STUB IADsPropertyList_ResetPropertyItem_Stub(
  2230.     IRpcStubBuffer *This,
  2231.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2232.     PRPC_MESSAGE _pRpcMessage,
  2233.     DWORD *_pdwStubPhase);
  2234. /* [id] */ HRESULT STDMETHODCALLTYPE IADsPropertyList_PurgePropertyList_Proxy( 
  2235.     IADsPropertyList * This);
  2236. void __RPC_STUB IADsPropertyList_PurgePropertyList_Stub(
  2237.     IRpcStubBuffer *This,
  2238.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2239.     PRPC_MESSAGE _pRpcMessage,
  2240.     DWORD *_pdwStubPhase);
  2241. #endif  /* __IADsPropertyList_INTERFACE_DEFINED__ */
  2242. #ifndef __IADsPropertyEntry_INTERFACE_DEFINED__
  2243. #define __IADsPropertyEntry_INTERFACE_DEFINED__
  2244. /* interface IADsPropertyEntry */
  2245. /* [object][dual][oleautomation][uuid] */ 
  2246. EXTERN_C const IID IID_IADsPropertyEntry;
  2247. #if defined(__cplusplus) && !defined(CINTERFACE)
  2248.     
  2249.     MIDL_INTERFACE("05792c8e-941f-11d0-8529-00c04fd8d503")
  2250.     IADsPropertyEntry : public IDispatch
  2251.     {
  2252.     public:
  2253.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
  2254.         
  2255.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  2256.             /* [retval][out] */ BSTR *retval) = 0;
  2257.         
  2258.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
  2259.             /* [in] */ BSTR bstrName) = 0;
  2260.         
  2261.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ADsType( 
  2262.             /* [retval][out] */ long *retval) = 0;
  2263.         
  2264.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_ADsType( 
  2265.             /* [in] */ long lnADsType) = 0;
  2266.         
  2267.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ControlCode( 
  2268.             /* [retval][out] */ long *retval) = 0;
  2269.         
  2270.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_ControlCode( 
  2271.             /* [in] */ long lnControlCode) = 0;
  2272.         
  2273.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Values( 
  2274.             /* [retval][out] */ VARIANT *retval) = 0;
  2275.         
  2276.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Values( 
  2277.             /* [in] */ VARIANT vValues) = 0;
  2278.         
  2279.     };
  2280.     
  2281. #else  /* C style interface */
  2282.     typedef struct IADsPropertyEntryVtbl
  2283.     {
  2284.         BEGIN_INTERFACE
  2285.         
  2286.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2287.             IADsPropertyEntry * This,
  2288.             /* [in] */ REFIID riid,
  2289.             /* [iid_is][out] */ void **ppvObject);
  2290.         
  2291.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2292.             IADsPropertyEntry * This);
  2293.         
  2294.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2295.             IADsPropertyEntry * This);
  2296.         
  2297.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2298.             IADsPropertyEntry * This,
  2299.             /* [out] */ UINT *pctinfo);
  2300.         
  2301.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2302.             IADsPropertyEntry * This,
  2303.             /* [in] */ UINT iTInfo,
  2304.             /* [in] */ LCID lcid,
  2305.             /* [out] */ ITypeInfo **ppTInfo);
  2306.         
  2307.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2308.             IADsPropertyEntry * This,
  2309.             /* [in] */ REFIID riid,
  2310.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2311.             /* [in] */ UINT cNames,
  2312.             /* [in] */ LCID lcid,
  2313.             /* [size_is][out] */ DISPID *rgDispId);
  2314.         
  2315.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2316.             IADsPropertyEntry * This,
  2317.             /* [in] */ DISPID dispIdMember,
  2318.             /* [in] */ REFIID riid,
  2319.             /* [in] */ LCID lcid,
  2320.             /* [in] */ WORD wFlags,
  2321.             /* [out][in] */ DISPPARAMS *pDispParams,
  2322.             /* [out] */ VARIANT *pVarResult,
  2323.             /* [out] */ EXCEPINFO *pExcepInfo,
  2324.             /* [out] */ UINT *puArgErr);
  2325.         
  2326.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
  2327.             IADsPropertyEntry * This);
  2328.         
  2329.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  2330.             IADsPropertyEntry * This,
  2331.             /* [retval][out] */ BSTR *retval);
  2332.         
  2333.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
  2334.             IADsPropertyEntry * This,
  2335.             /* [in] */ BSTR bstrName);
  2336.         
  2337.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ADsType )( 
  2338.             IADsPropertyEntry * This,
  2339.             /* [retval][out] */ long *retval);
  2340.         
  2341.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ADsType )( 
  2342.             IADsPropertyEntry * This,
  2343.             /* [in] */ long lnADsType);
  2344.         
  2345.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ControlCode )( 
  2346.             IADsPropertyEntry * This,
  2347.             /* [retval][out] */ long *retval);
  2348.         
  2349.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ControlCode )( 
  2350.             IADsPropertyEntry * This,
  2351.             /* [in] */ long lnControlCode);
  2352.         
  2353.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Values )( 
  2354.             IADsPropertyEntry * This,
  2355.             /* [retval][out] */ VARIANT *retval);
  2356.         
  2357.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Values )( 
  2358.             IADsPropertyEntry * This,
  2359.             /* [in] */ VARIANT vValues);
  2360.         
  2361.         END_INTERFACE
  2362.     } IADsPropertyEntryVtbl;
  2363.     interface IADsPropertyEntry
  2364.     {
  2365.         CONST_VTBL struct IADsPropertyEntryVtbl *lpVtbl;
  2366.     };
  2367.     
  2368. #ifdef COBJMACROS
  2369. #define IADsPropertyEntry_QueryInterface(This,riid,ppvObject)
  2370.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2371. #define IADsPropertyEntry_AddRef(This)
  2372.     (This)->lpVtbl -> AddRef(This)
  2373. #define IADsPropertyEntry_Release(This)
  2374.     (This)->lpVtbl -> Release(This)
  2375. #define IADsPropertyEntry_GetTypeInfoCount(This,pctinfo)
  2376.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2377. #define IADsPropertyEntry_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2378.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2379. #define IADsPropertyEntry_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2380.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2381. #define IADsPropertyEntry_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2382.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2383. #define IADsPropertyEntry_Clear(This)
  2384.     (This)->lpVtbl -> Clear(This)
  2385. #define IADsPropertyEntry_get_Name(This,retval)
  2386.     (This)->lpVtbl -> get_Name(This,retval)
  2387. #define IADsPropertyEntry_put_Name(This,bstrName)
  2388.     (This)->lpVtbl -> put_Name(This,bstrName)
  2389. #define IADsPropertyEntry_get_ADsType(This,retval)
  2390.     (This)->lpVtbl -> get_ADsType(This,retval)
  2391. #define IADsPropertyEntry_put_ADsType(This,lnADsType)
  2392.     (This)->lpVtbl -> put_ADsType(This,lnADsType)
  2393. #define IADsPropertyEntry_get_ControlCode(This,retval)
  2394.     (This)->lpVtbl -> get_ControlCode(This,retval)
  2395. #define IADsPropertyEntry_put_ControlCode(This,lnControlCode)
  2396.     (This)->lpVtbl -> put_ControlCode(This,lnControlCode)
  2397. #define IADsPropertyEntry_get_Values(This,retval)
  2398.     (This)->lpVtbl -> get_Values(This,retval)
  2399. #define IADsPropertyEntry_put_Values(This,vValues)
  2400.     (This)->lpVtbl -> put_Values(This,vValues)
  2401. #endif /* COBJMACROS */
  2402. #endif  /* C style interface */
  2403. /* [id] */ HRESULT STDMETHODCALLTYPE IADsPropertyEntry_Clear_Proxy( 
  2404.     IADsPropertyEntry * This);
  2405. void __RPC_STUB IADsPropertyEntry_Clear_Stub(
  2406.     IRpcStubBuffer *This,
  2407.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2408.     PRPC_MESSAGE _pRpcMessage,
  2409.     DWORD *_pdwStubPhase);
  2410. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsPropertyEntry_get_Name_Proxy( 
  2411.     IADsPropertyEntry * This,
  2412.     /* [retval][out] */ BSTR *retval);
  2413. void __RPC_STUB IADsPropertyEntry_get_Name_Stub(
  2414.     IRpcStubBuffer *This,
  2415.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2416.     PRPC_MESSAGE _pRpcMessage,
  2417.     DWORD *_pdwStubPhase);
  2418. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsPropertyEntry_put_Name_Proxy( 
  2419.     IADsPropertyEntry * This,
  2420.     /* [in] */ BSTR bstrName);
  2421. void __RPC_STUB IADsPropertyEntry_put_Name_Stub(
  2422.     IRpcStubBuffer *This,
  2423.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2424.     PRPC_MESSAGE _pRpcMessage,
  2425.     DWORD *_pdwStubPhase);
  2426. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsPropertyEntry_get_ADsType_Proxy( 
  2427.     IADsPropertyEntry * This,
  2428.     /* [retval][out] */ long *retval);
  2429. void __RPC_STUB IADsPropertyEntry_get_ADsType_Stub(
  2430.     IRpcStubBuffer *This,
  2431.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2432.     PRPC_MESSAGE _pRpcMessage,
  2433.     DWORD *_pdwStubPhase);
  2434. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsPropertyEntry_put_ADsType_Proxy( 
  2435.     IADsPropertyEntry * This,
  2436.     /* [in] */ long lnADsType);
  2437. void __RPC_STUB IADsPropertyEntry_put_ADsType_Stub(
  2438.     IRpcStubBuffer *This,
  2439.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2440.     PRPC_MESSAGE _pRpcMessage,
  2441.     DWORD *_pdwStubPhase);
  2442. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsPropertyEntry_get_ControlCode_Proxy( 
  2443.     IADsPropertyEntry * This,
  2444.     /* [retval][out] */ long *retval);
  2445. void __RPC_STUB IADsPropertyEntry_get_ControlCode_Stub(
  2446.     IRpcStubBuffer *This,
  2447.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2448.     PRPC_MESSAGE _pRpcMessage,
  2449.     DWORD *_pdwStubPhase);
  2450. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsPropertyEntry_put_ControlCode_Proxy( 
  2451.     IADsPropertyEntry * This,
  2452.     /* [in] */ long lnControlCode);
  2453. void __RPC_STUB IADsPropertyEntry_put_ControlCode_Stub(
  2454.     IRpcStubBuffer *This,
  2455.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2456.     PRPC_MESSAGE _pRpcMessage,
  2457.     DWORD *_pdwStubPhase);
  2458. /* [id][propget] */ HRESULT STDMETHODCALLTYPE IADsPropertyEntry_get_Values_Proxy( 
  2459.     IADsPropertyEntry * This,
  2460.     /* [retval][out] */ VARIANT *retval);
  2461. void __RPC_STUB IADsPropertyEntry_get_Values_Stub(
  2462.     IRpcStubBuffer *This,
  2463.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2464.     PRPC_MESSAGE _pRpcMessage,
  2465.     DWORD *_pdwStubPhase);
  2466. /* [id][propput] */ HRESULT STDMETHODCALLTYPE IADsPropertyEntry_put_Values_Proxy( 
  2467.     IADsPropertyEntry * This,
  2468.     /* [in] */ VARIANT vValues);
  2469. void __RPC_STUB IADsPropertyEntry_put_Values_Stub(
  2470.     IRpcStubBuffer *This,
  2471.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2472.     PRPC_MESSAGE _pRpcMessage,
  2473.     DWORD *_pdwStubPhase);
  2474. #endif  /* __IADsPropertyEntry_INTERFACE_DEFINED__ */
  2475. EXTERN_C const CLSID CLSID_PropertyEntry;
  2476. #ifdef __cplusplus
  2477. class DECLSPEC_UUID("72d3edc2-a4c4-11d0-8533-00c04fd8d503")
  2478. PropertyEntry;
  2479. #endif
  2480. #ifndef __IADsPropertyValue_INTERFACE_DEFINED__
  2481. #define __IADsPropertyValue_INTERFACE_DEFINED__
  2482. /* interface IADsPropertyValue */
  2483. /* [object][dual][oleautomation][uuid] */ 
  2484. EXTERN_C const IID IID_IADsPropertyValue;
  2485. #if defined(__cplusplus) && !defined(CINTERFACE)
  2486.     
  2487.     MIDL_INTERFACE("79fa9ad0-a97c-11d0-8534-00c04fd8d503")
  2488.     IADsPropertyValue : public IDispatch
  2489.     {
  2490.     public:
  2491.         virtual /* [id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
  2492.         
  2493.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_ADsType( 
  2494.             /* [retval][out] */ long *retval) = 0;
  2495.         
  2496.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_ADsType( 
  2497.             /* [in] */ long lnADsType) = 0;
  2498.         
  2499.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_DNString( 
  2500.             /* [retval][out] */ BSTR *retval) = 0;
  2501.         
  2502.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_DNString( 
  2503.             /* [in] */ BSTR bstrDNString) = 0;
  2504.         
  2505.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_CaseExactString( 
  2506.             /* [retval][out] */ BSTR *retval) = 0;
  2507.         
  2508.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_CaseExactString( 
  2509.             /* [in] */ BSTR bstrCaseExactString) = 0;
  2510.         
  2511.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_CaseIgnoreString( 
  2512.             /* [retval][out] */ BSTR *retval) = 0;
  2513.         
  2514.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_CaseIgnoreString( 
  2515.             /* [in] */ BSTR bstrCaseIgnoreString) = 0;
  2516.         
  2517.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_PrintableString( 
  2518.             /* [retval][out] */ BSTR *retval) = 0;
  2519.         
  2520.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_PrintableString( 
  2521.             /* [in] */ BSTR bstrPrintableString) = 0;
  2522.         
  2523.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_NumericString( 
  2524.             /* [retval][out] */ BSTR *retval) = 0;
  2525.         
  2526.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_NumericString( 
  2527.             /* [in] */ BSTR bstrNumericString) = 0;
  2528.         
  2529.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Boolean( 
  2530.             /* [retval][out] */ long *retval) = 0;
  2531.         
  2532.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Boolean( 
  2533.             /* [in] */ long lnBoolean) = 0;
  2534.         
  2535.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_Integer( 
  2536.             /* [retval][out] */ long *retval) = 0;
  2537.         
  2538.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_Integer( 
  2539.             /* [in] */ long lnInteger) = 0;
  2540.         
  2541.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_OctetString( 
  2542.             /* [retval][out] */ VARIANT *retval) = 0;
  2543.         
  2544.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_OctetString( 
  2545.             /* [in] */ VARIANT vOctetString) = 0;
  2546.         
  2547.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_SecurityDescriptor( 
  2548.             /* [retval][out] */ IDispatch **retval) = 0;
  2549.         
  2550.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_SecurityDescriptor( 
  2551.             /* [in] */ IDispatch *pSecurityDescriptor) = 0;
  2552.         
  2553.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_LargeInteger( 
  2554.             /* [retval][out] */ IDispatch **retval) = 0;
  2555.         
  2556.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_LargeInteger( 
  2557.             /* [in] */ IDispatch *pLargeInteger) = 0;
  2558.         
  2559.         virtual /* [id][propget] */ HRESULT STDMETHODCALLTYPE get_UTCTime( 
  2560.             /* [retval][out] */ DATE *retval) = 0;
  2561.         
  2562.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_UTCTime( 
  2563.             /* [in] */ DATE daUTCTime) = 0;
  2564.         
  2565.     };
  2566.     
  2567. #else  /* C style interface */
  2568.     typedef struct IADsPropertyValueVtbl
  2569.     {
  2570.         BEGIN_INTERFACE
  2571.         
  2572.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2573.             IADsPropertyValue * This,
  2574.             /* [in] */ REFIID riid,
  2575.             /* [iid_is][out] */ void **ppvObject);
  2576.         
  2577.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2578.             IADsPropertyValue * This);
  2579.         
  2580.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2581.             IADsPropertyValue * This);
  2582.         
  2583.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2584.             IADsPropertyValue * This,
  2585.             /* [out] */ UINT *pctinfo);
  2586.         
  2587.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2588.             IADsPropertyValue * This,
  2589.             /* [in] */ UINT iTInfo,
  2590.             /* [in] */ LCID lcid,
  2591.             /* [out] */ ITypeInfo **ppTInfo);
  2592.         
  2593.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2594.             IADsPropertyValue * This,
  2595.             /* [in] */ REFIID riid,
  2596.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2597.             /* [in] */ UINT cNames,
  2598.             /* [in] */ LCID lcid,
  2599.             /* [size_is][out] */ DISPID *rgDispId);
  2600.         
  2601.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2602.             IADsPropertyValue * This,
  2603.             /* [in] */ DISPID dispIdMember,
  2604.             /* [in] */ REFIID riid,
  2605.             /* [in] */ LCID lcid,
  2606.             /* [in] */ WORD wFlags,
  2607.             /* [out][in] */ DISPPARAMS *pDispParams,
  2608.             /* [out] */ VARIANT *pVarResult,
  2609.             /* [out] */ EXCEPINFO *pExcepInfo,
  2610.             /* [out] */ UINT *puArgErr);
  2611.         
  2612.         /* [id] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
  2613.             IADsPropertyValue * This);
  2614.         
  2615.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ADsType )( 
  2616.             IADsPropertyValue * This,
  2617.             /* [retval][out] */ long *retval);
  2618.         
  2619.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ADsType )( 
  2620.             IADsPropertyValue * This,
  2621.             /* [in] */ long lnADsType);
  2622.         
  2623.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DNString )( 
  2624.             IADsPropertyValue * This,
  2625.             /* [retval][out] */ BSTR *retval);
  2626.         
  2627.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DNString )( 
  2628.             IADsPropertyValue * This,
  2629.             /* [in] */ BSTR bstrDNString);
  2630.         
  2631.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CaseExactString )( 
  2632.             IADsPropertyValue * This,
  2633.             /* [retval][out] */ BSTR *retval);
  2634.         
  2635.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CaseExactString )( 
  2636.             IADsPropertyValue * This,
  2637.             /* [in] */ BSTR bstrCaseExactString);
  2638.         
  2639.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CaseIgnoreString )( 
  2640.             IADsPropertyValue * This,
  2641.             /* [retval][out] */ BSTR *retval);
  2642.         
  2643.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CaseIgnoreString )( 
  2644.             IADsPropertyValue * This,
  2645.             /* [in] */ BSTR bstrCaseIgnoreString);
  2646.         
  2647.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrintableString )( 
  2648.             IADsPropertyValue * This,
  2649.             /* [retval][out] */ BSTR *retval);
  2650.         
  2651.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrintableString )( 
  2652.             IADsPropertyValue * This,
  2653.             /* [in] */ BSTR bstrPrintableString);
  2654.         
  2655.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumericString )( 
  2656.             IADsPropertyValue * This,
  2657.             /* [retval][out] */ BSTR *retval);
  2658.         
  2659.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_NumericString )( 
  2660.             IADsPropertyValue * This,
  2661.             /* [in] */ BSTR bstrNumericString);
  2662.         
  2663.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Boolean )( 
  2664.             IADsPropertyValue * This,
  2665.             /* [retval][out] */ long *retval);
  2666.         
  2667.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Boolean )( 
  2668.             IADsPropertyValue * This,
  2669.             /* [in] */ long lnBoolean);
  2670.         
  2671.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Integer )( 
  2672.             IADsPropertyValue * This,
  2673.             /* [retval][out] */ long *retval);
  2674.         
  2675.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Integer )( 
  2676.             IADsPropertyValue * This,
  2677.             /* [in] */ long lnInteger);
  2678.         
  2679.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OctetString )( 
  2680.             IADsPropertyValue * This,
  2681.             /* [retval][out] */ VARIANT *retval);
  2682.         
  2683.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OctetString )( 
  2684.             IADsPropertyValue * This,
  2685.             /* [in] */ VARIANT vOctetString);
  2686.         
  2687.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SecurityDescriptor )( 
  2688.             IADsPropertyValue * This,
  2689.             /* [retval][out] */ IDispatch **retval);
  2690.         
  2691.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SecurityDescriptor )( 
  2692.             IADsPropertyValue * This,
  2693.             /* [in] */ IDispatch *pSecurityDescriptor);
  2694.         
  2695.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LargeInteger )( 
  2696.             IADsPropertyValue * This,
  2697.             /* [retval][out] */ IDispatch **retval);
  2698.         
  2699.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LargeInteger )( 
  2700.             IADsPropertyValue * This,
  2701.             /* [in] */ IDispatch *pLargeInteger);
  2702.         
  2703.         /* [id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UTCTime )( 
  2704.             IADsPropertyValue * This,
  2705.             /* [retval][out] */ DATE *retval);
  2706.         
  2707.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UTCTime )( 
  2708.             IADsPropertyValue * This,
  2709.             /* [in] */ DATE daUTCTime);
  2710.         
  2711.         END_INTERFACE
  2712.     } IADsPropertyValueVtbl;
  2713.     interface IADsPropertyValue
  2714.     {
  2715.         CONST_VTBL struct IADsPropertyValueVtbl *lpVtbl;
  2716.     };
  2717.     
  2718. #ifdef COBJMACROS
  2719. #define IADsPropertyValue_QueryInterface(This,riid,ppvObject)
  2720.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2721. #define IADsPropertyValue_AddRef(This)
  2722.     (This)->lpVtbl -> AddRef(This)
  2723. #define IADsPropertyValue_Release(This)
  2724.     (This)->lpVtbl -> Release(This)
  2725. #define IADsPropertyValue_GetTypeInfoCount(This,pctinfo)
  2726.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2727. #define IADsPropertyValue_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2728.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2729. #define IADsPropertyValue_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2730.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)