通用 ADSI 错误代码
任意 ADSI 系统提供程序均可能返回这些类型的错误代码,以表示特定于 ADSI 的错误消息。 它们具有设施代码 5,且严重性位被设为 true 或 false。 当严重性位被设为 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 | 指定的搜索筛选器无效。 | 使用目录服务器接受的正确筛选器格式。 |