ldap_modify_ext function (winldap.h)

The ldap_modify_ext function changes an existing entry.


  [in]  LDAP          *ld,
  [in]  const PSTR    dn,
  [in]  LDAPModA * [] mods,
  [in]  PLDAPControlA *ServerControls,
  [in]  PLDAPControlA *ClientControls,
  [out] ULONG         *MessageNumber


[in] ld

The session handle.

[in] dn

A pointer to a null-terminated string that contains the name of the entry to modify.

[in] mods

A null-terminated array of modifications to make to the entry.

[in] ServerControls

A list of LDAP server controls.

[in] ClientControls

A list of client controls

[out] MessageNumber

This result parameter is set to the message ID of the request if the call succeeds.

Return value

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.


The ldap_modify_ext function initiates an asynchronous operation to modify an existing entry. If values are being added or replaced in the entry, the function creates the attribute, if necessary. If values are being deleted, and no values remain, the function removes the attribute. All modifications are performed in the order in which they are listed.

The parameters and effects of ldap_modify_ext subsume those of ldap_modify. The extended routine includes additional parameters to support client and server controls, and thread safety.

If successful, ldap_modify_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 operation. If you prefer to have the function return the result directly, use the synchronous extended function ldap_modify_ext_s.

Multithreading: Calls to ldap_modify_ext are thread-safe.


Minimum supported client Windows Vista
Minimum supported server Windows Server 2008
Target Platform Windows
Header winldap.h
Library Wldap32.lib
DLL Wldap32.dll

See also

Extended Controls




Modifying a Directory Entry

Return Values

Using Controls