Platform SDK: Active Directory, ADSI, and Directory Services

ldap_compare_ext

Use the ldap_compare_ext function to determine whether 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] The distinguished name of the entry to compare.
Attr
[in] The attribute to compare.
Value
[in] 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] A list of LDAP server controls.
ClientControls
[in] A list of client controls.
MessageNumber
[out] The message ID for the compare operation.

Return Values

If the function succeeds, the return value is LDAP_SUCCESS.

If the function fails, it returns an error code. 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. If you prefer 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

  Windows NT/2000: Requires Windows NT 4.0 SP4 or later.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in Winldap.h.
  Library: Use Wldap32.lib.
  Unicode: Declared as Unicode and ANSI prototypes.

See Also

Functions, berval, ldap_compare, ldap_compare_ext_s, ldap_result, Return Values