Error Codes for ADSI 2.5

ID: Q242076


The information in this article applies to:
  • Microsoft Site Server version 3.0
  • Microsoft Internet Information Server version 4.0


SUMMARY

All ADSI error codes are returned as COM HRESULT values. They can be grouped into the following three types:

  • Generic COM error codes


  • Generic ADSI error codes


  • Win32 error codes for ADSI



  • MORE INFORMATION

    Generic COM Error Codes

    Generic COM error codes expresses the operation status as produced by all COM modules. The following table contains some examples of these error codes on any Win32 platform:

    Error Code Hex Value Description
    E_UNEXPECTED 0x8000FFFF Catastrophic failure
    E_NOTIMPL 0x80004001 Not implemented
    E_NOINTERFACE 0x80004002 Interface not supported
    E_POINTER 0x80004003 Invalid pointer
    E_ABORT 0x80004004 Operation aborted
    E_FAIL 0x80004005 Unspecified error

    Generic ADSI Error Codes

    This type of error code may be returned by any of the ADSI system providers to represent ADSI-specific error messages.

    Generic ADSI error codes are defined in adserr.h.
    Value Description Corrective Action
    0x80005000L E_ADS_BAD_PATHNAME An invalid ADSI pathname was passed. Verify that the object exists on the directory server and check for typos in the path.
    0x80005001L E_ADS_INVALID_DOMAIN_OBJECT An unknown ADSI domain object was requested. Verify the path of the domain object.
    0x80005002L E_ADS_INVALID_USER_OBJECT An unknown ADSI user object was requested. Verify the existence of the user object, check for typos in the path name and the user's access rights.
    0x80005003L E_ADS_INVALID_COMPUTER_OBJECT An unknown ADSI computer object was requested. Verify the existence of the computer object, check for typos in the path name and the computer's access rights.
    0x80005004L E_ADS_UNKNOWN_OBJECT An unknown ADSI object was requested. Verify the name of and the access rights to the object.
    0x80005005L E_ADS_PROPERTY_NOT_SET The specified ADSI property was not set.
    0x80005006L E_ADS_PROPERTY_NOT_SUPPORTED The specified ADSI property is not supported. Verify the correct property is being set.
    0x80005007L E_ADS_PROPERTY_INVALID The specified ADSI property is invalid. Verify the parameters passed to the method call.
    0x80005008L E_ADS_BAD_PARAMETER One or more input parameters are invalid.
    0x80005009L E_ADS_OBJECT_UNBOUND The specified ADSI object is not bound to a remote resource. Make sure to call GetInfo on a newly created object after SetInfo has been called.
    0x8000500AL E_ADS_PROPERTY_NOT_MODIFIED The specified ADSI object has not been modified.
    0x8000500BL E_ADS_PROPERTY_MODIFIED The specified ADSI object has been modified.
    0x8000500CL E_ADS_CANT_CONVERT_DATATYPE The data type cannot be converted to/from a native DS data type. Make sure that the correct data type is used and/or that there is sufficient schema information available to perform data type conversion.
    0x8000500DL E_ADS_PROPERTY_NOT_FOUND The property cannot be found in the cache. Make sure that GetInfo has been called (implicitly or explicitly). If the problem persists, the property has not been set on the server.
    0x8000500EL E_ADS_OBJECT_EXISTS The ADSI object exists. Use a different name to create the object.
    0x8000500FL E_ADS_SCHEMA_VIOLATION The attempted action violates the directory service schema rules.
    0x80005010L E_ADS_COLUMN_NOT_SET The specified column in the ADSI was not set.
    0x00005011L S_ADS_ERRORSOCCURRED During a query, one or more errors occurred. Verify that the search preference can be legally set and, if so, is properly set.
    0x00005012L S_ADS_NOMORE_ROWS The search operation has reached the last row. Move to the rest of the program.
    0x00005013L S_ADS_NOMORE_COLUMNS The search operation has reached the last column for the current row. Move to next row.
    0x80005014L E_ADS_INVALID_FILTER The specified search filter is invalid. Make sure to use the correct format of the filter that is acceptable to the directory server.

    Win32 error codes for ADSI

    Standard Win32 error codes are also used to return ADSI error messages. In particular, the ADSI LDAP provider maps all the LDAP error codes to Win32 error codes.

    The following table lists the LDAP error messages and their corresponding Win32 error codes for ADSI:

    ADSI Error LDAP Message Win32 Description
    0L LDAP_SUCCESS NO_ERROR Operation succeeded.
    0x80070005L LDAP_INSUFFICIENT_RIGHTS ERROR_ACCESS_DENIED The user has insufficient access right.
    0x80070008L LDAP_NO_MEMORY ERROR_NOT_ENOUGH_MEMORY The system is out of memory.
    0x8007001fL LDAP_OTHER ERROR_GEN_FAILURE Unknown error occurred.
    0x800700eaL LDAP_PARTIAL_RESULTS ERROR_MORE_DATA Partial results and referrals received.
    0x800700eaL LDAP_MORE_RESULTS_TO_RETURN ERROR_MORE_DATA More results are to be returned.
    0x800704c7L LDAP_USER_CANCELLED ERROR_CANCELLED The user has cancelled the operation.
    0x800704c9L LDAP_CONNECT_ERROR ERROR_CONNECTION_REFUSED Cannot establish the connection.
    0x8007052eL LDAP_INVALID_CREDENTIALS ERROR_LOGON_FAILURE The supplied credential is invalid.
    0x800705b4L LDAP_TIMEOUT ERROR_TIMEOUT The search was timed out.
    0x80071392L LDAP_ALREADY_EXISTS ERROR_OBJECT_ALREADY_EXISTS The object already exists.
    0x8007200aL LDAP_NO_SUCH_ATTRIBUTE ERROR_DS_NO_ATTRIBUTE_OR_VALUE Requested attribute does not exist.
    0x8007200bL LDAP_INVALID_SYNTAX ERROR_DS_INVALID_ATTRIBUTE_SYNTAX The syntax is invalid.
    0x8007200cL LDAP_UNDEFINED_TYPE ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED Type is not defined.
    0x8007200dL LDAP_ATTRIBUTE_OR_VALUE_EXISTS ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS The attribute exists or the value has been assigned.
    0x8007200eL LDAP_BUSY ERROR_DS_BUSY The server is busy.
    0x8007200fL LDAP_UNAVAILABLE ERROR_DS_UNAVAILABLE The server is not available.
    0x80072014L LDAP_OBJECT_CLASS_VIOLATION ERROR_DS_OBJ_CLASS_VIOLATION There was an object class violation.
    0x80072015L LDAP_NOT_ALLOWED_ON_NONLEAF ERROR_DS_CANT_ON_NON_LEAF Operation is not allowed on a non leaf object.
    0x80072016L LDAP_NOT_ALLOWED_ON_RDN ERROR_DS_CANT_ON_RDN Operation is not allowed on RDN.
    0x80072017L LDAP_NO_OBJECT_CLASS_MODS ERROR_DS_CANT_MOD_OBJ_CLASS Cannot modify object class.
    0x80072020L LDAP_OPERATIONS_ERROR ERROR_DS_OPERATIONS_ERROR Operations error occurred.
    0x80072021L LDAP_PROTOCOL_ERROR ERROR_DS_PROTOCOL_ERROR Protocol error occurred.
    0x80072022L LDAP_TIMELIMIT_EXCEEDED ERROR_DS_TIMELIMIT_EXCEEDED Time limit has exceeded.
    0x80072023L LDAP_SIZELIMIT_EXCEEDED ERROR_DS_SIZELIMIT_EXCEEDED Size limit has exceeded.
    0x80072024L LDAP_ADMIN_LIMIT_EXCEEDED ERROR_DS_ADMIN_LIMIT_EXCEEDED Administration limit on the server has exceeded.
    0x80072025L LDAP_COMPARE_FALSE ERROR_DS_COMPARE_FALSE Compare yielded FALSE.
    0x80072026L LDAP_COMPARE_TRUE ERROR_DS_COMPARE_TRUE Compare yielded TRUE.
    0x80072027L LDAP_AUTH_METHOD_NOT_SUPPORTED ERROR_DS_AUTH_METHOD_NOT_SUPPORTED The authentication method is not supported.
    0x80072028L LDAP_STRONG_AUTH_REQUIRED ERROR_DS_STRONG_AUTH_REQUIRED Strong authentication is required.
    0x80072029L LDAP_INAPPROPRIATE_AUTH ERROR_DS_INAPPROPRIATE_AUTH Authentication is inappropriate.
    0x8007202aL LDAP_AUTH_UNKNOWN ERROR_DS_AUTH_UNKNOWN Unknown authentication error occurred.
    0x8007202bL LDAP_REFERRAL ERROR_DS_REFERRAL Referral
    0x8007202cL LDAP_UNAVAILABLE_CRIT_EXTENSION ERROR_DS_UNAVAILABLE_CRIT_EXTENSION Critical extension is unavailable.
    0x8007202dL LDAP_CONFIDENTIALITY_REQUIRED ERROR_DS_CONFIDENTIALITY_REQUIRED Confidentiality is required.
    0x8007202eL LDAP_INAPPROPRIATE_MATCHING ERROR_DS_INAPPROPRIATE_MATCHING There was an inappropriate matching.
    0x8007202fL LDAP_CONSTRAINT_VIOLATION ERROR_DS_CONSTRAINT_VIOLATION There was a constrain violation.
    0x80072030L LDAP_NO_SUCH_OBJECT ERROR_DS_NO_SUCH_OBJECT Object does not exist.
    0x80072031L LDAP_ALIAS_PROBLEM ERROR_DS_ALIAS_PROBLEM The alias is invalid.
    0x80072032L LDAP_INVALID_DN_SYNTAX ERROR_DS_INVALID_DN_SYNTAX The distinguished name has an invalid syntax.
    0x80072033L LDAP_IS_LEAF ERROR_DS_IS_LEAF The object is a leaf.
    0x80072034L LDAP_ALIAS_DEREF_PROBLEM ERROR_DS_ALIAS_DEREF_PROBLEM Cannot dereference the alias.
    0x80072035L LDAP_UNWILLING_TO_PERFORM ERROR_DS_UNWILLING_TO_PERFORM The server is unwilling to perform.
    0x80072036L LDAP_LOOP_DETECT ERROR_DS_LOOP_DETECT Loop was detected.
    0x80072037L LDAP_NAMING_VIOLATION ERROR_DS_NAMING_VIOLATION There was a naming violation.
    0x80072038L LDAP_RESULTS_TOO_LARGE ERROR_DS_OBJECT_RESULTS_TOO_LARGE Results returned are too large.
    0x80072039L LDAP_AFFECTS_MULTIPLE_DSAS ERROR_DS_AFFECTS_MULTIPLE_DSAS Multiple directory service agents are affected.
    0x8007203aL LDAP_SERVER_DOWN ERROR_DS_SERVER_DOWN Cannot contact the LDAP server.
    0x8007203bL LDAP_LOCAL_ERROR ERROR_DS_LOCAL_ERROR Local error occurred.
    0x8007203cL LDAP_ENCODING_ERROR ERROR_DS_ENCODING_ERROR Encoding error occurred.
    0x8007203dL LDAP_DECODING_ERROR ERROR_DS_DECODING_ERROR Decoding error occurred.
    0x8007203eL LDAP_FILTER_ERROR ERROR_DS_FILTER_UNKNOWN The search filter is bad.
    0x8007203fL LDAP_PARAM_ERROR ERROR_DS_PARAM_ERROR A bad parameter was passed to a routine.
    0x80072040L LDAP_NOT_SUPPORTED ERROR_DS_NOT_SUPPORTED The feature is not supported.
    0x80072041L LDAP_NO_RESULTS_RETURNED ERROR_DS_NO_RESULTS_RETURNED Results are not returned.
    0x80072042L LDAP_CONTROL_NOT_FOUND ERROR_DS_CONTROL_NOT_FOUND The control was not found.
    0x80072043L LDAP_CLIENT_LOOP ERROR_DS_CLIENT_LOOP Client loop was detected.
    0x80072044L LDAP_REFERRAL_LIMIT_EXCEEDED ERROR_DS_REFERRAL_LIMIT_EXCEEDED The referral limit has exceeded.

    Additional query words:

    Keywords :
    Version : winnt:3.0,4.0
    Platform : winnt
    Issue type :


    Last Reviewed: September 30, 1999
    © 2000 Microsoft Corporation. All rights reserved. Terms of Use.