All ADSI error codes are returned as COM HRESULT values. They can be grouped into the following three types:
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. |
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. |