Active Directory Service Interfaces

Overview of the Active Directory Service Interfaces technology.

To develop Active Directory Service Interfaces, you need these headers:

For programming guidance for this technology, see:

Enumerations

 
ADS_ACEFLAG_ENUM

The ADS_ACEFLAG_ENUM enumeration is used to specify the behavior of an Access Control Entry (ACE) for an Active Directory object.
ADS_ACETYPE_ENUM

Used to specify the type of an access-control entry for Active Directory objects.
ADS_AUTHENTICATION_ENUM

Specifies authentication options used in ADSI for binding to directory service objects.
ADS_CHASE_REFERRALS_ENUM

The ADS_CHASE_REFERRALS_ENUM enumeration specifies if, and how, referral chasing occurs.
ADS_DEREFENUM

The ADS_DEREFENUM enumeration specifies the process through which aliases are dereferenced.
ADS_DISPLAY_ENUM

The ADS_DISPLAY_ENUM enumeration specifies how a path is to be displayed.
ADS_ESCAPE_MODE_ENUM

Specifies how escape characters are displayed in a directory path.
ADS_FLAGTYPE_ENUM

The ADS_FLAGTYPE_ENUM enumeration specifies values that can be used to indicate the presence of the ObjectType or InheritedObjectType fields in the access-control entry (ACE).
ADS_FORMAT_ENUM

Specifies the available path value types used by the IADsPathname::Retrieve method.
ADS_GROUP_TYPE_ENUM

Specifies the type of group objects in ADSI.
ADS_NAME_INITTYPE_ENUM

The ADS_NAME_INITTYPE_ENUM enumeration specifies the types of initialization to perform on a NameTranslate object. It is used in the IADsNameTranslate interface.
ADS_NAME_TYPE_ENUM

Specifies the formats used for representing distinguished names.
ADS_OPTION_ENUM

Contains values that indicate the options that can be retrieved or set with the IADsObjectOptions.GetOption and IADsObjectOptions.SetOption methods.
ADS_PASSWORD_ENCODING_ENUM

Identifies the type of password encoding used with the ADS_OPTION_PASSWORD_METHOD option in the IADsObjectOptions::GetOption and IADsObjectOptions::SetOption methods.
ADS_PATHTYPE_ENUM

The ADS_PATHTYPE_ENUM enumeration specifies the type of object on which the IADsSecurityUtility interface is going to add or modify a security descriptor.
ADS_PREFERENCES_ENUM

The ADS_PREFERENCES_ENUM enumeration specifies the query preferences of the OLE DB provider for ADSI.
ADS_PROPERTY_OPERATION_ENUM

Specifies ways to update a named property in the cache.
ADS_RIGHTS_ENUM

Specifies access rights assigned to an Active Directory object.
ADS_SCOPEENUM

Specifies the scope of a directory search.
ADS_SD_CONTROL_ENUM

The ADS_SD_CONTROL_ENUM enumeration specifies control flags for a security descriptor.
ADS_SD_FORMAT_ENUM

The ADS_SD_FORMAT_ENUM enumeration specifies the format that the security descriptor of an object will be converted to by the IADsSecurityUtility interface.
ADS_SD_REVISION_ENUM

Specifies the revision number of the access-control entry (ACE), or the access-control list (ACL), for Active Directory.
ADS_SEARCHPREF_ENUM

Specifies preferences for an IDirectorySearch object.
ADS_SECURITY_INFO_ENUM

Specifies the available options for examining security data of an object.
ADS_SETTYPE_ENUM

The ADS_SETTYPE_ENUM enumeration specifies the available pathname format used by the IADsPathname::Set method.
ADS_STATUSENUM

Specifies the status of a search preference set with the IDirectorySearch::SetSearchPreference method.
ADS_SYSTEMFLAG_ENUM

The ADS_SYSTEMFLAG_ENUM enumeration defines some of the values that can be assigned to the systemFlags attribute. Some of the values in the enumeration are specific to attributeSchema objects; other values can be set on objects of any class.
ADS_USER_FLAG_ENUM

Defines the flags used for setting user properties in the directory.
ADSI_DIALECT_ENUM

The ADSI_DIALECT_ENUM enumeration specifies query dialects used in the OLE DB provider for ADSI.
ADSTYPEENUM

Used to identify the data type of an ADSI property value.

Functions

 
AbandonSearch

