类与属性显示名称
对象类的显示说明符包含以下属性,而这些属性可用于为该类的对象指定 UI 中使用的本地化显示名称:
- classDisplayName 属性是一个单值 Unicode 字符串,它可指定类显示名称。
- attributeDisplayNames 属性是一个多值属性,它可指定要在 UI 中使用的对象类属性的名称。
attributeDisplayNames 值为 Unicode 字符串;每个元素均由逗号分隔的名称对组成:
<attribute name>,<display text>
在此示例中,“<属性名称>”为该属性的 lDAPDisplayName,“<显示文本>”则是要显示为用户界面中该属性的名称的文本。
类与属性显示名称的指南
由于很多供应商可能会使用新属性来扩展类或创建全新的类,因此类与属性显示名称十分明确且不会导致冲突便非常重要。
每个供应商均应使用基于供应商名称的唯一友好标识符来为类显示名称添加前缀。 例如,如果虚构公司 Fabrikam Inc. 会创建派生自“contact”类的新类,则它们可具有唯一的类显示名称“Fabrikam Contact”。
如果供应商使用新属性来扩展现有类,则它们仍应唯一标识该属性显示名称,以便不与其他属性显示名称出现冲突。 同样,最好根据供应商名称为属性显示名称加上唯一的友好标识符。 例如,如果 Fabrikam 公司使用新的 HR 属性来扩展用户类,他们便可将该属性唯一显示为“Fabrikam HR Information”。
此外,从本地化的角度来看,每个供应商均应将类与属性显示名称本地化为 Windows 2000 支持的每种语言。
向 attributeDisplayNames 属性添加值
若要向 attributeDisplayNames 属性添加名称映射值
- 确定该属性的名称映射值是否存在。 如果要替换名称映射值,请先使用 IADs::PutEx 方法删除现有值,并将 lnControlCode 参数设为 ADS_PROPERTY_DELETE,同时将 vProp 参数设为要删除的值。 请勿对 lnControlCode 使用 ADS_PROPERTY_CLEAR 或 ADS_PROPERTY_UPDATE。
- 创建用于表示属性显示名称的字符串。 有关示例,请参阅以上格式。
- 使用 IADs::PutEx 方法并将 lnControlCode 参数设为 ADS_PROPERTY_APPEND,从而添加新值。
- 调用 IADs::SetInfo 以将更改提交到目录。
有关命名新的类和属性的详细信息,请参阅命名属性和类。