Directory Services

ldap_compare_ext

Use the ldap_compare_ext function to determine if an attribute, for a given entry, holds a known value.

ULONG ldap_compare_ext(
  LDAP* ld,
  PCHAR dn,
  PCHAR Attr,
  PCHAR Value,
  struct berval* Data,
  PLDAPControl* ServerControls,
  PLDAPControl* ClientControls,
  ULONG* MessageNumber
);

Parameters

ld
[in] The session handle.
dn
[in] A pointer to a null-terminated string that contains the distinguished name of the entry to compare.
Attr
[in] A pointer to a null-terminated string that contains the attribute to compare.
Value
[in] A pointer to a null-terminated string that contains the string attribute value to be compared to the attribute value.
Data
[in] The berval attribute value to be compared to the attribute value.
ServerControls
[in] Optional. A list of LDAP server controls. This parameter should be set to NULL if not used.
ClientControls
[in] Optional. A list of client controls. This parameter should be set to NULL if not used.
MessageNumber
[out] The message ID for the compare operation.

Return Values

If the function succeeds, LDAP_SUCCESS is returned.

If the function fails, an error code is returned. For more information, see Return Values for more information.

Remarks

The ldap_compare_ext function initiates an asynchronous compare operation, comparing the value of an attribute to a known value. The parameters and effects of ldap_compare_ext subsume those of ldap_compare. The extended routine includes additional parameters to support client and server controls, comparison of binary values, and thread safety.

Use the Value parameter for comparing string values or use the Data parameter for comparing raw binary data. Set the unused parameter to NULL. If neither parameter is NULL, the compare operation will use the value in the Data parameter.

If successful, ldap_compare_ext passes back the message ID for the operation in the MessageNumber parameter. Call ldap_result with the message ID to obtain the result of the compare. To have the function return the compare result directly, use the synchronous extended compare function ldap_compare_ext_s.

Multithreading: Calls to ldap_compare_ext are thread-safe.

Requirements

Client: Included in Windows XP and Windows 2000 Professional.
Server: Included in Windows Server 2003 and Windows 2000 Server.
Redistributable: Requires Active Directory Client Extension on Windows NT 4.0 SP6a and Windows 95/98/Me.
Unicode: Implemented as Unicode and ANSI versions on all platforms.
Header: Declared in Winldap.h.
Library: Use Wldap32.lib.

See Also

Extended Controls, Using Controls, Functions, berval, ldap_compare, ldap_compare_ext_s, ldap_result, Return Values