The IDirectorySearch::AbandonSearch method abandons a search initiated by an earlier call to the ExecuteSearch method.
Add

Adds a named item to the collection.
Add

Adds an ADSI object to an existing group.
AddAce

The IADsAccessControlList::AddAce method adds an IADsAccessControlEntry object to the IADsAccessControlList object.
AddLeafElement

Adds an element to the end of the directory path already set on the Pathname object.
ADsBuildEnumerator

The ADsBuildEnumerator function creates an enumerator object for the specified ADSI container object.
ADsBuildVarArrayInt

The ADsBuildVarArrayInt function builds a variant array of integers from an array of DWORD values.
ADsBuildVarArrayStr

The ADsBuildVarArrayStr function builds a variant array from an array of Unicode strings.
ADsEncodeBinaryData

The ADsEncodeBinaryData function converts a binary large object (BLOB) to the Unicode format suitable to be embedded in a search filter.
ADsEnumerateNext

The ADsEnumerateNext function enumerates through a specified number of elements from the current cursor position of the enumerator.
ADsFreeEnumerator

Frees an enumerator object created with the ADsBuildEnumerator function.
ADsGetLastError

The ADsGetLastError function retrieves the calling thread's last-error code value.
ADsGetObject

Binds to an object given its path and a specified interface identifier.
ADsOpenObject

Binds to an ADSI object using explicit user name and password credentials.
ADsSetLastError

The ADsSetLastError sets the last-error code value for the calling thread.
AllocADsMem

Allocates a block of memory of the specified size.
AllocADsStr

Allocates memory for and copies a specified string.
BinarySDToSecurityDescriptor

Converts a binary security descriptor to an IADsSecurityDescriptor object.
ChangePassword

Changes the user password from the specified old value to a new value.
Clear

Clears the current values of the property value object.
CloseSearchHandle

The IDirectorySearch::CloseSearchHandle method closes the handle to a search result and frees the associated memory.
Continue

The IADsServiceOperations::Continue method resumes a service operation paused by the IADsServiceOperations::Pause method.
ConvertSecurityDescriptor

Converts a security descriptor from one format to another.
CopyAccessList

The IADsAccessControlList::CopyAccessList method copies every access control entry (ACE) in the access-control list (ACL) to the caller's process space.
CopyAcl

The IADsAcl::CopyAcl method makes a copy of the existing ACL.
CopyHere

The IADsContainer::CopyHere method creates a copy of the specified directory object in this container.
CopyPath

Creates a copy of the Pathname object.
CopySecurityDescriptor

The IADsSecurityDescriptor::CopySecurityDescriptor method copies an ADSI security descriptor object that holds security data about an object.
Create

Sets up a request to create a directory object of the specified schema class and a given name in the container.
CreateDSObject

Creates a child of the current directory service object.
Delete

Deletes a specified directory object from this container.
DeleteDSObject

Deletes a leaf object in a directory tree.
DeleteObject

The IADsDeleteOps::DeleteObject method deletes an ADSI object.
ExecuteSearch

The IDirectorySearch::ExecuteSearch method executes a search and passes the results to the caller.
FreeADsMem

Frees the memory allocated by AllocADsMem or ReallocADsMem.
FreeADsStr

Frees the memory of a string allocated by AllocADsStr or ReallocADsStr.
FreeColumn

The IDirectorySearch::FreeColumn method releases memory that the IDirectorySearch::GetColumn method allocated for data for the column.
Get

Retrieves a property of a given name from the property cache.
Get

Retrieves the name of a directory object in the specified format.
get__NewEnum

The IADsAccessControlList::get__NewEnum method is used to obtain an enumerator object for the ACL to enumerate ACEs.
get__NewEnum

The IADsCollection::get__NewEnum method gets a dependent enumerator object that implements IEnumVARIANT for this ADSI collection object. Be aware that there are two underscore characters in the function name (get__NewEnum).
get__NewEnum

Retrieves an enumerator object for the container.
get__NewEnum

The IADsMembers::get__NewEnum method gets a dependent enumerator object that implements IEnumVARIANT for this ADSI collection object. Be aware that there are two underscore characters in the function name (get__NewEnum).
get_SecurityMask

Determines which elements of the security descriptor to retrieve or set. (Get)
GetAnyDCName

Retrieves the DNS name of a domain controller in the local computer's domain.
GetColumn

The IDirectorySearch::GetColumn method gets data from a named column of the search result.
GetDCSiteName

