译者序 1
第一部分 概述 1
第1章 活动目录库套书的使用 1
1.1 活动目录库套书的组成 1
1.2 活动目录库套书的编写思想 2
第2章 本书的内容 3
第3章 微软参考资源的使用 5
3.1 微软开发者网络 5
3.1.1 MSDN和MSDN在线的比较 6
3.1.2 订阅MSDN 7
3.1.3 MSDN的使用 9
3.1.4 使用MSDN在线 13
3.2 Windows程序设计系列参考 21
第4章 查找开发者所需的资源 22
4.1 开发者支持 22
4.2 在线资源 24
4.3 关于学习的产品 24
4.4 会议 26
4.5 其他资源 26
5.1.1 ADsBuildEnumerator函数 27
5.1 ADSI函数 27
第二部分 指南、示例和编程参考 27
第5章 ADSI函数和结构 27
5.1.2 ADsBuildVarArrayInt函数 32
5.1.3 ADsBuildVarArrayStr函数 33
5.1.4 ADsEncodeBinaryData函数 35
5.1.5 ADsEnumerateNext函数 36
5.1.6 ADsFreeEnumerator函数 37
5.1.7 ADsGetLastError函数 38
5.1.8 ADsGetObject函数 40
5.1.9 ADsOpenObject函数 41
5.1.10 ADsSetLastError函数 42
5.1.11 AllocADsMem函数 44
5.1.12 AllocADsStr函数 45
5.1.13 FreeADsMem函数 45
5.1.14 FreeADsStr函数 46
5.1.15 ReallocADsMem函数 46
5.1.16 ReallocADsStr函数 47
5.2 ADSI结构 48
5.1.17 废弃的ADSI函数 48
5.2.1 ADS_ATTR_DEF结构 49
5.2.2 ADS_ATTR_INFO结构 50
5.2.3 ADS_BACKLINK结构 51
5.2.4 ADS_CASEIGNORE_LIST结构 52
5.2.5 ADS_CLASS_DEF结构 52
5.2.6 ADS_DN_WITH_BINART结构 53
5.2.7 ADS_DN_WITH_STRING结构 54
5.2.8 ADS_EMAIL结构 54
5.2.9 ADS_FAXNUMBER结构 55
5.2.10 ADS_HOLD结构 56
5.2.11 ADS_NETADDRESS结构 56
5.2.12 ADS_NT_SECURITY_DESCRIPTOR结构 57
5.2.13 ADS_OBJECT_INFO结构 57
5.2.14 ADS_OCTET_LIST结构 58
5.2.15 ADS_OCTET_STRING结构 59
5.2.16 ADS_PATH结构 60
5.2.17 ADS_POSTALADDRESS结构 60
5.2.19 ADS_REPLICAPOINTER结构 61
5.2.18 ADS_PROV_SPECIFIC结构 61
5.2.20 ADS_SEARCH_COLUMN结构 62
5.2.21 ADS_SEARCHPREF_INFO结构 63
5.2.22 ADS_SORTKEY结构 64
5.2 23 ADS_TIMESTAMP结构 64
5.2.24 ADS_TYPEDNAME结构 65
5.2.25 ADSVALUE结构 65
第6章 枚举、数据类型和常量 69
6.1 ADSI枚举 69
6.1.1 ADS_ACEFLAG_ENUM枚举 70
6.1.2 ADS_ACETYPE_ENUM枚举 71
6.1.3 ADS_AUTHENTICATION_ENUM枚举 72
6.1.4 ADS_CHASE_REFERRALS_ENUM枚举 74
6.1.5 ADS_DEREFENUM枚举 76
6.1.6 ADS_DISPLAY_ENUM枚举 77
6.1.7 ADS_ESCAPE_MODE_ENUM枚举 78
6.1.8 ADS_FLAGTYPE_ENUM枚举 79
6.1.9 ADS_FORMAT_ENUM枚举 80
6.1.10 ADS_GROUP_TYPE_ENUM枚举 81
6.1.11 ADS_NAME_INITTYPE_ENUM枚举 83
6.1.12 ADS_NAME_TYPE_ENUM枚举 85
6.1.13 ADS_OPTION_ENUM枚举 87
6.1.14 ADS_PREFERENCES_ENUM枚举 88
6.1.15 ADS_PROPERTY_OPERATION_ENUM枚举 90
6.1.16 ADS_RIGHTS_ENUM枚举 90
6.1.17 ADS_SCOPEENUM枚举 93
6.1.18 ADS_SD_CONTROL_ENUM枚举 94
6.1.19 ADS_SD_REVISION_ENUM枚举 95
6.1.20 ADS_SEARCHPREF_ENUM枚举 96
6.1.21 ADS_SECURITY_INFO_ENUM枚举 103
6.1.22 ADS_SETTYPE_ENUM枚举 107
6.1.23 ADS_STATUSENUM枚举 107
6.1.24 ADS_SYSTEMFLAG_ENUM枚举 109
6.1.25 ADS_USER_FLAG_ENUM枚举 113
6.1.26 ADSI_DIALECT_ENUM枚举 115
6.1.27 ADSTYPEENUM枚举 116
6.2 ADSI数据类型和常量 119
6.2.1 ADSI简单数据类型 119
6.2.2 ADSI常量 120
7.1 ADSI接口的字典式列表 121
第7章 关于ADSI接口 121
7.2 接口的特性方法 123
7.3 系统提供者的接口实现 124
第8章 核心接口 125
8.1 IAD接口 125
8.1.1 IAD接口的特性方法 126
8.1.2 IADs∷Get方法 130
8.1.3 IADs∷GetEx方法 135
8.1.4 IADs∷GetInfo方法 138
8.1.5 IADs∷GetInfoEx方法 142
8.1.6 IADs∷Put方法 144
8.1.7 IADs:PutEx方法 146
8.1.8 IADs∷SetInfo方法 148
8.2 IADsContainer接口 150
8.2.1 IADsContainer接口的特性方法 153
8.2.2 IADsContainer∷CopyHere方法 155
8.2.3 IADsContainer∷Create方法 157
8.2.4 IADsContainer∷Delete方法 158
8.2.5 IADsContainter∷get_NewEnum方法 160
8.2.6 IADsContainer∷GetObject方法 162
8.2.7 IADsContainer∷MoveHere方法 163
8.3 IADsNamespaces接口 166
8.4 IADsOpenDSObject接口 167
第9章 架构接口 172
9.1 IADsClass 172
9.1.1 IADsClass接口的特性方法 174
9.1.2 IADsClass∷Qualifiers方法 179
9.2 IADsProperty接口 180
9.2.1 IADsProperty接口的特性方法 182
9.2.2 IADsProperty∷Qualifiers方法 184
9.3 IADsSyntax接口 185
第10章 特性高速缓存器接口 189
10.1 IADsPropertyEntry接口 189
10.2 IADsPropertyList接口 193
10.2.1 IADsPropertyList接口的特性方法 194
10.2.2 IADsPropertyList∷GetPropertyItem方法 195
10.2.3 IADsPropertyList∷Item方法 197
10.2.4 IADsPropertyList∷Next方法 199
10.2.5 IADsPropertyList∷Purge-Propertylist方法 201
10.2.6 IADsPropertyList∷PutPropertyItem方法 203
10.2.7 IADsPropertyList∷Reset方法 206
10.2.8 IADsPropertyList∷ResetPropertyItem方法 208
10.2.9 IADsPropertyList∷Skip方法 211
10.3 IADsPropertyValue接口 212
10.3.1 IADsPropertyValue接口的特性方法 214
10.3.2 IADsPropertyValue∷Clear方法 218
10.4 IADsPropertyValue2接口 220
10.4.1 IADsPropertyValue2∷GetObject-Property方法 221
10.4.2 IADsPropertyValue2∷PutObject-Property方法 223
11.1 IADsCollection接口 226
第11章 持久性对象接口 226
11.1.1 IADsCollection∷Add方法 227
11.1.2 IADsCollection∷get NewEnum方法 228
11.1.3 IADsCollection∷GetObject方法 230
11.1.4 IADsCollection∷Remove方法 232
11.2 IADsComputer接口 233
11.3 IADsDomain接口 239
11.4 IADsFileService接口 243
11.5 IADsFileShare接口 246
11.6 IADsGroup接口 249
11.6.1 IADsGroup接口的特性方法 250
11.6.2 IADsGroup∷Add方法 251
11.6.3 IADsGroup∷IsMember方法 253
11.6.4 IADsGroup∷Members方法 254
11.6.5 IADsGroup∷Remove方法 255
11.7 IADsLocality接口 257
11.8 IADsMembers接口 259
11.8.1 IADsMembers接口的特性方法 260
11.8.2 IADsMembers∷get_NewEnum方法 261
11.9 IADsO接口 263
11.10 IADsOU接口 265
11.11 IADsPrintJob接口 268
11.12 IADsPrintQueue接口 275
11.13 IADsService接口 281
11.14 IADsUser接口 286
11.14.1 IADsUser接口的特性方法 289
11.14.2 IADsUser∷ChangePassword方法 299
11.14.3 IADsUser∷Groups方法 301
11.14.4 IADsUser∷SetPassword方法 303
12.1 IADsComputerOperations接口 305
第12章 动态对象接口 305
12.1.1 IADsComputerOperations∷Shutdown方法 306
12.1.2 IADsComputerOperations∷Status方法 306
12.2 IADsFileServiceOperations接口 307
12.2.1 IADsFileServiceOperations∷Resources方法 308
12.2.2 IADsFileServiceOperations∷Sessions方法 309
12.3 IADsPrintJobOperations接口 310
12.3.1 IADsPrintJobOperations接口的特性方法 312
12.3.3 IADsPrintJobOperations∷Resume方法 314
12.3.2 IADsPrintJobOperations∷Pause方法 314
12.4 IADsP rintQueueOperations接口 315
12.4.1 IADsPrintQueueOperations接口的特性方法 316
12.4.2 IADsPrintQueueOperations∷Pause方法 317
12.4.3 IADsPrintQueueOperations∷PrintJobs方法 318
12.4.4 IADsPrintQueueOperations∷Purge方法 319
12.4.5 IADsPrintQueueOperations∷Resume方法 320
12.5 IADsResource接口 321
12.6 IADsServiceOperations接口 324
12.6.1 IADsServiceOperations接口的特性方法 325
12.6.2 IADsServiceOprations∷Continue方法 327
12.6.3 IADsServiceOperations∷Pause方法 328
12.6.4 IADsServiceOperations∷SetPassword方法 329
12.6.5 IADsServiceOperations∷Start方法 330
12.6.6 IADsServiceOperations∷Stop方法 332
12.7 IADsSession接口 333
第13章 安全接口 337
13.1 IADsAccessControlEntry接口 337
13.2 IADsAccessControlList接口 343
13.2.1 IADsAccessControlList接口的特性方法 347
13.2.2 IADsAccessControlList∷AddAce方法 349
13.2.3 IADsAccessControlList∷Copy-AccessList方法 351
13.2.4 IADsAccessControlList∷RemoveAce方法 355
13.2.5 IADsAccessControlList∷get_NewEnum方法 357
13.3 IADsSecurityDescriptor接口 359
13.3.1 IADsSecurityDescriptor接口的特性方法 363
13.3.2 IADsSecurityDescriptor∷Copy-SecurityDescriptor方法 366
第14章 非自动化接口 368
14.1 IdirectoryObject接口 368
14.1.1 IDirectoryObject∷CreateDSObject方法 369
14.1.2 IDirectoryObject∷DeleteDSObject方法 370
14.1.3 IDirectoryObject∷GetObjectAttributes方法 371
14.1.4 IDirectoryObject∷GetObject-Information方法 373
14.1.5 IDirectoryObject∷SetObjectAttributes方法 374
14.2 IDirectorySearch接口 376
14.2.1 IDirectorySearch∷AbandonSearch方法 376
14.2.2 IDirectorySearch∷CloseSearchHandle方法 378
14.2.3 IDirectorySearch∷ExecuteSearch方法 379
14.2.4 IDirectorySearch:FreeColumn方法 380
14.2.5 IDirectorySearch∷GetColumn方法 381
14.2.6 IDirectorySearch∷GetFirstRow方法 382
14.2.7 IDirectorySearch∷GetNextColumnName方法 383
14.2.8 IDirectorySearch∷GetNextRow方法 384
14.2.9 IDirectorySearch∷GetPreviousRow方法 385
14.2.10 IDirectorySearch∷SetSearch-Preference方法 386
第15章 扩展接口 388
15.1 IADsExtension接口 388
15.2 IADsExtension∷PrivateGetlDsOfNames方法 390
15.3 IADsExtension∷PrivateInvoke方法 391
第16章 实用程序接口 394
16.1 IADsDeleteOps接口 394
16.2 IADsNameTranslate接口 396
16.2.1 IADsNameTranslate接口的特性方法 398
16.2.2 IADsNameTranslate∷Get方法 399
16.2.3 IADsNameTranslate∷GetEx方法 401
16.2.4 IADsNameTranslate∷Init方法 404
16.2.5 IADsNameTranslate∷InitEx方法 407
16.2.6 IADsNameTranslate∷Set方法 409
16.2.7 IADsNameTranslate∷SetEx方法 412
16.3 IADsObjectOptions接口 414
16.3.1 IADsObjectOptions∷GetOption方法 415
16.3.2 IADsObjectOptions∷SetOption方法 417
16.4 IADsPathname接口 418
16.4.1 IADsPathname接口的特性方法 420
16.4.2 IADsPathname∷AddLeafElement方法 424
16.4.3 IADsPathname∷CopyPath方法 425
16.4.4 IADsPathname∷GetElement方法 426
16.4.5 IADsPathname∷GetEscapedElement方法 428
16.4.6 IADsPathname∷GetNumElement方法 429
16.4.7 IADsPathname∷RemoveLeafElement方法 430
16.4.8 IADsPathname∷Retrieve方法 431
16.4.9 IADsPathname∷Set方法 432
16.4.10 IADsPathname∷SetDisplayType方法 434
16.5 IADsADSystemInfo接口 435
16.5.1 IADsADSystemInfo接口的特性方法 436
16.5.2 IADsADSystemInfo∷GetAnyDCName方法 440
16.5.3 IADsADSystemInfo∷GetDCSiteName方法 441
16.5.4 IADsADSystemInfo∷GetTrees方法 443
16.5.5 IADsADSystemInfo∷RefreshSchemaCache方法 445
16.6 IADsWinNTSystemInfo接口 445
17.1 IADsAcl接口 449
第17章 数据类型接口 449
17.1.1 IADsAcl接口的特性方法 450
17.1.2 IADsAcl∷CopyAcl方法 451
17.2 IADsBackLink接口 451
17.3 IADsCaseIgnoreList接口 452
17.4 IADsDNWithBinary接口 453
17.5 IADsDNWithString接口 455
17.6 IADsEmail接口 456
17.7 IADsFaxNumber接口 458
17.8 IADsHold接口 459
17.9 IADsLargeInteger接口 460
17.10 IADsNetAddress接口 462
17.11 IADsOctetList接口 463
17.12 IADsPath接口 464
17.13 IADsPostalAddress接口 466
17.14 IADsReplicaPointer接口 467
17.15 IADsTimestamp接口 469
17.16 IADsTypedName接口 470
18.1 ADSI LDAP提供者 473
18.1.1 LDAP ADsPath 473
第18章 ADSI系统提供者 473
18.1.2 活动目录和LDAP之间的数据类型映射 474
18.1.3 LDAP的ADSI对象 477
18.1.4 LDAP语法对象 478
18.1.5 LDAP用户对象 479
18.2 ADSI WinNT提供者 486
18.2.1 WinNT ADsPath 486
18.2 2 WinNT的ADSI对象 487
18.2.3 WinNT模式 489
18.2.4 WinNT用户对象 493
18.3.2 NDS的ADSI对象 498
18.3 ADSI NDS提供者 498
18.3.1 NDS ADsPath 498
18.4 ADSI NWCOMPAT提供者 500
18.4.1 NWCOMPAT ADsPath 500
18.4.2 NWCOMPAT的ADSI对象 500
18.5 ADSI路由器 501
18.5.1 在路由器层实现的ADSI对象 502
18.5.2 提供者支持的ADSI接口 502
19.2 普通的ADSI错误码 510
19.1 普通的COM错误码 510
第19章 ADSI错误码 510
19.3 ADSI的Win32错误码 511
19.3.1 Win32错误码 512
19.3.2 ADSI2.0的Win32错误码 514
19.4 ADSI的LDAP错误码 516
19.5 ADSI的扩展错误消息 516
第三部分 附录 521
附录A 术语表 521
附录B 索引 531