Platform SDK: Active Directory, ADSI, and Directory Services

ldap_parse_result

The ldap_parse_result function parses responses from the server and returns the appropriate fields.

ULONG ldap_parse_result (
  LDAP* Connection,
  LDAPMessage* ResultMessage,
  ULONG* ReturnCode OPTIONAL, 
  PWCHAR* MatchedDNs OPTIONAL, 
  PWCHAR* ErrorMessage OPTIONAL, 
  PWCHAR** Referrals OPTIONAL, 
  PLDAPControl** ServerControls OPTIONAL,
  BOOLEAN Freeit
);

Parameters

Connection
[in] The session handle.
ResultMessage
[in] The result of an LDAP operation as returned by ldap_result or one of the synchronous API operation calls.
ReturnCode
[in] Indicates the outcome of the server operation that generated the original result message. Pass NULL to ignore this field.
MatchedDNs
[in] In the case of a return of LDAP_NO_SUCH_OBJECT, this result parameter is filled in with a distinguished name indicating how much of the name in the request was recognized. Pass NULL to ignore this field.
ErrorMessage
[in] The contents of the error message field from the ResultMessage parameter. Pass NULL to ignore this field.
Referrals
[in] The contents of the referrals field from the ResultMessage parameter, indicating zero or more alternate LDAP servers where the request should be retried. Pass NULL to ignore this field.
ServerControls
[out] This result parameter is filled in with an allocated array of controls copied from the ResultMessage parameter.
Freeit
[in] Determines whether the ResultMessage parameter is freed. You can pass any nonzero value to the Freeit parameter to free the ResultMessage pointer when it is no longer needed, or you can call ldap_msgfree to free the result later.

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_parse_result function traverses a chain of server responses looking for result messages to parse. Use this function if you want to access the referrals, matching distinguished names, or server controls returned. The function skips over messages of type LDAP_RES_SEARCH_ENTRY and LDAP_RES_SEARCH_REFERENCE.

When they are no longer needed, free the ErrorMessage and MatchDNs strings by calling ldap_memfree. Free the Referrals array by calling ldap_value_free. Free the ServerControls by calling ldap_controls_free.

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, ldap_controls_free, ldap_memfree, ldap_msgfree, ldap_value_free, ldap_result, Return Values