Retrieves the name of the Active Directory site that contains the local computer.
GetElement

Retrieves an element of a directory path.
GetEscapedElement

Used to escape special characters in the input path.
GetEx

Retrieves, from the property cache, property values of a given attribute.
GetEx

Gets the object names in the specified format.
GetFirstRow

The GetFirstRow method gets the first row of a search result. This method will issue or reissue a new search, even if this method has been called before.
GetInfo

Loads into the property cache values of the supported properties of this ADSI object from the underlying directory store.
GetInfoEx

The IADs::GetInfoEx method loads the values of specified properties of the ADSI object from the underlying directory store into the property cache.
GetNextColumnName

The IDirectorySearch::GetNextColumnName method gets the name of the next column in the search result that contains data.
GetNextRow

Gets the next row of the search result.
GetNumElements

Retrieves the number of elements in the path.
GetObject

Retrieves an item of the collection.
GetObject

Retrieves an interface for a directory object in the container.
GetObjectAttributes

Retrieves one or more specified attributes of the directory service object.
GetObjectInformation

The IDirectoryObject::GetObjectInformation method retrieves a pointer to an ADS_OBJECT_INFO structure that contains data regarding the identity and location of a directory service object.
GetObjectProperty

Retrieves an attribute value.
GetOption

Gets a provider-specific option for a directory object.
GetPreviousRow

The IDirectorySearch::GetPreviousRow method gets the previous row of the search result. If the provider does not provide cursor support, it should return E_NOTIMPL.
GetPropertyItem

Retrieves the item that matches the name from the list.
GetSecurityDescriptor

Retrieves a security descriptor for the specified file, fileshare, or registry key.
GetTrees

Retrieves the DNS names of all the directory trees in the local computer's forest.
Groups

Obtains a collection of the ADSI group objects to which this user belongs.
Init

Initializes a name translate object by binding to a specified directory server, domain, or global catalog, using the credentials of the current user.
InitEx

Initializes a name translate object by binding to a specified directory server, domain, or global catalog, using the specified user credential.
IsMember

Determines if a directory service object is an immediate member of the group.
Item

The IADsPropertyList::Item method retrieves the specified property item from the list.
Members

Retrieves a collection of the immediate members of the group.
MoveHere

Moves a specified object to the container that implements this interface.
Next

The IADsPropertyList::Next method gets the next item in the property list. The returned item is a Property Entry object.
OpenDSObject

Binds to an ADSI object, using the given credentials, and retrieves an IDispatch pointer to the specified object.
Operate

Interprets the control code and input parameters according to the specifications of the provider.
Pause

The IADsPrintJobOperations::Pause method halts the processing of the current print job. Call the IADsPrintJobOperations::Resume method to continue the processing.
Pause

The IADsPrintQueueOperations::Pause method suspends the processing of print jobs within a print queue service.
Pause

The IADsServiceOperations::Pause method pauses a service started with the IADsServiceOperations::Start method.
PrintJobs

The IADsPrintQueueOperations::PrintJobs method gets an IADsCollection interface pointer on the collection of the print jobs processed in this print queue.
PrivateGetIDsOfNames

The IADsExtension::PrivateGetIDsOfNames method is called by the aggregator, ADSI, after ADSI determines that the extension is used to support a dual or dispatch interface. The method can use the type data to get DISPID using IDispatch::GetIDsOfNames.
PrivateInvoke

The IADsExtension::PrivateInvoke method is normally called by ADSI after the IADsExtension::PrivateGetIDsOfNames method. This method can either have a custom implementation or it can delegate the operation to IDispatch::DispInvoke method.
Purge

The IADsPrintQueueOperations::Purge method clears the print queue of all print jobs without processing them.
PurgePropertyList

Deletes all items from the property list.
Put

Sets the values of an attribute in the ADSI attribute cache.
put_SecurityMask

Determines which elements of the security descriptor to retrieve or set. (Put)
PutEx

Modifies the values of an attribute in the ADSI attribute cache.
PutObjectProperty

Sets an attribute value.
PutPropertyItem

Updates the values for an item in the property list.
Qualifiers

Returns a collection of ADSI objects that describe additional qualifiers for this schema class.
Qualifiers

Returns a collection of ADSI objects that describe additional qualifiers of this property.
ReallocADsMem

Reallocates and copies an existing memory block.
ReallocADsStr

Creates a copy of a Unicode string.
RefreshSchemaCache

