Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 
      7 #ifndef _IADS_H_
      8 #define _IADS_H_
      9 
     10 #ifndef __REQUIRED_RPCNDR_H_VERSION__
     11 #define __REQUIRED_RPCNDR_H_VERSION__ 475
     12 #endif
     13 
     14 #include "rpc.h"
     15 #include "rpcndr.h"
     16 
     17 #ifndef __RPCNDR_H_VERSION__
     18 #error this stub requires an updated version of <rpcndr.h>
     19 #endif
     20 
     21 #ifndef __iads_h__
     22 #define __iads_h__
     23 
     24 #ifndef __IADs_FWD_DEFINED__
     25 #define __IADs_FWD_DEFINED__
     26 typedef struct IADs IADs;
     27 #endif
     28 
     29 #ifndef __IADsContainer_FWD_DEFINED__
     30 #define __IADsContainer_FWD_DEFINED__
     31 typedef struct IADsContainer IADsContainer;
     32 #endif
     33 
     34 #ifndef __IADsCollection_FWD_DEFINED__
     35 #define __IADsCollection_FWD_DEFINED__
     36 typedef struct IADsCollection IADsCollection;
     37 #endif
     38 
     39 #ifndef __IADsMembers_FWD_DEFINED__
     40 #define __IADsMembers_FWD_DEFINED__
     41 typedef struct IADsMembers IADsMembers;
     42 #endif
     43 
     44 #ifndef __IADsPropertyList_FWD_DEFINED__
     45 #define __IADsPropertyList_FWD_DEFINED__
     46 typedef struct IADsPropertyList IADsPropertyList;
     47 #endif
     48 
     49 #ifndef __IADsPropertyEntry_FWD_DEFINED__
     50 #define __IADsPropertyEntry_FWD_DEFINED__
     51 typedef struct IADsPropertyEntry IADsPropertyEntry;
     52 #endif
     53 
     54 #ifndef __PropertyEntry_FWD_DEFINED__
     55 #define __PropertyEntry_FWD_DEFINED__
     56 #ifdef __cplusplus
     57 typedef class PropertyEntry PropertyEntry;
     58 #else
     59 typedef struct PropertyEntry PropertyEntry;
     60 #endif
     61 #endif
     62 
     63 #ifndef __IADsPropertyValue_FWD_DEFINED__
     64 #define __IADsPropertyValue_FWD_DEFINED__
     65 typedef struct IADsPropertyValue IADsPropertyValue;
     66 #endif
     67 
     68 #ifndef __IADsPropertyValue2_FWD_DEFINED__
     69 #define __IADsPropertyValue2_FWD_DEFINED__
     70 typedef struct IADsPropertyValue2 IADsPropertyValue2;
     71 #endif
     72 
     73 #ifndef __PropertyValue_FWD_DEFINED__
     74 #define __PropertyValue_FWD_DEFINED__
     75 #ifdef __cplusplus
     76 typedef class PropertyValue PropertyValue;
     77 #else
     78 typedef struct PropertyValue PropertyValue;
     79 #endif
     80 #endif
     81 
     82 #ifndef __IPrivateDispatch_FWD_DEFINED__
     83 #define __IPrivateDispatch_FWD_DEFINED__
     84 typedef struct IPrivateDispatch IPrivateDispatch;
     85 #endif
     86 
     87 #ifndef __IPrivateUnknown_FWD_DEFINED__
     88 #define __IPrivateUnknown_FWD_DEFINED__
     89 typedef struct IPrivateUnknown IPrivateUnknown;
     90 #endif
     91 
     92 #ifndef __IADsExtension_FWD_DEFINED__
     93 #define __IADsExtension_FWD_DEFINED__
     94 typedef struct IADsExtension IADsExtension;
     95 #endif
     96 
     97 #ifndef __IADsDeleteOps_FWD_DEFINED__
     98 #define __IADsDeleteOps_FWD_DEFINED__
     99 typedef struct IADsDeleteOps IADsDeleteOps;
    100 #endif
    101 
    102 #ifndef __IADsNamespaces_FWD_DEFINED__
    103 #define __IADsNamespaces_FWD_DEFINED__
    104 typedef struct IADsNamespaces IADsNamespaces;
    105 #endif
    106 
    107 #ifndef __IADsClass_FWD_DEFINED__
    108 #define __IADsClass_FWD_DEFINED__
    109 typedef struct IADsClass IADsClass;
    110 #endif
    111 
    112 #ifndef __IADsProperty_FWD_DEFINED__
    113 #define __IADsProperty_FWD_DEFINED__
    114 typedef struct IADsProperty IADsProperty;
    115 #endif
    116 
    117 #ifndef __IADsSyntax_FWD_DEFINED__
    118 #define __IADsSyntax_FWD_DEFINED__
    119 typedef struct IADsSyntax IADsSyntax;
    120 #endif
    121 
    122 #ifndef __IADsLocality_FWD_DEFINED__
    123 #define __IADsLocality_FWD_DEFINED__
    124 typedef struct IADsLocality IADsLocality;
    125 #endif
    126 
    127 #ifndef __IADsO_FWD_DEFINED__
    128 #define __IADsO_FWD_DEFINED__
    129 typedef struct IADsO IADsO;
    130 #endif
    131 
    132 #ifndef __IADsOU_FWD_DEFINED__
    133 #define __IADsOU_FWD_DEFINED__
    134 typedef struct IADsOU IADsOU;
    135 #endif
    136 
    137 #ifndef __IADsDomain_FWD_DEFINED__
    138 #define __IADsDomain_FWD_DEFINED__
    139 typedef struct IADsDomain IADsDomain;
    140 #endif
    141 
    142 #ifndef __IADsComputer_FWD_DEFINED__
    143 #define __IADsComputer_FWD_DEFINED__
    144 typedef struct IADsComputer IADsComputer;
    145 #endif
    146 
    147 #ifndef __IADsComputerOperations_FWD_DEFINED__
    148 #define __IADsComputerOperations_FWD_DEFINED__
    149 typedef struct IADsComputerOperations IADsComputerOperations;
    150 #endif
    151 
    152 #ifndef __IADsGroup_FWD_DEFINED__
    153 #define __IADsGroup_FWD_DEFINED__
    154 typedef struct IADsGroup IADsGroup;
    155 #endif
    156 
    157 #ifndef __IADsUser_FWD_DEFINED__
    158 #define __IADsUser_FWD_DEFINED__
    159 typedef struct IADsUser IADsUser;
    160 #endif
    161 
    162 #ifndef __IADsPrintQueue_FWD_DEFINED__
    163 #define __IADsPrintQueue_FWD_DEFINED__
    164 typedef struct IADsPrintQueue IADsPrintQueue;
    165 #endif
    166 
    167 #ifndef __IADsPrintQueueOperations_FWD_DEFINED__
    168 #define __IADsPrintQueueOperations_FWD_DEFINED__
    169 typedef struct IADsPrintQueueOperations IADsPrintQueueOperations;
    170 #endif
    171 
    172 #ifndef __IADsPrintJob_FWD_DEFINED__
    173 #define __IADsPrintJob_FWD_DEFINED__
    174 typedef struct IADsPrintJob IADsPrintJob;
    175 #endif
    176 
    177 #ifndef __IADsPrintJobOperations_FWD_DEFINED__
    178 #define __IADsPrintJobOperations_FWD_DEFINED__
    179 typedef struct IADsPrintJobOperations IADsPrintJobOperations;
    180 #endif
    181 
    182 #ifndef __IADsService_FWD_DEFINED__
    183 #define __IADsService_FWD_DEFINED__
    184 typedef struct IADsService IADsService;
    185 #endif
    186 
    187 #ifndef __IADsServiceOperations_FWD_DEFINED__
    188 #define __IADsServiceOperations_FWD_DEFINED__
    189 typedef struct IADsServiceOperations IADsServiceOperations;
    190 #endif
    191 
    192 #ifndef __IADsFileService_FWD_DEFINED__
    193 #define __IADsFileService_FWD_DEFINED__
    194 typedef struct IADsFileService IADsFileService;
    195 #endif
    196 
    197 #ifndef __IADsFileServiceOperations_FWD_DEFINED__
    198 #define __IADsFileServiceOperations_FWD_DEFINED__
    199 typedef struct IADsFileServiceOperations IADsFileServiceOperations;
    200 #endif
    201 
    202 #ifndef __IADsFileShare_FWD_DEFINED__
    203 #define __IADsFileShare_FWD_DEFINED__
    204 typedef struct IADsFileShare IADsFileShare;
    205 #endif
    206 
    207 #ifndef __IADsSession_FWD_DEFINED__
    208 #define __IADsSession_FWD_DEFINED__
    209 typedef struct IADsSession IADsSession;
    210 #endif
    211 
    212 #ifndef __IADsResource_FWD_DEFINED__
    213 #define __IADsResource_FWD_DEFINED__
    214 typedef struct IADsResource IADsResource;
    215 #endif
    216 
    217 #ifndef __IADsOpenDSObject_FWD_DEFINED__
    218 #define __IADsOpenDSObject_FWD_DEFINED__
    219 typedef struct IADsOpenDSObject IADsOpenDSObject;
    220 #endif
    221 
    222 #ifndef __IDirectoryObject_FWD_DEFINED__
    223 #define __IDirectoryObject_FWD_DEFINED__
    224 typedef struct IDirectoryObject IDirectoryObject;
    225 #endif
    226 
    227 #ifndef __IDirectorySearch_FWD_DEFINED__
    228 #define __IDirectorySearch_FWD_DEFINED__
    229 typedef struct IDirectorySearch IDirectorySearch;
    230 #endif
    231 
    232 #ifndef __IDirectorySchemaMgmt_FWD_DEFINED__
    233 #define __IDirectorySchemaMgmt_FWD_DEFINED__
    234 typedef struct IDirectorySchemaMgmt IDirectorySchemaMgmt;
    235 #endif
    236 
    237 #ifndef __IADsAggregatee_FWD_DEFINED__
    238 #define __IADsAggregatee_FWD_DEFINED__
    239 typedef struct IADsAggregatee IADsAggregatee;
    240 #endif
    241 
    242 #ifndef __IADsAggregator_FWD_DEFINED__
    243 #define __IADsAggregator_FWD_DEFINED__
    244 typedef struct IADsAggregator IADsAggregator;
    245 #endif
    246 
    247 #ifndef __IADsAccessControlEntry_FWD_DEFINED__
    248 #define __IADsAccessControlEntry_FWD_DEFINED__
    249 typedef struct IADsAccessControlEntry IADsAccessControlEntry;
    250 #endif
    251 
    252 #ifndef __AccessControlEntry_FWD_DEFINED__
    253 #define __AccessControlEntry_FWD_DEFINED__
    254 #ifdef __cplusplus
    255 typedef class AccessControlEntry AccessControlEntry;
    256 #else
    257 typedef struct AccessControlEntry AccessControlEntry;
    258 #endif
    259 #endif
    260 
    261 #ifndef __IADsAccessControlList_FWD_DEFINED__
    262 #define __IADsAccessControlList_FWD_DEFINED__
    263 typedef struct IADsAccessControlList IADsAccessControlList;
    264 #endif
    265 
    266 #ifndef __AccessControlList_FWD_DEFINED__
    267 #define __AccessControlList_FWD_DEFINED__
    268 #ifdef __cplusplus
    269 typedef class AccessControlList AccessControlList;
    270 #else
    271 typedef struct AccessControlList AccessControlList;
    272 #endif
    273 #endif
    274 
    275 #ifndef __IADsSecurityDescriptor_FWD_DEFINED__
    276 #define __IADsSecurityDescriptor_FWD_DEFINED__
    277 typedef struct IADsSecurityDescriptor IADsSecurityDescriptor;
    278 #endif
    279 
    280 #ifndef __SecurityDescriptor_FWD_DEFINED__
    281 #define __SecurityDescriptor_FWD_DEFINED__
    282 #ifdef __cplusplus
    283 typedef class SecurityDescriptor SecurityDescriptor;
    284 #else
    285 typedef struct SecurityDescriptor SecurityDescriptor;
    286 #endif
    287 #endif
    288 
    289 #ifndef __IADsLargeInteger_FWD_DEFINED__
    290 #define __IADsLargeInteger_FWD_DEFINED__
    291 typedef struct IADsLargeInteger IADsLargeInteger;
    292 #endif
    293 
    294 #ifndef __LargeInteger_FWD_DEFINED__
    295 #define __LargeInteger_FWD_DEFINED__
    296 #ifdef __cplusplus
    297 typedef class LargeInteger LargeInteger;
    298 #else
    299 typedef struct LargeInteger LargeInteger;
    300 #endif
    301 #endif
    302 
    303 #ifndef __IADsNameTranslate_FWD_DEFINED__
    304 #define __IADsNameTranslate_FWD_DEFINED__
    305 typedef struct IADsNameTranslate IADsNameTranslate;
    306 #endif
    307 
    308 #ifndef __NameTranslate_FWD_DEFINED__
    309 #define __NameTranslate_FWD_DEFINED__
    310 #ifdef __cplusplus
    311 typedef class NameTranslate NameTranslate;
    312 #else
    313 typedef struct NameTranslate NameTranslate;
    314 #endif
    315 #endif
    316 
    317 #ifndef __IADsCaseIgnoreList_FWD_DEFINED__
    318 #define __IADsCaseIgnoreList_FWD_DEFINED__
    319 typedef struct IADsCaseIgnoreList IADsCaseIgnoreList;
    320 #endif
    321 
    322 #ifndef __CaseIgnoreList_FWD_DEFINED__
    323 #define __CaseIgnoreList_FWD_DEFINED__
    324 #ifdef __cplusplus
    325 typedef class CaseIgnoreList CaseIgnoreList;
    326 #else
    327 typedef struct CaseIgnoreList CaseIgnoreList;
    328 #endif
    329 #endif
    330 
    331 #ifndef __IADsFaxNumber_FWD_DEFINED__
    332 #define __IADsFaxNumber_FWD_DEFINED__
    333 typedef struct IADsFaxNumber IADsFaxNumber;
    334 #endif
    335 
    336 #ifndef __FaxNumber_FWD_DEFINED__
    337 #define __FaxNumber_FWD_DEFINED__
    338 #ifdef __cplusplus
    339 typedef class FaxNumber FaxNumber;
    340 #else
    341 typedef struct FaxNumber FaxNumber;
    342 #endif
    343 #endif
    344 
    345 #ifndef __IADsNetAddress_FWD_DEFINED__
    346 #define __IADsNetAddress_FWD_DEFINED__
    347 typedef struct IADsNetAddress IADsNetAddress;
    348 #endif
    349 
    350 #ifndef __NetAddress_FWD_DEFINED__
    351 #define __NetAddress_FWD_DEFINED__
    352 #ifdef __cplusplus
    353 typedef class NetAddress NetAddress;
    354 #else
    355 typedef struct NetAddress NetAddress;
    356 #endif
    357 #endif
    358 
    359 #ifndef __IADsOctetList_FWD_DEFINED__
    360 #define __IADsOctetList_FWD_DEFINED__
    361 typedef struct IADsOctetList IADsOctetList;
    362 #endif
    363 
    364 #ifndef __OctetList_FWD_DEFINED__
    365 #define __OctetList_FWD_DEFINED__
    366 #ifdef __cplusplus
    367 typedef class OctetList OctetList;
    368 #else
    369 typedef struct OctetList OctetList;
    370 #endif
    371 #endif
    372 
    373 #ifndef __IADsEmail_FWD_DEFINED__
    374 #define __IADsEmail_FWD_DEFINED__
    375 typedef struct IADsEmail IADsEmail;
    376 #endif
    377 
    378 #ifndef __Email_FWD_DEFINED__
    379 #define __Email_FWD_DEFINED__
    380 #ifdef __cplusplus
    381 typedef class Email Email;
    382 #else
    383 typedef struct Email Email;
    384 #endif
    385 #endif
    386 
    387 #ifndef __IADsPath_FWD_DEFINED__
    388 #define __IADsPath_FWD_DEFINED__
    389 typedef struct IADsPath IADsPath;
    390 #endif
    391 
    392 #ifndef __Path_FWD_DEFINED__
    393 #define __Path_FWD_DEFINED__
    394 #ifdef __cplusplus
    395 typedef class Path Path;
    396 #else
    397 typedef struct Path Path;
    398 #endif
    399 #endif
    400 
    401 #ifndef __IADsReplicaPointer_FWD_DEFINED__
    402 #define __IADsReplicaPointer_FWD_DEFINED__
    403 typedef struct IADsReplicaPointer IADsReplicaPointer;
    404 #endif
    405 
    406 #ifndef __ReplicaPointer_FWD_DEFINED__
    407 #define __ReplicaPointer_FWD_DEFINED__
    408 #ifdef __cplusplus
    409 typedef class ReplicaPointer ReplicaPointer;
    410 #else
    411 typedef struct ReplicaPointer ReplicaPointer;
    412 #endif
    413 #endif
    414 
    415 #ifndef __IADsAcl_FWD_DEFINED__
    416 #define __IADsAcl_FWD_DEFINED__
    417 typedef struct IADsAcl IADsAcl;
    418 #endif
    419 
    420 #ifndef __IADsTimestamp_FWD_DEFINED__
    421 #define __IADsTimestamp_FWD_DEFINED__
    422 typedef struct IADsTimestamp IADsTimestamp;
    423 #endif
    424 
    425 #ifndef __Timestamp_FWD_DEFINED__
    426 #define __Timestamp_FWD_DEFINED__
    427 
    428 #ifdef __cplusplus
    429 typedef class Timestamp Timestamp;
    430 #else
    431 typedef struct Timestamp Timestamp;
    432 #endif
    433 #endif
    434 
    435 #ifndef __IADsPostalAddress_FWD_DEFINED__
    436 #define __IADsPostalAddress_FWD_DEFINED__
    437 typedef struct IADsPostalAddress IADsPostalAddress;
    438 #endif
    439 
    440 #ifndef __PostalAddress_FWD_DEFINED__
    441 #define __PostalAddress_FWD_DEFINED__
    442 #ifdef __cplusplus
    443 typedef class PostalAddress PostalAddress;
    444 #else
    445 typedef struct PostalAddress PostalAddress;
    446 #endif
    447 #endif
    448 
    449 #ifndef __IADsBackLink_FWD_DEFINED__
    450 #define __IADsBackLink_FWD_DEFINED__
    451 typedef struct IADsBackLink IADsBackLink;
    452 #endif
    453 
    454 #ifndef __BackLink_FWD_DEFINED__
    455 #define __BackLink_FWD_DEFINED__
    456 #ifdef __cplusplus
    457 typedef class BackLink BackLink;
    458 #else
    459 typedef struct BackLink BackLink;
    460 #endif
    461 #endif
    462 
    463 #ifndef __IADsTypedName_FWD_DEFINED__
    464 #define __IADsTypedName_FWD_DEFINED__
    465 typedef struct IADsTypedName IADsTypedName;
    466 #endif
    467 
    468 #ifndef __TypedName_FWD_DEFINED__
    469 #define __TypedName_FWD_DEFINED__
    470 #ifdef __cplusplus
    471 typedef class TypedName TypedName;
    472 #else
    473 typedef struct TypedName TypedName;
    474 #endif
    475 #endif
    476 
    477 #ifndef __IADsHold_FWD_DEFINED__
    478 #define __IADsHold_FWD_DEFINED__
    479 typedef struct IADsHold IADsHold;
    480 #endif
    481 
    482 #ifndef __Hold_FWD_DEFINED__
    483 #define __Hold_FWD_DEFINED__
    484 #ifdef __cplusplus
    485 typedef class Hold Hold;
    486 #else
    487 typedef struct Hold Hold;
    488 #endif
    489 #endif
    490 
    491 #ifndef __IADsObjectOptions_FWD_DEFINED__
    492 #define __IADsObjectOptions_FWD_DEFINED__
    493 typedef struct IADsObjectOptions IADsObjectOptions;
    494 #endif
    495 
    496 #ifndef __IADsPathname_FWD_DEFINED__
    497 #define __IADsPathname_FWD_DEFINED__
    498 typedef struct IADsPathname IADsPathname;
    499 #endif
    500 
    501 #ifndef __Pathname_FWD_DEFINED__
    502 #define __Pathname_FWD_DEFINED__
    503 #ifdef __cplusplus
    504 typedef class Pathname Pathname;
    505 #else
    506 typedef struct Pathname Pathname;
    507 #endif
    508 #endif
    509 
    510 #ifndef __IADsADSystemInfo_FWD_DEFINED__
    511 #define __IADsADSystemInfo_FWD_DEFINED__
    512 typedef struct IADsADSystemInfo IADsADSystemInfo;
    513 #endif
    514 
    515 #ifndef __ADSystemInfo_FWD_DEFINED__
    516 #define __ADSystemInfo_FWD_DEFINED__
    517 #ifdef __cplusplus
    518 typedef class ADSystemInfo ADSystemInfo;
    519 #else
    520 typedef struct ADSystemInfo ADSystemInfo;
    521 #endif
    522 #endif
    523 
    524 #ifndef __IADsWinNTSystemInfo_FWD_DEFINED__
    525 #define __IADsWinNTSystemInfo_FWD_DEFINED__
    526 typedef struct IADsWinNTSystemInfo IADsWinNTSystemInfo;
    527 #endif
    528 
    529 #ifndef __WinNTSystemInfo_FWD_DEFINED__
    530 #define __WinNTSystemInfo_FWD_DEFINED__
    531 #ifdef __cplusplus
    532 typedef class WinNTSystemInfo WinNTSystemInfo;
    533 #else
    534 typedef struct WinNTSystemInfo WinNTSystemInfo;
    535 #endif
    536 #endif
    537 
    538 #ifndef __IADsDNWithBinary_FWD_DEFINED__
    539 #define __IADsDNWithBinary_FWD_DEFINED__
    540 typedef struct IADsDNWithBinary IADsDNWithBinary;
    541 #endif
    542 
    543 #ifndef __DNWithBinary_FWD_DEFINED__
    544 #define __DNWithBinary_FWD_DEFINED__
    545 #ifdef __cplusplus
    546 typedef class DNWithBinary DNWithBinary;
    547 #else
    548 typedef struct DNWithBinary DNWithBinary;
    549 #endif
    550 #endif
    551 
    552 #ifndef __IADsDNWithString_FWD_DEFINED__
    553 #define __IADsDNWithString_FWD_DEFINED__
    554 typedef struct IADsDNWithString IADsDNWithString;
    555 #endif
    556 
    557 #ifndef __DNWithString_FWD_DEFINED__
    558 #define __DNWithString_FWD_DEFINED__
    559 #ifdef __cplusplus
    560 typedef class DNWithString DNWithString;
    561 #else
    562 typedef struct DNWithString DNWithString;
    563 #endif
    564 #endif
    565 
    566 #ifndef __IADsSecurityUtility_FWD_DEFINED__
    567 #define __IADsSecurityUtility_FWD_DEFINED__
    568 typedef struct IADsSecurityUtility IADsSecurityUtility;
    569 #endif
    570 
    571 #ifndef __ADsSecurityUtility_FWD_DEFINED__
    572 #define __ADsSecurityUtility_FWD_DEFINED__
    573 #ifdef __cplusplus
    574 typedef class ADsSecurityUtility ADsSecurityUtility;
    575 #else
    576 typedef struct ADsSecurityUtility ADsSecurityUtility;
    577 #endif
    578 #endif
    579 
    580 #ifdef __cplusplus
    581 extern "C"{
    582 #endif
    583 
    584 #ifndef __MIDL_user_allocate_free_DEFINED__
    585 #define __MIDL_user_allocate_free_DEFINED__
    586   void *__RPC_API MIDL_user_allocate(size_t);
    587   void __RPC_API MIDL_user_free(void *);
    588 #endif
    589 
    590 #ifndef __ActiveDs_LIBRARY_DEFINED__
    591 #define __ActiveDs_LIBRARY_DEFINED__
    592 
    593   typedef enum __MIDL___MIDL_itf_ads_0000_0001 {
    594     ADSTYPE_INVALID = 0,ADSTYPE_DN_STRING,ADSTYPE_CASE_EXACT_STRING,
    595     ADSTYPE_CASE_IGNORE_STRING,ADSTYPE_PRINTABLE_STRING,
    596     ADSTYPE_NUMERIC_STRING,ADSTYPE_BOOLEAN,ADSTYPE_INTEGER,
    597     ADSTYPE_OCTET_STRING,ADSTYPE_UTC_TIME,ADSTYPE_LARGE_INTEGER,
    598     ADSTYPE_PROV_SPECIFIC,ADSTYPE_OBJECT_CLASS,ADSTYPE_CASEIGNORE_LIST,
    599     ADSTYPE_OCTET_LIST,ADSTYPE_PATH,ADSTYPE_POSTALADDRESS,ADSTYPE_TIMESTAMP,
    600     ADSTYPE_BACKLINK,ADSTYPE_TYPEDNAME,ADSTYPE_HOLD,ADSTYPE_NETADDRESS,
    601     ADSTYPE_REPLICAPOINTER,ADSTYPE_FAXNUMBER,ADSTYPE_EMAIL,
    602     ADSTYPE_NT_SECURITY_DESCRIPTOR,ADSTYPE_UNKNOWN,ADSTYPE_DN_WITH_BINARY,
    603     ADSTYPE_DN_WITH_STRING
    604   } ADSTYPEENUM;
    605 
    606   typedef ADSTYPEENUM ADSTYPE;
    607   typedef unsigned char BYTE;
    608   typedef unsigned char *LPBYTE;
    609   typedef unsigned char *PBYTE;
    610   typedef LPWSTR ADS_DN_STRING;
    611   typedef LPWSTR *PADS_DN_STRING;
    612   typedef LPWSTR ADS_CASE_EXACT_STRING;
    613   typedef LPWSTR *PADS_CASE_EXACT_STRING;
    614   typedef LPWSTR ADS_CASE_IGNORE_STRING;
    615   typedef LPWSTR *PADS_CASE_IGNORE_STRING;
    616   typedef LPWSTR ADS_PRINTABLE_STRING;
    617   typedef LPWSTR *PADS_PRINTABLE_STRING;
    618   typedef LPWSTR ADS_NUMERIC_STRING;
    619   typedef LPWSTR *PADS_NUMERIC_STRING;
    620   typedef DWORD ADS_BOOLEAN;
    621   typedef DWORD *LPNDS_BOOLEAN;
    622   typedef DWORD ADS_INTEGER;
    623   typedef DWORD *PADS_INTEGER;
    624 
    625   typedef struct __MIDL___MIDL_itf_ads_0000_0002 {
    626     DWORD dwLength;
    627     LPBYTE lpValue;
    628   } ADS_OCTET_STRING;
    629   typedef struct __MIDL___MIDL_itf_ads_0000_0002 *PADS_OCTET_STRING;
    630 
    631   typedef struct __MIDL___MIDL_itf_ads_0000_0003 {
    632     DWORD dwLength;
    633     LPBYTE lpValue;
    634   } ADS_NT_SECURITY_DESCRIPTOR;
    635   typedef struct __MIDL___MIDL_itf_ads_0000_0003 *PADS_NT_SECURITY_DESCRIPTOR;
    636 
    637   typedef SYSTEMTIME ADS_UTC_TIME;
    638   typedef SYSTEMTIME *PADS_UTC_TIME;
    639   typedef LARGE_INTEGER ADS_LARGE_INTEGER;
    640   typedef LARGE_INTEGER *PADS_LARGE_INTEGER;
    641   typedef LPWSTR ADS_OBJECT_CLASS;
    642   typedef LPWSTR *PADS_OBJECT_CLASS;
    643 
    644   typedef struct __MIDL___MIDL_itf_ads_0000_0004 {
    645     DWORD dwLength;
    646     LPBYTE lpValue;
    647   } ADS_PROV_SPECIFIC;
    648   typedef struct __MIDL___MIDL_itf_ads_0000_0004 *PADS_PROV_SPECIFIC;
    649 
    650   typedef struct _ADS_CASEIGNORE_LIST {
    651     struct _ADS_CASEIGNORE_LIST *Next;
    652     LPWSTR String;
    653   } ADS_CASEIGNORE_LIST;
    654   typedef struct _ADS_CASEIGNORE_LIST *PADS_CASEIGNORE_LIST;
    655 
    656   typedef struct _ADS_OCTET_LIST {
    657     struct _ADS_OCTET_LIST *Next;
    658     DWORD Length;
    659     BYTE *Data;
    660   } ADS_OCTET_LIST;
    661   typedef struct _ADS_OCTET_LIST *PADS_OCTET_LIST;
    662 
    663   typedef struct __MIDL___MIDL_itf_ads_0000_0005 {
    664     DWORD Type;
    665     LPWSTR VolumeName;
    666     LPWSTR Path;
    667   } ADS_PATH;
    668   typedef struct __MIDL___MIDL_itf_ads_0000_0005 *PADS_PATH;
    669 
    670   typedef struct __MIDL___MIDL_itf_ads_0000_0006 {
    671     LPWSTR PostalAddress[6];
    672   } ADS_POSTALADDRESS;
    673 
    674   typedef struct __MIDL___MIDL_itf_ads_0000_0006 *PADS_POSTALADDRESS;
    675 
    676   typedef struct __MIDL___MIDL_itf_ads_0000_0007 {
    677     DWORD WholeSeconds;
    678     DWORD EventID;
    679   } ADS_TIMESTAMP;
    680   typedef struct __MIDL___MIDL_itf_ads_0000_0007 *PADS_TIMESTAMP;
    681 
    682   typedef struct __MIDL___MIDL_itf_ads_0000_0008 {
    683     DWORD RemoteID;
    684     LPWSTR ObjectName;
    685   } ADS_BACKLINK;
    686   typedef struct __MIDL___MIDL_itf_ads_0000_0008 *PADS_BACKLINK;
    687 
    688   typedef struct __MIDL___MIDL_itf_ads_0000_0009 {
    689     LPWSTR ObjectName;
    690     DWORD Level;
    691     DWORD Interval;
    692   } ADS_TYPEDNAME;
    693   typedef struct __MIDL___MIDL_itf_ads_0000_0009 *PADS_TYPEDNAME;
    694 
    695   typedef struct __MIDL___MIDL_itf_ads_0000_0010 {
    696     LPWSTR ObjectName;
    697     DWORD Amount;
    698   } ADS_HOLD;
    699   typedef struct __MIDL___MIDL_itf_ads_0000_0010 *PADS_HOLD;
    700 
    701   typedef struct __MIDL___MIDL_itf_ads_0000_0011 {
    702     DWORD AddressType;
    703     DWORD AddressLength;
    704     BYTE *Address;
    705   } ADS_NETADDRESS;
    706   typedef struct __MIDL___MIDL_itf_ads_0000_0011 *PADS_NETADDRESS;
    707 
    708   typedef struct __MIDL___MIDL_itf_ads_0000_0012 {
    709     LPWSTR ServerName;
    710     DWORD ReplicaType;
    711     DWORD ReplicaNumber;
    712     DWORD Count;
    713     PADS_NETADDRESS ReplicaAddressHints;
    714   } ADS_REPLICAPOINTER;
    715   typedef struct __MIDL___MIDL_itf_ads_0000_0012 *PADS_REPLICAPOINTER;
    716 
    717   typedef struct __MIDL___MIDL_itf_ads_0000_0013 {
    718     LPWSTR TelephoneNumber;
    719     DWORD NumberOfBits;
    720     LPBYTE Parameters;
    721   } ADS_FAXNUMBER;
    722   typedef struct __MIDL___MIDL_itf_ads_0000_0013 *PADS_FAXNUMBER;
    723 
    724   typedef struct __MIDL___MIDL_itf_ads_0000_0014 {
    725     LPWSTR Address;
    726     DWORD Type;
    727   } ADS_EMAIL;
    728   typedef struct __MIDL___MIDL_itf_ads_0000_0014 *PADS_EMAIL;
    729 
    730   typedef struct __MIDL___MIDL_itf_ads_0000_0015 {
    731     DWORD dwLength;
    732     LPBYTE lpBinaryValue;
    733     LPWSTR pszDNString;
    734   } ADS_DN_WITH_BINARY;
    735   typedef struct __MIDL___MIDL_itf_ads_0000_0015 *PADS_DN_WITH_BINARY;
    736 
    737   typedef struct __MIDL___MIDL_itf_ads_0000_0016 {
    738     LPWSTR pszStringValue;
    739     LPWSTR pszDNString;
    740   } ADS_DN_WITH_STRING;
    741   typedef struct __MIDL___MIDL_itf_ads_0000_0016 *PADS_DN_WITH_STRING;
    742 
    743   typedef struct _adsvalue {
    744     ADSTYPE dwType;
    745     __C89_NAMELESS union {
    746       ADS_DN_STRING DNString;
    747       ADS_CASE_EXACT_STRING CaseExactString;
    748       ADS_CASE_IGNORE_STRING CaseIgnoreString;
    749       ADS_PRINTABLE_STRING PrintableString;
    750       ADS_NUMERIC_STRING NumericString;
    751       ADS_BOOLEAN Boolean;
    752       ADS_INTEGER Integer;
    753       ADS_OCTET_STRING OctetString;
    754       ADS_UTC_TIME UTCTime;
    755       ADS_LARGE_INTEGER LargeInteger;
    756       ADS_OBJECT_CLASS ClassName;
    757       ADS_PROV_SPECIFIC ProviderSpecific;
    758       PADS_CASEIGNORE_LIST pCaseIgnoreList;
    759       PADS_OCTET_LIST pOctetList;
    760       PADS_PATH pPath;
    761       PADS_POSTALADDRESS pPostalAddress;
    762       ADS_TIMESTAMP Timestamp;
    763       ADS_BACKLINK BackLink;
    764       PADS_TYPEDNAME pTypedName;
    765       ADS_HOLD Hold;
    766       PADS_NETADDRESS pNetAddress;
    767       PADS_REPLICAPOINTER pReplicaPointer;
    768       PADS_FAXNUMBER pFaxNumber;
    769       ADS_EMAIL Email;
    770       ADS_NT_SECURITY_DESCRIPTOR SecurityDescriptor;
    771       PADS_DN_WITH_BINARY pDNWithBinary;
    772       PADS_DN_WITH_STRING pDNWithString;
    773     };
    774   } ADSVALUE;
    775   typedef struct _adsvalue *PADSVALUE;
    776 
    777   typedef struct _adsvalue *LPADSVALUE;
    778 
    779   typedef struct _ads_attr_info {
    780     LPWSTR pszAttrName;
    781     DWORD dwControlCode;
    782     ADSTYPE dwADsType;
    783     PADSVALUE pADsValues;
    784     DWORD dwNumValues;
    785   } ADS_ATTR_INFO;
    786 
    787   typedef struct _ads_attr_info *PADS_ATTR_INFO;
    788 
    789   typedef enum __MIDL___MIDL_itf_ads_0000_0018 {
    790     ADS_SECURE_AUTHENTICATION = 0x1,ADS_USE_ENCRYPTION = 0x2,ADS_USE_SSL = 0x2,ADS_READONLY_SERVER = 0x4,ADS_PROMPT_CREDENTIALS = 0x8,
    791     ADS_NO_AUTHENTICATION = 0x10,ADS_FAST_BIND = 0x20,ADS_USE_SIGNING = 0x40,ADS_USE_SEALING = 0x80,ADS_USE_DELEGATION = 0x100,
    792     ADS_SERVER_BIND = 0x200,
    793     ADS_NO_REFERRAL_CHASING = 0x400,
    794     ADS_AUTH_RESERVED = 0x80000000
    795   } ADS_AUTHENTICATION_ENUM;
    796 
    797 #define ADS_ATTR_CLEAR (1)
    798 #define ADS_ATTR_UPDATE (2)
    799 #define ADS_ATTR_APPEND (3)
    800 #define ADS_ATTR_DELETE (4)
    801 
    802   typedef struct _ads_object_info {
    803     LPWSTR pszRDN;
    804     LPWSTR pszObjectDN;
    805     LPWSTR pszParentDN;
    806     LPWSTR pszSchemaDN;
    807     LPWSTR pszClassName;
    808   } ADS_OBJECT_INFO;
    809   typedef struct _ads_object_info *PADS_OBJECT_INFO;
    810 
    811   typedef enum __MIDL___MIDL_itf_ads_0000_0019 {
    812     ADS_STATUS_S_OK = 0,ADS_STATUS_INVALID_SEARCHPREF,ADS_STATUS_INVALID_SEARCHPREFVALUE
    813   } ADS_STATUSENUM;
    814 
    815   typedef ADS_STATUSENUM ADS_STATUS;
    816   typedef ADS_STATUSENUM *PADS_STATUS;
    817 
    818   typedef enum __MIDL___MIDL_itf_ads_0000_0020 {
    819     ADS_DEREF_NEVER = 0,ADS_DEREF_SEARCHING = 1,ADS_DEREF_FINDING = 2,ADS_DEREF_ALWAYS = 3
    820   } ADS_DEREFENUM;
    821 
    822   typedef enum __MIDL___MIDL_itf_ads_0000_0021 {
    823     ADS_SCOPE_BASE = 0,ADS_SCOPE_ONELEVEL = 1,ADS_SCOPE_SUBTREE = 2
    824   } ADS_SCOPEENUM;
    825 
    826   typedef enum __MIDL___MIDL_itf_ads_0000_0022 {
    827     ADSIPROP_ASYNCHRONOUS = 0,ADSIPROP_DEREF_ALIASES = 0x1,ADSIPROP_SIZE_LIMIT = 0x2,ADSIPROP_TIME_LIMIT = 0x3,ADSIPROP_ATTRIBTYPES_ONLY = 0x4,
    828     ADSIPROP_SEARCH_SCOPE = 0x5,ADSIPROP_TIMEOUT = 0x6,ADSIPROP_PAGESIZE = 0x7,ADSIPROP_PAGED_TIME_LIMIT = 0x8,ADSIPROP_CHASE_REFERRALS = 0x9,
    829     ADSIPROP_SORT_ON = 0xa,ADSIPROP_CACHE_RESULTS = 0xb,ADSIPROP_ADSIFLAG = 0xc
    830   } ADS_PREFERENCES_ENUM;
    831 
    832   typedef enum __MIDL___MIDL_itf_ads_0000_0023 {
    833     ADSI_DIALECT_LDAP = 0,ADSI_DIALECT_SQL = 0x1
    834   } ADSI_DIALECT_ENUM;
    835 
    836   typedef enum __MIDL___MIDL_itf_ads_0000_0024 {
    837     ADS_CHASE_REFERRALS_NEVER = 0,ADS_CHASE_REFERRALS_SUBORDINATE = 0x20,ADS_CHASE_REFERRALS_EXTERNAL = 0x40,
    838     ADS_CHASE_REFERRALS_ALWAYS = ADS_CHASE_REFERRALS_SUBORDINATE | ADS_CHASE_REFERRALS_EXTERNAL
    839   } ADS_CHASE_REFERRALS_ENUM;
    840 
    841   typedef enum __MIDL___MIDL_itf_ads_0000_0025 {
    842     ADS_SEARCHPREF_ASYNCHRONOUS = 0,ADS_SEARCHPREF_DEREF_ALIASES,
    843     ADS_SEARCHPREF_SIZE_LIMIT,ADS_SEARCHPREF_TIME_LIMIT,
    844     ADS_SEARCHPREF_ATTRIBTYPES_ONLY,ADS_SEARCHPREF_SEARCH_SCOPE,
    845     ADS_SEARCHPREF_TIMEOUT,ADS_SEARCHPREF_PAGESIZE,
    846     ADS_SEARCHPREF_PAGED_TIME_LIMIT,ADS_SEARCHPREF_CHASE_REFERRALS,
    847     ADS_SEARCHPREF_SORT_ON,ADS_SEARCHPREF_CACHE_RESULTS,
    848     ADS_SEARCHPREF_DIRSYNC,ADS_SEARCHPREF_TOMBSTONE,
    849     ADS_SEARCHPREF_VLV,ADS_SEARCHPREF_ATTRIBUTE_QUERY,
    850     ADS_SEARCHPREF_SECURITY_MASK,ADS_SEARCHPREF_DIRSYNC_FLAG,
    851     ADS_SEARCHPREF_EXTENDED_DN
    852   } ADS_SEARCHPREF_ENUM;
    853 
    854   typedef enum __MIDL___MIDL_itf_ads_0000_0026 {
    855     ADS_PASSWORD_ENCODE_REQUIRE_SSL = 0,ADS_PASSWORD_ENCODE_CLEAR = 1
    856   } ADS_PASSWORD_ENCODING_ENUM;
    857 
    858   typedef ADS_SEARCHPREF_ENUM ADS_SEARCHPREF;
    859 
    860   typedef struct ads_searchpref_info {
    861     ADS_SEARCHPREF dwSearchPref;
    862     ADSVALUE vValue;
    863     ADS_STATUS dwStatus;
    864   } ADS_SEARCHPREF_INFO;
    865 
    866   typedef struct ads_searchpref_info *PADS_SEARCHPREF_INFO;
    867   typedef struct ads_searchpref_info *LPADS_SEARCHPREF_INFO;
    868 
    869 #define ADS_DIRSYNC_COOKIE (L"fc8cb04d-311d-406c-8cb9-1ae8b843b418")
    870 #define ADS_VLV_RESPONSE (L"fc8cb04d-311d-406c-8cb9-1ae8b843b419")
    871 
    872   typedef HANDLE ADS_SEARCH_HANDLE;
    873   typedef HANDLE *PADS_SEARCH_HANDLE;
    874 
    875   typedef struct ads_search_column {
    876     LPWSTR pszAttrName;
    877     ADSTYPE dwADsType;
    878     PADSVALUE pADsValues;
    879     DWORD dwNumValues;
    880     HANDLE hReserved;
    881   } ADS_SEARCH_COLUMN;
    882 
    883   typedef struct ads_search_column *PADS_SEARCH_COLUMN;
    884 
    885   typedef struct _ads_attr_def {
    886     LPWSTR pszAttrName;
    887     ADSTYPE dwADsType;
    888     DWORD dwMinRange;
    889     DWORD dwMaxRange;
    890     WINBOOL fMultiValued;
    891   } ADS_ATTR_DEF;
    892 
    893   typedef struct _ads_attr_def *PADS_ATTR_DEF;
    894 
    895   typedef struct _ads_class_def {
    896     LPWSTR pszClassName;
    897     DWORD dwMandatoryAttrs;
    898     LPWSTR *ppszMandatoryAttrs;
    899     DWORD optionalAttrs;
    900     LPWSTR **ppszOptionalAttrs;
    901     DWORD dwNamingAttrs;
    902     LPWSTR **ppszNamingAttrs;
    903     DWORD dwSuperClasses;
    904     LPWSTR **ppszSuperClasses;
    905     WINBOOL fIsContainer;
    906   } ADS_CLASS_DEF;
    907 
    908   typedef struct _ads_class_def *PADS_CLASS_DEF;
    909 
    910   typedef struct _ads_sortkey {
    911     LPWSTR pszAttrType;
    912     LPWSTR pszReserved;
    913     BOOLEAN fReverseorder;
    914   } ADS_SORTKEY;
    915 
    916   typedef struct _ads_sortkey *PADS_SORTKEY;
    917 
    918   typedef struct _ads_vlv {
    919     DWORD dwBeforeCount;
    920     DWORD dwAfterCount;
    921     DWORD dwOffset;
    922     DWORD dwContentCount;
    923     LPWSTR pszTarget;
    924     DWORD dwContextIDLength;
    925     LPBYTE lpContextID;
    926   } ADS_VLV;
    927 
    928   typedef struct _ads_vlv *PADS_VLV;
    929 
    930 #define ADS_EXT_MINEXTDISPID (1)
    931 
    932 #define ADS_EXT_MAXEXTDISPID (16777215)
    933 
    934 #define ADS_EXT_INITCREDENTIALS (1)
    935 #define ADS_EXT_INITIALIZE_COMPLETE (2)
    936 
    937   typedef enum __MIDL___MIDL_itf_ads_0000_0027 {
    938     ADS_PROPERTY_CLEAR = 1,ADS_PROPERTY_UPDATE = 2,ADS_PROPERTY_APPEND = 3,ADS_PROPERTY_DELETE = 4
    939   } ADS_PROPERTY_OPERATION_ENUM;
    940 
    941   typedef enum __MIDL___MIDL_itf_ads_0130_0001 {
    942     ADS_SYSTEMFLAG_DISALLOW_DELETE = 0x80000000,ADS_SYSTEMFLAG_CONFIG_ALLOW_RENAME = 0x40000000,ADS_SYSTEMFLAG_CONFIG_ALLOW_MOVE = 0x20000000,
    943     ADS_SYSTEMFLAG_CONFIG_ALLOW_LIMITED_MOVE = 0x10000000,ADS_SYSTEMFLAG_DOMAIN_DISALLOW_RENAME = 0x8000000,
    944     ADS_SYSTEMFLAG_DOMAIN_DISALLOW_MOVE = 0x4000000,ADS_SYSTEMFLAG_CR_NTDS_NC = 0x1,ADS_SYSTEMFLAG_CR_NTDS_DOMAIN = 0x2,
    945     ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED = 0x1,ADS_SYSTEMFLAG_ATTR_IS_CONSTRUCTED = 0x4
    946   } ADS_SYSTEMFLAG_ENUM;
    947 
    948   typedef enum __MIDL___MIDL_itf_ads_0136_0001 {
    949     ADS_GROUP_TYPE_GLOBAL_GROUP = 0x2,ADS_GROUP_TYPE_DOMAIN_LOCAL_GROUP = 0x4,ADS_GROUP_TYPE_LOCAL_GROUP = 0x4,ADS_GROUP_TYPE_UNIVERSAL_GROUP = 0x8,
    950     ADS_GROUP_TYPE_SECURITY_ENABLED = 0x80000000
    951   } ADS_GROUP_TYPE_ENUM;
    952 
    953   typedef enum ADS_USER_FLAG {
    954     ADS_UF_SCRIPT = 0x1,ADS_UF_ACCOUNTDISABLE = 0x2,ADS_UF_HOMEDIR_REQUIRED = 0x8,ADS_UF_LOCKOUT = 0x10,ADS_UF_PASSWD_NOTREQD = 0x20,
    955     ADS_UF_PASSWD_CANT_CHANGE = 0x40,ADS_UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED = 0x80,ADS_UF_TEMP_DUPLICATE_ACCOUNT = 0x100,ADS_UF_NORMAL_ACCOUNT = 0x200,
    956     ADS_UF_INTERDOMAIN_TRUST_ACCOUNT = 0x800,ADS_UF_WORKSTATION_TRUST_ACCOUNT = 0x1000,ADS_UF_SERVER_TRUST_ACCOUNT = 0x2000,
    957     ADS_UF_DONT_EXPIRE_PASSWD = 0x10000,ADS_UF_MNS_LOGON_ACCOUNT = 0x20000,ADS_UF_SMARTCARD_REQUIRED = 0x40000,
    958     ADS_UF_TRUSTED_FOR_DELEGATION = 0x80000,ADS_UF_NOT_DELEGATED = 0x100000,ADS_UF_USE_DES_KEY_ONLY = 0x200000,
    959     ADS_UF_DONT_REQUIRE_PREAUTH = 0x400000,ADS_UF_PASSWORD_EXPIRED = 0x800000,ADS_UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION = 0x1000000
    960   } ADS_USER_FLAG_ENUM;
    961 
    962   typedef enum __MIDL___MIDL_itf_ads_0158_0001 {
    963     ADS_RIGHT_DELETE = 0x10000,ADS_RIGHT_READ_CONTROL = 0x20000,ADS_RIGHT_WRITE_DAC = 0x40000,ADS_RIGHT_WRITE_OWNER = 0x80000,
    964     ADS_RIGHT_SYNCHRONIZE = 0x100000,ADS_RIGHT_ACCESS_SYSTEM_SECURITY = 0x1000000,ADS_RIGHT_GENERIC_READ = 0x80000000,
    965     ADS_RIGHT_GENERIC_WRITE = 0x40000000,ADS_RIGHT_GENERIC_EXECUTE = 0x20000000,ADS_RIGHT_GENERIC_ALL = 0x10000000,
    966     ADS_RIGHT_DS_CREATE_CHILD = 0x1,ADS_RIGHT_DS_DELETE_CHILD = 0x2,ADS_RIGHT_ACTRL_DS_LIST = 0x4,ADS_RIGHT_DS_SELF = 0x8,
    967     ADS_RIGHT_DS_READ_PROP = 0x10,ADS_RIGHT_DS_WRITE_PROP = 0x20,ADS_RIGHT_DS_DELETE_TREE = 0x40,ADS_RIGHT_DS_LIST_OBJECT = 0x80,ADS_RIGHT_DS_CONTROL_ACCESS = 0x100
    968   } ADS_RIGHTS_ENUM;
    969 
    970   typedef enum __MIDL___MIDL_itf_ads_0158_0002 {
    971     ADS_ACETYPE_ACCESS_ALLOWED = 0,ADS_ACETYPE_ACCESS_DENIED = 0x1,ADS_ACETYPE_SYSTEM_AUDIT = 0x2,ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = 0x5,
    972     ADS_ACETYPE_ACCESS_DENIED_OBJECT = 0x6,ADS_ACETYPE_SYSTEM_AUDIT_OBJECT = 0x7,ADS_ACETYPE_SYSTEM_ALARM_OBJECT = 0x8,
    973     ADS_ACETYPE_ACCESS_ALLOWED_CALLBACK = 0x9,ADS_ACETYPE_ACCESS_DENIED_CALLBACK = 0xa,ADS_ACETYPE_ACCESS_ALLOWED_CALLBACK_OBJECT = 0xb,
    974     ADS_ACETYPE_ACCESS_DENIED_CALLBACK_OBJECT = 0xc,ADS_ACETYPE_SYSTEM_AUDIT_CALLBACK = 0xd,ADS_ACETYPE_SYSTEM_ALARM_CALLBACK = 0xe,
    975     ADS_ACETYPE_SYSTEM_AUDIT_CALLBACK_OBJECT = 0xf,ADS_ACETYPE_SYSTEM_ALARM_CALLBACK_OBJECT = 0x10
    976   } ADS_ACETYPE_ENUM;
    977 
    978   typedef enum __MIDL___MIDL_itf_ads_0158_0003 {
    979     ADS_ACEFLAG_INHERIT_ACE = 0x2,ADS_ACEFLAG_NO_PROPAGATE_INHERIT_ACE = 0x4,ADS_ACEFLAG_INHERIT_ONLY_ACE = 0x8,ADS_ACEFLAG_INHERITED_ACE = 0x10,
    980     ADS_ACEFLAG_VALID_INHERIT_FLAGS = 0x1f,ADS_ACEFLAG_SUCCESSFUL_ACCESS = 0x40,ADS_ACEFLAG_FAILED_ACCESS = 0x80
    981   } ADS_ACEFLAG_ENUM;
    982 
    983   typedef enum __MIDL___MIDL_itf_ads_0158_0004 {
    984     ADS_FLAG_OBJECT_TYPE_PRESENT = 0x1,ADS_FLAG_INHERITED_OBJECT_TYPE_PRESENT = 0x2
    985   } ADS_FLAGTYPE_ENUM;
    986 
    987   typedef enum __MIDL___MIDL_itf_ads_0158_0005 {
    988     ADS_SD_CONTROL_SE_OWNER_DEFAULTED = 0x1,ADS_SD_CONTROL_SE_GROUP_DEFAULTED = 0x2,ADS_SD_CONTROL_SE_DACL_PRESENT = 0x4,
    989     ADS_SD_CONTROL_SE_DACL_DEFAULTED = 0x8,ADS_SD_CONTROL_SE_SACL_PRESENT = 0x10,ADS_SD_CONTROL_SE_SACL_DEFAULTED = 0x20,
    990     ADS_SD_CONTROL_SE_DACL_AUTO_INHERIT_REQ = 0x100,ADS_SD_CONTROL_SE_SACL_AUTO_INHERIT_REQ = 0x200,ADS_SD_CONTROL_SE_DACL_AUTO_INHERITED = 0x400,
    991     ADS_SD_CONTROL_SE_SACL_AUTO_INHERITED = 0x800,ADS_SD_CONTROL_SE_DACL_PROTECTED = 0x1000,ADS_SD_CONTROL_SE_SACL_PROTECTED = 0x2000,
    992     ADS_SD_CONTROL_SE_SELF_RELATIVE = 0x8000
    993   } ADS_SD_CONTROL_ENUM;
    994 
    995   typedef enum __MIDL___MIDL_itf_ads_0158_0006 {
    996     ADS_SD_REVISION_DS = 4
    997   } ADS_SD_REVISION_ENUM;
    998 
    999   typedef enum __MIDL___MIDL_itf_ads_0159_0001 {
   1000     ADS_NAME_TYPE_1779 = 1,ADS_NAME_TYPE_CANONICAL = 2,ADS_NAME_TYPE_NT4 = 3,ADS_NAME_TYPE_DISPLAY = 4,ADS_NAME_TYPE_DOMAIN_SIMPLE = 5,
   1001     ADS_NAME_TYPE_ENTERPRISE_SIMPLE = 6,ADS_NAME_TYPE_GUID = 7,ADS_NAME_TYPE_UNKNOWN = 8,ADS_NAME_TYPE_USER_PRINCIPAL_NAME = 9,
   1002     ADS_NAME_TYPE_CANONICAL_EX = 10,ADS_NAME_TYPE_SERVICE_PRINCIPAL_NAME = 11,ADS_NAME_TYPE_SID_OR_SID_HISTORY_NAME = 12
   1003   } ADS_NAME_TYPE_ENUM;
   1004 
   1005   typedef enum __MIDL___MIDL_itf_ads_0159_0002 {
   1006     ADS_NAME_INITTYPE_DOMAIN = 1,ADS_NAME_INITTYPE_SERVER = 2,ADS_NAME_INITTYPE_GC = 3
   1007   } ADS_NAME_INITTYPE_ENUM;
   1008 
   1009   typedef enum __MIDL___MIDL_itf_ads_0173_0001 {
   1010     ADS_OPTION_SERVERNAME = 0,ADS_OPTION_REFERRALS,ADS_OPTION_PAGE_SIZE,
   1011     ADS_OPTION_SECURITY_MASK,ADS_OPTION_MUTUAL_AUTH_STATUS,
   1012     ADS_OPTION_QUOTA,ADS_OPTION_PASSWORD_PORTNUMBER,
   1013     ADS_OPTION_PASSWORD_METHOD,ADS_OPTION_ACCUMULATIVE_MODIFICATION
   1014   } ADS_OPTION_ENUM;
   1015 
   1016   typedef enum __MIDL___MIDL_itf_ads_0173_0002 {
   1017     ADS_SECURITY_INFO_OWNER = 0x1,ADS_SECURITY_INFO_GROUP = 0x2,ADS_SECURITY_INFO_DACL = 0x4,ADS_SECURITY_INFO_SACL = 0x8
   1018   } ADS_SECURITY_INFO_ENUM;
   1019 
   1020   typedef enum __MIDL___MIDL_itf_ads_0174_0001 {
   1021     ADS_SETTYPE_FULL = 1,ADS_SETTYPE_PROVIDER = 2,ADS_SETTYPE_SERVER = 3,ADS_SETTYPE_DN = 4
   1022   } ADS_SETTYPE_ENUM;
   1023 
   1024   typedef enum __MIDL___MIDL_itf_ads_0174_0002 {
   1025     ADS_FORMAT_WINDOWS = 1,ADS_FORMAT_WINDOWS_NO_SERVER = 2,ADS_FORMAT_WINDOWS_DN = 3,ADS_FORMAT_WINDOWS_PARENT = 4,ADS_FORMAT_X500 = 5,
   1026     ADS_FORMAT_X500_NO_SERVER = 6,ADS_FORMAT_X500_DN = 7,ADS_FORMAT_X500_PARENT = 8,ADS_FORMAT_SERVER = 9,ADS_FORMAT_PROVIDER = 10,
   1027     ADS_FORMAT_LEAF = 11
   1028   } ADS_FORMAT_ENUM;
   1029 
   1030   typedef enum __MIDL___MIDL_itf_ads_0174_0003 {
   1031     ADS_DISPLAY_FULL = 1,ADS_DISPLAY_VALUE_ONLY = 2
   1032   } ADS_DISPLAY_ENUM;
   1033 
   1034   typedef enum __MIDL___MIDL_itf_ads_0174_0004 {
   1035     ADS_ESCAPEDMODE_DEFAULT = 1,ADS_ESCAPEDMODE_ON = 2,ADS_ESCAPEDMODE_OFF = 3,ADS_ESCAPEDMODE_OFF_EX = 4
   1036   } ADS_ESCAPE_MODE_ENUM;
   1037 
   1038   typedef enum __MIDL___MIDL_itf_ads_0179_0001 {
   1039     ADS_PATH_FILE = 1,ADS_PATH_FILESHARE = 2,ADS_PATH_REGISTRY = 3
   1040   } ADS_PATHTYPE_ENUM;
   1041 
   1042   typedef enum __MIDL___MIDL_itf_ads_0179_0002 {
   1043     ADS_SD_FORMAT_IID = 1,ADS_SD_FORMAT_RAW = 2,ADS_SD_FORMAT_HEXSTRING = 3
   1044   } ADS_SD_FORMAT_ENUM;
   1045 
   1046   EXTERN_C const IID LIBID_ActiveDs;
   1047 #ifndef __IADs_INTERFACE_DEFINED__
   1048 #define __IADs_INTERFACE_DEFINED__
   1049   EXTERN_C const IID IID_IADs;
   1050 #if defined(__cplusplus) && !defined(CINTERFACE)
   1051   struct IADs : public IDispatch {
   1052   public:
   1053     virtual HRESULT WINAPI get_Name(BSTR *retval) = 0;
   1054     virtual HRESULT WINAPI get_Class(BSTR *retval) = 0;
   1055     virtual HRESULT WINAPI get_GUID(BSTR *retval) = 0;
   1056     virtual HRESULT WINAPI get_ADsPath(BSTR *retval) = 0;
   1057     virtual HRESULT WINAPI get_Parent(BSTR *retval) = 0;
   1058     virtual HRESULT WINAPI get_Schema(BSTR *retval) = 0;
   1059     virtual HRESULT WINAPI GetInfo(void) = 0;
   1060     virtual HRESULT WINAPI SetInfo(void) = 0;
   1061     virtual HRESULT WINAPI Get(BSTR bstrName,VARIANT *pvProp) = 0;
   1062     virtual HRESULT WINAPI Put(BSTR bstrName,VARIANT vProp) = 0;
   1063     virtual HRESULT WINAPI GetEx(BSTR bstrName,VARIANT *pvProp) = 0;
   1064     virtual HRESULT WINAPI PutEx(__LONG32 lnControlCode,BSTR bstrName,VARIANT vProp) = 0;
   1065     virtual HRESULT WINAPI GetInfoEx(VARIANT vProperties,__LONG32 lnReserved) = 0;
   1066   };
   1067 #else
   1068   typedef struct IADsVtbl {
   1069     BEGIN_INTERFACE
   1070       HRESULT (WINAPI *QueryInterface)(IADs *This,REFIID riid,void **ppvObject);
   1071       ULONG (WINAPI *AddRef)(IADs *This);
   1072       ULONG (WINAPI *Release)(IADs *This);
   1073       HRESULT (WINAPI *GetTypeInfoCount)(IADs *This,UINT *pctinfo);
   1074       HRESULT (WINAPI *GetTypeInfo)(IADs *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1075       HRESULT (WINAPI *GetIDsOfNames)(IADs *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1076       HRESULT (WINAPI *Invoke)(IADs *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1077       HRESULT (WINAPI *get_Name)(IADs *This,BSTR *retval);
   1078       HRESULT (WINAPI *get_Class)(IADs *This,BSTR *retval);
   1079       HRESULT (WINAPI *get_GUID)(IADs *This,BSTR *retval);
   1080       HRESULT (WINAPI *get_ADsPath)(IADs *This,BSTR *retval);
   1081       HRESULT (WINAPI *get_Parent)(IADs *This,BSTR *retval);
   1082       HRESULT (WINAPI *get_Schema)(IADs *This,BSTR *retval);
   1083       HRESULT (WINAPI *GetInfo)(IADs *This);
   1084       HRESULT (WINAPI *SetInfo)(IADs *This);
   1085       HRESULT (WINAPI *Get)(IADs *This,BSTR bstrName,VARIANT *pvProp);
   1086       HRESULT (WINAPI *Put)(IADs *This,BSTR bstrName,VARIANT vProp);
   1087       HRESULT (WINAPI *GetEx)(IADs *This,BSTR bstrName,VARIANT *pvProp);
   1088       HRESULT (WINAPI *PutEx)(IADs *This,__LONG32 lnControlCode,BSTR bstrName,VARIANT vProp);
   1089       HRESULT (WINAPI *GetInfoEx)(IADs *This,VARIANT vProperties,__LONG32 lnReserved);
   1090     END_INTERFACE
   1091   } IADsVtbl;
   1092   struct IADs {
   1093     CONST_VTBL struct IADsVtbl *lpVtbl;
   1094   };
   1095 #ifdef COBJMACROS
   1096 #define IADs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1097 #define IADs_AddRef(This) (This)->lpVtbl->AddRef(This)
   1098 #define IADs_Release(This) (This)->lpVtbl->Release(This)
   1099 #define IADs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1100 #define IADs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1101 #define IADs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1102 #define IADs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1103 #define IADs_get_Name(This,retval) (This)->lpVtbl->get_Name(This,retval)
   1104 #define IADs_get_Class(This,retval) (This)->lpVtbl->get_Class(This,retval)
   1105 #define IADs_get_GUID(This,retval) (This)->lpVtbl->get_GUID(This,retval)
   1106 #define IADs_get_ADsPath(This,retval) (This)->lpVtbl->get_ADsPath(This,retval)
   1107 #define IADs_get_Parent(This,retval) (This)->lpVtbl->get_Parent(This,retval)
   1108 #define IADs_get_Schema(This,retval) (This)->lpVtbl->get_Schema(This,retval)
   1109 #define IADs_GetInfo(This) (This)->lpVtbl->GetInfo(This)
   1110 #define IADs_SetInfo(This) (This)->lpVtbl->SetInfo(This)
   1111 #define IADs_Get(This,bstrName,pvProp) (This)->lpVtbl->Get(This,bstrName,pvProp)
   1112 #define IADs_Put(This,bstrName,vProp) (This)->lpVtbl->Put(This,bstrName,vProp)
   1113 #define IADs_GetEx(This,bstrName,pvProp) (This)->lpVtbl->GetEx(This,bstrName,pvProp)
   1114 #define IADs_PutEx(This,lnControlCode,bstrName,vProp) (This)->lpVtbl->PutEx(This,lnControlCode,bstrName,vProp)
   1115 #define IADs_GetInfoEx(This,vProperties,lnReserved) (This)->lpVtbl->GetInfoEx(This,vProperties,lnReserved)
   1116 #endif
   1117 #endif
   1118   HRESULT WINAPI IADs_get_Name_Proxy(IADs *This,BSTR *retval);
   1119   void __RPC_STUB IADs_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1120   HRESULT WINAPI IADs_get_Class_Proxy(IADs *This,BSTR *retval);
   1121   void __RPC_STUB IADs_get_Class_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1122   HRESULT WINAPI IADs_get_GUID_Proxy(IADs *This,BSTR *retval);
   1123   void __RPC_STUB IADs_get_GUID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1124   HRESULT WINAPI IADs_get_ADsPath_Proxy(IADs *This,BSTR *retval);
   1125   void __RPC_STUB IADs_get_ADsPath_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1126   HRESULT WINAPI IADs_get_Parent_Proxy(IADs *This,BSTR *retval);
   1127   void __RPC_STUB IADs_get_Parent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1128   HRESULT WINAPI IADs_get_Schema_Proxy(IADs *This,BSTR *retval);
   1129   void __RPC_STUB IADs_get_Schema_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1130   HRESULT WINAPI IADs_GetInfo_Proxy(IADs *This);
   1131   void __RPC_STUB IADs_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1132   HRESULT WINAPI IADs_SetInfo_Proxy(IADs *This);
   1133   void __RPC_STUB IADs_SetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1134   HRESULT WINAPI IADs_Get_Proxy(IADs *This,BSTR bstrName,VARIANT *pvProp);
   1135   void __RPC_STUB IADs_Get_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1136   HRESULT WINAPI IADs_Put_Proxy(IADs *This,BSTR bstrName,VARIANT vProp);
   1137   void __RPC_STUB IADs_Put_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1138   HRESULT WINAPI IADs_GetEx_Proxy(IADs *This,BSTR bstrName,VARIANT *pvProp);
   1139   void __RPC_STUB IADs_GetEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1140   HRESULT WINAPI IADs_PutEx_Proxy(IADs *This,__LONG32 lnControlCode,BSTR bstrName,VARIANT vProp);
   1141   void __RPC_STUB IADs_PutEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1142   HRESULT WINAPI IADs_GetInfoEx_Proxy(IADs *This,VARIANT vProperties,__LONG32 lnReserved);
   1143   void __RPC_STUB IADs_GetInfoEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1144 #endif
   1145 
   1146 #ifndef __IADsContainer_INTERFACE_DEFINED__
   1147 #define __IADsContainer_INTERFACE_DEFINED__
   1148   EXTERN_C const IID IID_IADsContainer;
   1149 #if defined(__cplusplus) && !defined(CINTERFACE)
   1150   struct IADsContainer : public IDispatch {
   1151   public:
   1152     virtual HRESULT WINAPI get_Count(__LONG32 *retval) = 0;
   1153     virtual HRESULT WINAPI get__NewEnum(IUnknown **retval) = 0;
   1154     virtual HRESULT WINAPI get_Filter(VARIANT *pVar) = 0;
   1155     virtual HRESULT WINAPI put_Filter(VARIANT Var) = 0;
   1156     virtual HRESULT WINAPI get_Hints(VARIANT *pvFilter) = 0;
   1157     virtual HRESULT WINAPI put_Hints(VARIANT vHints) = 0;
   1158     virtual HRESULT WINAPI GetObject(BSTR ClassName,BSTR RelativeName,IDispatch **ppObject) = 0;
   1159     virtual HRESULT WINAPI Create(BSTR ClassName,BSTR RelativeName,IDispatch **ppObject) = 0;
   1160     virtual HRESULT WINAPI Delete(BSTR bstrClassName,BSTR bstrRelativeName) = 0;
   1161     virtual HRESULT WINAPI CopyHere(BSTR SourceName,BSTR NewName,IDispatch **ppObject) = 0;
   1162     virtual HRESULT WINAPI MoveHere(BSTR SourceName,BSTR NewName,IDispatch **ppObject) = 0;
   1163   };
   1164 #else
   1165   typedef struct IADsContainerVtbl {
   1166     BEGIN_INTERFACE
   1167       HRESULT (WINAPI *QueryInterface)(IADsContainer *This,REFIID riid,void **ppvObject);
   1168       ULONG (WINAPI *AddRef)(IADsContainer *This);
   1169       ULONG (WINAPI *Release)(IADsContainer *This);
   1170       HRESULT (WINAPI *GetTypeInfoCount)(IADsContainer *This,UINT *pctinfo);
   1171       HRESULT (WINAPI *GetTypeInfo)(IADsContainer *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1172       HRESULT (WINAPI *GetIDsOfNames)(IADsContainer *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1173       HRESULT (WINAPI *Invoke)(IADsContainer *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1174       HRESULT (WINAPI *get_Count)(IADsContainer *This,__LONG32 *retval);
   1175       HRESULT (WINAPI *get__NewEnum)(IADsContainer *This,IUnknown **retval);
   1176       HRESULT (WINAPI *get_Filter)(IADsContainer *This,VARIANT *pVar);
   1177       HRESULT (WINAPI *put_Filter)(IADsContainer *This,VARIANT Var);
   1178       HRESULT (WINAPI *get_Hints)(IADsContainer *This,VARIANT *pvFilter);
   1179       HRESULT (WINAPI *put_Hints)(IADsContainer *This,VARIANT vHints);
   1180       HRESULT (WINAPI *GetObject)(IADsContainer *This,BSTR ClassName,BSTR RelativeName,IDispatch **ppObject);
   1181       HRESULT (WINAPI *Create)(IADsContainer *This,BSTR ClassName,BSTR RelativeName,IDispatch **ppObject);
   1182       HRESULT (WINAPI *Delete)(IADsContainer *This,BSTR bstrClassName,BSTR bstrRelativeName);
   1183       HRESULT (WINAPI *CopyHere)(IADsContainer *This,BSTR SourceName,BSTR NewName,IDispatch **ppObject);
   1184       HRESULT (WINAPI *MoveHere)(IADsContainer *This,BSTR SourceName,BSTR NewName,IDispatch **ppObject);
   1185     END_INTERFACE
   1186   } IADsContainerVtbl;
   1187   struct IADsContainer {
   1188     CONST_VTBL struct IADsContainerVtbl *lpVtbl;
   1189   };
   1190 #ifdef COBJMACROS
   1191 #define IADsContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1192 #define IADsContainer_AddRef(This) (This)->lpVtbl->AddRef(This)
   1193 #define IADsContainer_Release(This) (This)->lpVtbl->Release(This)
   1194 #define IADsContainer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1195 #define IADsContainer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1196 #define IADsContainer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1197 #define IADsContainer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1198 #define IADsContainer_get_Count(This,retval) (This)->lpVtbl->get_Count(This,retval)
   1199 #define IADsContainer_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval)
   1200 #define IADsContainer_get_Filter(This,pVar) (This)->lpVtbl->get_Filter(This,pVar)
   1201 #define IADsContainer_put_Filter(This,Var) (This)->lpVtbl->put_Filter(This,Var)
   1202 #define IADsContainer_get_Hints(This,pvFilter) (This)->lpVtbl->get_Hints(This,pvFilter)
   1203 #define IADsContainer_put_Hints(This,vHints) (This)->lpVtbl->put_Hints(This,vHints)
   1204 #define IADsContainer_GetObject(This,ClassName,RelativeName,ppObject) (This)->lpVtbl->GetObject(This,ClassName,RelativeName,ppObject)
   1205 #define IADsContainer_Create(This,ClassName,RelativeName,ppObject) (This)->lpVtbl->Create(This,ClassName,RelativeName,ppObject)
   1206 #define IADsContainer_Delete(This,bstrClassName,bstrRelativeName) (This)->lpVtbl->Delete(This,bstrClassName,bstrRelativeName)
   1207 #define IADsContainer_CopyHere(This,SourceName,NewName,ppObject) (This)->lpVtbl->CopyHere(This,SourceName,NewName,ppObject)
   1208 #define IADsContainer_MoveHere(This,SourceName,NewName,ppObject) (This)->lpVtbl->MoveHere(This,SourceName,NewName,ppObject)
   1209 #endif
   1210 #endif
   1211   HRESULT WINAPI IADsContainer_get_Count_Proxy(IADsContainer *This,__LONG32 *retval);
   1212   void __RPC_STUB IADsContainer_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1213   HRESULT WINAPI IADsContainer_get__NewEnum_Proxy(IADsContainer *This,IUnknown **retval);
   1214   void __RPC_STUB IADsContainer_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1215   HRESULT WINAPI IADsContainer_get_Filter_Proxy(IADsContainer *This,VARIANT *pVar);
   1216   void __RPC_STUB IADsContainer_get_Filter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1217   HRESULT WINAPI IADsContainer_put_Filter_Proxy(IADsContainer *This,VARIANT Var);
   1218   void __RPC_STUB IADsContainer_put_Filter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1219   HRESULT WINAPI IADsContainer_get_Hints_Proxy(IADsContainer *This,VARIANT *pvFilter);
   1220   void __RPC_STUB IADsContainer_get_Hints_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1221   HRESULT WINAPI IADsContainer_put_Hints_Proxy(IADsContainer *This,VARIANT vHints);
   1222   void __RPC_STUB IADsContainer_put_Hints_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1223   HRESULT WINAPI IADsContainer_GetObject_Proxy(IADsContainer *This,BSTR ClassName,BSTR RelativeName,IDispatch **ppObject);
   1224   void __RPC_STUB IADsContainer_GetObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1225   HRESULT WINAPI IADsContainer_Create_Proxy(IADsContainer *This,BSTR ClassName,BSTR RelativeName,IDispatch **ppObject);
   1226   void __RPC_STUB IADsContainer_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1227   HRESULT WINAPI IADsContainer_Delete_Proxy(IADsContainer *This,BSTR bstrClassName,BSTR bstrRelativeName);
   1228   void __RPC_STUB IADsContainer_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1229   HRESULT WINAPI IADsContainer_CopyHere_Proxy(IADsContainer *This,BSTR SourceName,BSTR NewName,IDispatch **ppObject);
   1230   void __RPC_STUB IADsContainer_CopyHere_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1231   HRESULT WINAPI IADsContainer_MoveHere_Proxy(IADsContainer *This,BSTR SourceName,BSTR NewName,IDispatch **ppObject);
   1232   void __RPC_STUB IADsContainer_MoveHere_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1233 #endif
   1234 
   1235 #ifndef __IADsCollection_INTERFACE_DEFINED__
   1236 #define __IADsCollection_INTERFACE_DEFINED__
   1237   EXTERN_C const IID IID_IADsCollection;
   1238 #if defined(__cplusplus) && !defined(CINTERFACE)
   1239   struct IADsCollection : public IDispatch {
   1240   public:
   1241     virtual HRESULT WINAPI get__NewEnum(IUnknown **ppEnumerator) = 0;
   1242     virtual HRESULT WINAPI Add(BSTR bstrName,VARIANT vItem) = 0;
   1243     virtual HRESULT WINAPI Remove(BSTR bstrItemToBeRemoved) = 0;
   1244     virtual HRESULT WINAPI GetObject(BSTR bstrName,VARIANT *pvItem) = 0;
   1245   };
   1246 #else
   1247   typedef struct IADsCollectionVtbl {
   1248     BEGIN_INTERFACE
   1249       HRESULT (WINAPI *QueryInterface)(IADsCollection *This,REFIID riid,void **ppvObject);
   1250       ULONG (WINAPI *AddRef)(IADsCollection *This);
   1251       ULONG (WINAPI *Release)(IADsCollection *This);
   1252       HRESULT (WINAPI *GetTypeInfoCount)(IADsCollection *This,UINT *pctinfo);
   1253       HRESULT (WINAPI *GetTypeInfo)(IADsCollection *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1254       HRESULT (WINAPI *GetIDsOfNames)(IADsCollection *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1255       HRESULT (WINAPI *Invoke)(IADsCollection *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1256       HRESULT (WINAPI *get__NewEnum)(IADsCollection *This,IUnknown **ppEnumerator);
   1257       HRESULT (WINAPI *Add)(IADsCollection *This,BSTR bstrName,VARIANT vItem);
   1258       HRESULT (WINAPI *Remove)(IADsCollection *This,BSTR bstrItemToBeRemoved);
   1259       HRESULT (WINAPI *GetObject)(IADsCollection *This,BSTR bstrName,VARIANT *pvItem);
   1260     END_INTERFACE
   1261   } IADsCollectionVtbl;
   1262   struct IADsCollection {
   1263     CONST_VTBL struct IADsCollectionVtbl *lpVtbl;
   1264   };
   1265 #ifdef COBJMACROS
   1266 #define IADsCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1267 #define IADsCollection_AddRef(This) (This)->lpVtbl->AddRef(This)
   1268 #define IADsCollection_Release(This) (This)->lpVtbl->Release(This)
   1269 #define IADsCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1270 #define IADsCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1271 #define IADsCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1272 #define IADsCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1273 #define IADsCollection_get__NewEnum(This,ppEnumerator) (This)->lpVtbl->get__NewEnum(This,ppEnumerator)
   1274 #define IADsCollection_Add(This,bstrName,vItem) (This)->lpVtbl->Add(This,bstrName,vItem)
   1275 #define IADsCollection_Remove(This,bstrItemToBeRemoved) (This)->lpVtbl->Remove(This,bstrItemToBeRemoved)
   1276 #define IADsCollection_GetObject(This,bstrName,pvItem) (This)->lpVtbl->GetObject(This,bstrName,pvItem)
   1277 #endif
   1278 #endif
   1279   HRESULT WINAPI IADsCollection_get__NewEnum_Proxy(IADsCollection *This,IUnknown **ppEnumerator);
   1280   void __RPC_STUB IADsCollection_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1281   HRESULT WINAPI IADsCollection_Add_Proxy(IADsCollection *This,BSTR bstrName,VARIANT vItem);
   1282   void __RPC_STUB IADsCollection_Add_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1283   HRESULT WINAPI IADsCollection_Remove_Proxy(IADsCollection *This,BSTR bstrItemToBeRemoved);
   1284   void __RPC_STUB IADsCollection_Remove_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1285   HRESULT WINAPI IADsCollection_GetObject_Proxy(IADsCollection *This,BSTR bstrName,VARIANT *pvItem);
   1286   void __RPC_STUB IADsCollection_GetObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1287 #endif
   1288 
   1289 #ifndef __IADsMembers_INTERFACE_DEFINED__
   1290 #define __IADsMembers_INTERFACE_DEFINED__
   1291   EXTERN_C const IID IID_IADsMembers;
   1292 #if defined(__cplusplus) && !defined(CINTERFACE)
   1293   struct IADsMembers : public IDispatch {
   1294   public:
   1295     virtual HRESULT WINAPI get_Count(__LONG32 *plCount) = 0;
   1296     virtual HRESULT WINAPI get__NewEnum(IUnknown **ppEnumerator) = 0;
   1297     virtual HRESULT WINAPI get_Filter(VARIANT *pvFilter) = 0;
   1298     virtual HRESULT WINAPI put_Filter(VARIANT pvFilter) = 0;
   1299   };
   1300 #else
   1301   typedef struct IADsMembersVtbl {
   1302     BEGIN_INTERFACE
   1303       HRESULT (WINAPI *QueryInterface)(IADsMembers *This,REFIID riid,void **ppvObject);
   1304       ULONG (WINAPI *AddRef)(IADsMembers *This);
   1305       ULONG (WINAPI *Release)(IADsMembers *This);
   1306       HRESULT (WINAPI *GetTypeInfoCount)(IADsMembers *This,UINT *pctinfo);
   1307       HRESULT (WINAPI *GetTypeInfo)(IADsMembers *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1308       HRESULT (WINAPI *GetIDsOfNames)(IADsMembers *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1309       HRESULT (WINAPI *Invoke)(IADsMembers *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1310       HRESULT (WINAPI *get_Count)(IADsMembers *This,__LONG32 *plCount);
   1311       HRESULT (WINAPI *get__NewEnum)(IADsMembers *This,IUnknown **ppEnumerator);
   1312       HRESULT (WINAPI *get_Filter)(IADsMembers *This,VARIANT *pvFilter);
   1313       HRESULT (WINAPI *put_Filter)(IADsMembers *This,VARIANT pvFilter);
   1314     END_INTERFACE
   1315   } IADsMembersVtbl;
   1316   struct IADsMembers {
   1317     CONST_VTBL struct IADsMembersVtbl *lpVtbl;
   1318   };
   1319 #ifdef COBJMACROS
   1320 #define IADsMembers_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1321 #define IADsMembers_AddRef(This) (This)->lpVtbl->AddRef(This)
   1322 #define IADsMembers_Release(This) (This)->lpVtbl->Release(This)
   1323 #define IADsMembers_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1324 #define IADsMembers_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1325 #define IADsMembers_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1326 #define IADsMembers_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1327 #define IADsMembers_get_Count(This,plCount) (This)->lpVtbl->get_Count(This,plCount)
   1328 #define IADsMembers_get__NewEnum(This,ppEnumerator) (This)->lpVtbl->get__NewEnum(This,ppEnumerator)
   1329 #define IADsMembers_get_Filter(This,pvFilter) (This)->lpVtbl->get_Filter(This,pvFilter)
   1330 #define IADsMembers_put_Filter(This,pvFilter) (This)->lpVtbl->put_Filter(This,pvFilter)
   1331 #endif
   1332 #endif
   1333   HRESULT WINAPI IADsMembers_get_Count_Proxy(IADsMembers *This,__LONG32 *plCount);
   1334   void __RPC_STUB IADsMembers_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1335   HRESULT WINAPI IADsMembers_get__NewEnum_Proxy(IADsMembers *This,IUnknown **ppEnumerator);
   1336   void __RPC_STUB IADsMembers_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1337   HRESULT WINAPI IADsMembers_get_Filter_Proxy(IADsMembers *This,VARIANT *pvFilter);
   1338   void __RPC_STUB IADsMembers_get_Filter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1339   HRESULT WINAPI IADsMembers_put_Filter_Proxy(IADsMembers *This,VARIANT pvFilter);
   1340   void __RPC_STUB IADsMembers_put_Filter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1341 #endif
   1342 
   1343 #ifndef __IADsPropertyList_INTERFACE_DEFINED__
   1344 #define __IADsPropertyList_INTERFACE_DEFINED__
   1345   EXTERN_C const IID IID_IADsPropertyList;
   1346 #if defined(__cplusplus) && !defined(CINTERFACE)
   1347   struct IADsPropertyList : public IDispatch {
   1348   public:
   1349     virtual HRESULT WINAPI get_PropertyCount(__LONG32 *plCount) = 0;
   1350     virtual HRESULT WINAPI Next(VARIANT *pVariant) = 0;
   1351     virtual HRESULT WINAPI Skip(__LONG32 cElements) = 0;
   1352     virtual HRESULT WINAPI Reset(void) = 0;
   1353     virtual HRESULT WINAPI Item(VARIANT varIndex,VARIANT *pVariant) = 0;
   1354     virtual HRESULT WINAPI GetPropertyItem(BSTR bstrName,LONG lnADsType,VARIANT *pVariant) = 0;
   1355     virtual HRESULT WINAPI PutPropertyItem(VARIANT varData) = 0;
   1356     virtual HRESULT WINAPI ResetPropertyItem(VARIANT varEntry) = 0;
   1357     virtual HRESULT WINAPI PurgePropertyList(void) = 0;
   1358   };
   1359 #else
   1360   typedef struct IADsPropertyListVtbl {
   1361     BEGIN_INTERFACE
   1362       HRESULT (WINAPI *QueryInterface)(IADsPropertyList *This,REFIID riid,void **ppvObject);
   1363       ULONG (WINAPI *AddRef)(IADsPropertyList *This);
   1364       ULONG (WINAPI *Release)(IADsPropertyList *This);
   1365       HRESULT (WINAPI *GetTypeInfoCount)(IADsPropertyList *This,UINT *pctinfo);
   1366       HRESULT (WINAPI *GetTypeInfo)(IADsPropertyList *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1367       HRESULT (WINAPI *GetIDsOfNames)(IADsPropertyList *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1368       HRESULT (WINAPI *Invoke)(IADsPropertyList *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1369       HRESULT (WINAPI *get_PropertyCount)(IADsPropertyList *This,__LONG32 *plCount);
   1370       HRESULT (WINAPI *Next)(IADsPropertyList *This,VARIANT *pVariant);
   1371       HRESULT (WINAPI *Skip)(IADsPropertyList *This,__LONG32 cElements);
   1372       HRESULT (WINAPI *Reset)(IADsPropertyList *This);
   1373       HRESULT (WINAPI *Item)(IADsPropertyList *This,VARIANT varIndex,VARIANT *pVariant);
   1374       HRESULT (WINAPI *GetPropertyItem)(IADsPropertyList *This,BSTR bstrName,LONG lnADsType,VARIANT *pVariant);
   1375       HRESULT (WINAPI *PutPropertyItem)(IADsPropertyList *This,VARIANT varData);
   1376       HRESULT (WINAPI *ResetPropertyItem)(IADsPropertyList *This,VARIANT varEntry);
   1377       HRESULT (WINAPI *PurgePropertyList)(IADsPropertyList *This);
   1378     END_INTERFACE
   1379   } IADsPropertyListVtbl;
   1380   struct IADsPropertyList {
   1381     CONST_VTBL struct IADsPropertyListVtbl *lpVtbl;
   1382   };
   1383 #ifdef COBJMACROS
   1384 #define IADsPropertyList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1385 #define IADsPropertyList_AddRef(This) (This)->lpVtbl->AddRef(This)
   1386 #define IADsPropertyList_Release(This) (This)->lpVtbl->Release(This)
   1387 #define IADsPropertyList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1388 #define IADsPropertyList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1389 #define IADsPropertyList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1390 #define IADsPropertyList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1391 #define IADsPropertyList_get_PropertyCount(This,plCount) (This)->lpVtbl->get_PropertyCount(This,plCount)
   1392 #define IADsPropertyList_Next(This,pVariant) (This)->lpVtbl->Next(This,pVariant)
   1393 #define IADsPropertyList_Skip(This,cElements) (This)->lpVtbl->Skip(This,cElements)
   1394 #define IADsPropertyList_Reset(This) (This)->lpVtbl->Reset(This)
   1395 #define IADsPropertyList_Item(This,varIndex,pVariant) (This)->lpVtbl->Item(This,varIndex,pVariant)
   1396 #define IADsPropertyList_GetPropertyItem(This,bstrName,lnADsType,pVariant) (This)->lpVtbl->GetPropertyItem(This,bstrName,lnADsType,pVariant)
   1397 #define IADsPropertyList_PutPropertyItem(This,varData) (This)->lpVtbl->PutPropertyItem(This,varData)
   1398 #define IADsPropertyList_ResetPropertyItem(This,varEntry) (This)->lpVtbl->ResetPropertyItem(This,varEntry)
   1399 #define IADsPropertyList_PurgePropertyList(This) (This)->lpVtbl->PurgePropertyList(This)
   1400 #endif
   1401 #endif
   1402   HRESULT WINAPI IADsPropertyList_get_PropertyCount_Proxy(IADsPropertyList *This,__LONG32 *plCount);
   1403   void __RPC_STUB IADsPropertyList_get_PropertyCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1404   HRESULT WINAPI IADsPropertyList_Next_Proxy(IADsPropertyList *This,VARIANT *pVariant);
   1405   void __RPC_STUB IADsPropertyList_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1406   HRESULT WINAPI IADsPropertyList_Skip_Proxy(IADsPropertyList *This,__LONG32 cElements);
   1407   void __RPC_STUB IADsPropertyList_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1408   HRESULT WINAPI IADsPropertyList_Reset_Proxy(IADsPropertyList *This);
   1409   void __RPC_STUB IADsPropertyList_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1410   HRESULT WINAPI IADsPropertyList_Item_Proxy(IADsPropertyList *This,VARIANT varIndex,VARIANT *pVariant);
   1411   void __RPC_STUB IADsPropertyList_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1412   HRESULT WINAPI IADsPropertyList_GetPropertyItem_Proxy(IADsPropertyList *This,BSTR bstrName,LONG lnADsType,VARIANT *pVariant);
   1413   void __RPC_STUB IADsPropertyList_GetPropertyItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1414   HRESULT WINAPI IADsPropertyList_PutPropertyItem_Proxy(IADsPropertyList *This,VARIANT varData);
   1415   void __RPC_STUB IADsPropertyList_PutPropertyItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1416   HRESULT WINAPI IADsPropertyList_ResetPropertyItem_Proxy(IADsPropertyList *This,VARIANT varEntry);
   1417   void __RPC_STUB IADsPropertyList_ResetPropertyItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1418   HRESULT WINAPI IADsPropertyList_PurgePropertyList_Proxy(IADsPropertyList *This);
   1419   void __RPC_STUB IADsPropertyList_PurgePropertyList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1420 #endif
   1421 
   1422 #ifndef __IADsPropertyEntry_INTERFACE_DEFINED__
   1423 #define __IADsPropertyEntry_INTERFACE_DEFINED__
   1424   EXTERN_C const IID IID_IADsPropertyEntry;
   1425 #if defined(__cplusplus) && !defined(CINTERFACE)
   1426   struct IADsPropertyEntry : public IDispatch {
   1427   public:
   1428     virtual HRESULT WINAPI Clear(void) = 0;
   1429     virtual HRESULT WINAPI get_Name(BSTR *retval) = 0;
   1430     virtual HRESULT WINAPI put_Name(BSTR bstrName) = 0;
   1431     virtual HRESULT WINAPI get_ADsType(__LONG32 *retval) = 0;
   1432     virtual HRESULT WINAPI put_ADsType(__LONG32 lnADsType) = 0;
   1433     virtual HRESULT WINAPI get_ControlCode(__LONG32 *retval) = 0;
   1434     virtual HRESULT WINAPI put_ControlCode(__LONG32 lnControlCode) = 0;
   1435     virtual HRESULT WINAPI get_Values(VARIANT *retval) = 0;
   1436     virtual HRESULT WINAPI put_Values(VARIANT vValues) = 0;
   1437   };
   1438 #else
   1439   typedef struct IADsPropertyEntryVtbl {
   1440     BEGIN_INTERFACE
   1441       HRESULT (WINAPI *QueryInterface)(IADsPropertyEntry *This,REFIID riid,void **ppvObject);
   1442       ULONG (WINAPI *AddRef)(IADsPropertyEntry *This);
   1443       ULONG (WINAPI *Release)(IADsPropertyEntry *This);
   1444       HRESULT (WINAPI *GetTypeInfoCount)(IADsPropertyEntry *This,UINT *pctinfo);
   1445       HRESULT (WINAPI *GetTypeInfo)(IADsPropertyEntry *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1446       HRESULT (WINAPI *GetIDsOfNames)(IADsPropertyEntry *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1447       HRESULT (WINAPI *Invoke)(IADsPropertyEntry *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1448       HRESULT (WINAPI *Clear)(IADsPropertyEntry *This);
   1449       HRESULT (WINAPI *get_Name)(IADsPropertyEntry *This,BSTR *retval);
   1450       HRESULT (WINAPI *put_Name)(IADsPropertyEntry *This,BSTR bstrName);
   1451       HRESULT (WINAPI *get_ADsType)(IADsPropertyEntry *This,__LONG32 *retval);
   1452       HRESULT (WINAPI *put_ADsType)(IADsPropertyEntry *This,__LONG32 lnADsType);
   1453       HRESULT (WINAPI *get_ControlCode)(IADsPropertyEntry *This,__LONG32 *retval);
   1454       HRESULT (WINAPI *put_ControlCode)(IADsPropertyEntry *This,__LONG32 lnControlCode);
   1455       HRESULT (WINAPI *get_Values)(IADsPropertyEntry *This,VARIANT *retval);
   1456       HRESULT (WINAPI *put_Values)(IADsPropertyEntry *This,VARIANT vValues);
   1457     END_INTERFACE
   1458   } IADsPropertyEntryVtbl;
   1459   struct IADsPropertyEntry {
   1460     CONST_VTBL struct IADsPropertyEntryVtbl *lpVtbl;
   1461   };
   1462 #ifdef COBJMACROS
   1463 #define IADsPropertyEntry_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1464 #define IADsPropertyEntry_AddRef(This) (This)->lpVtbl->AddRef(This)
   1465 #define IADsPropertyEntry_Release(This) (This)->lpVtbl->Release(This)
   1466 #define IADsPropertyEntry_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1467 #define IADsPropertyEntry_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1468 #define IADsPropertyEntry_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1469 #define IADsPropertyEntry_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1470 #define IADsPropertyEntry_Clear(This) (This)->lpVtbl->Clear(This)
   1471 #define IADsPropertyEntry_get_Name(This,retval) (This)->lpVtbl->get_Name(This,retval)
   1472 #define IADsPropertyEntry_put_Name(This,bstrName) (This)->lpVtbl->put_Name(This,bstrName)
   1473 #define IADsPropertyEntry_get_ADsType(This,retval) (This)->lpVtbl->get_ADsType(This,retval)
   1474 #define IADsPropertyEntry_put_ADsType(This,lnADsType) (This)->lpVtbl->put_ADsType(This,lnADsType)
   1475 #define IADsPropertyEntry_get_ControlCode(This,retval) (This)->lpVtbl->get_ControlCode(This,retval)
   1476 #define IADsPropertyEntry_put_ControlCode(This,lnControlCode) (This)->lpVtbl->put_ControlCode(This,lnControlCode)
   1477 #define IADsPropertyEntry_get_Values(This,retval) (This)->lpVtbl->get_Values(This,retval)
   1478 #define IADsPropertyEntry_put_Values(This,vValues) (This)->lpVtbl->put_Values(This,vValues)
   1479 #endif
   1480 #endif
   1481   HRESULT WINAPI IADsPropertyEntry_Clear_Proxy(IADsPropertyEntry *This);
   1482   void __RPC_STUB IADsPropertyEntry_Clear_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1483   HRESULT WINAPI IADsPropertyEntry_get_Name_Proxy(IADsPropertyEntry *This,BSTR *retval);
   1484   void __RPC_STUB IADsPropertyEntry_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1485   HRESULT WINAPI IADsPropertyEntry_put_Name_Proxy(IADsPropertyEntry *This,BSTR bstrName);
   1486   void __RPC_STUB IADsPropertyEntry_put_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1487   HRESULT WINAPI IADsPropertyEntry_get_ADsType_Proxy(IADsPropertyEntry *This,__LONG32 *retval);
   1488   void __RPC_STUB IADsPropertyEntry_get_ADsType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1489   HRESULT WINAPI IADsPropertyEntry_put_ADsType_Proxy(IADsPropertyEntry *This,__LONG32 lnADsType);
   1490   void __RPC_STUB IADsPropertyEntry_put_ADsType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1491   HRESULT WINAPI IADsPropertyEntry_get_ControlCode_Proxy(IADsPropertyEntry *This,__LONG32 *retval);
   1492   void __RPC_STUB IADsPropertyEntry_get_ControlCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1493   HRESULT WINAPI IADsPropertyEntry_put_ControlCode_Proxy(IADsPropertyEntry *This,__LONG32 lnControlCode);
   1494   void __RPC_STUB IADsPropertyEntry_put_ControlCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1495   HRESULT WINAPI IADsPropertyEntry_get_Values_Proxy(IADsPropertyEntry *This,VARIANT *retval);
   1496   void __RPC_STUB IADsPropertyEntry_get_Values_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1497   HRESULT WINAPI IADsPropertyEntry_put_Values_Proxy(IADsPropertyEntry *This,VARIANT vValues);
   1498   void __RPC_STUB IADsPropertyEntry_put_Values_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1499 #endif
   1500 
   1501   EXTERN_C const CLSID CLSID_PropertyEntry;
   1502 #ifdef __cplusplus
   1503   class PropertyEntry;
   1504 #endif
   1505 
   1506 #ifndef __IADsPropertyValue_INTERFACE_DEFINED__
   1507 #define __IADsPropertyValue_INTERFACE_DEFINED__
   1508   EXTERN_C const IID IID_IADsPropertyValue;
   1509 #if defined(__cplusplus) && !defined(CINTERFACE)
   1510   struct IADsPropertyValue : public IDispatch {
   1511   public:
   1512     virtual HRESULT WINAPI Clear(void) = 0;
   1513     virtual HRESULT WINAPI get_ADsType(__LONG32 *retval) = 0;
   1514     virtual HRESULT WINAPI put_ADsType(__LONG32 lnADsType) = 0;
   1515     virtual HRESULT WINAPI get_DNString(BSTR *retval) = 0;
   1516     virtual HRESULT WINAPI put_DNString(BSTR bstrDNString) = 0;
   1517     virtual HRESULT WINAPI get_CaseExactString(BSTR *retval) = 0;
   1518     virtual HRESULT WINAPI put_CaseExactString(BSTR bstrCaseExactString) = 0;
   1519     virtual HRESULT WINAPI get_CaseIgnoreString(BSTR *retval) = 0;
   1520     virtual HRESULT WINAPI put_CaseIgnoreString(BSTR bstrCaseIgnoreString) = 0;
   1521     virtual HRESULT WINAPI get_PrintableString(BSTR *retval) = 0;
   1522     virtual HRESULT WINAPI put_PrintableString(BSTR bstrPrintableString) = 0;
   1523     virtual HRESULT WINAPI get_NumericString(BSTR *retval) = 0;
   1524     virtual HRESULT WINAPI put_NumericString(BSTR bstrNumericString) = 0;
   1525     virtual HRESULT WINAPI get_Boolean(__LONG32 *retval) = 0;
   1526     virtual HRESULT WINAPI put_Boolean(__LONG32 lnBoolean) = 0;
   1527     virtual HRESULT WINAPI get_Integer(__LONG32 *retval) = 0;
   1528     virtual HRESULT WINAPI put_Integer(__LONG32 lnInteger) = 0;
   1529     virtual HRESULT WINAPI get_OctetString(VARIANT *retval) = 0;
   1530     virtual HRESULT WINAPI put_OctetString(VARIANT vOctetString) = 0;
   1531     virtual HRESULT WINAPI get_SecurityDescriptor(IDispatch **retval) = 0;
   1532     virtual HRESULT WINAPI put_SecurityDescriptor(IDispatch *pSecurityDescriptor) = 0;
   1533     virtual HRESULT WINAPI get_LargeInteger(IDispatch **retval) = 0;
   1534     virtual HRESULT WINAPI put_LargeInteger(IDispatch *pLargeInteger) = 0;
   1535     virtual HRESULT WINAPI get_UTCTime(DATE *retval) = 0;
   1536     virtual HRESULT WINAPI put_UTCTime(DATE daUTCTime) = 0;
   1537   };
   1538 #else
   1539   typedef struct IADsPropertyValueVtbl {
   1540     BEGIN_INTERFACE
   1541       HRESULT (WINAPI *QueryInterface)(IADsPropertyValue *This,REFIID riid,void **ppvObject);
   1542       ULONG (WINAPI *AddRef)(IADsPropertyValue *This);
   1543       ULONG (WINAPI *Release)(IADsPropertyValue *This);
   1544       HRESULT (WINAPI *GetTypeInfoCount)(IADsPropertyValue *This,UINT *pctinfo);
   1545       HRESULT (WINAPI *GetTypeInfo)(IADsPropertyValue *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1546       HRESULT (WINAPI *GetIDsOfNames)(IADsPropertyValue *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1547       HRESULT (WINAPI *Invoke)(IADsPropertyValue *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1548       HRESULT (WINAPI *Clear)(IADsPropertyValue *This);
   1549       HRESULT (WINAPI *get_ADsType)(IADsPropertyValue *This,__LONG32 *retval);
   1550       HRESULT (WINAPI *put_ADsType)(IADsPropertyValue *This,__LONG32 lnADsType);
   1551       HRESULT (WINAPI *get_DNString)(IADsPropertyValue *This,BSTR *retval);
   1552       HRESULT (WINAPI *put_DNString)(IADsPropertyValue *This,BSTR bstrDNString);
   1553       HRESULT (WINAPI *get_CaseExactString)(IADsPropertyValue *This,BSTR *retval);
   1554       HRESULT (WINAPI *put_CaseExactString)(IADsPropertyValue *This,BSTR bstrCaseExactString);
   1555       HRESULT (WINAPI *get_CaseIgnoreString)(IADsPropertyValue *This,BSTR *retval);
   1556       HRESULT (WINAPI *put_CaseIgnoreString)(IADsPropertyValue *This,BSTR bstrCaseIgnoreString);
   1557       HRESULT (WINAPI *get_PrintableString)(IADsPropertyValue *This,BSTR *retval);
   1558       HRESULT (WINAPI *put_PrintableString)(IADsPropertyValue *This,BSTR bstrPrintableString);
   1559       HRESULT (WINAPI *get_NumericString)(IADsPropertyValue *This,BSTR *retval);
   1560       HRESULT (WINAPI *put_NumericString)(IADsPropertyValue *This,BSTR bstrNumericString);
   1561       HRESULT (WINAPI *get_Boolean)(IADsPropertyValue *This,__LONG32 *retval);
   1562       HRESULT (WINAPI *put_Boolean)(IADsPropertyValue *This,__LONG32 lnBoolean);
   1563       HRESULT (WINAPI *get_Integer)(IADsPropertyValue *This,__LONG32 *retval);
   1564       HRESULT (WINAPI *put_Integer)(IADsPropertyValue *This,__LONG32 lnInteger);
   1565       HRESULT (WINAPI *get_OctetString)(IADsPropertyValue *This,VARIANT *retval);
   1566       HRESULT (WINAPI *put_OctetString)(IADsPropertyValue *This,VARIANT vOctetString);
   1567       HRESULT (WINAPI *get_SecurityDescriptor)(IADsPropertyValue *This,IDispatch **retval);
   1568       HRESULT (WINAPI *put_SecurityDescriptor)(IADsPropertyValue *This,IDispatch *pSecurityDescriptor);
   1569       HRESULT (WINAPI *get_LargeInteger)(IADsPropertyValue *This,IDispatch **retval);
   1570       HRESULT (WINAPI *put_LargeInteger)(IADsPropertyValue *This,IDispatch *pLargeInteger);
   1571       HRESULT (WINAPI *get_UTCTime)(IADsPropertyValue *This,DATE *retval);
   1572       HRESULT (WINAPI *put_UTCTime)(IADsPropertyValue *This,DATE daUTCTime);
   1573     END_INTERFACE
   1574   } IADsPropertyValueVtbl;
   1575   struct IADsPropertyValue {
   1576     CONST_VTBL struct IADsPropertyValueVtbl *lpVtbl;
   1577   };
   1578 #ifdef COBJMACROS
   1579 #define IADsPropertyValue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1580 #define IADsPropertyValue_AddRef(This) (This)->lpVtbl->AddRef(This)
   1581 #define IADsPropertyValue_Release(This) (This)->lpVtbl->Release(This)
   1582 #define IADsPropertyValue_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1583 #define IADsPropertyValue_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1584 #define IADsPropertyValue_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1585 #define IADsPropertyValue_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1586 #define IADsPropertyValue_Clear(This) (This)->lpVtbl->Clear(This)
   1587 #define IADsPropertyValue_get_ADsType(This,retval) (This)->lpVtbl->get_ADsType(This,retval)
   1588 #define IADsPropertyValue_put_ADsType(This,lnADsType) (This)->lpVtbl->put_ADsType(This,lnADsType)
   1589 #define IADsPropertyValue_get_DNString(This,retval) (This)->lpVtbl->get_DNString(This,retval)
   1590 #define IADsPropertyValue_put_DNString(This,bstrDNString) (This)->lpVtbl->put_DNString(This,bstrDNString)
   1591 #define IADsPropertyValue_get_CaseExactString(This,retval) (This)->lpVtbl->get_CaseExactString(This,retval)
   1592 #define IADsPropertyValue_put_CaseExactString(This,bstrCaseExactString) (This)->lpVtbl->put_CaseExactString(This,bstrCaseExactString)
   1593 #define IADsPropertyValue_get_CaseIgnoreString(This,retval) (This)->lpVtbl->get_CaseIgnoreString(This,retval)
   1594 #define IADsPropertyValue_put_CaseIgnoreString(This,bstrCaseIgnoreString) (This)->lpVtbl->put_CaseIgnoreString(This,bstrCaseIgnoreString)
   1595 #define IADsPropertyValue_get_PrintableString(This,retval) (This)->lpVtbl->get_PrintableString(This,retval)
   1596 #define IADsPropertyValue_put_PrintableString(This,bstrPrintableString) (This)->lpVtbl->put_PrintableString(This,bstrPrintableString)
   1597 #define IADsPropertyValue_get_NumericString(This,retval) (This)->lpVtbl->get_NumericString(This,retval)
   1598 #define IADsPropertyValue_put_NumericString(This,bstrNumericString) (This)->lpVtbl->put_NumericString(This,bstrNumericString)
   1599 #define IADsPropertyValue_get_Boolean(This,retval) (This)->lpVtbl->get_Boolean(This,retval)
   1600 #define IADsPropertyValue_put_Boolean(This,lnBoolean) (This)->lpVtbl->put_Boolean(This,lnBoolean)
   1601 #define IADsPropertyValue_get_Integer(This,retval) (This)->lpVtbl->get_Integer(This,retval)
   1602 #define IADsPropertyValue_put_Integer(This,lnInteger) (This)->lpVtbl->put_Integer(This,lnInteger)
   1603 #define IADsPropertyValue_get_OctetString(This,retval) (This)->lpVtbl->get_OctetString(This,retval)
   1604 #define IADsPropertyValue_put_OctetString(This,vOctetString) (This)->lpVtbl->put_OctetString(This,vOctetString)
   1605 #define IADsPropertyValue_get_SecurityDescriptor(This,retval) (This)->lpVtbl->get_SecurityDescriptor(This,retval)
   1606 #define IADsPropertyValue_put_SecurityDescriptor(This,pSecurityDescriptor) (This)->lpVtbl->put_SecurityDescriptor(This,pSecurityDescriptor)
   1607 #define IADsPropertyValue_get_LargeInteger(This,retval) (This)->lpVtbl->get_LargeInteger(This,retval)
   1608 #define IADsPropertyValue_put_LargeInteger(This,pLargeInteger) (This)->lpVtbl->put_LargeInteger(This,pLargeInteger)
   1609 #define IADsPropertyValue_get_UTCTime(This,retval) (This)->lpVtbl->get_UTCTime(This,retval)
   1610 #define IADsPropertyValue_put_UTCTime(This,daUTCTime) (This)->lpVtbl->put_UTCTime(This,daUTCTime)
   1611 #endif
   1612 #endif
   1613   HRESULT WINAPI IADsPropertyValue_Clear_Proxy(IADsPropertyValue *This);
   1614   void __RPC_STUB IADsPropertyValue_Clear_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1615   HRESULT WINAPI IADsPropertyValue_get_ADsType_Proxy(IADsPropertyValue *This,__LONG32 *retval);
   1616   void __RPC_STUB IADsPropertyValue_get_ADsType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1617   HRESULT WINAPI IADsPropertyValue_put_ADsType_Proxy(IADsPropertyValue *This,__LONG32 lnADsType);
   1618   void __RPC_STUB IADsPropertyValue_put_ADsType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1619   HRESULT WINAPI IADsPropertyValue_get_DNString_Proxy(IADsPropertyValue *This,BSTR *retval);
   1620   void __RPC_STUB IADsPropertyValue_get_DNString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1621   HRESULT WINAPI IADsPropertyValue_put_DNString_Proxy(IADsPropertyValue *This,BSTR bstrDNString);
   1622   void __RPC_STUB IADsPropertyValue_put_DNString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1623   HRESULT WINAPI IADsPropertyValue_get_CaseExactString_Proxy(IADsPropertyValue *This,BSTR *retval);
   1624   void __RPC_STUB IADsPropertyValue_get_CaseExactString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1625   HRESULT WINAPI IADsPropertyValue_put_CaseExactString_Proxy(IADsPropertyValue *This,BSTR bstrCaseExactString);
   1626   void __RPC_STUB IADsPropertyValue_put_CaseExactString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1627   HRESULT WINAPI IADsPropertyValue_get_CaseIgnoreString_Proxy(IADsPropertyValue *This,BSTR *retval);
   1628   void __RPC_STUB IADsPropertyValue_get_CaseIgnoreString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1629   HRESULT WINAPI IADsPropertyValue_put_CaseIgnoreString_Proxy(IADsPropertyValue *This,BSTR bstrCaseIgnoreString);
   1630   void __RPC_STUB IADsPropertyValue_put_CaseIgnoreString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1631   HRESULT WINAPI IADsPropertyValue_get_PrintableString_Proxy(IADsPropertyValue *This,BSTR *retval);
   1632   void __RPC_STUB IADsPropertyValue_get_PrintableString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1633   HRESULT WINAPI IADsPropertyValue_put_PrintableString_Proxy(IADsPropertyValue *This,BSTR bstrPrintableString);
   1634   void __RPC_STUB IADsPropertyValue_put_PrintableString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1635   HRESULT WINAPI IADsPropertyValue_get_NumericString_Proxy(IADsPropertyValue *This,BSTR *retval);
   1636   void __RPC_STUB IADsPropertyValue_get_NumericString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1637   HRESULT WINAPI IADsPropertyValue_put_NumericString_Proxy(IADsPropertyValue *This,BSTR bstrNumericString);
   1638   void __RPC_STUB IADsPropertyValue_put_NumericString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1639   HRESULT WINAPI IADsPropertyValue_get_Boolean_Proxy(IADsPropertyValue *This,__LONG32 *retval);
   1640   void __RPC_STUB IADsPropertyValue_get_Boolean_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1641   HRESULT WINAPI IADsPropertyValue_put_Boolean_Proxy(IADsPropertyValue *This,__LONG32 lnBoolean);
   1642   void __RPC_STUB IADsPropertyValue_put_Boolean_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1643   HRESULT WINAPI IADsPropertyValue_get_Integer_Proxy(IADsPropertyValue *This,__LONG32 *retval);
   1644   void __RPC_STUB IADsPropertyValue_get_Integer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1645   HRESULT WINAPI IADsPropertyValue_put_Integer_Proxy(IADsPropertyValue *This,__LONG32 lnInteger);
   1646   void __RPC_STUB IADsPropertyValue_put_Integer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1647   HRESULT WINAPI IADsPropertyValue_get_OctetString_Proxy(IADsPropertyValue *This,VARIANT *retval);
   1648   void __RPC_STUB IADsPropertyValue_get_OctetString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1649   HRESULT WINAPI IADsPropertyValue_put_OctetString_Proxy(IADsPropertyValue *This,VARIANT vOctetString);
   1650   void __RPC_STUB IADsPropertyValue_put_OctetString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1651   HRESULT WINAPI IADsPropertyValue_get_SecurityDescriptor_Proxy(IADsPropertyValue *This,IDispatch **retval);
   1652   void __RPC_STUB IADsPropertyValue_get_SecurityDescriptor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1653   HRESULT WINAPI IADsPropertyValue_put_SecurityDescriptor_Proxy(IADsPropertyValue *This,IDispatch *pSecurityDescriptor);
   1654   void __RPC_STUB IADsPropertyValue_put_SecurityDescriptor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1655   HRESULT WINAPI IADsPropertyValue_get_LargeInteger_Proxy(IADsPropertyValue *This,IDispatch **retval);
   1656   void __RPC_STUB IADsPropertyValue_get_LargeInteger_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1657   HRESULT WINAPI IADsPropertyValue_put_LargeInteger_Proxy(IADsPropertyValue *This,IDispatch *pLargeInteger);
   1658   void __RPC_STUB IADsPropertyValue_put_LargeInteger_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1659   HRESULT WINAPI IADsPropertyValue_get_UTCTime_Proxy(IADsPropertyValue *This,DATE *retval);
   1660   void __RPC_STUB IADsPropertyValue_get_UTCTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1661   HRESULT WINAPI IADsPropertyValue_put_UTCTime_Proxy(IADsPropertyValue *This,DATE daUTCTime);
   1662   void __RPC_STUB IADsPropertyValue_put_UTCTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1663 #endif
   1664 
   1665 #ifndef __IADsPropertyValue2_INTERFACE_DEFINED__
   1666 #define __IADsPropertyValue2_INTERFACE_DEFINED__
   1667   EXTERN_C const IID IID_IADsPropertyValue2;
   1668 #if defined(__cplusplus) && !defined(CINTERFACE)
   1669   struct IADsPropertyValue2 : public IDispatch {
   1670   public:
   1671     virtual HRESULT WINAPI GetObjectProperty(__LONG32 *lnADsType,VARIANT *pvProp) = 0;
   1672     virtual HRESULT WINAPI PutObjectProperty(__LONG32 lnADsType,VARIANT vProp) = 0;
   1673   };
   1674 #else
   1675   typedef struct IADsPropertyValue2Vtbl {
   1676     BEGIN_INTERFACE
   1677       HRESULT (WINAPI *QueryInterface)(IADsPropertyValue2 *This,REFIID riid,void **ppvObject);
   1678       ULONG (WINAPI *AddRef)(IADsPropertyValue2 *This);
   1679       ULONG (WINAPI *Release)(IADsPropertyValue2 *This);
   1680       HRESULT (WINAPI *GetTypeInfoCount)(IADsPropertyValue2 *This,UINT *pctinfo);
   1681       HRESULT (WINAPI *GetTypeInfo)(IADsPropertyValue2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1682       HRESULT (WINAPI *GetIDsOfNames)(IADsPropertyValue2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1683       HRESULT (WINAPI *Invoke)(IADsPropertyValue2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1684       HRESULT (WINAPI *GetObjectProperty)(IADsPropertyValue2 *This,__LONG32 *lnADsType,VARIANT *pvProp);
   1685       HRESULT (WINAPI *PutObjectProperty)(IADsPropertyValue2 *This,__LONG32 lnADsType,VARIANT vProp);
   1686     END_INTERFACE
   1687   } IADsPropertyValue2Vtbl;
   1688   struct IADsPropertyValue2 {
   1689     CONST_VTBL struct IADsPropertyValue2Vtbl *lpVtbl;
   1690   };
   1691 #ifdef COBJMACROS
   1692 #define IADsPropertyValue2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1693 #define IADsPropertyValue2_AddRef(This) (This)->lpVtbl->AddRef(This)
   1694 #define IADsPropertyValue2_Release(This) (This)->lpVtbl->Release(This)
   1695 #define IADsPropertyValue2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1696 #define IADsPropertyValue2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1697 #define IADsPropertyValue2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1698 #define IADsPropertyValue2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1699 #define IADsPropertyValue2_GetObjectProperty(This,lnADsType,pvProp) (This)->lpVtbl->GetObjectProperty(This,lnADsType,pvProp)
   1700 #define IADsPropertyValue2_PutObjectProperty(This,lnADsType,vProp) (This)->lpVtbl->PutObjectProperty(This,lnADsType,vProp)
   1701 #endif
   1702 #endif
   1703   HRESULT WINAPI IADsPropertyValue2_GetObjectProperty_Proxy(IADsPropertyValue2 *This,__LONG32 *lnADsType,VARIANT *pvProp);
   1704   void __RPC_STUB IADsPropertyValue2_GetObjectProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1705   HRESULT WINAPI IADsPropertyValue2_PutObjectProperty_Proxy(IADsPropertyValue2 *This,__LONG32 lnADsType,VARIANT vProp);
   1706   void __RPC_STUB IADsPropertyValue2_PutObjectProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1707 #endif
   1708 
   1709   EXTERN_C const CLSID CLSID_PropertyValue;
   1710 #ifdef __cplusplus
   1711   class PropertyValue;
   1712 #endif
   1713 
   1714 #ifndef __IPrivateDispatch_INTERFACE_DEFINED__
   1715 #define __IPrivateDispatch_INTERFACE_DEFINED__
   1716   EXTERN_C const IID IID_IPrivateDispatch;
   1717 #if defined(__cplusplus) && !defined(CINTERFACE)
   1718   struct IPrivateDispatch : public IUnknown {
   1719   public:
   1720     virtual HRESULT WINAPI ADSIInitializeDispatchManager(__LONG32 dwExtensionId) = 0;
   1721     virtual HRESULT WINAPI ADSIGetTypeInfoCount(UINT *pctinfo) = 0;
   1722     virtual HRESULT WINAPI ADSIGetTypeInfo(UINT itinfo,LCID lcid,ITypeInfo **pptinfo) = 0;
   1723     virtual HRESULT WINAPI ADSIGetIDsOfNames(REFIID riid,OLECHAR **rgszNames,UINT cNames,LCID lcid,DISPID *rgdispid) = 0;
   1724     virtual HRESULT WINAPI ADSIInvoke(DISPID dispidMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pdispparams,VARIANT *pvarResult,EXCEPINFO *pexcepinfo,UINT *puArgErr) = 0;
   1725   };
   1726 #else
   1727   typedef struct IPrivateDispatchVtbl {
   1728     BEGIN_INTERFACE
   1729       HRESULT (WINAPI *QueryInterface)(IPrivateDispatch *This,REFIID riid,void **ppvObject);
   1730       ULONG (WINAPI *AddRef)(IPrivateDispatch *This);
   1731       ULONG (WINAPI *Release)(IPrivateDispatch *This);
   1732       HRESULT (WINAPI *ADSIInitializeDispatchManager)(IPrivateDispatch *This,__LONG32 dwExtensionId);
   1733       HRESULT (WINAPI *ADSIGetTypeInfoCount)(IPrivateDispatch *This,UINT *pctinfo);
   1734       HRESULT (WINAPI *ADSIGetTypeInfo)(IPrivateDispatch *This,UINT itinfo,LCID lcid,ITypeInfo **pptinfo);
   1735       HRESULT (WINAPI *ADSIGetIDsOfNames)(IPrivateDispatch *This,REFIID riid,OLECHAR **rgszNames,UINT cNames,LCID lcid,DISPID *rgdispid);
   1736       HRESULT (WINAPI *ADSIInvoke)(IPrivateDispatch *This,DISPID dispidMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pdispparams,VARIANT *pvarResult,EXCEPINFO *pexcepinfo,UINT *puArgErr);
   1737     END_INTERFACE
   1738   } IPrivateDispatchVtbl;
   1739   struct IPrivateDispatch {
   1740     CONST_VTBL struct IPrivateDispatchVtbl *lpVtbl;
   1741   };
   1742 #ifdef COBJMACROS
   1743 #define IPrivateDispatch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1744 #define IPrivateDispatch_AddRef(This) (This)->lpVtbl->AddRef(This)
   1745 #define IPrivateDispatch_Release(This) (This)->lpVtbl->Release(This)
   1746 #define IPrivateDispatch_ADSIInitializeDispatchManager(This,dwExtensionId) (This)->lpVtbl->ADSIInitializeDispatchManager(This,dwExtensionId)
   1747 #define IPrivateDispatch_ADSIGetTypeInfoCount(This,pctinfo) (This)->lpVtbl->ADSIGetTypeInfoCount(This,pctinfo)
   1748 #define IPrivateDispatch_ADSIGetTypeInfo(This,itinfo,lcid,pptinfo) (This)->lpVtbl->ADSIGetTypeInfo(This,itinfo,lcid,pptinfo)
   1749 #define IPrivateDispatch_ADSIGetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgdispid) (This)->lpVtbl->ADSIGetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgdispid)
   1750 #define IPrivateDispatch_ADSIInvoke(This,dispidMember,riid,lcid,wFlags,pdispparams,pvarResult,pexcepinfo,puArgErr) (This)->lpVtbl->ADSIInvoke(This,dispidMember,riid,lcid,wFlags,pdispparams,pvarResult,pexcepinfo,puArgErr)
   1751 #endif
   1752 #endif
   1753   HRESULT WINAPI IPrivateDispatch_ADSIInitializeDispatchManager_Proxy(IPrivateDispatch *This,__LONG32 dwExtensionId);
   1754   void __RPC_STUB IPrivateDispatch_ADSIInitializeDispatchManager_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1755   HRESULT WINAPI IPrivateDispatch_ADSIGetTypeInfoCount_Proxy(IPrivateDispatch *This,UINT *pctinfo);
   1756   void __RPC_STUB IPrivateDispatch_ADSIGetTypeInfoCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1757   HRESULT WINAPI IPrivateDispatch_ADSIGetTypeInfo_Proxy(IPrivateDispatch *This,UINT itinfo,LCID lcid,ITypeInfo **pptinfo);
   1758   void __RPC_STUB IPrivateDispatch_ADSIGetTypeInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1759   HRESULT WINAPI IPrivateDispatch_ADSIGetIDsOfNames_Proxy(IPrivateDispatch *This,REFIID riid,OLECHAR **rgszNames,UINT cNames,LCID lcid,DISPID *rgdispid);
   1760   void __RPC_STUB IPrivateDispatch_ADSIGetIDsOfNames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1761   HRESULT WINAPI IPrivateDispatch_ADSIInvoke_Proxy(IPrivateDispatch *This,DISPID dispidMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pdispparams,VARIANT *pvarResult,EXCEPINFO *pexcepinfo,UINT *puArgErr);
   1762   void __RPC_STUB IPrivateDispatch_ADSIInvoke_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1763 #endif
   1764 
   1765 #ifndef __IPrivateUnknown_INTERFACE_DEFINED__
   1766 #define __IPrivateUnknown_INTERFACE_DEFINED__
   1767   EXTERN_C const IID IID_IPrivateUnknown;
   1768 #if defined(__cplusplus) && !defined(CINTERFACE)
   1769   struct IPrivateUnknown : public IUnknown {
   1770   public:
   1771     virtual HRESULT WINAPI ADSIInitializeObject(BSTR lpszUserName,BSTR lpszPassword,__LONG32 lnReserved) = 0;
   1772     virtual HRESULT WINAPI ADSIReleaseObject(void) = 0;
   1773   };
   1774 #else
   1775   typedef struct IPrivateUnknownVtbl {
   1776     BEGIN_INTERFACE
   1777       HRESULT (WINAPI *QueryInterface)(IPrivateUnknown *This,REFIID riid,void **ppvObject);
   1778       ULONG (WINAPI *AddRef)(IPrivateUnknown *This);
   1779       ULONG (WINAPI *Release)(IPrivateUnknown *This);
   1780       HRESULT (WINAPI *ADSIInitializeObject)(IPrivateUnknown *This,BSTR lpszUserName,BSTR lpszPassword,__LONG32 lnReserved);
   1781       HRESULT (WINAPI *ADSIReleaseObject)(IPrivateUnknown *This);
   1782     END_INTERFACE
   1783   } IPrivateUnknownVtbl;
   1784   struct IPrivateUnknown {
   1785     CONST_VTBL struct IPrivateUnknownVtbl *lpVtbl;
   1786   };
   1787 #ifdef COBJMACROS
   1788 #define IPrivateUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1789 #define IPrivateUnknown_AddRef(This) (This)->lpVtbl->AddRef(This)
   1790 #define IPrivateUnknown_Release(This) (This)->lpVtbl->Release(This)
   1791 #define IPrivateUnknown_ADSIInitializeObject(This,lpszUserName,lpszPassword,lnReserved) (This)->lpVtbl->ADSIInitializeObject(This,lpszUserName,lpszPassword,lnReserved)
   1792 #define IPrivateUnknown_ADSIReleaseObject(This) (This)->lpVtbl->ADSIReleaseObject(This)
   1793 #endif
   1794 #endif
   1795   HRESULT WINAPI IPrivateUnknown_ADSIInitializeObject_Proxy(IPrivateUnknown *This,BSTR lpszUserName,BSTR lpszPassword,__LONG32 lnReserved);
   1796   void __RPC_STUB IPrivateUnknown_ADSIInitializeObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1797   HRESULT WINAPI IPrivateUnknown_ADSIReleaseObject_Proxy(IPrivateUnknown *This);
   1798   void __RPC_STUB IPrivateUnknown_ADSIReleaseObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1799 #endif
   1800 
   1801 #ifndef __IADsExtension_INTERFACE_DEFINED__
   1802 #define __IADsExtension_INTERFACE_DEFINED__
   1803   EXTERN_C const IID IID_IADsExtension;
   1804 #if defined(__cplusplus) && !defined(CINTERFACE)
   1805   struct IADsExtension : public IUnknown {
   1806   public:
   1807     virtual HRESULT WINAPI Operate(DWORD dwCode,VARIANT varData1,VARIANT varData2,VARIANT varData3) = 0;
   1808     virtual HRESULT WINAPI PrivateGetIDsOfNames(REFIID riid,OLECHAR **rgszNames,unsigned int cNames,LCID lcid,DISPID *rgDispid) = 0;
   1809     virtual HRESULT WINAPI PrivateInvoke(DISPID dispidMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pdispparams,VARIANT *pvarResult,EXCEPINFO *pexcepinfo,unsigned int *puArgErr) = 0;
   1810   };
   1811 #else
   1812   typedef struct IADsExtensionVtbl {
   1813     BEGIN_INTERFACE
   1814       HRESULT (WINAPI *QueryInterface)(IADsExtension *This,REFIID riid,void **ppvObject);
   1815       ULONG (WINAPI *AddRef)(IADsExtension *This);
   1816       ULONG (WINAPI *Release)(IADsExtension *This);
   1817       HRESULT (WINAPI *Operate)(IADsExtension *This,DWORD dwCode,VARIANT varData1,VARIANT varData2,VARIANT varData3);
   1818       HRESULT (WINAPI *PrivateGetIDsOfNames)(IADsExtension *This,REFIID riid,OLECHAR **rgszNames,unsigned int cNames,LCID lcid,DISPID *rgDispid);
   1819       HRESULT (WINAPI *PrivateInvoke)(IADsExtension *This,DISPID dispidMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pdispparams,VARIANT *pvarResult,EXCEPINFO *pexcepinfo,unsigned int *puArgErr);
   1820     END_INTERFACE
   1821   } IADsExtensionVtbl;
   1822   struct IADsExtension {
   1823     CONST_VTBL struct IADsExtensionVtbl *lpVtbl;
   1824   };
   1825 #ifdef COBJMACROS
   1826 #define IADsExtension_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1827 #define IADsExtension_AddRef(This) (This)->lpVtbl->AddRef(This)
   1828 #define IADsExtension_Release(This) (This)->lpVtbl->Release(This)
   1829 #define IADsExtension_Operate(This,dwCode,varData1,varData2,varData3) (This)->lpVtbl->Operate(This,dwCode,varData1,varData2,varData3)
   1830 #define IADsExtension_PrivateGetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispid) (This)->lpVtbl->PrivateGetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispid)
   1831 #define IADsExtension_PrivateInvoke(This,dispidMember,riid,lcid,wFlags,pdispparams,pvarResult,pexcepinfo,puArgErr) (This)->lpVtbl->PrivateInvoke(This,dispidMember,riid,lcid,wFlags,pdispparams,pvarResult,pexcepinfo,puArgErr)
   1832 #endif
   1833 #endif
   1834   HRESULT WINAPI IADsExtension_Operate_Proxy(IADsExtension *This,DWORD dwCode,VARIANT varData1,VARIANT varData2,VARIANT varData3);
   1835   void __RPC_STUB IADsExtension_Operate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1836   HRESULT WINAPI IADsExtension_PrivateGetIDsOfNames_Proxy(IADsExtension *This,REFIID riid,OLECHAR **rgszNames,unsigned int cNames,LCID lcid,DISPID *rgDispid);
   1837   void __RPC_STUB IADsExtension_PrivateGetIDsOfNames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1838   HRESULT WINAPI IADsExtension_PrivateInvoke_Proxy(IADsExtension *This,DISPID dispidMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pdispparams,VARIANT *pvarResult,EXCEPINFO *pexcepinfo,unsigned int *puArgErr);
   1839   void __RPC_STUB IADsExtension_PrivateInvoke_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1840 #endif
   1841 
   1842 #ifndef __IADsDeleteOps_INTERFACE_DEFINED__
   1843 #define __IADsDeleteOps_INTERFACE_DEFINED__
   1844   EXTERN_C const IID IID_IADsDeleteOps;
   1845 #if defined(__cplusplus) && !defined(CINTERFACE)
   1846   struct IADsDeleteOps : public IDispatch {
   1847   public:
   1848     virtual HRESULT WINAPI DeleteObject(__LONG32 lnFlags) = 0;
   1849   };
   1850 #else
   1851   typedef struct IADsDeleteOpsVtbl {
   1852     BEGIN_INTERFACE
   1853       HRESULT (WINAPI *QueryInterface)(IADsDeleteOps *This,REFIID riid,void **ppvObject);
   1854       ULONG (WINAPI *AddRef)(IADsDeleteOps *This);
   1855       ULONG (WINAPI *Release)(IADsDeleteOps *This);
   1856       HRESULT (WINAPI *GetTypeInfoCount)(IADsDeleteOps *This,UINT *pctinfo);
   1857       HRESULT (WINAPI *GetTypeInfo)(IADsDeleteOps *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1858       HRESULT (WINAPI *GetIDsOfNames)(IADsDeleteOps *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1859       HRESULT (WINAPI *Invoke)(IADsDeleteOps *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1860       HRESULT (WINAPI *DeleteObject)(IADsDeleteOps *This,__LONG32 lnFlags);
   1861     END_INTERFACE
   1862   } IADsDeleteOpsVtbl;
   1863   struct IADsDeleteOps {
   1864     CONST_VTBL struct IADsDeleteOpsVtbl *lpVtbl;
   1865   };
   1866 #ifdef COBJMACROS
   1867 #define IADsDeleteOps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1868 #define IADsDeleteOps_AddRef(This) (This)->lpVtbl->AddRef(This)
   1869 #define IADsDeleteOps_Release(This) (This)->lpVtbl->Release(This)
   1870 #define IADsDeleteOps_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1871 #define IADsDeleteOps_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1872 #define IADsDeleteOps_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1873 #define IADsDeleteOps_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1874 #define IADsDeleteOps_DeleteObject(This,lnFlags) (This)->lpVtbl->DeleteObject(This,lnFlags)
   1875 #endif
   1876 #endif
   1877   HRESULT WINAPI IADsDeleteOps_DeleteObject_Proxy(IADsDeleteOps *This,__LONG32 lnFlags);
   1878   void __RPC_STUB IADsDeleteOps_DeleteObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1879 #endif
   1880 
   1881 #ifndef __IADsNamespaces_INTERFACE_DEFINED__
   1882 #define __IADsNamespaces_INTERFACE_DEFINED__
   1883   EXTERN_C const IID IID_IADsNamespaces;
   1884 #if defined(__cplusplus) && !defined(CINTERFACE)
   1885   struct IADsNamespaces : public IADs {
   1886   public:
   1887     virtual HRESULT WINAPI get_DefaultContainer(BSTR *retval) = 0;
   1888     virtual HRESULT WINAPI put_DefaultContainer(BSTR bstrDefaultContainer) = 0;
   1889   };
   1890 #else
   1891   typedef struct IADsNamespacesVtbl {
   1892     BEGIN_INTERFACE
   1893       HRESULT (WINAPI *QueryInterface)(IADsNamespaces *This,REFIID riid,void **ppvObject);
   1894       ULONG (WINAPI *AddRef)(IADsNamespaces *This);
   1895       ULONG (WINAPI *Release)(IADsNamespaces *This);
   1896       HRESULT (WINAPI *GetTypeInfoCount)(IADsNamespaces *This,UINT *pctinfo);
   1897       HRESULT (WINAPI *GetTypeInfo)(IADsNamespaces *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1898       HRESULT (WINAPI *GetIDsOfNames)(IADsNamespaces *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1899       HRESULT (WINAPI *Invoke)(IADsNamespaces *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1900       HRESULT (WINAPI *get_Name)(IADsNamespaces *This,BSTR *retval);
   1901       HRESULT (WINAPI *get_Class)(IADsNamespaces *This,BSTR *retval);
   1902       HRESULT (WINAPI *get_GUID)(IADsNamespaces *This,BSTR *retval);
   1903       HRESULT (WINAPI *get_ADsPath)(IADsNamespaces *This,BSTR *retval);
   1904       HRESULT (WINAPI *get_Parent)(IADsNamespaces *This,BSTR *retval);
   1905       HRESULT (WINAPI *get_Schema)(IADsNamespaces *This,BSTR *retval);
   1906       HRESULT (WINAPI *GetInfo)(IADsNamespaces *This);
   1907       HRESULT (WINAPI *SetInfo)(IADsNamespaces *This);
   1908       HRESULT (WINAPI *Get)(IADsNamespaces *This,BSTR bstrName,VARIANT *pvProp);
   1909       HRESULT (WINAPI *Put)(IADsNamespaces *This,BSTR bstrName,VARIANT vProp);
   1910       HRESULT (WINAPI *GetEx)(IADsNamespaces *This,BSTR bstrName,VARIANT *pvProp);
   1911       HRESULT (WINAPI *PutEx)(IADsNamespaces *This,__LONG32 lnControlCode,BSTR bstrName,VARIANT vProp);
   1912       HRESULT (WINAPI *GetInfoEx)(IADsNamespaces *This,VARIANT vProperties,__LONG32 lnReserved);
   1913       HRESULT (WINAPI *get_DefaultContainer)(IADsNamespaces *This,BSTR *retval);
   1914       HRESULT (WINAPI *put_DefaultContainer)(IADsNamespaces *This,BSTR bstrDefaultContainer);
   1915     END_INTERFACE
   1916   } IADsNamespacesVtbl;
   1917   struct IADsNamespaces {
   1918     CONST_VTBL struct IADsNamespacesVtbl *lpVtbl;
   1919   };
   1920 #ifdef COBJMACROS
   1921 #define IADsNamespaces_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1922 #define IADsNamespaces_AddRef(This) (This)->lpVtbl->AddRef(This)
   1923 #define IADsNamespaces_Release(This) (This)->lpVtbl->Release(This)
   1924 #define IADsNamespaces_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1925 #define IADsNamespaces_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1926 #define IADsNamespaces_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1927 #define IADsNamespaces_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1928 #define IADsNamespaces_get_Name(This,retval) (This)->lpVtbl->get_Name(This,retval)
   1929 #define IADsNamespaces_get_Class(This,retval) (This)->lpVtbl->get_Class(This,retval)
   1930 #define IADsNamespaces_get_GUID(This,retval) (This)->lpVtbl->get_GUID(This,retval)
   1931 #define IADsNamespaces_get_ADsPath(This,retval) (This)->lpVtbl->get_ADsPath(This,retval)
   1932 #define IADsNamespaces_get_Parent(This,retval) (This)->lpVtbl->get_Parent(This,retval)
   1933 #define IADsNamespaces_get_Schema(This,retval) (This)->lpVtbl->get_Schema(This,retval)
   1934 #define IADsNamespaces_GetInfo(This) (This)->lpVtbl->GetInfo(This)
   1935 #define IADsNamespaces_SetInfo(This) (This)->lpVtbl->SetInfo(This)
   1936 #define IADsNamespaces_Get(This,bstrName,pvProp) (This)->lpVtbl->Get(This,bstrName,pvProp)
   1937 #define IADsNamespaces_Put(This,bstrName,vProp) (This)->lpVtbl->Put(This,bstrName,vProp)
   1938 #define IADsNamespaces_GetEx(This,bstrName,pvProp) (This)->lpVtbl->GetEx(This,bstrName,pvProp)
   1939 #define IADsNamespaces_PutEx(This,lnControlCode,bstrName,vProp) (This)->lpVtbl->PutEx(This,lnControlCode,bstrName,vProp)
   1940 #define IADsNamespaces_GetInfoEx(This,vProperties,lnReserved) (This)->lpVtbl->GetInfoEx(This,vProperties,lnReserved)
   1941 #define IADsNamespaces_get_DefaultContainer(This,retval) (This)->lpVtbl->get_DefaultContainer(This,retval)
   1942 #define IADsNamespaces_put_DefaultContainer(This,bstrDefaultContainer) (This)->lpVtbl->put_DefaultContainer(This,bstrDefaultContainer)
   1943 #endif
   1944 #endif
   1945   HRESULT WINAPI IADsNamespaces_get_DefaultContainer_Proxy(IADsNamespaces *This,BSTR *retval);
   1946   void __RPC_STUB IADsNamespaces_get_DefaultContainer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1947   HRESULT WINAPI IADsNamespaces_put_DefaultContainer_Proxy(IADsNamespaces *This,BSTR bstrDefaultContainer);
   1948   void __RPC_STUB IADsNamespaces_put_DefaultContainer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1949 #endif
   1950 
   1951 #ifndef __IADsClass_INTERFACE_DEFINED__
   1952 #define __IADsClass_INTERFACE_DEFINED__
   1953   EXTERN_C const IID IID_IADsClass;
   1954 #if defined(__cplusplus) && !defined(CINTERFACE)
   1955   struct IADsClass : public IADs {
   1956   public:
   1957     virtual HRESULT WINAPI get_PrimaryInterface(BSTR *retval) = 0;
   1958     virtual HRESULT WINAPI get_CLSID(BSTR *retval) = 0;
   1959     virtual HRESULT WINAPI put_CLSID(BSTR bstrCLSID) = 0;
   1960     virtual HRESULT WINAPI get_OID(BSTR *retval) = 0;
   1961     virtual HRESULT WINAPI put_OID(BSTR bstrOID) = 0;
   1962     virtual HRESULT WINAPI get_Abstract(VARIANT_BOOL *retval) = 0;
   1963     virtual HRESULT WINAPI put_Abstract(VARIANT_BOOL fAbstract) = 0;
   1964     virtual HRESULT WINAPI get_Auxiliary(VARIANT_BOOL *retval) = 0;
   1965     virtual HRESULT WINAPI put_Auxiliary(VARIANT_BOOL fAuxiliary) = 0;
   1966     virtual HRESULT WINAPI get_MandatoryProperties(VARIANT *retval) = 0;
   1967     virtual HRESULT WINAPI put_MandatoryProperties(VARIANT vMandatoryProperties) = 0;
   1968     virtual HRESULT WINAPI get_OptionalProperties(VARIANT *retval) = 0;
   1969     virtual HRESULT WINAPI put_OptionalProperties(VARIANT vOptionalProperties) = 0;
   1970     virtual HRESULT WINAPI get_NamingProperties(VARIANT *retval) = 0;
   1971     virtual HRESULT WINAPI put_NamingProperties(VARIANT vNamingProperties) = 0;
   1972     virtual HRESULT WINAPI get_DerivedFrom(VARIANT *retval) = 0;
   1973     virtual HRESULT WINAPI put_DerivedFrom(VARIANT vDerivedFrom) = 0;
   1974     virtual HRESULT WINAPI get_AuxDerivedFrom(VARIANT *retval) = 0;
   1975     virtual HRESULT WINAPI put_AuxDerivedFrom(VARIANT vAuxDerivedFrom) = 0;
   1976     virtual HRESULT WINAPI get_PossibleSuperiors(VARIANT *retval) = 0;
   1977     virtual HRESULT WINAPI put_PossibleSuperiors(VARIANT vPossibleSuperiors) = 0;
   1978     virtual HRESULT WINAPI get_Containment(VARIANT *retval) = 0;
   1979     virtual HRESULT WINAPI put_Containment(VARIANT vContainment) = 0;
   1980     virtual HRESULT WINAPI get_Container(VARIANT_BOOL *retval) = 0;
   1981     virtual HRESULT WINAPI put_Container(VARIANT_BOOL fContainer) = 0;
   1982     virtual HRESULT WINAPI get_HelpFileName(BSTR *retval) = 0;
   1983     virtual HRESULT WINAPI put_HelpFileName(BSTR bstrHelpFileName) = 0;
   1984     virtual HRESULT WINAPI get_HelpFileContext(__LONG32 *retval) = 0;
   1985     virtual HRESULT WINAPI put_HelpFileContext(__LONG32 lnHelpFileContext) = 0;
   1986     virtual HRESULT WINAPI Qualifiers(IADsCollection **ppQualifiers) = 0;
   1987   };
   1988 #else
   1989   typedef struct IADsClassVtbl {
   1990     BEGIN_INTERFACE
   1991       HRESULT (WINAPI *QueryInterface)(IADsClass *This,REFIID riid,void **ppvObject);
   1992       ULONG (WINAPI *AddRef)(IADsClass *This);
   1993       ULONG (WINAPI *Release)(IADsClass *This);
   1994       HRESULT (WINAPI *GetTypeInfoCount)(IADsClass *This,UINT *pctinfo);
   1995       HRESULT (WINAPI *GetTypeInfo)(IADsClass *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1996       HRESULT (WINAPI *GetIDsOfNames)(IADsClass *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1997       HRESULT (WINAPI *Invoke)(IADsClass *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1998       HRESULT (WINAPI *get_Name)(IADsClass *This,BSTR *retval);
   1999       HRESULT (WINAPI *get_Class)(IADsClass *This,BSTR *retval);
   2000       HRESULT (WINAPI *get_GUID)(IADsClass *This,BSTR *retval);
   2001       HRESULT (WINAPI *get_ADsPath)(IADsClass *This,BSTR *retval);
   2002       HRESULT (WINAPI *get_Parent)(IADsClass *This,BSTR *retval);
   2003       HRESULT (WINAPI *get_Schema)(IADsClass *This,BSTR *retval);
   2004       HRESULT (WINAPI *GetInfo)(IADsClass *This);
   2005       HRESULT (WINAPI *SetInfo)(IADsClass *This);
   2006       HRESULT (WINAPI *Get)(IADsClass *This,BSTR bstrName,VARIANT *pvProp);
   2007       HRESULT (WINAPI *Put)(IADsClass *This,BSTR bstrName,VARIANT vProp);
   2008       HRESULT (WINAPI *GetEx)(IADsClass *This,BSTR bstrName,VARIANT *pvProp);
   2009       HRESULT (WINAPI *PutEx)(IADsClass *This,__LONG32 lnControlCode,BSTR bstrName,VARIANT vProp);
   2010       HRESULT (WINAPI *GetInfoEx)(IADsClass *This,VARIANT vProperties,__LONG32 lnReserved);
   2011       HRESULT (WINAPI *get_PrimaryInterface)(IADsClass *This,BSTR *retval);
   2012       HRESULT (WINAPI *get_CLSID)(IADsClass *This,BSTR *retval);
   2013       HRESULT (WINAPI *put_CLSID)(IADsClass *This,BSTR bstrCLSID);
   2014       HRESULT (WINAPI *get_OID)(IADsClass *This,BSTR *retval);
   2015       HRESULT (WINAPI *put_OID)(IADsClass *This,BSTR bstrOID);
   2016       HRESULT (WINAPI *get_Abstract)(IADsClass *This,VARIANT_BOOL *retval);
   2017       HRESULT (WINAPI *put_Abstract)(IADsClass *This,VARIANT_BOOL fAbstract);
   2018       HRESULT (WINAPI *get_Auxiliary)(IADsClass *This,VARIANT_BOOL *retval);
   2019       HRESULT (WINAPI *put_Auxiliary)(IADsClass *This,VARIANT_BOOL fAuxiliary);
   2020       HRESULT (WINAPI *get_MandatoryProperties)(IADsClass *This,VARIANT *retval);
   2021       HRESULT (WINAPI *put_MandatoryProperties)(IADsClass *This,VARIANT vMandatoryProperties);
   2022       HRESULT (WINAPI *get_OptionalProperties)(IADsClass *This,VARIANT *retval);
   2023       HRESULT (WINAPI *put_OptionalProperties)(IADsClass *This,VARIANT vOptionalProperties);
   2024       HRESULT (WINAPI *get_NamingProperties)(IADsClass *This,VARIANT *retval);
   2025       HRESULT (WINAPI *put_NamingProperties)(IADsClass *This,VARIANT vNamingProperties);
   2026       HRESULT (WINAPI *get_DerivedFrom)(IADsClass *This,VARIANT *retval);
   2027       HRESULT (WINAPI *put_DerivedFrom)(IADsClass *This,VARIANT vDerivedFrom);
   2028       HRESULT (WINAPI *get_AuxDerivedFrom)(IADsClass *This,VARIANT *retval);
   2029       HRESULT (WINAPI *put_AuxDerivedFrom)(IADsClass *This,VARIANT vAuxDerivedFrom);
   2030       HRESULT (WINAPI *get_PossibleSuperiors)(IADsClass *This,VARIANT *retval);
   2031       HRESULT (WINAPI *put_PossibleSuperiors)(IADsClass *This,VARIANT vPossibleSuperiors);
   2032       HRESULT (WINAPI *get_Containment)(IADsClass *This,VARIANT *retval);
   2033       HRESULT (WINAPI *put_Containment)(IADsClass *This,VARIANT vContainment);
   2034       HRESULT (WINAPI *get_Container)(IADsClass *This,VARIANT_BOOL *retval);
   2035       HRESULT (WINAPI *put_Container)(IADsClass *This,VARIANT_BOOL fContainer);
   2036       HRESULT (WINAPI *get_HelpFileName)(IADsClass *This,BSTR *retval);
   2037       HRESULT (WINAPI *put_HelpFileName)(IADsClass *This,BSTR bstrHelpFileName);
   2038       HRESULT (WINAPI *get_HelpFileContext)(IADsClass *This,__LONG32 *retval);
   2039       HRESULT (WINAPI *put_HelpFileContext)(IADsClass *This,__LONG32 lnHelpFileContext);
   2040       HRESULT (WINAPI *Qualifiers)(IADsClass *This,IADsCollection **ppQualifiers);
   2041     END_INTERFACE
   2042   } IADsClassVtbl;
   2043   struct IADsClass {
   2044     CONST_VTBL struct IADsClassVtbl *lpVtbl;
   2045   };
   2046 #ifdef COBJMACROS
   2047 #define IADsClass_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2048 #define IADsClass_AddRef(This) (This)->lpVtbl->AddRef(This)
   2049 #define IADsClass_Release(This) (This)->lpVtbl->Release(This)
   2050 #define IADsClass_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2051 #define IADsClass_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2052 #define IADsClass_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2053 #define IADsClass_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2054 #define IADsClass_get_Name(This,retval) (This)->lpVtbl->get_Name(This,retval)
   2055 #define IADsClass_get_Class(This,retval) (This)->lpVtbl->get_Class(This,retval)
   2056 #define IADsClass_get_GUID(This,retval) (This)->lpVtbl->get_GUID(This,retval)
   2057 #define IADsClass_get_ADsPath(This,retval) (This)->lpVtbl->get_ADsPath(This,retval)
   2058 #define IADsClass_get_Parent(This,retval) (This)->lpVtbl->get_Parent(This,retval)
   2059 #define IADsClass_get_Schema(This,retval) (This)->lpVtbl->get_Schema(This,retval)
   2060 #define IADsClass_GetInfo(This) (This)->lpVtbl->GetInfo(This)
   2061 #define IADsClass_SetInfo(This) (This)->lpVtbl->SetInfo(This)
   2062 #define IADsClass_Get(This,bstrName,pvProp) (This)->lpVtbl->Get(This,bstrName,pvProp)
   2063 #define IADsClass_Put(This,bstrName,vProp) (This)->lpVtbl->Put(This,bstrName,vProp)
   2064 #define IADsClass_GetEx(This,bstrName,pvProp) (This)->lpVtbl->GetEx(This,bstrName,pvProp)
   2065 #define IADsClass_PutEx(This,lnControlCode,bstrName,vProp) (This)->lpVtbl->PutEx(This,lnControlCode,bstrName,vProp)
   2066 #define IADsClass_GetInfoEx(This,vProperties,lnReserved) (This)->lpVtbl->GetInfoEx(This,vProperties,lnReserved)
   2067 #define IADsClass_get_PrimaryInterface(This,retval) (This)->lpVtbl->get_PrimaryInterface(This,retval)
   2068 #define IADsClass_get_CLSID(This,retval) (This)->lpVtbl->get_CLSID(This,retval)
   2069 #define IADsClass_put_CLSID(This,bstrCLSID) (This)->lpVtbl->put_CLSID(This,bstrCLSID)
   2070 #define IADsClass_get_OID(This,retval) (This)->lpVtbl->get_OID(This,retval)
   2071 #define IADsClass_put_OID(This,bstrOID) (This)->lpVtbl->put_OID(This,bstrOID)
   2072 #define IADsClass_get_Abstract(This,retval) (This)->lpVtbl->get_Abstract(This,retval)
   2073 #define IADsClass_put_Abstract(This,fAbstract) (This)->lpVtbl->put_Abstract(This,fAbstract)
   2074 #define IADsClass_get_Auxiliary(This,retval) (This)->lpVtbl->get_Auxiliary(This,retval)
   2075 #define IADsClass_put_Auxiliary(This,fAuxiliary) (This)->lpVtbl->put_Auxiliary(This,fAuxiliary)
   2076 #define IADsClass_get_MandatoryProperties(This,retval) (This)->lpVtbl->get_MandatoryProperties(This,retval)
   2077 #define IADsClass_put_MandatoryProperties(This,vMandatoryProperties) (This)->lpVtbl->put_MandatoryProperties(This,vMandatoryProperties)
   2078 #define IADsClass_get_OptionalProperties(This,retval) (This)->lpVtbl->get_OptionalProperties(This,retval)
   2079 #define IADsClass_put_OptionalProperties(This,vOptionalProperties) (This)->lpVtbl->put_OptionalProperties(This,vOptionalProperties)
   2080 #define IADsClass_get_NamingProperties(This,retval) (This)->lpVtbl->get_NamingProperties(This,retval)
   2081 #define IADsClass_put_NamingProperties(This,vNamingProperties) (This)->lpVtbl->put_NamingProperties(This,vNamingProperties)
   2082 #define IADsClass_get_DerivedFrom(This,retval) (This)->lpVtbl->get_DerivedFrom(This,retval)
   2083 #define IADsClass_put_DerivedFrom(This,vDerivedFrom) (This)->lpVtbl->put_DerivedFrom(This,vDerivedFrom)
   2084 #define IADsClass_get_AuxDerivedFrom(This,retval) (This)->lpVtbl->get_AuxDerivedFrom(This,retval)
   2085 #define IADsClass_put_AuxDerivedFrom(This,vAuxDerivedFrom) (This)->lpVtbl->put_AuxDerivedFrom(This,vAuxDerivedFrom)
   2086 #define IADsClass_get_PossibleSuperiors(This,retval) (This)->lpVtbl->get_PossibleSuperiors(This,retval)
   2087 #define IADsClass_put_PossibleSuperiors(This,vPossibleSuperiors) (This)->lpVtbl->put_PossibleSuperiors(This,vPossibleSuperiors)
   2088 #define IADsClass_get_Containment(This,retval) (This)->lpVtbl->get_Containment(This,retval)
   2089 #define IADsClass_put_Containment(This,vContainment) (This)->lpVtbl->put_Containment(This,vContainment)
   2090 #define IADsClass_get_Container(This,retval) (This)->lpVtbl->get_Container(This,retval)
   2091 #define IADsClass_put_Container(This,fContainer) (This)->lpVtbl->put_Container(This,fContainer)
   2092 #define IADsClass_get_HelpFileName(This,retval) (This)->lpVtbl->get_HelpFileName(This,retval)
   2093 #define IADsClass_put_HelpFileName(This,bstrHelpFileName) (This)->lpVtbl->put_HelpFileName(This,bstrHelpFileName)
   2094 #define IADsClass_get_HelpFileContext(This,retval) (This)->lpVtbl->get_HelpFileContext(This,retval)
   2095 #define IADsClass_put_HelpFileContext(This,lnHelpFileContext) (This)->lpVtbl->put_HelpFileContext(This,lnHelpFileContext)
   2096 #define IADsClass_Qualifiers(This,ppQualifiers) (This)->lpVtbl->Qualifiers(This,ppQualifiers)
   2097 #endif
   2098 #endif
   2099   HRESULT WINAPI IADsClass_get_PrimaryInterface_Proxy(IADsClass *This,BSTR *retval);
   2100   void __RPC_STUB IADsClass_get_PrimaryInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2101   HRESULT WINAPI IADsClass_get_CLSID_Proxy(IADsClass *This,BSTR *retval);
   2102   void __RPC_STUB IADsClass_get_CLSID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2103   HRESULT WINAPI IADsClass_put_CLSID_Proxy(IADsClass *This,BSTR bstrCLSID);
   2104   void __RPC_STUB IADsClass_put_CLSID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2105   HRESULT WINAPI IADsClass_get_OID_Proxy(IADsClass *This,BSTR *retval);
   2106   void __RPC_STUB IADsClass_get_OID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2107   HRESULT WINAPI IADsClass_put_OID_Proxy(IADsClass *This,BSTR bstrOID);
   2108   void __RPC_STUB IADsClass_put_OID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2109   HRESULT WINAPI IADsClass_get_Abstract_Proxy(IADsClass *This,VARIANT_BOOL *retval);
   2110   void __RPC_STUB IADsClass_get_Abstract_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2111   HRESULT WINAPI IADsClass_put_Abstract_Proxy(IADsClass *This,VARIANT_BOOL fAbstract);
   2112   void __RPC_STUB IADsClass_put_Abstract_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2113   HRESULT WINAPI IADsClass_get_Auxiliary_Proxy(IADsClass *This,VARIANT_BOOL *retval);
   2114   void __RPC_STUB IADsClass_get_Auxiliary_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2115   HRESULT WINAPI IADsClass_put_Auxiliary_Proxy(IADsClass *This,VARIANT_BOOL fAuxiliary);
   2116   void __RPC_STUB IADsClass_put_Auxiliary_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2117   HRESULT WINAPI IADsClass_get_MandatoryProperties_Proxy(IADsClass *This,VARIANT *retval);
   2118   void __RPC_STUB IADsClass_get_MandatoryProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2119   HRESULT WINAPI IADsClass_put_MandatoryProperties_Proxy(IADsClass *This,VARIANT vMandatoryProperties);
   2120   void __RPC_STUB IADsClass_put_MandatoryProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2121   HRESULT WINAPI IADsClass_get_OptionalProperties_Proxy(IADsClass *This,VARIANT *retval);
   2122   void __RPC_STUB IADsClass_get_OptionalProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2123   HRESULT WINAPI IADsClass_put_OptionalProperties_Proxy(IADsClass *This,VARIANT vOptionalProperties);
   2124   void __RPC_STUB IADsClass_put_OptionalProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2125   HRESULT WINAPI IADsClass_get_NamingProperties_Proxy(IADsClass *This,VARIANT *retval);
   2126   void __RPC_STUB IADsClass_get_NamingProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2127   HRESULT WINAPI IADsClass_put_NamingProperties_Proxy(IADsClass *This,VARIANT vNamingProperties);
   2128   void __RPC_STUB IADsClass_put_NamingProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2129   HRESULT WINAPI IADsClass_get_DerivedFrom_Proxy(IADsClass *This,VARIANT *retval);
   2130   void __RPC_STUB IADsClass_get_DerivedFrom_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2131   HRESULT WINAPI IADsClass_put_DerivedFrom_Proxy(IADsClass *This,VARIANT vDerivedFrom);
   2132   void __RPC_STUB IADsClass_put_DerivedFrom_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2133   HRESULT WINAPI IADsClass_get_AuxDerivedFrom_Proxy(IADsClass *This,VARIANT *retval);
   2134   void __RPC_STUB IADsClass_get_AuxDerivedFrom_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2135   HRESULT WINAPI IADsClass_put_AuxDerivedFrom_Proxy(IADsClass *This,VARIANT vAuxDerivedFrom);
   2136   void __RPC_STUB IADsClass_put_AuxDerivedFrom_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2137   HRESULT WINAPI IADsClass_get_PossibleSuperiors_Proxy(IADsClass *This,VARIANT *retval);
   2138   void __RPC_STUB IADsClass_get_PossibleSuperiors_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2139   HRESULT WINAPI IADsClass_put_PossibleSuperiors_Proxy(IADsClass *This,VARIANT vPossibleSuperiors);
   2140   void __RPC_STUB IADsClass_put_PossibleSuperiors_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2141   HRESULT WINAPI IADsClass_get_Containment_Proxy(IADsClass *This,VARIANT *retval);
   2142   void __RPC_STUB IADsClass_get_Containment_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2143   HRESULT WINAPI IADsClass_put_Containment_Proxy(IADsClass *This,VARIANT vContainment);
   2144   void __RPC_STUB IADsClass_put_Containment_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2145   HRESULT WINAPI IADsClass_get_Container_Proxy(IADsClass *This,VARIANT_BOOL *retval);
   2146   void __RPC_STUB IADsClass_get_Container_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2147   HRESULT WINAPI IADsClass_put_Container_Proxy(IADsClass *This,VARIANT_BOOL fContainer);
   2148   void __RPC_STUB IADsClass_put_Container_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2149   HRESULT WINAPI IADsClass_get_HelpFileName_Proxy(IADsClass *This,BSTR *retval);
   2150   void __RPC_STUB IADsClass_get_HelpFileName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2151   HRESULT WINAPI IADsClass_put_HelpFileName_Proxy(IADsClass *This,BSTR bstrHelpFileName);
   2152   void __RPC_STUB IADsClass_put_HelpFileName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2153   HRESULT WINAPI IADsClass_get_HelpFileContext_Proxy(IADsClass *This,__LONG32 *retval);
   2154   void __RPC_STUB IADsClass_get_HelpFileContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2155   HRESULT WINAPI IADsClass_put_HelpFileContext_Proxy(IADsClass *This,__LONG32 lnHelpFileContext);
   2156   void __RPC_STUB IADsClass_put_HelpFileContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2157   HRESULT WINAPI IADsClass_Qualifiers_Proxy(IADsClass *This,IADsCollection **ppQualifiers);
   2158   void __RPC_STUB IADsClass_Qualifiers_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2159 #endif
   2160 
   2161 #ifndef __IADsProperty_INTERFACE_DEFINED__
   2162 #define __IADsProperty_INTERFACE_DEFINED__
   2163   EXTERN_C const IID IID_IADsProperty;
   2164 #if defined(__cplusplus) && !defined(CINTERFACE)
   2165   struct IADsProperty : public IADs {
   2166   public:
   2167     virtual HRESULT WINAPI get_OID(BSTR *retval) = 0;
   2168     virtual HRESULT WINAPI put_OID(BSTR bstrOID) = 0;
   2169     virtual HRESULT WINAPI get_Syntax(BSTR *retval) = 0;
   2170     virtual HRESULT WINAPI put_Syntax(BSTR bstrSyntax) = 0;
   2171     virtual HRESULT WINAPI get_MaxRange(__LONG32 *retval) = 0;
   2172     virtual HRESULT WINAPI put_MaxRange(__LONG32 lnMaxRange) = 0;
   2173     virtual HRESULT WINAPI get_MinRange(__LONG32 *retval) = 0;
   2174     virtual HRESULT WINAPI put_MinRange(__LONG32 lnMinRange) = 0;
   2175     virtual HRESULT WINAPI get_MultiValued(VARIANT_BOOL *retval) = 0;
   2176     virtual HRESULT WINAPI put_MultiValued(VARIANT_BOOL fMultiValued) = 0;
   2177     virtual HRESULT WINAPI Qualifiers(IADsCollection **ppQualifiers) = 0;
   2178   };
   2179 #else
   2180   typedef struct IADsPropertyVtbl {
   2181     BEGIN_INTERFACE
   2182       HRESULT (WINAPI *QueryInterface)(IADsProperty *This,REFIID riid,void **ppvObject);
   2183       ULONG (WINAPI *AddRef)(IADsProperty *This);
   2184       ULONG (WINAPI *Release)(IADsProperty *This);
   2185       HRESULT (WINAPI *GetTypeInfoCount)(IADsProperty *This,UINT *pctinfo);
   2186       HRESULT (WINAPI *GetTypeInfo)(IADsProperty *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2187       HRESULT (WINAPI *GetIDsOfNames)(IADsProperty *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2188       HRESULT (WINAPI *Invoke)(IADsProperty *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2189       HRESULT (WINAPI *get_Name)(IADsProperty *This,BSTR *retval);
   2190       HRESULT (WINAPI *get_Class)(IADsProperty *This,BSTR *retval);
   2191       HRESULT (WINAPI *get_GUID)(IADsProperty *This,BSTR *retval);
   2192       HRESULT (WINAPI *get_ADsPath)(IADsProperty *This,BSTR *retval);
   2193       HRESULT (WINAPI *get_Parent)(IADsProperty *This,BSTR *retval);
   2194       HRESULT (WINAPI *get_Schema)(IADsProperty *This,BSTR *retval);
   2195       HRESULT (WINAPI *GetInfo)(IADsProperty *This);
   2196       HRESULT (WINAPI *SetInfo)(IADsProperty *This);
   2197       HRESULT (WINAPI *Get)(IADsProperty *This,BSTR bstrName,VARIANT *pvProp);
   2198       HRESULT (WINAPI *Put)(IADsProperty *This,BSTR bstrName,VARIANT vProp);
   2199       HRESULT (WINAPI *GetEx)(IADsProperty *This,BSTR bstrName,VARIANT *pvProp);
   2200       HRESULT (WINAPI *PutEx)(IADsProperty *This,__LONG32 lnControlCode,BSTR bstrName,VARIANT vProp);
   2201       HRESULT (WINAPI *GetInfoEx)(IADsProperty *This,VARIANT vProperties,__LONG32 lnReserved);
   2202       HRESULT (WINAPI *get_OID)(IADsProperty *This,BSTR *retval);
   2203       HRESULT (WINAPI *put_OID)(IADsProperty *This,BSTR bstrOID);
   2204       HRESULT (WINAPI *get_Syntax)(IADsProperty *This,BSTR *retval);
   2205       HRESULT (WINAPI *put_Syntax)(IADsProperty *This,BSTR bstrSyntax);
   2206       HRESULT (WINAPI *get_MaxRange)(IADsProperty *This,__LONG32 *retval);
   2207       HRESULT (WINAPI *put_MaxRange)(IADsProperty *This,__LONG32 lnMaxRange);
   2208       HRESULT (WINAPI *get_MinRange)(IADsProperty *This,__LONG32 *retval);
   2209       HRESULT (WINAPI *put_MinRange)(IADsProperty *This,__LONG32 lnMinRange);
   2210       HRESULT (WINAPI *get_MultiValued)(IADsProperty *This,VARIANT_BOOL *retval);
   2211       HRESULT (WINAPI *put_MultiValued)(IADsProperty *This,VARIANT_BOOL fMultiValued);
   2212       HRESULT (WINAPI *Qualifiers)(IADsProperty *This,IADsCollection **ppQualifiers);
   2213     END_INTERFACE
   2214   } IADsPropertyVtbl;
   2215   struct IADsProperty {
   2216     CONST_VTBL struct IADsPropertyVtbl *lpVtbl;
   2217   };
   2218 #ifdef COBJMACROS
   2219 #define IADsProperty_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2220 #define IADsProperty_AddRef(This) (This)->lpVtbl->AddRef(This)
   2221 #define IADsProperty_Release(This) (This)->lpVtbl->Release(This)
   2222 #define IADsProperty_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2223 #define IADsProperty_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2224 #define IADsProperty_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2225 #define IADsProperty_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2226 #define IADsProperty_get_Name(This,retval) (This)->lpVtbl->get_Name(This,retval)
   2227 #define IADsProperty_get_Class(This,retval) (This)->lpVtbl->get_Class(This,retval)
   2228 #define IADsProperty_get_GUID(This,retval) (This)->lpVtbl->get_GUID(This,retval)
   2229 #define IADsProperty_get_ADsPath(This,retval) (This)->lpVtbl->get_ADsPath(This,retval)
   2230 #define IADsProperty_get_Parent(This,retval) (This)->lpVtbl->get_Parent(This,retval)
   2231 #define IADsProperty_get_Schema(This,retval) (This)->lpVtbl->get_Schema(This,retval)
   2232 #define IADsProperty_GetInfo(This) (This)->lpVtbl->GetInfo(This)
   2233 #define IADsProperty_SetInfo(This) (This)->lpVtbl->SetInfo(This)
   2234 #define IADsProperty_Get(This,bstrName,pvProp) (This)->lpVtbl->Get(This,bstrName,pvProp)
   2235 #define IADsProperty_Put(This,bstrName,vProp) (This)->lpVtbl->Put(This,bstrName,vProp)
   2236 #define IADsProperty_GetEx(This,bstrName,pvProp) (This)->lpVtbl->GetEx(This,bstrName,pvProp)
   2237 #define IADsProperty_PutEx(This,lnControlCode,bstrName,vProp) (This)->lpVtbl->PutEx(This,lnControlCode,bstrName,vProp)
   2238 #define IADsProperty_GetInfoEx(This,vProperties,lnReserved) (This)->lpVtbl->GetInfoEx(This,vProperties,lnReserved)
   2239 #define IADsProperty_get_OID(This,retval) (This)->lpVtbl->get_OID(This,retval)
   2240 #define IADsProperty_put_OID(This,bstrOID) (This)->lpVtbl->put_OID(This,bstrOID)
   2241 #define IADsProperty_get_Syntax(This,retval) (This)->lpVtbl->get_Syntax(This,retval)
   2242 #define IADsProperty_put_Syntax(This,bstrSyntax) (This)->lpVtbl->put_Syntax(This,bstrSyntax)
   2243 #define IADsProperty_get_MaxRange(This,retval) (This)->lpVtbl->get_MaxRange(This,retval)
   2244 #define IADsProperty_put_MaxRange(This,lnMaxRange) (This)->lpVtbl->put_MaxRange(This,lnMaxRange)
   2245 #define IADsProperty_get_MinRange(This,retval) (This)->lpVtbl->get_MinRange(This,retval)
   2246 #define IADsProperty_put_MinRange(This,lnMinRange) (This)->lpVtbl->put_MinRange(This,lnMinRange)
   2247 #define IADsProperty_get_MultiValued(This,retval) (This)->lpVtbl->get_MultiValued(This,retval)
   2248 #define IADsProperty_put_MultiValued(This,fMultiValued) (This)->lpVtbl->put_MultiValued(This,fMultiValued)
   2249 #define IADsProperty_Qualifiers(This,ppQualifiers) (This)->lpVtbl->Qualifiers(This,ppQualifiers)
   2250 #endif
   2251 #endif
   2252   HRESULT WINAPI IADsProperty_get_OID_Proxy(IADsProperty *This,BSTR *retval);
   2253   void __RPC_STUB IADsProperty_get_OID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2254   HRESULT WINAPI IADsProperty_put_OID_Proxy(IADsProperty *This,BSTR bstrOID);
   2255   void __RPC_STUB IADsProperty_put_OID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2256   HRESULT WINAPI IADsProperty_get_Syntax_Proxy(IADsProperty *This,BSTR *retval);
   2257   void __RPC_STUB IADsProperty_get_Syntax_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2258   HRESULT WINAPI IADsProperty_put_Syntax_Proxy(IADsProperty *This,BSTR bstrSyntax);
   2259   void __RPC_STUB IADsProperty_put_Syntax_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2260   HRESULT WINAPI IADsProperty_get_MaxRange_Proxy(IADsProperty *This,__LONG32 *retval);
   2261   void __RPC_STUB IADsProperty_get_MaxRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2262   HRESULT WINAPI IADsProperty_put_MaxRange_Proxy(IADsProperty *This,__LONG32 lnMaxRange);
   2263   void __RPC_STUB IADsProperty_put_MaxRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2264   HRESULT WINAPI IADsProperty_get_MinRange_Proxy(IADsProperty *This,__LONG32 *retval);
   2265   void __RPC_STUB IADsProperty_get_MinRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2266   HRESULT WINAPI IADsProperty_put_MinRange_Proxy(IADsProperty *This,__LONG32 lnMinRange);
   2267   void __RPC_STUB IADsProperty_put_MinRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2268   HRESULT WINAPI IADsProperty_get_MultiValued_Proxy(IADsProperty *This,VARIANT_BOOL *retval);
   2269   void __RPC_STUB IADsProperty_get_MultiValued_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2270   HRESULT WINAPI IADsProperty_put_MultiValued_Proxy(IADsProperty *This,VARIANT_BOOL fMultiValued);
   2271   void __RPC_STUB IADsProperty_put_MultiValued_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2272   HRESULT WINAPI IADsProperty_Qualifiers_Proxy(IADsProperty *This,IADsCollection **ppQualifiers);
   2273   void __RPC_STUB IADsProperty_Qualifiers_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2274 #endif
   2275 
   2276 #ifndef __IADsSyntax_INTERFACE_DEFINED__
   2277 #define __IADsSyntax_INTERFACE_DEFINED__
   2278   EXTERN_C const IID IID_IADsSyntax;
   2279 #if defined(__cplusplus) && !defined(CINTERFACE)
   2280   struct IADsSyntax : public IADs {
   2281   public:
   2282     virtual HRESULT WINAPI get_OleAutoDataType(__LONG32 *retval) = 0;
   2283     virtual HRESULT WINAPI put_OleAutoDataType(__LONG32 lnOleAutoDataType) = 0;
   2284   };
   2285 #else
   2286   typedef struct IADsSyntaxVtbl {
   2287     BEGIN_INTERFACE
   2288       HRESULT (WINAPI *QueryInterface)(IADsSyntax *This,REFIID riid,void **ppvObject);
   2289       ULONG (WINAPI *AddRef)(IADsSyntax *This);
   2290       ULONG (WINAPI *Release)(IADsSyntax *This);
   2291       HRESULT (WINAPI *GetTypeInfoCount)(IADsSyntax *This,UINT *pctinfo);
   2292       HRESULT (WINAPI *GetTypeInfo)(IADsSyntax *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2293       HRESULT (WINAPI *GetIDsOfNames)(IADsSyntax *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2294       HRESULT (WINAPI *Invoke)(IADsSyntax *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2295       HRESULT (WINAPI *get_Name)(IADsSyntax *This,BSTR *retval);
   2296       HRESULT (WINAPI *get_Class)(IADsSyntax *This,BSTR *retval);
   2297       HRESULT (WINAPI *get_GUID)(IADsSyntax *This,BSTR *retval);
   2298       HRESULT (WINAPI *get_ADsPath)(IADsSyntax *This,BSTR *retval);
   2299       HRESULT (WINAPI *get_Parent)(IADsSyntax *This,BSTR *retval);
   2300       HRESULT (WINAPI *get_Schema)(IADsSyntax *This,BSTR *retval);
   2301       HRESULT (WINAPI *GetInfo)(IADsSyntax *This);
   2302       HRESULT (WINAPI *SetInfo)(IADsSyntax *This);
   2303       HRESULT (WINAPI *Get)(IADsSyntax *This,BSTR bstrName,VARIANT *pvProp);
   2304       HRESULT (WINAPI *Put)(IADsSyntax *This,BSTR bstrName,VARIANT vProp);
   2305       HRESULT (WINAPI *GetEx)(IADsSyntax *This,BSTR bstrName,VARIANT *pvProp);
   2306       HRESULT (WINAPI *PutEx)(IADsSyntax *This,__LONG32 lnControlCode,BSTR bstrName,VARIANT vProp);
   2307       HRESULT (WINAPI *GetInfoEx)(IADsSyntax *This,VARIANT vProperties,__LONG32 lnReserved);
   2308       HRESULT (WINAPI *get_OleAutoDataType)(IADsSyntax *This,__LONG32 *retval);
   2309       HRESULT (WINAPI *put_OleAutoDataType)(IADsSyntax *This,__LONG32 lnOleAutoDataType);
   2310     END_INTERFACE
   2311   } IADsSyntaxVtbl;
   2312   struct IADsSyntax {
   2313     CONST_VTBL struct IADsSyntaxVtbl *lpVtbl;
   2314   };
   2315 #ifdef COBJMACROS
   2316 #define IADsSyntax_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2317 #define IADsSyntax_AddRef(This) (This)->lpVtbl->AddRef(This)
   2318 #define IADsSyntax_Release(This) (This)->lpVtbl->Release(This)
   2319 #define IADsSyntax_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2320 #define IADsSyntax_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2321 #define IADsSyntax_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2322 #define IADsSyntax_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2323 #define IADsSyntax_get_Name(This,retval) (This)->lpVtbl->get_Name(This,retval)
   2324 #define IADsSyntax_get_Class(This,retval) (This)->lpVtbl->get_Class(This,retval)
   2325 #define IADsSyntax_get_GUID(This,retval) (This)->lpVtbl->get_GUID(This,retval)
   2326 #define IADsSyntax_get_ADsPath(This,retval) (This)->lpVtbl->get_ADsPath(This,retval)
   2327 #define IADsSyntax_get_Parent(This,retval) (This)->lpVtbl->get_Parent(This,retval)
   2328 #define IADsSyntax_get_Schema(This,retval) (This)->lpVtbl->get_Schema(This,retval)
   2329 #define IADsSyntax_GetInfo(This) (This)->lpVtbl->GetInfo(This)
   2330 #define IADsSyntax_SetInfo(This) (This)->lpVtbl->SetInfo(This)
   2331 #define IADsSyntax_Get(This,bstrName,pvProp) (This)->lpVtbl->Get(This,bstrName,pvProp)
   2332 #define IADsSyntax_Put(This,bstrName,vProp) (This)->lpVtbl->Put(This,bstrName,vProp)
   2333 #define IADsSyntax_GetEx(This,bstrName,pvProp) (This)->lpVtbl->GetEx(This,bstrName,pvProp)
   2334 #define IADsSyntax_PutEx(This,lnControlCode,bstrName,vProp) (This)->lpVtbl->PutEx(This,lnControlCode,bstrName,vProp)
   2335 #define IADsSyntax_GetInfoEx(This,vProperties,lnReserved) (This)->lpVtbl->GetInfoEx(This,vProperties,lnReserved)
   2336 #define IADsSyntax_get_OleAutoDataType(This,retval) (This)->lpVtbl->get_OleAutoDataType(This,retval)
   2337 #define IADsSyntax_put_OleAutoDataType(This,lnOleAutoDataType) (This)->lpVtbl->put_OleAutoDataType(This,lnOleAutoDataType)
   2338 #endif
   2339 #endif
   2340   HRESULT WINAPI IADsSyntax_get_OleAutoDataType_Proxy(IADsSyntax *This,__LONG32 *retval);
   2341   void __RPC_STUB IADsSyntax_get_OleAutoDataType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2342   HRESULT WINAPI IADsSyntax_put_OleAutoDataType_Proxy(IADsSyntax *This,__LONG32 lnOleAutoDataType);
   2343   void __RPC_STUB IADsSyntax_put_OleAutoDataType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2344 #endif
   2345 
   2346 #ifndef __IADsLocality_INTERFACE_DEFINED__
   2347 #define __IADsLocality_INTERFACE_DEFINED__
   2348   EXTERN_C const IID IID_IADsLocality;
   2349 #if defined(__cplusplus) && !defined(CINTERFACE)
   2350   struct IADsLocality : public IADs {
   2351   public:
   2352     virtual HRESULT WINAPI get_Description(BSTR *retval) = 0;
   2353     virtual HRESULT WINAPI put_Description(BSTR bstrDescription) = 0;
   2354     virtual HRESULT WINAPI get_LocalityName(BSTR *retval) = 0;
   2355     virtual HRESULT WINAPI put_LocalityName(BSTR bstrLocalityName) = 0;
   2356     virtual HRESULT WINAPI get_PostalAddress(BSTR *retval) = 0;
   2357     virtual HRESULT WINAPI put_PostalAddress(BSTR bstrPostalAddress) = 0;
   2358     virtual HRESULT WINAPI get_SeeAlso(VARIANT *retval) = 0;
   2359     virtual HRESULT WINAPI put_SeeAlso(VARIANT vSeeAlso) = 0;
   2360   };
   2361 #else
   2362   typedef struct IADsLocalityVtbl {
   2363     BEGIN_INTERFACE
   2364       HRESULT (WINAPI *QueryInterface)(IADsLocality *This,REFIID riid,void **ppvObject);
   2365       ULONG (WINAPI *AddRef)(IADsLocality *This);
   2366       ULONG (WINAPI *Release)(IADsLocality *This);
   2367       HRESULT (WINAPI *GetTypeInfoCount)(IADsLocality *This,UINT *pctinfo);
   2368       HRESULT (WINAPI *GetTypeInfo)(IADsLocality *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2369       HRESULT (WINAPI *GetIDsOfNames)(IADsLocality *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2370       HRESULT (WINAPI *Invoke)(IADsLocality *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2371       HRESULT (WINAPI *get_Name)(IADsLocality *This,BSTR *retval);
   2372       HRESULT (WINAPI *get_Class)(IADsLocality *This,BSTR *retval);
   2373       HRESULT (WINAPI *get_GUID)(IADsLocality *This,BSTR *retval);
   2374       HRESULT (WINAPI *get_ADsPath)(IADsLocality *This,BSTR *retval);
   2375       HRESULT (WINAPI *get_Parent)(IADsLocality *This,BSTR *retval);
   2376       HRESULT (WINAPI *get_Schema)(IADsLocality *This,BSTR *retval);
   2377       HRESULT (WINAPI *GetInfo)(IADsLocality *This);
   2378       HRESULT (WINAPI *SetInfo)(IADsLocality *This);
   2379       HRESULT (WINAPI *Get)(IADsLocality *This,BSTR bstrName,VARIANT *pvProp);
   2380       HRESULT (WINAPI *Put)(IADsLocality *This,BSTR bstrName,VARIANT vProp);
   2381       HRESULT (WINAPI *GetEx)(IADsLocality *This,BSTR bstrName,VARIANT *pvProp);
   2382       HRESULT (WINAPI *PutEx)(IADsLocality *This,__LONG32 lnControlCode,BSTR bstrName,VARIANT vProp);
   2383       HRESULT (WINAPI *GetInfoEx)(IADsLocality *This,VARIANT vProperties,__LONG32 lnReserved);
   2384       HRESULT (WINAPI *get_Description)(IADsLocality *This,BSTR *retval);
   2385       HRESULT (WINAPI *put_Description)(IADsLocality *This,BSTR bstrDescription);
   2386       HRESULT (WINAPI *get_LocalityName)(IADsLocality *This,BSTR *retval);
   2387       HRESULT (WINAPI *put_LocalityName)(IADsLocality *This,BSTR bstrLocalityName);
   2388       HRESULT (WINAPI *get_PostalAddress)(IADsLocality *This,BSTR *retval);
   2389       HRESULT (WINAPI *put_PostalAddress)(IADsLocality *This,BSTR bstrPostalAddress);
   2390       HRESULT (WINAPI *get_SeeAlso)(IADsLocality *This,VARIANT *retval);
   2391       HRESULT (WINAPI *put_SeeAlso)(IADsLocality *This,VARIANT vSeeAlso);
   2392     END_INTERFACE
   2393   } IADsLocalityVtbl;
   2394   struct IADsLocality {
   2395     CONST_VTBL struct IADsLocalityVtbl *lpVtbl;
   2396   };
   2397 #ifdef COBJMACROS
   2398 #define IADsLocality_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2399 #define IADsLocality_AddRef(This) (This)->lpVtbl->AddRef(This)
   2400 #define IADsLocality_Release(This) (This)->lpVtbl->Release(This)
   2401 #define IADsLocality_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2402 #define IADsLocality_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2403 #define IADsLocality_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2404 #define IADsLocality_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2405 #define IADsLocality_get_Name(This,retval) (This)->lpVtbl->get_Name(This,retval)
   2406 #define IADsLocality_get_Class(This,retval) (This)->lpVtbl->get_Class(This,retval)
   2407 #define IADsLocality_get_GUID(This,retval) (This)->lpVtbl->get_GUID(This,retval)
   2408 #define IADsLocality_get_ADsPath(This,retval) (This)->lpVtbl->get_ADsPath(This,retval)
   2409 #define IADsLocality_get_Parent(This,retval) (This)->lpVtbl->get_Parent(This,retval)
   2410 #define IADsLocality_get_Schema(This,retval) (This)->lpVtbl->get_Schema(This,retval)
   2411 #define IADsLocality_GetInfo(This) (This)->lpVtbl->GetInfo(This)
   2412 #define IADsLocality_SetInfo(This) (This)->lpVtbl->SetInfo(This)
   2413 #define IADsLocality_Get(This,bstrName,pvProp) (This)->lpVtbl->Get(This,bstrName,pvProp)
   2414 #define IADsLocality_Put(This,bstrName,vProp) (This)->lpVtbl->Put(This,bstrName,vProp)
   2415 #define IADsLocality_GetEx(This,bstrName,pvProp) (This)->lpVtbl->GetEx(This,bstrName,pvProp)
   2416 #define IADsLocality_PutEx(This,lnControlCode,bstrName,vProp) (This)->lpVtbl->PutEx(This,lnControlCode,bstrName,vProp)
   2417 #define IADsLocality_GetInfoEx(This,vProperties,lnReserved) (This)->lpVtbl->GetInfoEx(This,vProperties,lnReserved)
   2418 #define IADsLocality_get_Description(This,retval) (This)->lpVtbl->get_Description(This,retval)
   2419 #define IADsLocality_put_Description(This,bstrDescription) (This)->lpVtbl->put_Description(This,bstrDescription)
   2420 #define IADsLocality_get_LocalityName(This,retval) (This)->lpVtbl->get_LocalityName(This,retval)
   2421 #define IADsLocality_put_LocalityName(This,bstrLocalityName) (This)->lpVtbl->put_LocalityName(This,bstrLocalityName)
   2422 #define IADsLocality_get_PostalAddress(This,retval) (This)->lpVtbl->get_PostalAddress(This,retval)
   2423 #define IADsLocality_put_PostalAddress(This,bstrPostalAddress) (This)->lpVtbl->put_PostalAddress(This,bstrPostalAddress)
   2424 #define IADsLocality_get_SeeAlso(This,retval) (This)->lpVtbl->get_SeeAlso(This,retval)
   2425 #define IADsLocality_put_SeeAlso(This,vSeeAlso) (This)->lpVtbl->put_SeeAlso(This,vSeeAlso)
   2426 #endif
   2427 #endif
   2428   HRESULT WINAPI IADsLocality_get_Description_Proxy(IADsLocality *This,BSTR *retval);
   2429   void __RPC_STUB IADsLocality_get_Description_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2430   HRESULT WINAPI IADsLocality_put_Description_Proxy(IADsLocality *This,BSTR bstrDescription);
   2431   void __RPC_STUB IADsLocality_put_Description_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2432   HRESULT WINAPI IADsLocality_get_LocalityName_Proxy(IADsLocality *This,BSTR *retval);
   2433   void __RPC_STUB IADsLocality_get_LocalityName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2434   HRESULT WINAPI IADsLocality_put_LocalityName_Proxy(IADsLocality *This,BSTR bstrLocalityName);
   2435   void __RPC_STUB IADsLocality_put_LocalityName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2436   HRESULT WINAPI IADsLocality_get_PostalAddress_Proxy(IADsLocality *This,BSTR *retval);
   2437   void __RPC_STUB IADsLocality_get_PostalAddress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2438   HRESULT WINAPI IADsLocality_put_PostalAddress_Proxy(IADsLocality *This,BSTR bstrPostalAddress);
   2439   void __RPC_STUB IADsLocality_put_PostalAddress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2440   HRESULT WINAPI IADsLocality_get_SeeAlso_Proxy(IADsLocality *This,VARIANT *retval);
   2441   void __RPC_STUB IADsLocality_get_SeeAlso_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2442   HRESULT WINAPI IADsLocality_put_SeeAlso_Proxy(IADsLocality *This,VARIANT vSeeAlso);
   2443   void __RPC_STUB IADsLocality_put_SeeAlso_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2444 #endif
   2445 
   2446 #ifndef __IADsO_INTERFACE_DEFINED__
   2447 #define __IADsO_INTERFACE_DEFINED__
   2448   EXTERN_C const IID IID_IADsO;
   2449 #if defined(__cplusplus) && !defined(CINTERFACE)
   2450   struct IADsO : public IADs {
   2451   public:
   2452     virtual HRESULT WINAPI get_Description(BSTR *retval) = 0;
   2453     virtual HRESULT WINAPI put_Description(BSTR bstrDescription) = 0;
   2454     virtual HRESULT WINAPI get_LocalityName(BSTR *retval) = 0;
   2455     virtual HRESULT WINAPI put_LocalityName(BSTR bstrLocalityName) = 0;
   2456     virtual HRESULT WINAPI get_PostalAddress(BSTR *retval) = 0;
   2457     virtual HRESULT WINAPI put_PostalAddress(BSTR bstrPostalAddress) = 0;
   2458     virtual HRESULT WINAPI get_TelephoneNumber(BSTR *retval) = 0;
   2459     virtual HRESULT WINAPI put_TelephoneNumber(BSTR bstrTelephoneNumber) = 0;
   2460     virtual HRESULT WINAPI get_FaxNumber(BSTR *retval) = 0;
   2461     virtual HRESULT WINAPI put_FaxNumber(BSTR bstrFaxNumber) = 0;
   2462     virtual HRESULT WINAPI get_SeeAlso(VARIANT *retval) = 0;
   2463     virtual HRESULT WINAPI put_SeeAlso(VARIANT vSeeAlso) = 0;
   2464   };
   2465 #else
   2466   typedef struct IADsOVtbl {
   2467     BEGIN_INTERFACE
   2468       HRESULT (WINAPI *QueryInterface)(IADsO *This,REFIID riid,void **ppvObject);
   2469       ULONG (WINAPI *AddRef)(IADsO *This);
   2470       ULONG (WINAPI *Release)(IADsO *This);
   2471       HRESULT (WINAPI *GetTypeInfoCount)(IADsO *This,UINT *pctinfo);
   2472       HRESULT (WINAPI *GetTypeInfo)(IADsO *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2473       HRESULT (WINAPI *GetIDsOfNames)(IADsO *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2474       HRESULT (WINAPI *Invoke)(IADsO *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2475       HRESULT (WINAPI *get_Name)(IADsO *This,BSTR *retval);
   2476       HRESULT (WINAPI *get_Class)(IADsO *This,BSTR *retval);
   2477       HRESULT (WINAPI *get_GUID)(IADsO *This,BSTR *retval);
   2478       HRESULT (WINAPI *get_ADsPath)(IADsO *This,BSTR *retval);
   2479       HRESULT (WINAPI *get_Parent)(IADsO *This,BSTR *retval);
   2480       HRESULT (WINAPI *get_Schema)(IADsO *This,BSTR *retval);
   2481       HRESULT (WINAPI *GetInfo)(IADsO *This);
   2482       HRESULT (WINAPI *SetInfo)(IADsO *This);
   2483       HRESULT (WINAPI *Get)(IADsO *This,BSTR bstrName,VARIANT *pvProp);
   2484       HRESULT (WINAPI *Put)(IADsO *This,BSTR bstrName,VARIANT vProp);
   2485       HRESULT (WINAPI *GetEx)(IADsO *This,BSTR bstrName,VARIANT *pvProp);
   2486       HRESULT (WINAPI *PutEx)(IADsO *This,__LONG32 lnControlCode,BSTR bstrName,VARIANT vProp);
   2487       HRESULT (WINAPI *GetInfoEx)(IADsO *This,VARIANT vProperties,__LONG32 lnReserved);
   2488       HRESULT (WINAPI *get_Description)(IADsO *This,BSTR *retval);
   2489       HRESULT (WINAPI *put_Description)(IADsO *This,BSTR bstrDescription);
   2490       HRESULT (WINAPI *get_LocalityName)(IADsO *This,BSTR *retval);
   2491       HRESULT (WINAPI *put_LocalityName)(IADsO *This,BSTR bstrLocalityName);
   2492       HRESULT (WINAPI *get_PostalAddress)(IADsO *This,BSTR *retval);
   2493       HRESULT (WINAPI *put_PostalAddress)(IADsO *This,BSTR bstrPostalAddress);
   2494       HRESULT (WINAPI *get_TelephoneNumber)(IADsO *This,BSTR *retval);
   2495       HRESULT (WINAPI *put_TelephoneNumber)(IADsO *This,BSTR bstrTelephoneNumber);
   2496       HRESULT (WINAPI *get_FaxNumber)(IADsO *This,BSTR *retval);
   2497       HRESULT (WINAPI *put_FaxNumber)(IADsO *This,BSTR bstrFaxNumber);
   2498       HRESULT (WINAPI *get_SeeAlso)(IADsO *This,VARIANT *retval);
   2499       HRESULT (WINAPI *put_SeeAlso)(IADsO *This,VARIANT vSeeAlso);
   2500     END_INTERFACE
   2501   } IADsOVtbl;
   2502   struct IADsO {
   2503     CONST_VTBL struct IADsOVtbl *lpVtbl;
   2504   };
   2505 #ifdef COBJMACROS
   2506 #define IADsO_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2507 #define IADsO_AddRef(This) (This)->lpVtbl->AddRef(This)
   2508 #define IADsO_Release(This) (This)->lpVtbl->Release(This)
   2509 #define IADsO_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2510 #define IADsO_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2511 #define IADsO_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2512 #define IADsO_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2513 #define IADsO_get_Name(This,retval) (This)->lpVtbl->get_Name(This,retval)
   2514 #define IADsO_get_Class(This,retval) (This)->lpVtbl->get_Class(This,retval)
   2515 #define IADsO_get_GUID(This,retval) (This)->lpVtbl->get_GUID(This,retval)
   2516 #define IADsO_get_ADsPath(This,retval) (This)->lpVtbl->get_ADsPath(This,retval)
   2517 #define IADsO_get_Parent(This,retval) (This)->lpVtbl->get_Parent(This,retval)
   2518 #define IADsO_get_Schema(This,retval) (This)->lpVtbl->get_Schema(This,retval)
   2519 #define IADsO_GetInfo(This) (This)->lpVtbl->GetInfo(This)
   2520 #define IADsO_SetInfo(This) (This)->lpVtbl->SetInfo(This)
   2521 #define IADsO_Get(This,bstrName,pvProp) (This)->lpVtbl->Get(This,bstrName,pvProp)
   2522 #define IADsO_Put(This,bstrName,vProp) (This)->lpVtbl->Put(This,bstrName,vProp)
   2523 #define IADsO_GetEx(This,bstrName,pvProp) (This)->lpVtbl->GetEx(This,bstrName,pvProp)
   2524 #define IADsO_PutEx(This,lnControlCode,bstrName,vProp) (This)->lpVtbl->PutEx(This,lnControlCode,bstrName,vProp)
   2525 #define IADsO_GetInfoEx(This,vProperties,lnReserved) (This)->lpVtbl->GetInfoEx(This,vProperties,lnReserved)
   2526 #define IADsO_get_Description(This,retval) (This)->lpVtbl->get_Description(This,retval)
   2527 #define IADsO_put_Description(This,bstrDescription) (This)->lpVtbl->put_Description(This,bstrDescription)
   2528 #define IADsO_get_LocalityName(This,retval) (This)->lpVtbl->get_LocalityName(This,retval)
   2529 #define IADsO_put_LocalityName(This,bstrLocalityName) (This)->lpVtbl->put_LocalityName(This,bstrLocalityName)
   2530 #define IADsO_get_PostalAddress(This,retval) (This)->lpVtbl->get_PostalAddress(This,retval)
   2531 #define IADsO_put_PostalAddress(This,bstrPostalAddress) (This)->lpVtbl->put_PostalAddress(This,bstrPostalAddress)
   2532 #define IADsO_get_TelephoneNumber(This,retval) (This)->lpVtbl->get_TelephoneNumber(This,retval)
   2533 #define IADsO_put_TelephoneNumber(This,bstrTelephoneNumber) (This)->lpVtbl->put_TelephoneNumber(This,bstrTelephoneNumber)
   2534 #define IADsO_get_FaxNumber(This,retval) (This)->lpVtbl->get_FaxNumber(This,retval)
   2535 #define IADsO_put_FaxNumber(This,bstrFaxNumber) (This)->lpVtbl->put_FaxNumber(This,bstrFaxNumber)
   2536 #define IADsO_get_SeeAlso(This,retval) (This)->lpVtbl->get_SeeAlso(This,retval)
   2537 #define IADsO_put_SeeAlso(This,vSeeAlso) (This)->lpVtbl->put_SeeAlso(This,vSeeAlso)
   2538 #endif
   2539 #endif
   2540   HRESULT WINAPI IADsO_get_Description_Proxy(IADsO *This,BSTR *retval);
   2541   void __RPC_STUB IADsO_get_Description_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2542   HRESULT WINAPI IADsO_put_Description_Proxy(IADsO *This,BSTR bstrDescription);
   2543   void __RPC_STUB IADsO_put_Description_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2544   HRESULT WINAPI IADsO_get_LocalityName_Proxy(IADsO *This,BSTR *retval);
   2545   void __RPC_STUB IADsO_get_LocalityName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2546   HRESULT WINAPI IADsO_put_LocalityName_Proxy(IADsO *This,BSTR bstrLocalityName);
   2547   void __RPC_STUB IADsO_put_LocalityName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2548   HRESULT WINAPI IADsO_get_PostalAddress_Proxy(IADsO *This,BSTR *retval);
   2549   void __RPC_STUB IADsO_get_PostalAddress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2550   HRESULT WINAPI IADsO_put_PostalAddress_Proxy(IADsO *This,BSTR bstrPostalAddress);
   2551   void __RPC_STUB IADsO_put_PostalAddress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2552   HRESULT WINAPI IADsO_get_TelephoneNumber_Proxy(IADsO *This,BSTR *retval);
   2553   void __RPC_STUB IADsO_get_TelephoneNumber_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2554   HRESULT WINAPI IADsO_put_TelephoneNumber_Proxy(IADsO *This,BSTR bstrTelephoneNumber);
   2555   void __RPC_STUB IADsO_put_TelephoneNumber_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2556   HRESULT WINAPI IADsO_get_FaxNumber_Proxy(IADsO *This,BSTR *retval);
   2557   void __RPC_STUB IADsO_get_FaxNumber_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2558   HRESULT WINAPI IADsO_put_FaxNumber_Proxy(IADsO *This,BSTR bstrFaxNumber);
   2559   void __RPC_STUB IADsO_put_FaxNumber_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2560   HRESULT WINAPI IADsO_get_SeeAlso_Proxy(IADsO *This,VARIANT *retval);
   2561   void __RPC_STUB IADsO_get_SeeAlso_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2562   HRESULT WINAPI IADsO_put_SeeAlso_Proxy(IADsO *This,VARIANT vSeeAlso);
   2563   void __RPC_STUB IADsO_put_SeeAlso_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2564 #endif
   2565 
   2566 #ifndef __IADsOU_INTERFACE_DEFINED__
   2567 #define __IADsOU_INTERFACE_DEFINED__
   2568   EXTERN_C const IID IID_IADsOU;
   2569 #if defined(__cplusplus) && !defined(CINTERFACE)
   2570   struct IADsOU : public IADs {
   2571   public:
   2572     virtual HRESULT WINAPI get_Description(BSTR *retval) = 0;
   2573     virtual HRESULT WINAPI put_Description(BSTR bstrDescription) = 0;
   2574     virtual HRESULT WINAPI get_LocalityName(BSTR *retval) = 0;
   2575     virtual HRESULT WINAPI put_LocalityName(BSTR bstrLocalityName) = 0;
   2576     virtual HRESULT WINAPI get_PostalAddress(BSTR *retval) = 0;
   2577     virtual HRESULT WINAPI put_PostalAddress(BSTR bstrPostalAddress) = 0;
   2578     virtual HRESULT WINAPI get_TelephoneNumber(BSTR *retval) = 0;
   2579     virtual HRESULT WINAPI put_TelephoneNumber(BSTR bstrTelephoneNumber) = 0;
   2580     virtual HRESULT WINAPI get_FaxNumber(BSTR *retval) = 0;
   2581     virtual HRESULT WINAPI put_FaxNumber(BSTR bstrFaxNumber) = 0;
   2582     virtual HRESULT WINAPI get_SeeAlso(VARIANT *retval) = 0;
   2583     virtual HRESULT WINAPI put_SeeAlso(VARIANT vSeeAlso) = 0;
   2584     virtual HRESULT WINAPI get_BusinessCategory(BSTR *retval) = 0;
   2585     virtual HRESULT WINAPI put_BusinessCategory(BSTR bstrBusinessCategory) = 0;
   2586   };
   2587 #else
   2588   typedef struct IADsOUVtbl {
   2589     BEGIN_INTERFACE
   2590       HRESULT (WINAPI *QueryInterface)(IADsOU *This,REFIID riid,void **ppvObject);
   2591       ULONG (WINAPI *AddRef)(IADsOU *This);
   2592       ULONG (WINAPI *Release)(IADsOU *This);
   2593       HRESULT (WINAPI *GetTypeInfoCount)(IADsOU *This,UINT *pctinfo);
   2594       HRESULT (WINAPI *GetTypeInfo)(IADsOU *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2595       HRESULT (WINAPI *GetIDsOfNames)(IADsOU *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2596       HRESULT (WINAPI *Invoke)(IADsOU *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2597       HRESULT (WINAPI *get_Name)(IADsOU *This,BSTR *retval);
   2598       HRESULT (WINAPI *get_Class)(IADsOU *This,BSTR *retval);
   2599       HRESULT (WINAPI *get_GUID)(IADsOU *This,BSTR *retval);
   2600       HRESULT (WINAPI *get_ADsPath)(IADsOU *This,BSTR *retval);
   2601       HRESULT (WINAPI *get_Parent)(IADsOU *This,BSTR *retval);
   2602       HRESULT (WINAPI *get_Schema)(IADsOU *This,BSTR *retval);
   2603       HRESULT (WINAPI *GetInfo)(IADsOU *This);
   2604       HRESULT (WINAPI *SetInfo)(IADsOU *This);
   2605       HRESULT (WINAPI *Get)(IADsOU *This,BSTR bstrName,VARIANT *pvProp);
   2606       HRESULT (WINAPI *Put)(IADsOU *This,BSTR bstrName,VARIANT vProp);
   2607       HRESULT (WINAPI *GetEx)(IADsOU *This,BSTR bstrName,VARIANT *pvProp);
   2608       HRESULT (WINAPI *PutEx)(IADsOU *This,__LONG32 lnControlCode,BSTR bstrName,VARIANT vProp);
   2609       HRESULT (WINAPI *GetInfoEx)(IADsOU *This,VARIANT vProperties,__LONG32 lnReserved);
   2610       HRESULT (WINAPI *get_Description)(IADsOU *This,BSTR *retval);
   2611       HRESULT (WINAPI *put_Description)(IADsOU *This,BSTR bstrDescription);
   2612       HRESULT (WINAPI *get_LocalityName)(IADsOU *This,BSTR *retval);
   2613       HRESULT (WINAPI *put_LocalityName)(IADsOU *This,BSTR bstrLocalityName);
   2614       HRESULT (WINAPI *get_PostalAddress)(IADsOU *This,BSTR *retval);
   2615       HRESULT (WINAPI *put_PostalAddress)(IADsOU *This,BSTR bstrPostalAddress);
   2616       HRESULT (WINAPI *get_TelephoneNumber)(IADsOU *This,BSTR *retval);
   2617       HRESULT (WINAPI *put_TelephoneNumber)(IADsOU *This,BSTR bstrTelephoneNumber);
   2618       HRESULT (WINAPI *get_FaxNumber)(IADsOU *This,BSTR *retval);
   2619       HRESULT (WINAPI *put_FaxNumber)(IADsOU *This,BSTR bstrFaxNumber);
   2620       HRESULT (WINAPI *get_SeeAlso)(IADsOU *This,VARIANT *retval);
   2621       HRESULT (WINAPI *put_SeeAlso)(IADsOU *This,VARIANT vSeeAlso);
   2622       HRESULT (WINAPI *get_BusinessCategory)(IADsOU *This,BSTR *retval);
   2623       HRESULT (WINAPI *put_BusinessCategory)(IADsOU *This,BSTR bstrBusinessCategory);
   2624     END_INTERFACE
   2625   } IADsOUVtbl;
   2626   struct IADsOU {
   2627     CONST_VTBL struct IADsOUVtbl *lpVtbl;
   2628   };
   2629 #ifdef COBJMACROS
   2630 #define IADsOU_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2631 #define IADsOU_AddRef(This) (This)->lpVtbl->AddRef(This)
   2632 #define IADsOU_Release(This) (This)->lpVtbl->Release(This)
   2633 #define IADsOU_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2634 #define IADsOU_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2635 #define IADsOU_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2636 #define IADsOU_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2637 #define IADsOU_get_Name(This,retval) (This)->lpVtbl->get_Name(This,retval)
   2638 #define IADsOU_get_Class(This,retval) (This)->lpVtbl->get_Class(This,retval)
   2639 #define IADsOU_get_GUID(This,retval) (This)->lpVtbl->get_GUID(This,retval)
   2640 #define IADsOU_get_ADsPath(This,retval) (This)->lpVtbl->get_ADsPath(This,retval)
   2641 #define IADsOU_get_Parent(This,retval) (This)->lpVtbl->get_Parent(This,retval)
   2642 #define IADsOU_get_Schema(This,retval) (This)->lpVtbl->get_Schema(This,retval)
   2643 #define IADsOU_GetInfo(This) (This)->lpVtbl->GetInfo(This)
   2644 #define IADsOU_SetInfo(This) (This)->lpVtbl->SetInfo(This)
   2645 #define IADsOU_Get(This,bstrName,pvProp) (This)->lpVtbl->Get(This,bstrName,pvProp)
   2646 #define IADsOU_Put(This,bstrName,vProp) (This)->lpVtbl->Put(This,bstrName,vProp)
   2647 #define IADsOU_GetEx(This,bstrName,pvProp) (This)->lpVtbl->GetEx(This,bstrName,pvProp)
   2648 #define IADsOU_PutEx(This,lnControlCode,bstrName,vProp) (This)->lpVtbl->PutEx(This,lnControlCode,bstrName,vProp)
   2649 #define IADsOU_GetInfoEx(This,vProperties,lnReserved) (This)->lpVtbl->GetInfoEx(This,vProperties,lnReserved)
   2650 #define IADsOU_get_Description(This,retval) (This)->lpVtbl->get_Description(This,retval)
   2651 #define IADsOU_put_Description(This,bstrDescription) (This)->lpVtbl->put_Description(This,bstrDescription)
   2652 #define IADsOU_get_LocalityName(This,retval) (This)->lpVtbl->get_LocalityName(This,retval)
   2653 #define IADsOU_put_LocalityName(This,bstrLocalityName) (This)->lpVtbl->put_LocalityName(This,bstrLocalityName)
   2654 #define IADsOU_get_PostalAddress(This,retval) (This)->lpVtbl->get_PostalAddress(This,retval)
   2655 #define IADsOU_put_PostalAddress(This,bstrPostalAddress) (This)->lpVtbl->put_PostalAddress(This,bstrPostalAddress)
   2656 #define IADsOU_get_TelephoneNumber(This,retval) (This)->lpVtbl->get_TelephoneNumber(This,retval)
   2657 #define IADsOU_put_TelephoneNumber(This,bstrTelephoneNumber) (This)->lpVtbl->put_TelephoneNumber(This,bstrTelephoneNumber)
   2658 #define IADsOU_get_FaxNumber(This,retval) (This)->lpVtbl->get_FaxNumber(This,retval)
   2659 #define IADsOU_put_FaxNumber(This,bstrFaxNumber) (This)->lpVtbl->put_FaxNumber(This,bstrFaxNumber)
   2660 #define IADsOU_get_SeeAlso(This,retval) (This)->lpVtbl->get_SeeAlso(This,retval)
   2661 #define IADsOU_put_SeeAlso(This,vSeeAlso) (This)->lpVtbl->put_SeeAlso(This,vSeeAlso)
   2662 #define IADsOU_get_BusinessCategory(This,retval) (This)->lpVtbl->get_BusinessCategory(This,retval)
   2663 #define IADsOU_put_BusinessCategory(This,bstrBusinessCategory) (This)->lpVtbl->put_BusinessCategory(This,bstrBusinessCategory)
   2664 #endif
   2665 #endif
   2666   HRESULT WINAPI IADsOU_get_Description_Proxy(IADsOU *This,BSTR *retval);
   2667   void __RPC_STUB IADsOU_get_Description_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2668   HRESULT WINAPI IADsOU_put_Description_Proxy(IADsOU *This,BSTR bstrDescription);
   2669   void __RPC_STUB IADsOU_put_Description_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2670   HRESULT WINAPI IADsOU_get_LocalityName_Proxy(IADsOU *This,BSTR *retval);
   2671   void __RPC_STUB IADsOU_get_LocalityName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2672   HRESULT WINAPI IADsOU_put_LocalityName_Proxy(IADsOU *This,BSTR bstrLocalityName);
   2673   void __RPC_STUB IADsOU_put_LocalityName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2674   HRESULT WINAPI IADsOU_get_PostalAddress_Proxy(IADsOU *This,BSTR *retval);
   2675   void __RPC_STUB IADsOU_get_PostalAddress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2676   HRESULT WINAPI IADsOU_put_PostalAddress_Proxy(IADsOU *This,BSTR bstrPostalAddress);
   2677   void __RPC_STUB IADsOU_put_PostalAddress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2678   HRESULT WINAPI IADsOU_get_TelephoneNumber_Proxy(IADsOU *This,BSTR *retval);
   2679   void __RPC_STUB IADsOU_get_TelephoneNumber_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2680   HRESULT WINAPI IADsOU_put_TelephoneNumber_Proxy(IADsOU *This,BSTR bstrTelephoneNumber);
   2681   void __RPC_STUB IADsOU_put_TelephoneNumber_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2682   HRESULT WINAPI IADsOU_get_FaxNumber_Proxy(IADsOU *This,BSTR *retval);
   2683   void __RPC_STUB IADsOU_get_FaxNumber_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2684   HRESULT WINAPI IADsOU_put_FaxNumber_Proxy(IADsOU *This,BSTR bstrFaxNumber);
   2685   void __RPC_STUB IADsOU_put_FaxNumber_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2686   HRESULT WINAPI IADsOU_get_SeeAlso_Proxy(IADsOU *This,VARIANT *retval);
   2687   void __RPC_STUB IADsOU_get_SeeAlso_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2688   HRESULT WINAPI IADsOU_put_SeeAlso_Proxy(IADsOU *This,VARIANT vSeeAlso);
   2689   void __RPC_STUB IADsOU_put_SeeAlso_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2690   HRESULT WINAPI IADsOU_get_BusinessCategory_Proxy(IADsOU *This,BSTR *retval);
   2691   void __RPC_STUB IADsOU_get_BusinessCategory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2692   HRESULT WINAPI IADsOU_put_BusinessCategory_Proxy(IADsOU *This,BSTR bstrBusinessCategory);
   2693   void __RPC_STUB IADsOU_put_BusinessCategory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2694 #endif
   2695 
   2696 #ifndef __IADsDomain_INTERFACE_DEFINED__
   2697 #define __IADsDomain_INTERFACE_DEFINED__
   2698   EXTERN_C const IID IID_IADsDomain;
   2699 #if defined(__cplusplus) && !defined(CINTERFACE)
   2700   struct IADsDomain : public IADs {
   2701   public:
   2702     virtual HRESULT WINAPI get_IsWorkgroup(VARIANT_BOOL *retval) = 0;
   2703     virtual HRESULT WINAPI get_MinPasswordLength(__LONG32 *retval) = 0;
   2704     virtual HRESULT WINAPI put_MinPasswordLength(__LONG32 lnMinPasswordLength) = 0;
   2705     virtual HRESULT WINAPI get_MinPasswordAge(__LONG32 *retval) = 0;
   2706     virtual HRESULT WINAPI put_MinPasswordAge(__LONG32 lnMinPasswordAge) = 0;
   2707     virtual HRESULT WINAPI get_MaxPasswordAge(__LONG32 *retval) = 0;
   2708     virtual HRESULT WINAPI put_MaxPasswordAge(__LONG32 lnMaxPasswordAge) = 0;
   2709     virtual HRESULT WINAPI get_MaxBadPasswordsAllowed(__LONG32 *retval) = 0;
   2710     virtual HRESULT WINAPI put_MaxBadPasswordsAllowed(__LONG32 lnMaxBadPasswordsAllowed) = 0;
   2711     virtual HRESULT WINAPI get_PasswordHistoryLength(__LONG32 *retval) = 0;
   2712     virtual HRESULT WINAPI put_PasswordHistoryLength(__LONG32 lnPasswordHistoryLength) = 0;
   2713     virtual HRESULT WINAPI get_PasswordAttributes(__LONG32 *retval) = 0;
   2714     virtual HRESULT WINAPI put_PasswordAttributes(__LONG32 lnPasswordAttributes) = 0;
   2715     virtual HRESULT WINAPI get_AutoUnlockInterval(__LONG32 *retval) = 0;
   2716     virtual HRESULT WINAPI put_AutoUnlockInterval(__LONG32 lnAutoUnlockInterval) = 0;
   2717     virtual HRESULT WINAPI get_LockoutObservationInterval(__LONG32 *retval) = 0;
   2718     virtual HRESULT WINAPI put_LockoutObservationInterval(__LONG32 lnLockoutObservationInterval) = 0;
   2719   };
   2720 #else
   2721   typedef struct IADsDomainVtbl {
   2722     BEGIN_INTERFACE
   2723       HRESULT (WINAPI *QueryInterface)(IADsDomain *This,REFIID riid,void **ppvObject);
   2724       ULONG (WINAPI *AddRef)(IADsDomain *This);
   2725       ULONG (WINAPI *Release)(IADsDomain *This);
   2726       HRESULT (WINAPI *GetTypeInfoCount)(IADsDomain *This,UINT *pctinfo);
   2727       HRESULT (WINAPI *GetTypeInfo)(IADsDomain *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2728       HRESULT (WINAPI *GetIDsOfNames)(IADsDomain *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2729       HRESULT (WINAPI *Invoke)(IADsDomain *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2730       HRESULT (WINAPI *get_Name)(IADsDomain *This,BSTR *retval);
   2731       HRESULT (WINAPI *get_Class)(IADsDomain *This,BSTR *retval);
   2732       HRESULT (WINAPI *get_GUID)(IADsDomain *This,BSTR *retval);
   2733       HRESULT (WINAPI *get_ADsPath)(IADsDomain *This,BSTR *retval);
   2734       HRESULT (WINAPI *get_Parent)(IADsDomain *This,BSTR *retval);
   2735       HRESULT (WINAPI *get_Schema)(IADsDomain *This,BSTR *retval);
   2736       HRESULT (WINAPI *GetInfo)(IADsDomain *This);
   2737       HRESULT (WINAPI *SetInfo)(IADsDomain *This);
   2738       HRESULT (WINAPI *Get)(IADsDomain *This,BSTR bstrName,VARIANT *pvProp);
   2739       HRESULT (WINAPI *Put)(IADsDomain *This,BSTR bstrName,VARIANT vProp);
   2740       HRESULT (WINAPI *GetEx)(IADsDomain *This,BSTR bstrName,VARIANT *pvProp);
   2741       HRESULT (WINAPI *PutEx)(IADsDomain *This,__LONG32 lnControlCode,BSTR bstrName,VARIANT vProp);
   2742       HRESULT (WINAPI *GetInfoEx)(IADsDomain *This,VARIANT vProperties,__LONG32 lnReserved);
   2743       HRESULT (WINAPI *get_IsWorkgroup)(IADsDomain *This,VARIANT_BOOL *retval);
   2744       HRESULT (WINAPI *get_MinPasswordLength)(IADsDomain *This,__LONG32 *retval);
   2745       HRESULT (WINAPI *put_MinPasswordLength)(IADsDomain *This,__LONG32 lnMinPasswordLength);
   2746       HRESULT (WINAPI *get_MinPasswordAge)(IADsDomain *This,__LONG32 *retval);
   2747       HRESULT (WINAPI *put_MinPasswordAge)(IADsDomain *This,__LONG32 lnMinPasswordAge);
   2748       HRESULT (WINAPI *get_MaxPasswordAge)(IADsDomain *This,__LONG32 *retval);
   2749       HRESULT (WINAPI *put_MaxPasswordAge)(IADsDomain *This,__LONG32 lnMaxPasswordAge);
   2750       HRESULT (WINAPI *get_MaxBadPasswordsAllowed)(IADsDomain *This,__LONG32 *retval);
   2751       HRESULT (WINAPI *put_MaxBadPasswordsAllowed)(IADsDomain *This,__LONG32 lnMaxBadPasswordsAllowed);
   2752       HRESULT (WINAPI *get_PasswordHistoryLength)(IADsDomain *This,__LONG32 *retval);
   2753       HRESULT (WINAPI *put_PasswordHistoryLength)(IADsDomain *This,__LONG32 lnPasswordHistoryLength);
   2754       HRESULT (WINAPI *get_PasswordAttributes)(IADsDomain *This,__LONG32 *retval);
   2755       HRESULT (WINAPI *put_PasswordAttributes)(IADsDomain *This,__LONG32 lnPasswordAttributes);
   2756       HRESULT (WINAPI *get_AutoUnlockInterval)(IADsDomain *This,__LONG32 *retval);
   2757       HRESULT (WINAPI *put_AutoUnlockInterval)(IADsDomain *This,__LONG32 lnAutoUnlockInterval);
   2758       HRESULT (WINAPI *get_LockoutObservationInterval)(IADsDomain *This,__LONG32 *retval);
   2759       HRESULT (WINAPI *put_LockoutObservationInterval)(IADsDomain *This,__LONG32 lnLockoutObservationInterval);
   2760     END_INTERFACE
   2761   } IADsDomainVtbl;
   2762   struct IADsDomain {
   2763     CONST_VTBL struct IADsDomainVtbl *lpVtbl;
   2764   };
   2765 #ifdef COBJMACROS
   2766 #define IADsDomain_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2767 #define IADsDomain_AddRef(This) (This)->lpVtbl->AddRef(This)
   2768 #define IADsDomain_Release(This) (This)->lpVtbl->Release(This)
   2769 #define IADsDomain_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2770 #define IADsDomain_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2771 #define IADsDomain_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2772 #define IADsDomain_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2773 #define IADsDomain_get_Name(This,retval) (This)->lpVtbl->get_Name(This,retval)
   2774 #define IADsDomain_get_Class(This,retval) (This)->lpVtbl->get_Class(This,retval)
   2775 #define IADsDomain_get_GUID(This,retval) (This)->lpVtbl->get_GUID(This,retval)
   2776 #define IADsDomain_get_ADsPath(This,retval) (This)->lpVtbl->get_ADsPath(This,retval)
   2777 #define IADsDomain_get_Parent(This,retval) (This)->lpVtbl->get_Parent(This,retval)
   2778 #define IADsDomain_get_Schema(This,retval) (This)->lpVtbl->get_Schema(This,retval)
   2779 #define IADsDomain_GetInfo(This) (This)->lpVtbl->GetInfo(This)
   2780 #define IADsDomain_SetInfo(This) (This)->lpVtbl->SetInfo(This)
   2781 #define IADsDomain_Get(This,bstrName,pvProp) (This)->lpVtbl->Get(This,bstrName,pvProp)
   2782 #define IADsDomain_Put(This,bstrName,vProp) (This)->lpVtbl->Put(This,bstrName,vProp)
   2783 #define IADsDomain_GetEx(This,bstrName,pvProp) (This)->lpVtbl->GetEx(This,bstrName,pvProp)
   2784 #define IADsDomain_PutEx(This,lnControlCode,bstrName,vProp) (This)->lpVtbl->PutEx(This,lnControlCode,bstrName,vProp)
   2785 #define IADsDomain_GetInfoEx(This,vProperties,lnReserved) (This)->lpVtbl->GetInfoEx(This,vProperties,lnReserved)
   2786 #define IADsDomain_get_IsWorkgroup(This,retval) (This)->lpVtbl->get_IsWorkgroup(This,retval)
   2787 #define IADsDomain_get_MinPasswordLength(This,retval) (This)->lpVtbl->get_MinPasswordLength(This,retval)
   2788 #define IADsDomain_put_MinPasswordLength(This,lnMinPasswordLength) (This)->lpVtbl->put_MinPasswordLength(This,lnMinPasswordLength)
   2789 #define IADsDomain_get_MinPasswordAge(This,retval) (This)->lpVtbl->get_MinPasswordAge(This,retval)
   2790 #define IADsDomain_put_MinPasswordAge(This,lnMinPasswordAge) (This)->lpVtbl->put_MinPasswordAge(This,lnMinPasswordAge)
   2791 #define IADsDomain_get_MaxPasswordAge(This,retval) (This)->lpVtbl->get_MaxPasswordAge(This,retval)
   2792 #define IADsDomain_put_MaxPasswordAge(This,lnMaxPasswordAge) (This)->lpVtbl->put_MaxPasswordAge(This,lnMaxPasswordAge)
   2793 #define IADsDomain_get_MaxBadPasswordsAllowed(This,retval) (This)->lpVtbl->get_MaxBadPasswordsAllowed(This,retval)
   2794 #define IADsDomain_put_MaxBadPasswordsAllowed(This,lnMaxBadPasswordsAllowed) (This)->lpVtbl->put_MaxBadPasswordsAllowed(This,lnMaxBadPasswordsAllowed)
   2795 #define IADsDomain_get_PasswordHistoryLength(This,retval) (This)->lpVtbl->get_PasswordHistoryLength(This,retval)
   2796 #define IADsDomain_put_PasswordHistoryLength(This,lnPasswordHistoryLength) (This)->lpVtbl->put_PasswordHistoryLength(This,lnPasswordHistoryLength)
   2797 #define IADsDomain_get_PasswordAttributes(This,retval) (This)->lpVtbl->get_PasswordAttributes(This,retval)
   2798 #define IADsDomain_put_PasswordAttributes(This,lnPasswordAttributes) (This)->lpVtbl->put_PasswordAttributes(This,lnPasswordAttributes)
   2799 #define IADsDomain_get_AutoUnlockInterval(This,retval) (This)->lpVtbl->get_AutoUnlockInterval(This,retval)
   2800 #define IADsDomain_put_AutoUnlockInterval(This,lnAutoUnlockInterval) (This)->lpVtbl->put_AutoUnlockInterval(This,lnAutoUnlockInterval)
   2801 #define IADsDomain_get_LockoutObservationInterval(This,retval) (This)->lpVtbl->get_LockoutObservationInterval(This,retval)
   2802 #define IADsDomain_put_LockoutObservationInterval(This,lnLockoutObservationInterval) (This)->lpVtbl->put_LockoutObservationInterval(This,lnLockoutObservationInterval)
   2803 #endif
   2804 #endif
   2805   HRESULT WINAPI IADsDomain_get_IsWorkgroup_Proxy(IADsDomain *This,VARIANT_BOOL *retval);
   2806   void __RPC_STUB IADsDomain_get_IsWorkgroup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2807   HRESULT WINAPI IADsDomain_get_MinPasswordLength_Proxy(IADsDomain *This,__LONG32 *retval);
   2808   void __RPC_STUB IADsDomain_get_MinPasswordLength_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2809   HRESULT WINAPI IADsDomain_put_MinPasswordLength_Proxy(IADsDomain *This,__LONG32 lnMinPasswordLength);
   2810   void __RPC_STUB IADsDomain_put_MinPasswordLength_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2811   HRESULT WINAPI IADsDomain_get_MinPasswordAge_Proxy(IADsDomain *This,__LONG32 *retval);
   2812   void __RPC_STUB IADsDomain_get_MinPasswordAge_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2813   HRESULT WINAPI IADsDomain_put_MinPasswordAge_Proxy(IADsDomain *This,__LONG32 lnMinPasswordAge);
   2814   void __RPC_STUB IADsDomain_put_MinPasswordAge_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2815   HRESULT WINAPI IADsDomain_get_MaxPasswordAge_Proxy(IADsDomain *This,__LONG32 *retval);
   2816   void __RPC_STUB IADsDomain_get_MaxPasswordAge_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2817   HRESULT WINAPI IADsDomain_put_MaxPasswordAge_Proxy(IADsDomain *This,__LONG32 lnMaxPasswordAge);
   2818   void __RPC_STUB IADsDomain_put_MaxPasswordAge_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2819   HRESULT WINAPI IADsDomain_get_MaxBadPasswordsAllowed_Proxy(IADsDomain *This,__LONG32 *retval);
   2820   void __RPC_STUB IADsDomain_get_MaxBadPasswordsAllowed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2821   HRESULT WINAPI IADsDomain_put_MaxBadPasswordsAllowed_Proxy(IADsDomain *This,__LONG32 lnMaxBadPasswordsAllowed);
   2822   void __RPC_STUB IADsDomain_put_MaxBadPasswordsAllowed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2823   HRESULT WINAPI IADsDomain_get_PasswordHistoryLength_Proxy(IADsDomain *This,__LONG32 *retval);
   2824   void __RPC_STUB IADsDomain_get_PasswordHistoryLength_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2825   HRESULT WINAPI IADsDomain_put_PasswordHistoryLength_Proxy(IADsDomain *This,__LONG32 lnPasswordHistoryLength);
   2826   void __RPC_STUB IADsDomain_put_PasswordHistoryLength_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2827   HRESULT WINAPI IADsDomain_get_PasswordAttributes_Proxy(IADsDomain *This,__LONG32 *retval);
   2828   void __RPC_STUB IADsDomain_get_PasswordAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2829   HRESULT WINAPI IADsDomain_put_PasswordAttributes_Proxy(IADsDomain *This,__LONG32 lnPasswordAttributes);
   2830   void __RPC_STUB IADsDomain_put_PasswordAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2831   HRESULT WINAPI IADsDomain_get_AutoUnlockInterval_Proxy(IADsDomain *This,__LONG32 *retval);
   2832   void __RPC_STUB IADsDomain_get_AutoUnlockInterval_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2833   HRESULT WINAPI IADsDomain_put_AutoUnlockInterval_Proxy(IADsDomain *This,__LONG32 lnAutoUnlockInterval);
   2834   void __RPC_STUB IADsDomain_put_AutoUnlockInterval_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2835   HRESULT WINAPI IADsDomain_get_LockoutObservationInterval_Proxy(IADsDomain *This,__LONG32 *retval);
   2836   void __RPC_STUB IADsDomain_get_LockoutObservationInterval_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2837   HRESULT WINAPI IADsDomain_put_LockoutObservationInterval_Proxy(IADsDomain *This,__LONG32 lnLockoutObservationInterval);
   2838   void __RPC_STUB IADsDomain_put_LockoutObservationInterval_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2839 #endif
   2840 
   2841 #ifndef __IADsComputer_INTERFACE_DEFINED__
   2842 #define __IADsComputer_INTERFACE_DEFINED__
   2843   EXTERN_C const IID IID_IADsComputer;
   2844 #if defined(__cplusplus) && !defined(CINTERFACE)
   2845   struct IADsComputer : public IADs {
   2846   public:
   2847     virtual HRESULT WINAPI get_ComputerID(BSTR *retval) = 0;
   2848     virtual HRESULT WINAPI get_Site(BSTR *retval) = 0;
   2849     virtual HRESULT WINAPI get_Description(BSTR *retval) = 0;
   2850     virtual HRESULT WINAPI put_Description(BSTR bstrDescription) = 0;
   2851     virtual HRESULT WINAPI get_Location(BSTR *retval) = 0;
   2852     virtual HRESULT WINAPI put_Location(BSTR bstrLocation) = 0;
   2853     virtual HRESULT WINAPI get_PrimaryUser(BSTR *retval) = 0;
   2854     virtual HRESULT WINAPI put_PrimaryUser(BSTR bstrPrimaryUser) = 0;
   2855     virtual HRESULT WINAPI get_Owner(BSTR *retval) = 0;
   2856     virtual HRESULT WINAPI put_Owner(BSTR bstrOwner) = 0;
   2857     virtual HRESULT WINAPI get_Division(BSTR *retval) = 0;
   2858     virtual HRESULT WINAPI put_Division(BSTR bstrDivision) = 0;
   2859     virtual HRESULT WINAPI get_Department(BSTR *retval) = 0;
   2860     virtual HRESULT WINAPI put_Department(BSTR bstrDepartment) = 0;
   2861     virtual HRESULT WINAPI get_Role(BSTR *retval) = 0;
   2862     virtual HRESULT WINAPI put_Role(BSTR bstrRole) = 0;
   2863     virtual HRESULT WINAPI get_OperatingSystem(BSTR *retval) = 0;
   2864     virtual HRESULT WINAPI put_OperatingSystem(BSTR bstrOperatingSystem) = 0;
   2865     virtual HRESULT WINAPI get_OperatingSystemVersion(BSTR *retval) = 0;
   2866     virtual HRESULT WINAPI put_OperatingSystemVersion(BSTR bstrOperatingSystemVersion) = 0;
   2867     virtual HRESULT WINAPI get_Model(BSTR *retval) = 0;
   2868     virtual HRESULT WINAPI put_Model(BSTR bstrModel) = 0;
   2869     virtual HRESULT WINAPI get_Processor(BSTR *retval) = 0;
   2870     virtual HRESULT WINAPI put_Processor(BSTR bstrProcessor) = 0;
   2871     virtual HRESULT WINAPI get_ProcessorCount(BSTR *retval) = 0;
   2872     virtual HRESULT WINAPI put_ProcessorCount(BSTR bstrProcessorCount) = 0;
   2873     virtual HRESULT WINAPI get_MemorySize(BSTR *retval) = 0;
   2874     virtual HRESULT WINAPI put_MemorySize(BSTR bstrMemorySize) = 0;
   2875     virtual HRESULT WINAPI get_StorageCapacity(BSTR *retval) = 0;
   2876     virtual HRESULT WINAPI put_StorageCapacity(BSTR bstrStorageCapacity) = 0;
   2877     virtual HRESULT WINAPI get_NetAddresses(VARIANT *retval) = 0;
   2878     virtual HRESULT WINAPI put_NetAddresses(VARIANT vNetAddresses) = 0;
   2879   };
   2880 #else
   2881   typedef struct IADsComputerVtbl {
   2882     BEGIN_INTERFACE
   2883       HRESULT (WINAPI *QueryInterface)(IADsComputer *This,REFIID riid,void **ppvObject);
   2884       ULONG (WINAPI *AddRef)(IADsComputer *This);
   2885       ULONG (WINAPI *Release)(IADsComputer *This);
   2886       HRESULT (WINAPI *GetTypeInfoCount)(IADsComputer *This,UINT *pctinfo);
   2887       HRESULT (WINAPI *GetTypeInfo)(IADsComputer *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2888       HRESULT (WINAPI *GetIDsOfNames)(IADsComputer *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2889       HRESULT (WINAPI *Invoke)(IADsComputer *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2890       HRESULT (WINAPI *get_Name)(IADsComputer *This,BSTR *retval);
   2891       HRESULT (WINAPI *get_Class)(IADsComputer *This,BSTR *retval);
   2892       HRESULT (WINAPI *get_GUID)(IADsComputer *This,BSTR *retval);
   2893       HRESULT (WINAPI *get_ADsPath)(IADsComputer *This,BSTR *retval);
   2894       HRESULT (WINAPI *get_Parent)(IADsComputer *This,BSTR *retval);
   2895       HRESULT (WINAPI *get_Schema)(IADsComputer *This,BSTR *retval);
   2896       HRESULT (WINAPI *GetInfo)(IADsComputer *This);
   2897       HRESULT (WINAPI *SetInfo)(IADsComputer *This);
   2898       HRESULT (WINAPI *Get)(IADsComputer *This,BSTR bstrName,VARIANT *pvProp);
   2899       HRESULT (WINAPI *Put)(IADsComputer *This,BSTR bstrName,VARIANT vProp);
   2900       HRESULT (WINAPI *GetEx)(IADsComputer *This,BSTR bstrName,VARIANT *pvProp);
   2901       HRESULT (WINAPI *PutEx)(IADsComputer *This,__LONG32 lnControlCode,BSTR bstrName,VARIANT vProp);
   2902       HRESULT (WINAPI *GetInfoEx)(IADsComputer *This,VARIANT vProperties,__LONG32 lnReserved);
   2903       HRESULT (WINAPI *get_ComputerID)(IADsComputer *This,BSTR *retval);
   2904       HRESULT (WINAPI *get_Site)(IADsComputer *This,BSTR *retval);
   2905       HRESULT (WINAPI *get_Description)(IADsComputer *This,BSTR *retval);
   2906       HRESULT (WINAPI *put_Description)(IADsComputer *This,BSTR bstrDescription);
   2907       HRESULT (WINAPI *get_Location)(IADsComputer *This,BSTR *retval);
   2908       HRESULT (WINAPI *put_Location)(IADsComputer *This,BSTR bstrLocation);
   2909       HRESULT (WINAPI *get_PrimaryUser)(IADsComputer *This,BSTR *retval);
   2910       HRESULT (WINAPI *put_PrimaryUser)(IADsComputer *This,BSTR bstrPrimaryUser);
   2911       HRESULT (WINAPI *get_Owner)(IADsComputer *This,BSTR *retval);
   2912       HRESULT (WINAPI *put_Owner)(IADsComputer *This,BSTR bstrOwner);
   2913       HRESULT (WINAPI *get_Division)(IADsComputer *This,BSTR *retval);
   2914       HRESULT (WINAPI *put_Division)(IADsComputer *This,BSTR bstrDivision);
   2915       HRESULT (WINAPI *get_Department)(IADsComputer *This,BSTR *retval);
   2916       HRESULT (WINAPI *put_Department)(IADsComputer *This,BSTR bstrDepartment);
   2917       HRESULT (WINAPI *get_Role)(IADsComputer *This,BSTR *retval);
   2918       HRESULT (WINAPI *put_Role)(IADsComputer *This,BSTR bstrRole);
   2919       HRESULT (WINAPI *get_OperatingSystem)(IADsComputer *This,BSTR *retval);
   2920       HRESULT (WINAPI *put_OperatingSystem)(IADsComputer *This,BSTR bstrOperatingSystem);
   2921       HRESULT (WINAPI *get_OperatingSystemVersion)(IADsComputer *This,BSTR *retval);
   2922       HRESULT (WINAPI *put_OperatingSystemVersion)(IADsComputer *This,BSTR bstrOperatingSystemVersion);
   2923       HRESULT (WINAPI *get_Model)(IADsComputer *This,BSTR *retval);
   2924       HRESULT (WINAPI *put_Model)(IADsComputer *This,BSTR bstrModel);
   2925       HRESULT (WINAPI *get_Processor)(IADsComputer *This,BSTR *retval);
   2926       HRESULT (WINAPI *put_Processor)(IADsComputer *This,BSTR bstrProcessor);
   2927       HRESULT (WINAPI *get_ProcessorCount)(IADsComputer *This,BSTR *retval);
   2928       HRESULT (WINAPI *put_ProcessorCount)(IADsComputer *This,BSTR bstrProcessorCount);
   2929       HRESULT (WINAPI *get_MemorySize)(IADsComputer *This,BSTR *retval);
   2930       HRESULT (WINAPI *put_MemorySize)(IADsComputer *This,BSTR bstrMemorySize);
   2931       HRESULT (WINAPI *get_StorageCapacity)(IADsComputer *This,BSTR *retval);
   2932       HRESULT (WINAPI *put_StorageCapacity)(IADsComputer *This,BSTR bstrStorageCapacity);
   2933       HRESULT (WINAPI *get_NetAddresses)(IADsComputer *This,VARIANT *retval);
   2934       HRESULT (WINAPI *put_NetAddresses)(IADsComputer *This,VARIANT vNetAddresses);
   2935     END_INTERFACE
   2936   } IADsComputerVtbl;
   2937   struct IADsComputer {
   2938     CONST_VTBL struct IADsComputerVtbl *lpVtbl;
   2939   };
   2940 #ifdef COBJMACROS
   2941 #define IADsComputer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2942 #define IADsComputer_AddRef(This) (This)->lpVtbl->AddRef(This)
   2943 #define IADsComputer_Release(This) (This)->lpVtbl->Release(This)
   2944 #define IADsComputer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2945 #define IADsComputer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2946 #define IADsComputer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2947 #define IADsComputer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2948 #define IADsComputer_get_Name(This,retval) (This)->lpVtbl->get_Name(This,retval)
   2949 #define IADsComputer_get_Class(This,retval) (This)->lpVtbl->get_Class(This,retval)
   2950 #define IADsComputer_get_GUID(This,retval) (This)->lpVtbl->get_GUID(This,retval)
   2951 #define IADsComputer_get_ADsPath(This,retval) (This)->lpVtbl->get_ADsPath(This,retval)
   2952 #define IADsComputer_get_Parent(This,retval) (This)->lpVtbl->get_Parent(This,retval)
   2953 #define IADsComputer_get_Schema(This,retval) (This)->lpVtbl->get_Schema(This,retval)
   2954 #define IADsComputer_GetInfo(This) (This)->lpVtbl->GetInfo(This)
   2955 #define IADsComputer_SetInfo(This) (This)->lpVtbl->SetInfo(This)
   2956 #define IADsComputer_Get(This,bstrName,pvProp) (This)->lpVtbl->Get(This,bstrName,pvProp)
   2957 #define IADsComputer_Put(This,bstrName,vProp) (This)->lpVtbl->Put(This,bstrName,vProp)
   2958 #define IADsComputer_GetEx(This,bstrName,pvProp) (This)->lpVtbl->GetEx(This,bstrName,pvProp)
   2959 #define IADsComputer_PutEx(This,lnControlCode,bstrName,vProp) (This)->lpVtbl->PutEx(This,lnControlCode,bstrName,vProp)
   2960 #define IADsComputer_GetInfoEx(This,vProperties,lnReserved) (This)->lpVtbl->GetInfoEx(This,vProperties,lnReserved)
   2961 #define IADsComputer_get_ComputerID(This,retval) (This)->lpVtbl->get_ComputerID(This,retval)
   2962 #define IADsComputer_get_Site(This,retval) (This)->lpVtbl->get_Site(This,retval)
   2963 #define IADsComputer_get_Description(This,retval) (This)->lpVtbl->get_Description(This,retval)
   2964 #define IADsComputer_put_Description(This,bstrDescription) (This)->lpVtbl->put_Description(This,bstrDescription)
   2965 #define IADsComputer_get_Location(This,retval) (This)->lpVtbl->get_Location(This,retval)
   2966 #define IADsComputer_put_Location(This,bstrLocation) (This)->lpVtbl->put_Location(This,bstrLocation)
   2967 #define IADsComputer_get_PrimaryUser(This,retval) (This)->lpVtbl->get_PrimaryUser(This,retval)
   2968 #define IADsComputer_put_PrimaryUser(This,bstrPrimaryUser) (This)->lpVtbl->put_PrimaryUser(This,bstrPrimaryUser)
   2969 #define IADsComputer_get_Owner(This,retval) (This)->lpVtbl->get_Owner(This,retval)
   2970 #define IADsComputer_put_Owner(This,bstrOwner) (This)->lpVtbl->put_Owner(This,bstrOwner)
   2971 #define IADsComputer_get_Division(This,retval) (This)->lpVtbl->get_Division(This,retval)
   2972 #define IADsComputer_put_Division(This,bstrDivision) (This)->lpVtbl->put_Division(This,bstrDivision)
   2973 #define IADsComputer_get_Department(This,retval) (This)->lpVtbl->get_Department(This,retval)
   2974 #define IADsComputer_put_Department(This,bstrDepartment) (This)->lpVtbl->put_Department(This,bstrDepartment)
   2975 #define IADsComputer_get_Role(This,retval) (This)->lpVtbl->get_Role(This,retval)
   2976 #define IADsComputer_put_Role(This,bstrRole) (This)->lpVtbl->put_Role(This,bstrRole)
   2977 #define IADsComputer_get_OperatingSystem(This,retval) (This)->lpVtbl->get_OperatingSystem(This,retval)
   2978 #define IADsComputer_put_OperatingSystem(This,bstrOperatingSystem) (This)->lpVtbl->put_OperatingSystem(This,bstrOperatingSystem)
   2979 #define IADsComputer_get_OperatingSystemVersion(This,retval) (This)->lpVtbl->get_OperatingSystemVersion(This,retval)
   2980 #define IADsComputer_put_OperatingSystemVersion(This,bstrOperatingSystemVersion) (This)->lpVtbl->put_OperatingSystemVersion(This,bstrOperatingSystemVersion)
   2981 #define IADsComputer_get_Model(This,retval) (This)->lpVtbl->get_Model(This,retval)
   2982 #define IADsComputer_put_Model(This,bstrModel) (This)->lpVtbl->put_Model(This,bstrModel)
   2983 #define IADsComputer_get_Processor(This,retval) (This)->lpVtbl->get_Processor(This,retval)
   2984 #define IADsComputer_put_Processor(This,bstrProcessor) (This)->lpVtbl->put_Processor(This,bstrProcessor)
   2985 #define IADsComputer_get_ProcessorCount(This,retval) (This)->lpVtbl->get_ProcessorCount(This,retval)
   2986 #define IADsComputer_put_ProcessorCount(This,bstrProcessorCount) (This)->lpVtbl->put_ProcessorCount(This,bstrProcessorCount)
   2987 #define IADsComputer_get_MemorySize(This,retval) (This)->lpVtbl->get_MemorySize(This,retval)
   2988 #define IADsComputer_put_MemorySize(This,bstrMemorySize) (This)->lpVtbl->put_MemorySize(This,bstrMemorySize)
   2989 #define IADsComputer_get_StorageCapacity(This,retval) (This)->lpVtbl->get_StorageCapacity(This,retval)
   2990 #define IADsComputer_put_StorageCapacity(This,bstrStorageCapacity) (This)->lpVtbl->put_StorageCapacity(This,bstrStorageCapacity)
   2991 #define IADsComputer_get_NetAddresses(This,retval) (This)->lpVtbl->get_NetAddresses(This,retval)
   2992 #define IADsComputer_put_NetAddresses(This,vNetAddresses) (This)->lpVtbl->put_NetAddresses(This,vNetAddresses)
   2993 #endif
   2994 #endif
   2995   HRESULT WINAPI IADsComputer_get_ComputerID_Proxy(IADsComputer *This,BSTR *retval);
   2996   void __RPC_STUB IADsComputer_get_ComputerID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2997   HRESULT WINAPI IADsComputer_get_Site_Proxy(IADsComputer *This,BSTR *retval);
   2998   void __RPC_STUB IADsComputer_get_Site_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2999   HRESULT WINAPI IADsComputer_get_Description_Proxy(IADsComputer *This,BSTR *retval);
   3000   void __RPC_STUB IADsComputer_get_Description_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3001   HRESULT WINAPI IADsComputer_put_Description_Proxy(IADsComputer *This,BSTR bstrDescription);
   3002   void __RPC_STUB IADsComputer_put_Description_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3003   HRESULT WINAPI IADsComputer_get_Location_Proxy(IADsComputer *This,BSTR *retval);
   3004   void __RPC_STUB IADsComputer_get_Location_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3005   HRESULT WINAPI IADsComputer_put_Location_Proxy(IADsComputer *This,BSTR bstrLocation);
   3006   void __RPC_STUB IADsComputer_put_Location_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3007   HRESULT WINAPI IADsComputer_get_PrimaryUser_Proxy(IADsComputer *This,BSTR *retval);
   3008   void __RPC_STUB IADsComputer_get_PrimaryUser_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3009   HRESULT WINAPI IADsComputer_put_PrimaryUser_Proxy(IADsComputer *This,BSTR bstrPrimaryUser);
   3010   void __RPC_STUB IADsComputer_put_PrimaryUser_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3011   HRESULT WINAPI IADsComputer_get_Owner_Proxy(IADsComputer *This,BSTR *retval);
   3012   void __RPC_STUB IADsComputer_get_Owner_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3013   HRESULT WINAPI IADsComputer_put_Owner_Proxy(IADsComputer *This,BSTR bstrOwner);
   3014   void __RPC_STUB IADsComputer_put_Owner_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3015   HRESULT WINAPI IADsComputer_get_Division_Proxy(IADsComputer *This,BSTR *retval);
   3016   void __RPC_STUB IADsComputer_get_Division_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3017   HRESULT WINAPI IADsComputer_put_Division_Proxy(IADsComputer *This,BSTR bstrDivision);
   3018   void __RPC_STUB IADsComputer_put_Division_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3019   HRESULT WINAPI IADsComputer_get_Department_Proxy(IADsComputer *This,BSTR *retval);
   3020   void __RPC_STUB IADsComputer_get_Department_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3021   HRESULT WINAPI IADsComputer_put_Department_Proxy(IADsComputer *This,BSTR bstrDepartment);
   3022   void __RPC_STUB IADsComputer_put_Department_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3023   HRESULT WINAPI IADsComputer_get_Role_Proxy(IADsComputer *This,BSTR *retval);
   3024   void __RPC_STUB IADsComputer_get_Role_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3025   HRESULT WINAPI IADsComputer_put_Role_Proxy(IADsComputer *This,BSTR bstrRole);
   3026   void __RPC_STUB IADsComputer_put_Role_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3027   HRESULT WINAPI IADsComputer_get_OperatingSystem_Proxy(IADsComputer *This,BSTR *retval);
   3028   void __RPC_STUB IADsComputer_get_OperatingSystem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3029   HRESULT WINAPI IADsComputer_put_OperatingSystem_Proxy(IADsComputer *This,BSTR bstrOperatingSystem);
   3030   void __RPC_STUB IADsComputer_put_OperatingSystem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3031   HRESULT WINAPI IADsComputer_get_OperatingSystemVersion_Proxy(IADsComputer *This,BSTR *retval);
   3032   void __RPC_STUB IADsComputer_get_OperatingSystemVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3033   HRESULT WINAPI IADsComputer_put_OperatingSystemVersion_Proxy(IADsComputer *This,BSTR bstrOperatingSystemVersion);
   3034   void __RPC_STUB IADsComputer_put_OperatingSystemVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3035   HRESULT WINAPI IADsComputer_get_Model_Proxy(IADsComputer *This,BSTR *retval);
   3036   void __RPC_STUB IADsComputer_get_Model_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3037   HRESULT WINAPI IADsComputer_put_Model_Proxy(IADsComputer *This,BSTR bstrModel);
   3038   void __RPC_STUB IADsComputer_put_Model_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3039   HRESULT WINAPI IADsComputer_get_Processor_Proxy(IADsComputer *This,BSTR *retval);
   3040   void __RPC_STUB IADsComputer_get_Processor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3041   HRESULT WINAPI IADsComputer_put_Processor_Proxy(IADsComputer *This,BSTR bstrProcessor);
   3042   void __RPC_STUB IADsComputer_put_Processor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3043   HRESULT WINAPI IADsComputer_get_ProcessorCount_Proxy(IADsComputer *This,BSTR *retval);
   3044   void __RPC_STUB IADsComputer_get_ProcessorCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3045   HRESULT WINAPI IADsComputer_put_ProcessorCount_Proxy(IADsComputer *This,BSTR bstrProcessorCount);
   3046   void __RPC_STUB IADsComputer_put_ProcessorCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3047   HRESULT WINAPI IADsComputer_get_MemorySize_Proxy(IADsComputer *This,BSTR *retval);
   3048   void __RPC_STUB IADsComputer_get_MemorySize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3049   HRESULT WINAPI IADsComputer_put_MemorySize_Proxy(IADsComputer *This,BSTR bstrMemorySize);
   3050   void __RPC_STUB IADsComputer_put_MemorySize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3051   HRESULT WINAPI IADsComputer_get_StorageCapacity_Proxy(IADsComputer *This,BSTR *retval);
   3052   void __RPC_STUB IADsComputer_get_StorageCapacity_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3053   HRESULT WINAPI IADsComputer_put_StorageCapacity_Proxy(IADsComputer *This,BSTR bstrStorageCapacity);
   3054   void __RPC_STUB IADsComputer_put_StorageCapacity_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3055   HRESULT WINAPI IADsComputer_get_NetAddresses_Proxy(IADsComputer *This,VARIANT *retval);
   3056   void __RPC_STUB IADsComputer_get_NetAddresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3057   HRESULT WINAPI IADsComputer_put_NetAddresses_Proxy(IADsComputer *This,VARIANT vNetAddresses);
   3058   void __RPC_STUB IADsComputer_put_NetAddresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3059 #endif
   3060 
   3061 #ifndef __IADsComputerOperations_INTERFACE_DEFINED__
   3062 #define __IADsComputerOperations_INTERFACE_DEFINED__
   3063   EXTERN_C const IID IID_IADsComputerOperations;
   3064 #if defined(__cplusplus) && !defined(CINTERFACE)
   3065   struct IADsComputerOperations : public IADs {
   3066   public:
   3067     virtual HRESULT WINAPI Status(IDispatch **ppObject) = 0;
   3068     virtual HRESULT WINAPI Shutdown(VARIANT_BOOL bReboot) = 0;
   3069   };
   3070 #else
   3071   typedef struct IADsComputerOperationsVtbl {
   3072     BEGIN_INTERFACE
   3073       HRESULT (WINAPI *QueryInterface)(IADsComputerOperations *This,REFIID riid,void **ppvObject);
   3074       ULONG (WINAPI *AddRef)(IADsComputerOperations *This);
   3075       ULONG (WINAPI *Release)(IADsComputerOperations *This);
   3076       HRESULT (WINAPI *GetTypeInfoCount)(IADsComputerOperations *This,UINT *pctinfo);
   3077       HRESULT (WINAPI *GetTypeInfo)(IADsComputerOperations *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3078       HRESULT (WINAPI *GetIDsOfNames)(IADsComputerOperations *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3079       HRESULT (WINAPI *Invoke)(IADsComputerOperations *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3080       HRESULT (WINAPI *get_Name)(IADsComputerOperations *This,BSTR *retval);
   3081       HRESULT (WINAPI *get_Class)(IADsComputerOperations *This,BSTR *retval);
   3082       HRESULT (WINAPI *get_GUID)(IADsComputerOperations *This,BSTR *retval);
   3083       HRESULT (WINAPI *get_ADsPath)(IADsComputerOperations *This,BSTR *retval);
   3084       HRESULT (WINAPI *get_Parent)(IADsComputerOperations *This,BSTR *retval);
   3085       HRESULT (WINAPI *get_Schema)(IADsComputerOperations *This,BSTR *retval);
   3086       HRESULT (WINAPI *GetInfo)(IADsComputerOperations *This);
   3087       HRESULT (WINAPI *SetInfo)(IADsComputerOperations *This);
   3088       HRESULT (WINAPI *Get)(IADsComputerOperations *This,BSTR bstrName,VARIANT *pvProp);
   3089       HRESULT (WINAPI *Put)(IADsComputerOperations *This,BSTR bstrName,VARIANT vProp);
   3090       HRESULT (WINAPI *GetEx)(IADsComputerOperations *This,BSTR bstrName,VARIANT *pvProp);
   3091       HRESULT (WINAPI *PutEx)(IADsComputerOperations *This,__LONG32 lnControlCode,BSTR bstrName,VARIANT vProp);
   3092       HRESULT (WINAPI *GetInfoEx)(IADsComputerOperations *This,VARIANT vProperties,__LONG32 lnReserved);
   3093       HRESULT (WINAPI *Status)(IADsComputerOperations *This,IDispatch **ppObject);
   3094       HRESULT (WINAPI *Shutdown)(IADsComputerOperations *This,VARIANT_BOOL bReboot);
   3095     END_INTERFACE
   3096   } IADsComputerOperationsVtbl;
   3097   struct IADsComputerOperations {
   3098     CONST_VTBL struct IADsComputerOperationsVtbl *lpVtbl;
   3099   };
   3100 #ifdef COBJMACROS
   3101 #define IADsComputerOperations_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3102 #define IADsComputerOperations_AddRef(This) (This)->lpVtbl->AddRef(This)
   3103 #define IADsComputerOperations_Release(This) (This)->lpVtbl->Release(This)
   3104 #define IADsComputerOperations_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3105 #define IADsComputerOperations_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3106 #define IADsComputerOperations_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3107 #define IADsComputerOperations_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3108 #define IADsComputerOperations_get_Name(This,retval) (This)->lpVtbl->get_Name(This,retval)
   3109 #define IADsComputerOperations_get_Class(This,retval) (This)->lpVtbl->get_Class(This,retval)
   3110 #define IADsComputerOperations_get_GUID(This,retval) (This)->lpVtbl->get_GUID(This,retval)
   3111 #define IADsComputerOperations_get_ADsPath(This,retval) (This)->lpVtbl->get_ADsPath(This,retval)
   3112 #define IADsComputerOperations_get_Parent(This,retval) (This)->lpVtbl->get_Parent(This,retval)
   3113 #define IADsComputerOperations_get_Schema(This,retval) (This)->lpVtbl->get_Schema(This,retval)
   3114 #define IADsComputerOperations_GetInfo(This) (This)->lpVtbl->GetInfo(This)
   3115 #define IADsComputerOperations_SetInfo(This) (This)->lpVtbl->SetInfo(This)
   3116 #define IADsComputerOperations_Get(This,bstrName,pvProp) (This)->lpVtbl->Get(This,bstrName,pvProp)
   3117 #define IADsComputerOperations_Put(This,bstrName,vProp) (This)->lpVtbl->Put(This,bstrName,vProp)
   3118 #define IADsComputerOperations_GetEx(This,bstrName,pvProp) (This)->lpVtbl->GetEx(This,bstrName,pvProp)
   3119 #define IADsComputerOperations_PutEx(This,lnControlCode,bstrName,vProp) (This)->lpVtbl->PutEx(This,lnControlCode,bstrName,vProp)
   3120 #define IADsComputerOperations_GetInfoEx(This,vProperties,lnReserved) (This)->lpVtbl->GetInfoEx(This,vProperties,lnReserved)
   3121 #define IADsComputerOperations_Status(This,ppObject) (This)->lpVtbl->Status(This,ppObject)
   3122 #define IADsComputerOperations_Shutdown(This,bReboot) (This)->lpVtbl->Shutdown(This,bReboot)
   3123 #endif
   3124 #endif
   3125   HRESULT WINAPI IADsComputerOperations_Status_Proxy(IADsComputerOperations *This,IDispatch **ppObject);
   3126   void __RPC_STUB IADsComputerOperations_Status_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3127   HRESULT WINAPI IADsComputerOperations_Shutdown_Proxy(IADsComputerOperations *This,VARIANT_BOOL bReboot);
   3128   void __RPC_STUB IADsComputerOperations_Shutdown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3129 #endif
   3130 
   3131 #ifndef __IADsGroup_INTERFACE_DEFINED__
   3132 #define __IADsGroup_INTERFACE_DEFINED__
   3133   EXTERN_C const IID IID_IADsGroup;
   3134 #if defined(__cplusplus) && !defined(CINTERFACE)
   3135   struct IADsGroup : public IADs {
   3136   public:
   3137     virtual HRESULT WINAPI get_Description(BSTR *retval) = 0;
   3138     virtual HRESULT WINAPI put_Description(BSTR bstrDescription) = 0;
   3139     virtual HRESULT WINAPI Members(IADsMembers **ppMembers) = 0;
   3140     virtual HRESULT WINAPI IsMember(BSTR bstrMember,VARIANT_BOOL *bMember) = 0;
   3141     virtual HRESULT WINAPI Add(BSTR bstrNewItem) = 0;
   3142     virtual HRESULT WINAPI Remove(BSTR bstrItemToBeRemoved) = 0;
   3143   };
   3144 #else
   3145   typedef struct IADsGroupVtbl {
   3146     BEGIN_INTERFACE
   3147       HRESULT (WINAPI *QueryInterface)(IADsGroup *This,REFIID riid,void **ppvObject);
   3148       ULONG (WINAPI *AddRef)(IADsGroup *This);
   3149       ULONG (WINAPI *Release)(IADsGroup *This);
   3150       HRESULT (WINAPI *GetTypeInfoCount)(IADsGroup *This,UINT *pctinfo);
   3151       HRESULT (WINAPI *GetTypeInfo)(IADsGroup *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3152       HRESULT (WINAPI *GetIDsOfNames)(IADsGroup *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3153       HRESULT (WINAPI *Invoke)(IADsGroup *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3154       HRESULT (WINAPI *get_Name)(IADsGroup *This,BSTR *retval);
   3155       HRESULT (WINAPI *get_Class)(IADsGroup *This,BSTR *retval);
   3156       HRESULT (WINAPI *get_GUID)(IADsGroup *This,BSTR *retval);
   3157       HRESULT (WINAPI *get_ADsPath)(IADsGroup *This,BSTR *retval);
   3158       HRESULT (WINAPI *get_Parent)(IADsGroup *This,BSTR *retval);
   3159       HRESULT (WINAPI *get_Schema)(IADsGroup *This,BSTR *retval);
   3160       HRESULT (WINAPI *GetInfo)(IADsGroup *This);
   3161       HRESULT (WINAPI *SetInfo)(IADsGroup *This);
   3162       HRESULT (WINAPI *Get)(IADsGroup *This,BSTR bstrName,VARIANT *pvProp);
   3163       HRESULT (WINAPI *Put)(IADsGroup *This,BSTR bstrName,VARIANT vProp);
   3164       HRESULT (WINAPI *GetEx)(IADsGroup *This,BSTR bstrName,VARIANT *pvProp);
   3165       HRESULT (WINAPI *PutEx)(IADsGroup *This,__LONG32 lnControlCode,BSTR bstrName,VARIANT vProp);
   3166       HRESULT (WINAPI *GetInfoEx)(IADsGroup *This,VARIANT vProperties,__LONG32 lnReserved);
   3167       HRESULT (WINAPI *get_Description)(IADsGroup *This,BSTR *retval);
   3168       HRESULT (WINAPI *put_Description)(IADsGroup *This,BSTR bstrDescription);
   3169       HRESULT (WINAPI *Members)(IADsGroup *This,IADsMembers **ppMembers);
   3170       HRESULT (WINAPI *IsMember)(IADsGroup *This,BSTR bstrMember,VARIANT_BOOL *bMember);
   3171       HRESULT (WINAPI *Add)(IADsGroup *This,BSTR bstrNewItem);
   3172       HRESULT (WINAPI *Remove)(IADsGroup *This,BSTR bstrItemToBeRemoved);
   3173     END_INTERFACE
   3174   } IADsGroupVtbl;
   3175   struct IADsGroup {
   3176     CONST_VTBL struct IADsGroupVtbl *lpVtbl;
   3177   };
   3178 #ifdef COBJMACROS
   3179 #define IADsGroup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3180 #define IADsGroup_AddRef(This) (This)->lpVtbl->AddRef(This)
   3181 #define IADsGroup_Release(This) (This)->lpVtbl->Release(This)
   3182 #define IADsGroup_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3183 #define IADsGroup_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3184 #define IADsGroup_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3185 #define IADsGroup_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3186 #define IADsGroup_get_Name(This,retval) (This)->lpVtbl->get_Name(This,retval)
   3187 #define IADsGroup_get_Class(This,retval) (This)->lpVtbl->get_Class(This,retval)
   3188 #define IADsGroup_get_GUID(This,retval) (This)->lpVtbl->get_GUID(This,retval)
   3189 #define IADsGroup_get_ADsPath(This,retval) (This)->lpVtbl->get_ADsPath(This,retval)
   3190 #define IADsGroup_get_Parent(This,retval) (This)->lpVtbl->get_Parent(This,retval)
   3191 #define IADsGroup_get_Schema(This,retval) (This)->lpVtbl->get_Schema(This,retval)
   3192 #define IADsGroup_GetInfo(This) (This)->lpVtbl->GetInfo(This)
   3193 #define IADsGroup_SetInfo(This) (This)->lpVtbl->SetInfo(This)
   3194 #define IADsGroup_Get(This,bstrName,pvProp) (This)->lpVtbl->Get(This,bstrName,pvProp)
   3195 #define IADsGroup_Put(This,bstrName,vProp) (This)->lpVtbl->Put(This,bstrName,vProp)
   3196 #define IADsGroup_GetEx(This,bstrName,pvProp) (This)->lpVtbl->GetEx(This,bstrName,pvProp)
   3197 #define IADsGroup_PutEx(This,lnControlCode,bstrName,vProp) (This)->lpVtbl->PutEx(This,lnControlCode,bstrName,vProp)
   3198 #define IADsGroup_GetInfoEx(This,vProperties,lnReserved) (This)->lpVtbl->GetInfoEx(This,vProperties,lnReserved)
   3199 #define IADsGroup_get_Description(This,retval) (This)->lpVtbl->get_Description(This,retval)
   3200 #define IADsGroup_put_Description(This,bstrDescription) (This)->lpVtbl->put_Description(This,bstrDescription)
   3201 #define IADsGroup_Members(This,ppMembers) (This)->lpVtbl->Members(This,ppMembers)
   3202 #define IADsGroup_IsMember(This,bstrMember,bMember) (This)->lpVtbl->IsMember(This,bstrMember,bMember)
   3203 #define IADsGroup_Add(This,bstrNewItem) (This)->lpVtbl->Add(This,bstrNewItem)
   3204 #define IADsGroup_Remove(This,bstrItemToBeRemoved) (This)->lpVtbl->Remove(This,bstrItemToBeRemoved)
   3205 #endif
   3206 #endif
   3207   HRESULT WINAPI IADsGroup_get_Description_Proxy(IADsGroup *This,BSTR *retval);
   3208   void __RPC_STUB IADsGroup_get_Description_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3209   HRESULT WINAPI IADsGroup_put_Description_Proxy(IADsGroup *This,BSTR bstrDescription);
   3210   void __RPC_STUB IADsGroup_put_Description_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3211   HRESULT WINAPI IADsGroup_Members_Proxy(IADsGroup *This,IADsMembers **ppMembers);
   3212   void __RPC_STUB IADsGroup_Members_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3213   HRESULT WINAPI IADsGroup_IsMember_Proxy(IADsGroup *This,BSTR bstrMember,VARIANT_BOOL *bMember);
   3214   void __RPC_STUB IADsGroup_IsMember_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3215   HRESULT WINAPI IADsGroup_Add_Proxy(IADsGroup *This,BSTR bstrNewItem);
   3216   void __RPC_STUB IADsGroup_Add_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3217   HRESULT WINAPI IADsGroup_Remove_Proxy(IADsGroup *This,BSTR bstrItemToBeRemoved);
   3218   void __RPC_STUB IADsGroup_Remove_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   3219 #endif
   3220 
   3221 #ifndef __IADsUser_INTERFACE_DEFINED__
   3222 #define __IADsUser_INTERFACE_DEFINED__
   3223   EXTERN_C const IID IID_IADsUser;
   3224 #if defined(__cplusplus) && !defined(CINTERFACE)
   3225   struct IADsUser : public IADs {
   3226   public:
   3227     virtual HRESULT WINAPI get_BadLoginAddress(BSTR *retval) = 0;
   3228     virtual HRESULT WINAPI get_BadLoginCount(__LONG32 *retval) = 0;
   3229     virtual HRESULT WINAPI get_LastLogin(DATE *retval) = 0;
   3230     virtual HRESULT WINAPI get_LastLogoff(DATE *retval) = 0;
   3231     virtual HRESULT WINAPI get_LastFailedLogin(DATE *retval) = 0;
   3232     virtual HRESULT WINAPI get_PasswordLastChanged(DATE *retval) = 0;
   3233     virtual HRESULT WINAPI get_Description(BSTR *retval) = 0;
   3234     virtual HRESULT WINAPI put_Description(BSTR bstrDescription) = 0;
   3235     virtual HRESULT WINAPI get_Division(BSTR *retval) = 0;
   3236     virtual HRESULT WINAPI put_Division(BSTR bstrDivision) = 0;
   3237     virtual HRESULT WINAPI get_Department(BSTR *retval) = 0;
   3238     virtual HRESULT WINAPI put_Department(BSTR bstrDepartment) = 0;
   3239     virtual HRESULT WINAPI get_EmployeeID(BSTR *retval) = 0;
   3240     virtual HRESULT WINAPI put_EmployeeID(BSTR bstrEmployeeID) = 0;
   3241     virtual HRESULT WINAPI get_FullName(BSTR *retval) = 0;
   3242     virtual HRESULT WINAPI put_FullName(BSTR bstrFullName) = 0;
   3243     virtual HRESULT WINAPI get_FirstName(BSTR *retval) = 0;
   3244     virtual HRESULT WINAPI put_FirstName(BSTR bstrFirstName) = 0;
   3245     virtual HRESULT WINAPI get_LastName(BSTR *retval) = 0;
   3246     virtual HRESULT WINAPI put_LastName(BSTR bstrLastName) = 0;
   3247     virtual HRESULT WINAPI get_OtherName(BSTR *retval) = 0;
   3248     virtual HRESULT WINAPI put_OtherName(BSTR bstrOtherName) = 0;
   3249     virtual HRESULT WINAPI get_NamePrefix(BSTR *retval) = 0;
   3250     virtual HRESULT WINAPI put_NamePrefix(BSTR bstrNamePrefix) = 0;
   3251     virtual HRESULT WINAPI get_NameSuffix(BSTR *retval) = 0;
   3252     virtual HRESULT WINAPI put_NameSuffix(BSTR bstrNameSuffix) = 0;
   3253     virtual HRESULT WINAPI get_Title(BSTR *retval) = 0;
   3254     virtual HRESULT WINAPI put_Title(BSTR bstrTitle) = 0;
   3255     virtual HRESULT WINAPI get_Manager(BSTR *retval) = 0;
   3256     virtual HRESULT WINAPI put_Manager(BSTR bstrManager) = 0;
   3257     virtual HRESULT WINAPI get_TelephoneHome(VARIANT *retval) = 0;
   3258     virtual HRESULT WINAPI put_TelephoneHome(VARIANT vTelephoneHome) = 0;
   3259     virtual HRESULT WINAPI get_TelephoneMobile(VARIANT *retval) = 0;
   3260     virtual HRESULT WINAPI put_TelephoneMobile(VARIANT vTelephoneMobile) = 0;
   3261     virtual HRESULT WINAPI get_TelephoneNumber(VARIANT *retval) = 0;
   3262     virtual HRESULT WINAPI put_TelephoneNumber(VARIANT vTelephoneNumber) = 0;
   3263     virtual HRESULT WINAPI get_TelephonePager(VARIANT *retval) = 0;
   3264     virtual HRESULT WINAPI put_TelephonePager(VARIANT vTelephonePager) = 0;
   3265     virtual HRESULT WINAPI get_FaxNumber(VARIANT *retval) = 0;
   3266     virtual HRESULT WINAPI put_FaxNumber(VARIANT vFaxNumber) = 0;
   3267     virtual HRESULT WINAPI get_OfficeLocations(VARIANT *retval) = 0;
   3268     virtual HRESULT WINAPI put_OfficeLocations(VARIANT vOfficeLocations) = 0;
   3269     virtual HRESULT WINAPI get_PostalAddresses(VARIANT *retval) = 0;
   3270     virtual HRESULT WINAPI put_PostalAddresses(VARIANT vPostalAddresses) = 0;
   3271     virtual HRESULT WINAPI get_PostalCodes(VARIANT *retval) = 0;
   3272     virtual HRESULT WINAPI put_PostalCodes(VARIANT vPostalCodes) = 0;
   3273     virtual HRESULT WINAPI get_SeeAlso(VARIANT *retval) = 0;
   3274     virtual HRESULT WINAPI put_SeeAlso(VARIANT vSeeAlso) = 0;
   3275     virtual HRESULT WINAPI get_AccountDisabled(VARIANT_BOOL *retval) = 0;
   3276     virtual HRESULT WINAPI put_AccountDisabled(VARIANT_BOOL fAccountDisabled) = 0;
   3277     virtual HRESULT WINAPI get_AccountExpirationDate(DATE *retval) = 0;
   3278     virtual HRESULT WINAPI put_AccountExpirationDate(DATE daAccountExpirationDate) = 0;
   3279     virtual HRESULT WINAPI get_GraceLoginsAllowed(__LONG32 *retval) = 0;
   3280     virtual HRESULT WINAPI put_GraceLoginsAllowed(__LONG32 lnGraceLoginsAllowed) = 0;
   3281     virtual HRESULT WINAPI get_GraceLoginsRemaining(__LONG32 *retval) = 0;
   3282     virtual HRESULT WINAPI put_GraceLoginsRemaining(__LONG32 lnGraceLoginsRemaining) = 0;
   3283     virtual HRESULT WINAPI get_IsAccountLocked(VARIANT_BOOL *retval) = 0;
   3284     virtual HRESULT WINAPI put_IsAccountLocked(VARIANT_BOOL fIsAccountLocked) = 0;
   3285     virtual HRESULT WINAPI get_LoginHours(VARIANT *retval) = 0;
   3286     virtual HRESULT WINAPI put_LoginHours(VARIANT vLoginHours) = 0;
   3287     virtual HRESULT WINAPI get_LoginWorkstations(VARIANT *retval) = 0;
   3288     virtual HRESULT WINAPI put_LoginWorkstations(VARIANT vLoginWorkstations) = 0;
   3289     virtual HRESULT WINAPI get_MaxLogins(__LONG32 *retval) = 0;
   3290     virtual HRESULT WINAPI put_MaxLogins(__LONG32 lnMaxLogins) = 0;
   3291     virtual HRESULT WINAPI get_MaxStorage(__LONG32 *retval) = 0;
   3292     virtual HRESULT WINAPI put_MaxStorage(__LONG32 lnMaxStorage) = 0;
   3293     virtual HRESULT WINAPI get_PasswordExpirationDate(DATE *retval) = 0;
   3294     virtual HRESULT WINAPI put_PasswordExpirationDate(DATE daPasswordExpirationDate) = 0;
   3295     virtual HRESULT WINAPI get_PasswordMinimumLength(__LONG32 *retval) = 0;
   3296     virtual HRESULT WINAPI put_PasswordMinimumLength(__LONG32 lnPasswordMinimumLength) = 0;
   3297     virtual HRESULT WINAPI get_PasswordRequired(VARIANT_BOOL *retval) = 0;
   3298     virtual HRESULT WINAPI put_PasswordRequired(VARIANT_BOOL fPasswordRequired) = 0;
   3299     virtual HRESULT WINAPI get_RequireUniquePassword(VARIANT_BOOL *retval) = 0;
   3300     virtual HRESULT WINAPI put_RequireUniquePassword(VARIANT_BOOL fRequireUniquePassword) = 0;
   3301     virtual HRESULT WINAPI get_EmailAddress(BSTR *retval) = 0;
   3302     virtual HRESULT WINAPI put_EmailAddress(BSTR bstrEmailAddress) = 0;
   3303     virtual HRESULT WINAPI get_HomeDirectory(BSTR *retval) = 0;
   3304     virtual HRESULT WINAPI put_HomeDirectory(BSTR bstrHomeDirectory) = 0;
   3305     virtual HRESULT WINAPI get_Languages(VARIANT *retval) = 0;
   3306     virtual HRESULT WINAPI put_Languages(VARIANT vLanguages) = 0;
   3307     virtual HRESULT WINAPI get_Profile(BSTR *retval) = 0;
   3308     virtual HRESULT WINAPI put_Profile(BSTR bstrProfile) = 0;
   3309     virtual HRESULT WINAPI get_LoginScript(BSTR *retval) = 0;
   3310     virtual HRESULT WINAPI put_LoginScript(BSTR bstrLoginScript) = 0;
   3311     virtual HRESULT WINAPI get_Picture(VARIANT *retval) = 0;
   3312     virtual HRESULT WINAPI put_Picture(VARIANT vPicture) = 0;
   3313     virtual HRESULT WINAPI get_HomePage(BSTR *retval) = 0;
   3314     virtual HRESULT WINAPI put_HomePage(BSTR bstrHomePage) = 0;
   3315     virtual HRESULT WINAPI Groups(IADsMembers **ppGroups) = 0;
   3316     virtual HRESULT WINAPI SetPassword(BSTR NewPassword) = 0;
   3317     virtual HRESULT WINAPI ChangePassword(BSTR bstrOldPassword,BSTR bstrNewPassword) = 0;
   3318   };
   3319 #else
   3320   typedef struct IADsUserVtbl {
   3321     BEGIN_INTERFACE
   3322       HRESULT (WINAPI *QueryInterface)(IADsUser *This,REFIID riid,void **ppvObject);
   3323       ULONG (WINAPI *AddRef)(IADsUser *This);
   3324       ULONG (WINAPI *Release)(IADsUser *This);
   3325       HRESULT (WINAPI *GetTypeInfoCount)(IADsUser *This,UINT *pctinfo);
   3326       HRESULT (WINAPI *GetTypeInfo)(IADsUser *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   3327       HRESULT (WINAPI *GetIDsOfNames)(IADsUser *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   3328       HRESULT (WINAPI *Invoke)(IADsUser *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   3329       HRESULT (WINAPI *get_Name)(IADsUser *This,BSTR *retval);
   3330       HRESULT (WINAPI *get_Class)(IADsUser *This,BSTR *retval);
   3331       HRESULT (WINAPI *get_GUID)(IADsUser *This,BSTR *retval);
   3332       HRESULT (WINAPI *get_ADsPath)(IADsUser *This,BSTR *retval);
   3333       HRESULT (WINAPI *get_Parent)(IADsUser *This,BSTR *retval);
   3334       HRESULT (WINAPI *get_Schema)(IADsUser *This,BSTR *retval);
   3335       HRESULT (WINAPI *GetInfo)(IADsUser *This);
   3336       HRESULT (WINAPI *SetInfo)(IADsUser *This);
   3337       HRESULT (WINAPI *Get)(IADsUser *This,BSTR bstrName,VARIANT *pvProp);
   3338       HRESULT (WINAPI *Put)(IADsUser *This,BSTR bstrName,VARIANT vProp);
   3339       HRESULT (WINAPI *GetEx)(IADsUser *This,BSTR bstrName,VARIANT *pvProp);
   3340       HRESULT (WINAPI *PutEx)(IADsUser *This,__LONG32 lnControlCode,BSTR bstrName,VARIANT vProp);
   3341       HRESULT (WINAPI *GetInfoEx)(IADsUser *This,VARIANT vProperties,__LONG32 lnReserved);
   3342       HRESULT (WINAPI *get_BadLoginAddress)(IADsUser *This,BSTR *retval);
   3343       HRESULT (WINAPI *get_BadLoginCount)(IADsUser *This,__LONG32 *retval);
   3344       HRESULT (WINAPI *get_LastLogin)(IADsUser *This,DATE *retval);
   3345       HRESULT (WINAPI *get_LastLogoff)(IADsUser *This,DATE *retval);
   3346       HRESULT (WINAPI *get_LastFailedLogin)(IADsUser *This,DATE *retval);
   3347       HRESULT (WINAPI *get_PasswordLastChanged)(IADsUser *This,DATE *retval);
   3348       HRESULT (WINAPI *get_Description)(IADsUser *This,BSTR *retval);
   3349       HRESULT (WINAPI *put_Description)(IADsUser *This,BSTR bstrDescription);
   3350       HRESULT (WINAPI *get_Division)(IADsUser *This,BSTR *retval);
   3351       HRESULT (WINAPI *put_Division)(IADsUser *This,BSTR bstrDivision);
   3352       HRESULT (WINAPI *get_Department)(IADsUser *This,BSTR *retval);
   3353       HRESULT (WINAPI *put_Department)(IADsUser *This,BSTR bstrDepartment);
   3354       HRESULT (WINAPI *get_EmployeeID)(IADsUser *This,BSTR *retval);
   3355       HRESULT (WINAPI *put_EmployeeID)(IADsUser *This,BSTR bstrEmployeeID);
   3356       HRESULT (WINAPI *get_FullName)(IADsUser *This,BSTR *retval);
   3357       HRESULT (WINAPI *put_FullName)(IADsUser *This,BSTR bstrFullName);
   3358       HRESULT (WINAPI *get_FirstName)(IADsUser *This,BSTR *retval);
   3359       HRESULT (WINAPI *put_FirstName)(IADsUser *This,BSTR bstrFirstName);
   3360       HRESULT (WINAPI *get_LastName)(IADsUser *This,BSTR *retval);
   3361       HRESULT (WINAPI *put_LastName)(IADsUser *This,BSTR bstrLastName);
   3362       HRESULT (WINAPI *get_OtherName)(IADsUser *This,BSTR *retval);
   3363       HRESULT (WINAPI *put_OtherName)(IADsUser *This,BSTR bstrOtherName);
   3364       HRESULT (WINAPI *get_NamePrefix)(IADsUser *This,BSTR *retval);
   3365       HRESULT (WINAPI *put_NamePrefix)(IADsUser *This,BSTR bstrNamePrefix);
   3366       HRESULT (WINAPI *get_NameSuffix)(IADsUser *This,BSTR *retval);
   3367       HRESULT (WINAPI *put_NameSuffix)(IADsUser *This,BSTR bstrNameSuffix);
   3368       HRESULT (WINAPI *get_Title)(IADsUser *This,BSTR *retval);
   3369       HRESULT (WINAPI *put_Title)(IADsUser *This,BSTR bstrTitle);
   3370       HRESULT (WINAPI *get_Manager)(IADsUser *This,BSTR *retval);
   3371       HRESULT (WINAPI *put_Manager)(IADsUser *This,BSTR bstrManager);
   3372       HRESULT (WINAPI *get_TelephoneHome)(IADsUser *This,VARIANT *retval);
   3373       HRESULT (WINAPI *put_TelephoneHome)(IADsUser *This,VARIANT vTelephoneHome);
   3374       HRESULT (WINAPI *get_TelephoneMobile)(IADsUser *This,VARIANT *retval);
   3375       HRESULT (WINAPI *put_TelephoneMobile)(IADsUser *This,VARIANT vTelephoneMobile);
   3376       HRESULT (WINAPI *get_TelephoneNumber)(IADsUser *This,VARIANT *retval);
   3377       HRESULT (WINAPI *put_TelephoneNumber)(IADsUser *This,VARIANT vTelephoneNumber);
   3378       HRESULT (WINAPI *get_TelephonePager)(IADsUser *This,VARIANT *retval);
   3379       HRESULT (WINAPI *put_TelephonePager)(IADsUser *This,VARIANT vTelephonePager);
   3380       HRESULT (WINAPI *get_FaxNumber)(IADsUser *This,VARIANT *retval);
   3381       HRESULT (WINAPI *put_FaxNumber)(IADsUser *This,VARIANT vFaxNumber);
   3382       HRESULT (WINAPI *get_OfficeLocations)(IADsUser *This,VARIANT *retval);
   3383       HRESULT (WINAPI *put_OfficeLocations)(IADsUser *This,VARIANT vOfficeLocations);
   3384       HRESULT (WINAPI *get_PostalAddresses)(IADsUser *This,VARIANT *retval);
   3385       HRESULT (WINAPI *put_PostalAddresses)(IADsUser *This,VARIANT vPostalAddresses);
   3386       HRESULT (WINAPI *get_PostalCodes)(IADsUser *This,VARIANT *retval);
   3387       HRESULT (WINAPI *put_PostalCodes)(IADsUser *This,VARIANT vPostalCodes);
   3388       HRESULT (WINAPI *get_SeeAlso)(IADsUser *This,VARIANT *retval);
   3389       HRESULT (WINAPI *put_SeeAlso)(IADsUser *This,VARIANT vSeeAlso);
   3390       HRESULT (WINAPI *get_AccountDisabled)(IADsUser *This,VARIANT_BOOL *retval);
   3391       HRESULT (WINAPI *put_AccountDisabled)(IADsUser *This,VARIANT_BOOL fAccountDisabled);
   3392       HRESULT (WINAPI *get_AccountExpirationDate)(IADsUser *This,DATE *retval);
   3393       HRESULT (WINAPI *put_AccountExpirationDate)(IADsUser *This,DATE daAccountExpirationDate);
   3394       HRESULT (WINAPI *get_GraceLoginsAllowed)(IADsUser *This,__LONG32 *retval);
   3395       HRESULT (WINAPI *put_GraceLoginsAllowed)(IADsUser *This,__LONG32 lnGraceLoginsAllowed);
   3396       HRESULT (WINAPI *get_GraceLoginsRemaining)(IADsUser *This,__LONG32 *retval);
   3397       HRESULT (WINAPI *put_GraceLoginsRemaining)(IADsUser *This,__LONG32 lnGraceLoginsRemaining);
   3398       HRESULT (WINAPI *get_IsAccountLocked)(IADsUser *This,VARIANT_BOOL *retval);
   3399       HRESULT (WINAPI *put_IsAccountLocked)(IADsUser *This,VARIANT_BOOL fIsAccountLocked);
   3400       HRESULT (WINAPI *get_LoginHours)(IADsUser *This,VARIANT *retval);
   3401       HRESULT (WINAPI *put_LoginHours)(IADsUser *This,VARIANT vLoginHours);
   3402       HRESULT (WINAPI *get_LoginWorkstations)(IADsUser *This,VARIANT *retval);
   3403       HRESULT (WINAPI *put_LoginWorkstations)(IADsUser *This,VARIANT vLoginWorkstations);
   3404       HRESULT (WINAPI *get_MaxLogins)(IADsUser *This,__LONG32 *retval);
   3405       HRESULT (WINAPI *put_MaxLogins)(IADsUser *This,__LONG32 lnMaxLogins);
   3406       HRESULT (WINAPI *get_MaxStorage)(IADsUser *This,__LONG32 *retval);
   3407       HRESULT (WINAPI *put_MaxStorage)(IADsUser *This,__LONG32 lnMaxStorage);
   3408       HRESULT (WINAPI *get_PasswordExpirationDate)(IADsUser *This,DATE *retval);
   3409       HRESULT (WINAPI *put_PasswordExpirationDate)(IADsUser *This,DATE daPasswordExpirationDate);
   3410       HRESULT (WINAPI *get_PasswordMinimumLength)(IADsUser *This,__LONG32 *retval);
   3411       HRESULT (WINAPI *put_PasswordMinimumLength)(IADsUser *This,__LONG32 lnPasswordMinimumLength);
   3412       HRESULT (WINAPI *get_PasswordRequired)(IADsUser *This,VARIANT_BOOL *retval);
   3413       HRESULT (WINAPI *put_PasswordRequired)(IADsUser *This,VARIANT_BOOL fPasswordRequired);
   3414       HRESULT (WINAPI *get_RequireUniquePassword)(IADsUser *This,VARIANT_BOOL *retval);
   3415       HRESULT (WINAPI *put_RequireUniquePassword)(IADsUser *This,VARIANT_BOOL fRequireUniquePassword);
   3416       HRESULT (WINAPI *get_EmailAddress)(IADsUser *This,BSTR *retval);
   3417       HRESULT (WINAPI *put_EmailAddress)(IADsUser *This,BSTR bstrEmailAddress);
   3418       HRESULT (WINAPI *get_HomeDirectory)(IADsUser *This,BSTR *retval);
   3419       HRESULT (WINAPI *put_HomeDirectory)(IADsUser *This,BSTR bstrHomeDirectory);
   3420       HRESULT (WINAPI *get_Languages)(IADsUser *This,VARIANT *retval);
   3421       HRESULT (WINAPI *put_Languages)(IADsUser *This,VARIANT vLanguages);
   3422       HRESULT (WINAPI *get_Profile)(IADsUser *This,BSTR *retval);
   3423       HRESULT (WINAPI *put_Profile)(IADsUser *This,BSTR bstrProfile);
   3424       HRESULT (WINAPI *get_LoginScript)(IADsUser *This,BSTR *retval);
   3425       HRESULT (WINAPI *put_LoginScript)(IADsUser *This,BSTR bstrLoginScript);
   3426       HRESULT (WINAPI *get_Picture)(IADsUser *This,VARIANT *retval);
   3427       HRESULT (WINAPI *put_Picture)(IADsUser *This,VARIANT vPicture);
   3428       HRESULT (WINAPI *get_HomePage)(IADsUser *This,BSTR *retval);
   3429       HRESULT (WINAPI *put_HomePage)(IADsUser *This,BSTR bstrHomePage);
   3430       HRESULT (WINAPI *Groups)(IADsUser *This,IADsMembers **ppGroups);
   3431       HRESULT (WINAPI *SetPassword)(IADsUser *This,BSTR NewPassword);
   3432       HRESULT (WINAPI *ChangePassword)(IADsUser *This,BSTR bstrOldPassword,BSTR bstrNewPassword);
   3433     END_INTERFACE
   3434   } IADsUserVtbl;
   3435   struct IADsUser {
   3436     CONST_VTBL struct IADsUserVtbl *lpVtbl;
   3437   };
   3438 #ifdef COBJMACROS
   3439 #define IADsUser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3440 #define IADsUser_AddRef(This) (This)->lpVtbl->AddRef(This)
   3441 #define IADsUser_Release(This) (This)->lpVtbl->Release(This)
   3442 #define IADsUser_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3443 #define IADsUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3444 #define IADsUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3445 #define IADsUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3446 #define IADsUser_get_Name(This,retval) (This)->lpVtbl->get_Name(This,retval)
   3447 #define IADsUser_get_Class(This,retval) (This)->lpVtbl->get_Class(This,retval)
   3448 #define IADsUser_get_GUID(This,retval) (This)->lpVtbl->get_GUID(This,retval)
   3449 #define IADsUser_get_ADsPath(This,retval) (This)->lpVtbl->get_ADsPath(This,retval)
   3450 #define IADsUser_get_Parent(This,retval) (This)->lpVtbl->get_Parent(This,retval)
   3451 #define IADsUser_get_Schema(This,retval) (This)->lpVtbl->get_Schema(This,retval)
   3452 #define IADsUser_GetInfo(This) (This)->lpVtbl->GetInfo(This)
   3453 #define IADsUser_SetInfo(This) (This)->lpVtbl->SetInfo(This)
   3454 #define