Directory Services


The ldap_extended_operation function enables you to pass extended LDAP operations to the server.

ULONG ldap_extended_operation(
  LDAP* ld,
  PCHAR Oid,
  struct berval* Data,
  PLDAPControl* ServerControls,
  PLDAPControl* ClientControls,
  ULONG* MessageNumber


[in] The session handle.
[in] A pointer to a null-terminated string that contains the dotted object identifier text string that names the request.
[in] The arbitrary data required by the operation. If NULL, no data is sent to the server.
[in] Optional. A list of LDAP server controls. Set this parameter to NULL, if not used.
[in] Optional. A list of client controls. Set this parameter to NULL, if not used.
[out] The message ID for the request.

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.


The ldap_extended_operation function enables a client to send an extended request (free for all) to an LDAP 3 (or later) server. The functionality is open and the client request can be for any operation.

As an asynchronous function, ldap_extended_operation returns a message ID for the operation. Call ldap_result with the message ID to get the result of the operation. To cancel an asynchronous operation, call ldap_abandon.

Because of the open nature of the request, the client must call ldap_close_extended_op to terminate the request.

Multithreading: The ldap_extended_operation function is thread-safe.


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

Functions, ldap_abandon, ldap_close_extended_op, ldap_result, Return Values