The IADsADSystemInfo::RefreshSchemaCache method refreshes the Active Directory schema cache.
Remove

The IADsCollection::Remove method removes the named item from this ADSI collection object.
Remove

The IADsGroup::Remove method removes the specified user object from this group. The operation does not remove the group object itself even when there is no member remaining in the group.
RemoveAce

Removes an access-control entry (ACE) from the access-control list (ACL).
RemoveLeafElement

Removes the last element from the directory path that has been set on the Pathname object.
Reset

Resets the list to the first item.
ResetPropertyItem

Removes the specified item from the list; that is, from the cache.
Resources

The IADsFileServiceOperations::Resources method gets a pointer to a pointer to the IADsCollection interface on a collection of the resource objects representing the current open resources on this file service.
Resume

The IADsPrintJobOperations::Resume method continues the print job halted by the IADsPrintJobOperations::Pause method.
Resume

The IADsPrintQueueOperations::Resume method resumes processing of suspended print jobs in the print queue.
Retrieve

The IADsPathname::Retrieve method retrieves the path of the object with different format types.
SecurityDescriptorToBinarySD

Converts an IADsSecurityDescriptor object to the binary security descriptor format.
Sessions

The IADsFileServiceOperations::Sessions method gets a pointer to a pointer to the IADsCollection interface on a collection of the session objects that represent the current open sessions for this file service.
Set

Directs the directory service to set up a specified object for name translation.
Set

Sets up the Pathname object for parsing a directory path.
SetDisplayType

Specifies how to display the path of an object.
SetEx

Establishes an array of objects for name translation.
SetInfo

The IADs::SetInfo method saves the cached property values of the ADSI object to the underlying directory store.
SetObjectAttributes

The IDirectoryObject::SetObjectAttributes method modifies data in one or more specified object attributes defined in the ADS_ATTR_INFO structure.
SetOption

Sets a provider-specific option for manipulating a directory object.
SetPassword

The IADsServiceOperations::SetPassword method sets the password for the account used by the service manager. This method is called when the security context for this service is created.
SetPassword

Sets the user password to a specified value.
SetSearchPreference

Specifies a search preference for obtaining data in a subsequent search.
SetSecurityDescriptor

Sets the security descriptor for the specified file, file share, or registry key.
Shutdown

The IADsComputerOperations::Shutdown method causes a computer under ADSI control to execute the shutdown operation with an optional reboot.
Skip

Skips a specified number of items, counting from the current cursor position, in the property list.
Start

The IADsServiceOperations::Start method starts a network service.
Status

The IADsComputerOperations::Status method retrieves the status of a computer.
Stop

The IADsServiceOperations::Stop method stops a currently active network service.

Interfaces

 
IADs

The IADs interface defines the basic object features, that is, properties and methods, of any ADSI object.
IADsAccessControlEntry

The IADsAccessControlEntry interface is a dual interface that enables directory clients to access and manipulate individual access-control entries (ACEs) of the owning object.
IADsAccessControlList

The IADsAccessControlList interface is a dual interface that manages individual access-control entries (ACEs).
IADsAcl

The IADsAcl interface provides methods for an ADSI client to access and manipulate the ACL or Inherited ACL attribute values. This interface manipulates the attributes.
IADsADSystemInfo

The IADsADSystemInfo interface retrieves data about the local computer if it is running a Windows operating system in a Windows domain. For example, you can get the domain, site, and distinguished name of the local computer.
IADsBackLink

The IADsBackLink interface provides methods for an ADSI client to access the Back Link attribute. You can call the property methods of this interface to obtain and modify the attribute.
IADsCaseIgnoreList

The IADsCaseIgnoreList interface provides methods for an ADSI client to access the Case Ignore List attribute. You can call the property methods of this interface to obtain and modify the attribute.
IADsClass

The IADsClass interface is designed for managing schema class objects that provide class definitions for any ADSI object. Other schema management interfaces include IADsProperty for attribute definitions and IADsSyntax for attribute syntax.
IADsCollection

The IADsCollection interface is a dual interface that enables its hosting ADSI object to define and manage an arbitrary set of named data elements for a directory service.
IADsComputer

The IADsComputer interface is a dual interface that inherits from IADs.
IADsComputerOperations

The IADsComputerOperations interface is a dual interface that inherits from IADs.
IADsContainer

