通用 ADSI 错误代码

任意 ADSI 系统提供程序均可能返回这些类型的错误代码,以表示特定于 ADSI 的错误消息。 它们具有设施代码 5,且严重性位被设为 truefalse。 当严重性位被设为 true 时,会产生 0x80005xxx 形式的错误值以及 E_ADS_* 形式的错误消息。 当严重性位被设为 false 时,会产生 0x00005xxx 形式的错误值以及 S_ADS_* 形式的错误消息。

下表列出了 Adserr.h 中定义的通用 ADSI 错误代码。

代码 说明 纠正措施
0x00005011L S_ADS_ERRORSOCCURRED 查询期间出现一个或多个错误。 验证是否可合法设置搜索首选项;如果可以,则验证它是否已正确设置。
0x00005012L S_ADS_NOMORE_ROWS 搜索操作已到达最后一行。 转到此程序的其余部分。
0x00005013L S_ADS_NOMORE_COLUMNS 搜索操作已到达当前行的最后一列。 转到下一行。
0x80005000L E_ADS_BAD_PATHNAME 传递了无效 ADSI 路径名。 验证目录服务器上是否存在此对象,并检查路径是否存在版式错误。
0x80005001L E_ADS_INVALID_DOMAIN_OBJECT 请求了未知 ADSI 域对象。 验证域对象的路径。
0x80005002L E_ADS_INVALID_USER_OBJECT 请求了未知的 ADSI 用户对象。 验证该用户对象是否存在,并检查路径是否存在拼写错误以及用户访问权限。
0x80005003L E_ADS_INVALID_COMPUTER_OBJECT 请求了未知的 ADSI 计算机对象。 验证该计算机对象是否存在,并检查路径是否存在拼写错误以及计算机访问权限。
0x80005004L E_ADS_UNKNOWN_OBJECT 请求了未知的 ADSI 对象。 验证对象的名称和访问权限。
0x80005005L E_ADS_PROPERTY_NOT_SET 未设置指定的 ADSI 属性。
0x80005006L E_ADS_PROPERTY_NOT_SUPPORTED 不支持指定的 ADSI 属性。 验证是否设置了正确的属性。
0x80005007L E_ADS_PROPERTY_INVALID 指定的 ADSI 属性无效 验证传递给方法调用的参数。
0x80005008L E_ADS_BAD_PARAMETER 一个或多个输入参数无效。
0x80005009L E_ADS_OBJECT_UNBOUND 指定的 ADSI 对象未绑定到远程资源。 调用 SetInfo 后,对新创建的对象调用 GetInfo
0x8000500AL E_ADS_PROPERTY_NOT_MODIFIED 指定的 ADSI 对象尚未修改。
0x8000500BL E_ADS_PROPERTY_MODIFIED 指定的 ADSI 对象已被修改。
0x8000500CL E_ADS_CANT_CONVERT_DATATYPE 数据类型无法与本机 DS 数据类型相互转换。 验证是否使用了正确的数据类型,以及/或是否有足够的架构数据可用于执行数据类型转换。
0x8000500DL E_ADS_PROPERTY_NOT_FOUND 在缓存中未找到该属性。 验证 GetInfo 是否已隐式或显式调用。 如果该属性为操作属性,则必须使用 GetInfoEx 而不是 GetInfo 来显式检索它。 如果问题仍然存在,则表示尚未在服务器上设置该属性。
0x8000500EL E_ADS_OBJECT_EXISTS 该 ADSI 对象已存在。 使用其他名称创建此对象。
0x8000500FL E_ADS_SCHEMA_VIOLATION 尝试执行的操作违反了目录服务架构规则。
0x80005010L E_ADS_COLUMN_NOT_SET 未设置 ADSI 中的指定列。
0x80005014L E_ADS_INVALID_FILTER 指定的搜索筛选器无效。 使用目录服务器接受的正确筛选器格式。