Training
Certifications
Books
Special Offers
Community




 
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.
 

More Information

About the Book
Table of Contents
Sample Chapter
Index
Related Series
Related Books
About the Author

Support: Book & CD

Rate this book
Barnes Noble Amazon Quantum Books

 

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




Top of Page


Last Updated: Friday, July 6, 2001