The IADsContainer interface enables an ADSI container object to create, delete, and manage contained ADSI objects. Container objects represent hierarchical directory trees, such as in a file system, and to organize the directory hierarchy.
IADsDeleteOps

The IADsDeleteOps interface specifies a method an object can use to delete itself from the underlying directory. For a container object, the method deletes its children and the entire subtree.
IADsDNWithBinary

The IADsDNWithBinary interface provides methods for an ADSI client to associate a distinguished name (DN) with the GUID of an object.
IADsDNWithString

The IADsDNWithString interface provides methods for an ADSI client to associate a distinguished name (DN) to a string value.
IADsDomain

The IADsDomain interface is a dual interface that inherits from IADs.
IADsEmail

The IADsEmail interface provides methods for an ADSI client to access the Email Address attribute.
IADsExtension

The IADsExtension interface forms the basis of the ADSI application extension model.
IADsFaxNumber

The IADsFaxNumber interface provides methods for an ADSI client to access the Facsimile Telephone Number attribute.
IADsFileService

The IADsFileService interface is a dual interface that inherits from IADsService.
IADsFileServiceOperations

The IADsFileServiceOperations interface is a dual interface that inherits from IADsServiceOperations.
IADsFileShare

The IADsFileShare interface is a dual interface that inherits from IADs. It is designed for representing a published file share across the network. Call the methods on IADsFileShare to access or publish data about a file share point.
IADsGroup

Manages group membership data in a directory service.
IADsHold

The IADsHold interface provides methods for an ADSI client to access the Hold attribute.
IADsLargeInteger

Used to manipulate 64-bit integers of the LargeInteger type.
IADsLocality

The IADsLocality interface is a dual interface that inherits from IADs.
IADsMembers

The IADsMembers interface is a dual interface.
IADsNamespaces

The IADsNamespaces interface is implemented by the ADs provider and is used for managing namespace objects.
IADsNameTranslate

The IADsNameTranslateinterface translates distinguished names (DNs) among various formats as defined in the ADS_NAME_TYPE_ENUM enumeration. The feature is available to objects in Active Directory.
IADsNetAddress

The IADsNetAddress interface provides methods for an ADSI client to access the Net Address attribute.
IADsO

The IADsO interface is a dual interface that inherits from IADs.
IADsObjectOptions

Provides a direct mechanism to specify and obtain provider-specific options for manipulating an ADSI object.
IADsOctetList

The IADsOctetList interface provides methods for an ADSI client to access the Octet List attribute.
IADsOpenDSObject

The IADsOpenDSObject interface is designed to supply a security context for binding to an object in the underlying directory store.
IADsOU

Used to manage organizationalUnit objects.
IADsPath

The IADsPath interface provides methods for an ADSI client to access the Path attribute.
IADsPathname

Parses the X.500 and Windows path in ADSI.
IADsPostalAddress

The IADsPostalAddress interface provides methods for an ADSI client to access the Postal Address attribute.
IADsPrintJob

The IADsPrintJob interface is a dual interface that inherits from IADs.
IADsPrintJobOperations

The IADsPrintJobOperations interface is a dual interface that inherits from IADs.
IADsPrintQueue

The IADsPrintQueue interface represents a printer on a network.
IADsPrintQueueOperations

Used to control a printer from across a network.
IADsProperty

The IADsProperty interface is designed to manage a single attribute definition for a schema class object.
IADsPropertyEntry

The IADsPropertyEntry interface is used to manage a property entry in the property cache.
IADsPropertyList

The IADsPropertyList interface is used to modify, read, and update a list of property entries in the property cache of an object.
IADsPropertyValue

Used to represent the value of an IADsPropertyEntry object in a predefined data type.
IADsPropertyValue2

Used to represent the value of an IADsPropertyEntry object in any data format.
IADsReplicaPointer

The IADsReplicaPointer interface provides methods for an ADSI client to access the Replica Pointer attribute.
IADsResource

The IADsResource interface is a dual interface that inherits from IADs. It is designed to manage an open resource for a file service across a network.
IADsSecurityDescriptor

Provides access to properties on an ADSI security descriptor object.
IADsSecurityUtility

The IADsSecurityUtility interface is used to get, set, or retrieve the security descriptor on a file, fileshare, or registry key.
IADsService

The IADsService interface is a dual interface that inherits from IADs.
IADsServiceOperations

The IADsServiceOperations interface is a dual interface that inherits from IADs.
IADsSession

