Export (0) Print
Expand All
Expand Minimize
This topic has not yet been rated - Rate this topic

ldap_extended_operation_s function

The ldap_extended_operation_s function is used to pass extended LDAP operations to the server.

Syntax


ULONG ldap_extended_operation_s(
  _In_   LDAP *ld,
  _In_   PCHAR Oid,
  _In_   struct berval *Data,
  _In_   PLDAPControl *ServerControls,
  _In_   PLDAPControl *ClientControls,
  _Out_  PCHAR *ReturnedOid,
  _Out_  struct berval **ReturnedData
);

Parameters

ld [in]

The session handle.

Oid [in]

A pointer to a null-terminated string that contains the dotted object identifier (OID) text string that names the request.

Data [in]

The arbitrary data required by the operation. If NULL, no data is sent to the server.

ServerControls [in]

Optional. A list of LDAP server controls. Set this parameter to NULL if not used.

ClientControls [in]

Optional. A list of client controls. Set this parameter to NULL if not used.

ReturnedOid [out]

Optional. A pointer to a null-terminated string that contains the dotted OID text string of the server response message. This is normally the same OID as that which names the request passed to the server in the Oid parameter. Set to NULL if not used.

ReturnedData [out]

Optional. The arbitrary data returned by the extended operation. If NULL, no data is returned by the server. Set this parameter to NULL if not used.

Return value

If the function succeeds, LDAP_SUCCESS is returned.

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

Remarks

The ldap_extended_operation_s 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 a synchronous function, ldap_extended_operation_s returns any response data in the ReturnedOid and ReturnedData fields. When no longer required, free the ReturnedOid string and the ReturnedData buffer by calling ldap_memfree. Because ReturnedData is not a PCHAR data type, it must be explicitly cast when used as an argument of ldap_memfree, such as:


struct berval *pBV;
ldap_extended_operation_s(......., &pBV);
... 
ldap_memfree( (PCHAR) pBV);

Multithreading: The ldap_extended_operation_s function is thread-safe.

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

Winldap.h

Library

Wldap32.lib

DLL

Wldap32.dll

Unicode and ANSI names

ldap_extended_operation_sW (Unicode) and ldap_extended_operation_sA (ANSI)

See also

Functions
ldap_memfree
ldap_extended_operation
Return Values

 

 

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.