|
|
 |

 |
|
Microsoft® Windows® 2000 Active Directory™ Programming
|
|
 |
Author |
 |
Charles Oppermann
|
 |
|
Pages |
480
|
|
Disk |
1 Companion CD(s)
|
|
Level |
Intermediate
|
|
Published |
05/30/2001
|
|
ISBN |
9780735610378
|
|
ISBN-10 |
0-7356-1037-1
|
|
Price(USD) |
$49.99
To see this book's discounted price, select a reseller below.
|
|
|
|
|
 |
|
|
Index
A
Abandon operation, LDAP, 52
abstract classes, 288–89
Abstract property, 295
abstract schema, 274–77
AccessPointDN syntax, 307
AccountDisabled property, 348, 356
AccountExpirationDate property, 348, 356
Active Directory. See also directory services
base Directory Information Tree, 18–19
choosing between programming interface options, 60–63
common dialog boxes, 234–53
component overview, 36–38
customizing searches, 146–53
database layer component, 37–38
directory partitions, 26–27, 271, 272
directory system agent (DSA) component, 37
domain model in, 19, 21–22
and Exchange 2000 Server, 14, 360
Extensible Storage Engine (ESE) component, 38
features, 14–15
and localization, 258–59
multimaster operations, 28–29
overview, 14–15
relationship to ADSI, 60
role of inheritance, 283–85
schema overview, 267–81
search technologies, 115–17
Security Account Manager (SAM) component, 37, 58, 83, 399
service examples, 39–41
size considerations, 22, 38
snap-ins for Microsoft Management Console, 34, 42–43, 45, 354, 354
steps in connecting to, 89–90
terminology, 157
tools, 42–48
user interface enhancements, 416–17
what to store, 311–13
Windows platform considerations, 397–402
Active Directory Client, 398–99
Active Directory entries, 72, 73
Active Directory Schema snap-in, 18–19, 43, 45, 278–81, 321, 326
Active Directory Services Interface. See ADSI (Active Directory Services Interface)
Active Directory Sites and Services snap-in, 34, 45
Active Directory Users and Computers snap-in, 45, 354, 354
ActiveDS.tlb file, 89, 345, 346
Active Server Pages. See ASP (Active Server Pages)
ActiveXObject object, 71
Add method, 362, 363, 367
Add operation, LDAP, 52
AddRef method, 65
adminContextMenu attribute, 256
Administrative tools, 42–43
administrator credentials, 111–12
adminPropertyPages attribute, 256
ADO (ActiveX Data Objects)
and Active Server Pages, 386
and ADSI OLE DB provider, 117
Command object, 136–39
Connection object, 136, 141
creating connection, 136
executing searches, 139
object model, 135–36
in phone book example, 135–42
processing search results, 139–41
Properties collection, 150
Provider property, 151
Recordset object, 139–41
refining searches, 137–38
sorting search results, 139
specifying queries, 136–37
terminology, 157
as tool for searching Active Directory, 115, 117, 135–42
ADO Command object
CommandText property, 136–37
Execute method, 139
Properties collection, 137–39
ADO Connection object
Close method, 141
Open method, 136
overview, 136
Properties collection, 137–39
ADO Recordset object, 139–41
ADS_ATTR_INFO structure, 227–28
ADS_AUTHENTICATION_ENUM enumeration, 345
ADS_BOOLEAN data type, 230, 231
ADsBuildEnumerator function, 191
ADS_CASE_EXACT_STRING data type, 230, 231
ADS_CASE_IGNORE_STRING data type, 230, 231
ADsClientVersion.wsf file, 402
ADS_DN_STRING data type, 230, 231
ADS_DN_WITH_BINARY data type, 230, 231
ADS_DN_WITH_STRING data type, 230, 231
AdsDSOObject, 59, 116–17, 151
ADsEnumerateNext function, 191
ADS_FAST_BIND authentication flag, 111, 112–13
ADsFreeEnumerator function, 191
ADsGetObject.cpp file, 90, 90–91
ADsGetObject function, 81, 84, 90–92
ADS_GROUP_TYPE_ENUM enumeration, 363
ADSI (Active Directory Services Interface)
as COM in-process server, 72–75
determining version, 400–402
directory entries vs. directory objects, 72, 73, 157
extensibility, 59
handling errors, 163–66
language independence, 59
vs. LDAP, 60–63, 157
list of data types, 209, 211
OLE DB provider, 59, 116–17, 150, 151–52
overview, 57
performance considerations, 62
platform considerations, 60, 61
property cache, 174–77
provider architecture, 57–59
relationship to Active Directory, 60
steps in connecting to Active Directory, 79–80
terminology, 157
using with C and C++, 60–61
using with scripting languages, 61
version considerations, 399–402
ADSI Edit snap-in, 44
ADSIEnumTop.vbs file, 49, 50, 51
ADSI interfaces. See also IADs interface
lists, 73–74, 75
overview, 72–73
property cache, 202–12
ADS_INTEGER data type, 230, 231
ADSI objects
binding to, 80–92
overview, 72, 73
possible states, 82
ADSI providers. See also OLE DB provider
formats for ADsPath, 83–84
overview, 57–59
ADSI type library, 89, 345, 346
ADSI Viewer, 46–47
ADS_LARGE_INTEGER data type, 230, 231
ADS_NT_SECURITY_DESCRIPTOR data type, 230, 231
ADS_NUMERIC_STRING data type, 230, 231
ADS_OBJECT_INFO structure, 226, 227
ADS_OCTET_STRING data type, 230, 231
ADsOpenObject function, 108–9, 110–11, 111, 112, 345
ADsPath, 83–84, 86, 87, 95
ADsPath property, 159
ADS_PRINTABLE_STRING data type, 230, 231
ADS_PROV_SPECIFIC data type, 230, 231
ADS_SERVER_BIND authentication flag, 111, 113
ADS_SORTKEY structure, 410
ADS_SYSTEMFLAG_ATTR_IS_CONSTRUCTED flag, 303
ADS_SYSTEMFLAG_ATTR_NOT_REPLICATED flag, 303
ADS_SYSTEMFLAG_ENUM enumeration, 303
ADSTYPE_BOOLEAN data type, 207, 209
ADSTYPE_CASE_EXACT_STRING data type, 207, 209
ADSTYPE_CASE_IGNORE_STRING data type, 207, 209
ADSTYPE data type, 230, 231
ADSTYPE_DN_STRING data type, 207, 209
ADSTYPE_DN_WITH_BINARY data type, 209, 210, 211
ADSTYPE_DN_WITH_STRING data type, 209, 211
ADSTYPEENUM enumeration, 207, 209, 209
ADSTYPE_INTEGER data type, 207, 209
ADSTYPE_INVALID data type, 209
ADSTYPE_LARGE_INTEGER data type, 207, 209, 211
ADSTYPE_NT_SECURITY_DESCRIPTOR data type, 208, 209, 210, 211
ADSTYPE_NUMERIC_STRING data type, 207, 209
ADSTYPE_OCTET_STRING data type, 208, 209, 210
ADSTYPE_PRINTABLE_STRING data type, 208, 209
ADsType property, 206, 207, 208
ADSTYPE_PROV_SPECIFIC data type, 209
ADSTYPE_UNKNOWN data type, 209
ADSTYPE_UTC_TIME data type, 208, 209, 210
ADS_USE_SSL constant, 345
ADS_UTC_TIME data type, 230, 231
ADSVALUE structure, 229, 230, 231
ADsVersion.dll file, 400
ADsVersion object, 400, 401
ADsVersion.vbs file, 401, 401–2
ADS_VLV structure, 410
ADSystemInfo object, 177, 314, 333
Aggregate object, 274, 275
allowedChildClassesEffective attribute, 318
anonymous authentication, 391
ANSI character set, 93
application directories, 6
application partitions, 406
applicationSettings abstract class, 288
applicationSiteSettings abstract class, 288
Arguments object, 122
ASP (Active Server Pages)
and Active Directory, 385–97
and COM+ components, 396–97
creating, 390–91
Phone sample, 386, 386–89, 389–90
as programming environment, 62
security issues, 112, 390, 391–95
.asp files, 385. See also ASP (Active Server Pages)
ASSERT macro, 92
asterisk (*), 129, 131, 133
asynchronous searches, 149–50
attributeDisplayNames attribute, 256
attributeID attribute, 301, 330
attribute objects, 268, 300, 326, 330–31
attributes
as Active Directory concept, 18, 85–86
Active Directory vs. COM, 268
appending values, 185–86
conflict resolution, 34–35
for display specifier object, 256–57
examples, 155–56
indexed, 104
for inetOrgPerson class, 407–8
multivalued, 168–73
naming conventions, 156
oddities, 187–88
overview, 155–56, 268, 300
vs. properties, 157, 158, 166–67
reading, 158–73
removing values, 186
in replication process, 34–35
for RootDSE object, 96–97
size limitations, 312
types of, 302–3
for user object, 351–53
for volume class, 380
writing, 177–86
attributeSchema attributes, 330
attributeSchema class, 271, 300, 301
attributeSchema objects, 300, 318
attributeSecurityGUID attribute, 301
attributeSyntax attribute, 301, 306, 330
attribute syntaxes. See syntaxes
attributeTypes attribute, 275
audio attribute, 407
authentication
anonymous, 391
and ASP, 391–95
basic, 395
binding issues, 107–12
Challenge/Response, 392
defined, 391
integrated Windows, 391–93
Kerberos protocol, 392, 394–95
mutual, 394
search issues, 150–51
Automation
and ASP files, 386
example, 66–67
and IDispatch interface, 66
limitations, 234
overview, 66–67
and scripting languages, 66–67, 234, 341
AuxDerivedFrom property, 295
auxiliaryClass attribute, 282
auxiliary classes, 289, 404–5
Auxiliary property, 295
B
BadLoginAddress property, 348
Banyan VINES, 12
base DIT (directory information tree), 18–19, 279
.bas files. See Visual Basic
Basic authentication, 395
batch files, 341. See also scripting languages
becomeDomainMaster operational attribute, 97
becomeInfrastructureMaster operational attribute, 97
becomePdc operational attribute, 97
becomeRidMaster operational attribute, 97
becomeSchemaMaster operational attribute, 97
binary strings, 158
binding
authentication issues, 107–12
getting ADSI objects, 81–82
options for, 92–113
overview, 80–81
performance considerations, 112–13
serverless, 92–94, 314
by specifying GUIDs, 101–7
when to use RootDSE object, 94–97
binding, late, 90
Bind operation, LDAP, 52
BindToSchemaMaster function, 317–18
Boolean operators, 128
Boolean property, 207
Boolean syntax, 307
BrowseTo method, 244
businessCategory attribute, 407
C
C and C++ programming languages
accessing COM objects, 68–70
and Active Directory interface options, 60–61
ADsGetObject.cpp file, 90, 90–91
and ADSI OLE DB provider, 116–17
and Automation, 67
COMAgent.cpp file, 69, 69–70
and COM interfaces, 65
creating PropertyEntry objects, 206
DsBrowseDomain.cpp file, 244, 244–45
DsBrowseForContainer.cpp file, 237, 237–40
DsDisplaySpecifier.cpp file, 260, 260–64
DsObjectPicker.cpp file, 247–48, 248–53
IADsProperties sample program, 160–62, 165–66
IDirectoryObject.cpp file, 222, 223–25
making code portable, 93
MultiValue.cpp file, 169, 169–71
ReadWrite.cpp file, 179, 179–81
releasing objects, 113, 127
string considerations, 93
using ADsGetObject function, 90–92
using IDirectoryObject interface, 221–32
using IDirectorySearch to search Active Directory, 142–46
VLVSearch.cpp file, 410, 411–16
cache, schema, 333–35
caching connections, 113
callback functions, 240, 240, 241, 241–43
carLicense attribute, 407
CaseExactString property, 207
CaseExactString syntax, 307
CaseIgnoreString property, 207
CaseIgnoreString syntax, 307
CDOEXM (Collaboration Data Objects for Exchange Management), 360
Challenge/Response authentication, 392
ChangePassword method, 351, 357
ChangePassword.wsf file, 357, 358–59
child classes, 283, 284–85
classDisplayName attribute, 256, 282, 301
classes
abstract, 288–89
as Active Directory concept, 18, 86, 268
auxiliary, 289
categories of, 287, 291
child, 283, 284–85
creating, 331–33
defined, 268
parent, 283, 284–85
structural, 288
class identifiers (CLSIDs), 68
class inheritance, 283–85
ClassProperties.bas file, 200, 200–201
Class property, 159, 167, 195
classSchema class, 271, 282, 282–83
classSchema objects, 318
Clear method, 208
Close method, 141
CLSID property, 295
CLSIDs (class identifiers), 68
cn (Common-Name) attribute, 282, 293, 294, 300, 352, 363, 380
CoCreateInstance function, 68, 206
code, making portable, 93
CoGetObject function, 68, 81
Collaboration Data Objects for Exchange Management (CDOEXM), 360
colon (:) in monikers, 81
COMAgent.cpp file, 69, 69–70
COMAgent.vbs file, 71, 71–72
COM+ components, 396–97
COM interfaces
accessing, 68–72
example, 64–65
overview, 64–66
comma (,)
in distinguished names, 85
for separating attributes, 134
Command object
CommandText property, 136–37
Execute method, 139
Properties collection, 137–39
CommandText property, 136–37
common dialog boxes
container browser, 234–36, 235
domain browser, 244, 244–45
object picker, 246, 246–48, 248–53, 416–17
overview, 234
Common-Name attribute, 282, 293, 294, 300, 352, 363, 380
COM objects
accessing in C and C++, 68–70
accessing in scripting languages, 71–72
accessing in Visual Basic, 71–72
interface overview, 64–66
methods overview, 66
overview, 63–64
properties overview, 66
spell-checker example, 67–68
Windows Script Components, 343
Compare operation, LDAP, 52
comparison operators, 128–29
Component Object Model (COM)
and ADSI, 72–75
and Automation, 66–67
vs. DLLs, 64
overview, 63–64
spell-checker example, 67–68
computer accounts, managing, 371–74
computer class, 278, 279, 371
Computers container, 106, 365, 371
Configuration container, 271, 272
configurationNamingContext attribute, 96
configuration partition, 26–27, 271, 272
Connection object
Close method, 141
Open method, 136
overview, 136
Properties collection, 137–39
connectionPoint abstract class, 288
connection points, 374
consoles, 45. See also snap-ins
constants, in type libraries, 345
container browser dialog box
illustrated, 235
invoking, 235–36
overview, 234
Container property, 295
containers
enumerating, 189–93
vs. objects, 87
overview, 188–89
role of object classes, 268
well-known GUIDs for, 106–7
Containment property, 295
contentIndexingAllowed attribute, 380
contextMenu attribute, 256
context switches, 391
ControlCode property, 206
Control Panel, 42–43
CopyHere method, 190
Count property
Arguments object, 122
IADsContainer interface, 190
IADsMembers interface, 366
country abstract class, 288
.cpp files. See C and C++ programming languages
CreateComputer.wsf file, 371, 372–74, 374
CreateDelete sample, 196–97
createDialog attribute, 256, 257
CreateDirectoryAttribute function, 330, 330–31
CreateDirectoryClass function, 331, 332–33
CreateDSObject method, 222, 232
CreateGroup.wsf file, 363, 364–65, 365, 366
Create method, 104, 190, 329, 353, 363
CreateObject function, 71, 206, 390–91
CreateUser.wsf file, 353, 353–55, 355, 356
createWizardExt attribute, 257
creationWizard attribute, 257
CScript command, 121
currentTime attribute, 96
D
DAP (Directory Access Protocol), 10, 11, 12–13
database layer, 37–38
data type interfaces, ADSI, 75, 75
data types
ADSI, 209, 209, 211, 211, 230, 231
LDAP vs. COM, 208
syntax-type, 208, 307–9
DC. See domain controllers (DC)
Default.asp file, 386, 386, 389–90
defaultHidingValue attribute, 282
defaultNamingContext attribute, 96
defaultObjectCategory attribute, 282, 292
defaultSecurityDescriptor attribute, 282, 285, 286–87
Deleted Objects container, 106
DeleteDSObject method, 222, 232
Delete method, 104, 190, 195
DeleteObject method, 196
Delete operation, LDAP, 52
departmentNumber attribute, 407
Department property, 348
DerivedFrom property, 295
Description property, 349, 362
device abstract class, 288
dialog boxes. See common dialog boxes
Dictionary object, 344
Dim...As statement, 71, 88–90
directories. See also directory services
application, 6
defined, 6
DNS as example, 6
online, 6
purpose-specific, 6
synchronizing information, 30–36
Directory Access Protocol (DAP), 10, 11, 12–13
directory entries, defined, 72. See also ADSI objects
directory information tree (DIT)
overview, 18–19, 279
Schema.ini file, 279–81
directory objects, defined, 72. See also ADSI objects
directory partitions
configuration partition, 26–27, 271, 272
domain partition, 26–27, 271, 272
overview, 26
schema partition, 26, 271, 272
directory services
history at Microsoft, 3–6
overview, 7–8
what to store, 311–13
directory system agents (DSAs), 37. See also RootDSE object
dispatch identifiers (DISPIDs), 66, 90
DisplayErrorAndExit function, 339, 339
displayName attribute, 294, 352, 407
display specifier object
list of attributes, 256–57
and localization, 258–59
overview, 256, 258
sample code, 260–64
distinguishedName attribute, 167
distinguished names (DNs), 84–85
distribution groups, 361
dITContentRules attribute, 275
Division property, 349
DIXIE (RFC 1249), 12
DNS. See Domain Name System (DNS)
DNs. See distinguished names (DNs)
dnsHostName attribute, 96
DNString property, 207
DN syntax, 307
DNWithBinary syntax, 307
DNWithString syntax, 308
domain abstract class, 288
Domain Admins group, 396
domain browser dialog box
illustrated, 244
invoking, 244–45
overview, 244
Domain Controller container, 106
domain controllers (DC)
defined, 22
directory partitions, 26–27
finding, 92, 94
FSMO roles, 29
as global catalog servers, 99, 100
referral chasing, 147–49
schema operations master, 29, 313
synchronizing directory information, 30–36
in Windows 2000, 21, 22
domainDNS class, 200–202
domain local groups, 361
Domain Name System (DNS)
as example of purpose-specific directory, 6
overview, 9–10
relationship to Windows 2000 domains, 21
role of Active Directory, 40
domain naming master, 29
domain partition, 26, 27, 271, 272
domains
as Active Directory concept, 19–22
organizational units, 25
relationship to Domain Name System, 21
site topologies, 33–34
subdividing, 25
trees and forests, 23–25
in Windows 2000, 21–22
in Windows NT, 20
Windows NT vs. Windows 2000, 19–22
Domain Users group, 371, 391
double-byte character set (DBCS), 93
double slash (//) in ADsPath formats, 83
Drive object, 344
Drives collection, 344
DsBrowseCallBack function, 241–43
DsBrowseDomain.cpp file, 244, 244–45
DsBrowseForContainer.cpp file, 237, 237–40
DSBROWSEINFO structure, 235–37
DsBrowserForContainer function, 235, 237, 240, 240
DSClient.exe file, 398–99
DsDisplaySpecifier.cpp file, 260, 260–64
DsGetDcName function, 94
DsObjectPicker.cpp file, 247–48, 248–53
DsObjectPicker object, 246
DSOP_INT_INFO structure, 247
dsServiceName attribute, 96
dynamic auxiliary classes, 404
dynamic-link libraries (DLLs) vs. components, 64
dynamicObject auxiliary class, 404–5
dynamic objects, 312, 404–5
E
EmailAddress property, 349
EmployeeID property, 349
employeeNumber attribute, 407
employeeType attribute, 407
EnableSchemaUpdates function, 322, 322–23
Encoder object, 344
entryTTL attribute, 404, 405
EnumClassAttributes method, 259
EnumContainer.bas file, 192, 192–93
enumeration
for abstract schema objects, 276, 276–77
for containers, 189–93
controlling, 191–93
defined, 189, 345
for groups, 366–67
in type libraries, 345
Enumeration syntax, 308
Enumerator object, 191
EOF property, 139–40
errors, handling in ADSI, 163–66
Exchange 2000 Server, 14, 360
Execute method, 139
ExecuteSearch method, 410
extendedAttributeInfo attribute, 275
extendedCharsAllowed attribute, 301
extendedClassInfo attribute, 275
Extended operation, LDAP, 52
extending schema, 310–39
ExtendSchema code samples
CreateDirectoryAttribute function, 330, 330–31
CreateDirectoryClass function, 331, 332–33
DisplayErrorAndExit function, 339, 339
EnableSchemaUpdates function, 322, 322–23
main function, 336, 336–39
obtaining Schema container location, 273, 273–74
ReturnSchemaMaster function, 314, 315–16
UpdateSchemaCache function, 334, 334–35
VerifySchemaPermissions function, 318, 319–20
ExtendSchema.ldf file, 327, 327–28
Extensible Storage Engine (ESE), 38
F
FAILED macro, 92, 166
fast binding, 112–13
FaxNumber property, 349
File object, 344
FilesSystemObject object, 344
Filter property
IADsContainer interface, 190, 191, 192
IADsMembers interface, 366
FirstName property, 349
flexible single-master operation (FSMO), 29
Folder object, 344
Folders collection, 344
forcing replication, 36
For Each statement, 51
forests, domain, 23, 24–25, 98–101
FSMO (flexible single-master operation), 29
FullName property, 349
G
GC. See global catalog (GC)
GeneralizedTime syntax, 308
generic-text mappings, 93
GetAttributeAdsType method, 259
GetClassCreationInfo method, 259
GetDisplaySpecifier method, 260
GetDomainDN function, 95–96, 102
GetEx method, 159, 172–73
GetExMethod.bas file, 172, 172–73
GetFirstRow method, 410
GetFriendlyAttributeName method, 260
GetFriendlyClassName method, 260
GetIconLocation method, 260
GetIcon method, 260
GetIDsOfNames method, 66
GetInfoEx.bas file, 176, 176–77
GetInfoEx method, 159, 176–77
GetInfo method, 159, 175–76, 192, 204
GetLocale property, 400
GetMajorVersion property, 400
Get method, 159, 162–63, 173–74, 200
GetMinorVersion property, 400
get__NewEnum property
IADsContainer interface, 190, 191
IADsMember interface, 366
GetNextRow method, 410
GetObjectAttributes method, 222, 227–31
GetObject function, 71, 81, 83, 87–88, 112
GetObjectInformation method, 222, 226–27
GetObject method, 190
GetObjectProperty method, 210, 210
GetPropertyItem method, 205, 206
GetTypeInfoCount method, 66
GetTypeInfo method, 66
GetVersion property, 400
givenName attribute, 407
global catalog (GC)
accessing, 99, 101
ADSI support, 57
ADsPath format, 83
domain controllers as servers, 99, 100
overview, 28, 98–99
in phone book search sample, 126
global groups, 361
globally unique identifiers (GUIDs), 64, 101, 106–7. See also object identifiers (OIDs)
governsID attribute, 282
GPOs (Group Policy Objects), 41
GraceLoginsAllowed property, 349
GraceLoginsRemaining property, 349
group class, 289, 361
groupOfNames abstract class, 288
Group Policy, 41
Group Policy Objects (GPOs), 41
groups
creating, 363–66
distribution-type, 361
domain local, 361
enumerating, 366–67
global, 361
managing, 360–71
modifying memberships, 367–71
overview, 360–61
possible scopes, 361
security-type, 361
types of, 361
universal, 361, 362, 403
Groups method, 351
groupType attribute, 363
GUIDBind.bas file, 102, 102–3
GUID binding, 101–7
GUID property, 104–6, 159, 167
GUIDs (globally unique identifiers), 64, 101, 106–7. See also object identifiers (OIDs)
H
HelpFileContext property, 295
HelpFileName property, 295
hierarchies. See forests, domain; trees, domain
highestCommittedUSN attribute, 96
high-watermark value, 31
Hints property, 190, 192
HomeDirectory property, 349
HomePage property, 349
homePhone attribute, 407
homePostalAddress attribute, 407
I
IA5String syntax, 308
IADs interface
ADsPath property, 104, 134, 159, 167
Class property, 159, 167, 195
defining properties, 200–202
GetEx method, 159, 172–73
GetInfoEx method, 159, 176–77
GetInfo method, 159, 175–76, 192, 204
Get method, 159, 162–63, 200
and GetObject function in scripting languages, 92
and GetObject function in Visual Basic, 88
GUID property, 104–6, 159, 167
list of methods, 159
list of properties, 159
Name property, 104, 158–59, 159, 167, 195
overview, 72, 73, 159
Parent property, 104, 159, 167
PutEx method, 159, 184–86
Put method, 159, 182–83, 329
Schema property, 159, 167, 200
SetInfo method, 82, 159, 183–84, 194, 205, 206, 329, 363
IADsAccessControlEntry interface, 75
IADsAccessControlList interface, 75
IADsADSystemInfo interface, 75, 177, 314
IADsClass interface
and abstract schema, 275
list of properties, 295
overview, 73, 295
SchemaBrowser sample, 296, 296–99
IADsContainer interface
and abstract schema, 275
CopyHere method, 104, 190
Count property, 190
Create method, 104, 190, 329, 353, 363
defined, 73
Delete method, 104, 190, 195
Filter property, 190, 191, 192
get__NewEnum property, 190, 191
GetObject method, 104, 190
and GUID syntax, 104
Hints property, 190, 192
MoveHere method, 104, 190
IADsDeleteOps interface, 73, 74, 195–96
IADsDNWithBinary interface, 75
IADsDNWithString interface, 75
IADsExtension interface, 75
IADsGroup interface
Add method, 362, 363, 367
Description property, 362
IsMember method, 363
list of methods, 363
list of properties, 362
Members method, 363, 366
overview, 74, 362
Remove method, 362, 363, 367
IADsLargeInteger interface, 75, 211
IADsLocality interface, 74
IADsMembers interface
Count property, 366
Filter property, 366
get_NewEnum property, 366
list of properties, 366
overview, 74, 366
IADsNameSpaces interface, 75
IADsNameTranslate interface, 75
IADsObjectOptions interface, 73, 74
IADsO interface, 74
IADsOpenDSObject interface
and ADS_AUTHENTICATION_ENUM enumeration, 345
defined, 73, 74
OpenDSObject method, 108, 109–10
IADsOU interface, 74
IADsPathname interface, 75
IADsPrintQueue interface, 74
IADsProperties program
C or C++ sample, 160–62, 165–66
Visual Basic sample, 160, 164–65, 171–72
IADsPropertyEntry interface
ADsType property, 206, 208
ControlCode property, 206
list of properties, 206
Name property, 206
overview, 74, 203, 206
Values property, 206, 207
IADsProperty interface
and abstract schema, 275
list of properties, 304
overview, 74, 303
SchemaBrowser sample, 304, 304–5, 304–6
IADsPropertyList interface
GetPropertyItem method, 205, 206
Item method, 205, 206
list of methods, 205
Next method, 205, 206
overview, 73, 74, 203, 204–5
PropertyCount property, 205
PurgePropertyItem method, 205
PutPropertyItem method, 205, 206
Reset method, 205
ResetPropertyItem method, 205
Skip method, 205
IADsPropertyValue2 interface
GetObjectProperty method, 210, 210
list of ADSTYPE data types, 211
list of properties, 210
overview, 203, 210
PutObjectProperty method, 210, 210
IADsPropertyValue interface
list of ADSTYPE data types, 211
list of properties, 207–8
overview, 74, 203, 207
IADsSecurityDescriptor interface, 75, 211, 285
IADsSyntax interface
and abstract schema, 275
overview, 74, 310
SchemaBrowser sample, 304, 304–5
IADsUser interface
ChangePassword method, 351, 357
list of methods, 351
list of properties, 348–51
overview, 73, 74, 348
PasswordLastChanged property, 350, 356
PostalAddresses property, 350, 351–52
SetPassword method, 351, 357
IADsVersion interface
Connect method, 401
list of properties, 400
overview, 400
IADsWinNTSystemInfo interface, 75
iconPath attribute, 257
IDAPDisplayName attribute, 282, 302, 330
IDirectoryObject.cpp file, 222, 223–25
IDirectoryObject interface
CreateDSObject method, 222
DeleteDSObject method, 222
GetObjectAttributes method, 222, 227–31
GetObjectInformation method, 222, 226–27
list of methods, 222
overview, 73, 74, 221
SetObjectAttributes method, 222, 231–32
using from C and C++, 221–32
IDirectorySearch interface
C/C++ example, 142–46
Execute method, 410
ExecuteSearch method, 410
GetFirstRow method, 410
GetNextRow method, 410
overview, 73, 74, 115, 116, 142
vs. VLV searches, 410
IDispatch interface, 66, 88, 90
IDsBrowseDomainTree interface, 244
IDsDisplaySpecifier interface, 259, 259–60
IDsObjectPicker interface
Initialize method, 246
InvokeDialog method, 247
overview, 246–47
IEnumVARIANT interface, 205
IIDs (Interface Identifiers), 64
IIS (Internet Information Services), 58, 385, 395
IMailboxStore interface, 360
IMailRecipient interface, 360
indexed attributes, 104, 353
Indexed Sequential Access Method (ISAM), 38
inetOrgPerson class
list of attributes, 407–8
overview, 406
and user class, 409
Infrastructure container, 106
infrastructure master, 29
inheritance
class, 283–85
in COM, 65
map of user class, 289, 290
single vs. multiple, 284, 289
Initialize method, 246
initials attribute, 407
InputBox function, 123, 177, 178
INTEGER8 syntax, 308
Integer property, 207
Integer syntax, 308
integrated Windows authentication, 391–93
IntelliMirror, 40–41
Interface Identifiers (IIDs), 64
interfaces. See ADSI interfaces; COM interfaces
internationalization, 258–59
International Standards Organization (ISO), 10
International Telecommunications Union (ITU), 10
International Telephone and Telegraph Consultative Committee (CCITT), 10
Internet Assigned Number Authority (IANA), 324
Internet Information Services (IIS), 58, 385, 395
InvokeDialog method, 247
Invoke method, 66
ipsecBase abstract class, 288
IsAccountLocked property, 349
ISAM. See Indexed Sequential Access Method (ISAM)
IsClassContainer method, 260
isDefunct attribute
as attributeSchema class attribute, 301
as classSchema class attribute, 282
isEphemeral attribute, 301
isGlobalCatalogReady attribute, 96
IsMember method, 363
isMemberOfPartialAttributeSet attribute, 301, 302
isSingleValued attribute, 302, 330
isSynchronized attribute, 96
Item method, 205, 206
IUnknown interface, 65
Next
Last Updated: Friday, July 6, 2001 |