The IADsSession interface is a dual interface that inherits from IADs. It is designed to represent an active session for file service across a network.
IADsSyntax

The IADsSyntax interface specifies methods to identify and modify the available Automation data types used to represent its data.
IADsTimestamp

The IADsTimestamp interface provides methods for an ADSI client to access the Timestamp attribute.
IADsTypedName

The IADsTypedName interface provides methods for an ADSI client to access the Typed Name attribute.
IADsUser

The IADsUser interface is a dual interface that inherits from IADs.
IADsWinNTSystemInfo

The IADsWinNTSystemInfo interface retrieves the WinNT system information about a computer. Such system information includes user account name, user domain, host name, and the primary domain controller of the host computer.
IDirectoryObject

The IDirectoryObject interface is a non-Automation COM interface that provides clients with direct access to directory service objects.
IDirectorySchemaMgmt

Not currently implemented and should not be used.
IDirectorySearch

The IDirectorySearch interface is a pure COM interface that provides a low overhead method that non-Automation clients can use to perform queries in the underlying directory.

Structures

 
ADS_ATTR_DEF

The ADS_ATTR_DEF structure is used only as a part of IDirectorySchemaMgmt, which is an obsolete interface.
ADS_ATTR_INFO

Used to contain one or more attribute values for use with the IDirectoryObject::CreateDSObject, IDirectoryObject::GetObjectAttributes, or IDirectoryObject::SetObjectAttributes method.
ADS_BACKLINK

The ADS_BACKLINK structure is an ADSI representation of the Back Link attribute syntax.
ADS_CASEIGNORE_LIST

The ADS_CASEIGNORE_LIST structure is an ADSI representation of the Case Ignore List attribute syntax.
ADS_CLASS_DEF

The ADS_CLASS_DEF structure is used only as a part of IDirectorySchemaMgmt, which is an obsolete interface. The information that follows is provided for legacy purposes only. The ADS_CLASS_DEF structure holds the definitions of an object class.
ADS_DN_WITH_BINARY

Used with the ADSVALUE structure to contain a distinguished name attribute value that also contains binary data.
ADS_DN_WITH_STRING

Used with the ADSVALUE structure to contain a distinguished name attribute value that also contains string data.
ADS_EMAIL

The ADS_EMAIL structure is an ADSI representation of the EMail Address attribute syntax.
ADS_FAXNUMBER

The ADS_FAXNUMBER structure is an ADSI representation of the Facsimile Telephone Number attribute syntax.
ADS_HOLD

The ADS_HOLD structure is an ADSI representation of the Hold attribute syntax.
ADS_NETADDRESS

The ADS_NETADDRESS structure is an ADSI representation of the Net Address attribute syntax.
ADS_NT_SECURITY_DESCRIPTOR

The ADS_NT_SECURITY_DESCRIPTOR structure defines the data type of the security descriptor for Windows.
ADS_OBJECT_INFO

The ADS_OBJECT_INFO structure specifies the data, including the identity and location, of a directory service object.
ADS_OCTET_LIST

The ADS_OCTET_LIST structure is an ADSI representation of an ordered sequence of single-byte strings.
ADS_OCTET_STRING

The ADS_OCTET_STRING structure is an ADSI representation of the Octet String attribute syntax used in Active Directory.
ADS_PATH

The ADS_PATH structure is an ADSI representation of the Path attribute syntax.
ADS_POSTALADDRESS

The ADS_POSTALADDRESS structure is an ADSI representation of the Postal Address attribute.
ADS_PROV_SPECIFIC

The ADS_PROV_SPECIFIC structure contains provider-specific data represented as a binary large object (BLOB).
ADS_REPLICAPOINTER

Represents an ADSI representation of the Replica Pointer attribute syntax.
ADS_SEARCH_COLUMN

The ADS_SEARCH_COLUMN structure specifies the contents of a search column in the query returned from the directory service database.
ADS_SEARCHPREF_INFO

The ADS_SEARCHPREF_INFO structure specifies the query preferences.
ADS_SORTKEY

The ADS_SORTKEY structure specifies how to sort a query.
ADS_TIMESTAMP

The ADS_TIMESTAMP structure is an ADSI representation of the Timestamp attribute syntax.
ADS_TYPEDNAME

Represents an ADSI representation of Typed Name attribute syntax.
ADS_VLV

Contains metadata used to conduct virtual list view (VLV) searches.
ADSVALUE

Contains a value specified as an ADSI data type.