摘要 本白皮书对 Microsoft Windows 2000 Active Directory 显示说明符做了一个介绍。显示说明符 (Display Specifier) 是指包含 Active Directory 用户界面 (UI) 信息的对象,这些对象可提供灵活的 UI 机制,满足分布式网络中不同用户组的需要。
引言 Active Directory 是一种复杂的自适应目录服务,它允许通过大量的用户定义以满足特定的商业和组织需要。例如,可通过更改对象包含的属性组,来修改现有对象类别。还可创建新属性,并可在一定范围内删除现有属性。
此外,还可创建新对象类别,创建时可让它继承现有一个或多个类别的特征,也可添加新属性。对 Active Directory 进行这些更改都比较简单。因而,用来访问这些对象的用户界面 (UI) 也应相对易于扩展和自定义。
在系统中注册,并可用标准的 COM 范例创建方法激活的类别 UUID 称为 COM 属性页。对象必须实现两个外壳界面:IShellExtInit 和 IShellPropSheetExt。
属性页 COM 对象的描述以字符串的形式保存在 Display-Specifier 属性中,格式如下:
,,[optional data]
这里:
order-number (序号)决定了页面位置。order-number 根据一种符号标记的相对关系进行排序,这样,就不必规定起始位置,且中间可以有一定的跳跃。 CLSID,即类别标识符,必须是 UUID 的字符串表示,加上尖括号。 optional data (可选数据)将通过 IShellExtInit::Initialize 数据对象传递给 COM 对象。目前,剪贴板数据格式命名为 CFSTR_DSPROPERTYPAGEINFO;但该名称在 Windows 2000 最终交付使用前会有所改变。 每个 COM 对象都可实现不止一个属性页。optional data 可以用于命名待显示页。这样,实施者就可灵活地决定创建页面时需要的 COM 对象个数。
上下文菜单项有可能是 COM 对象,可用标准 COM 范例创建方法激活;也可能是一个应用程序,可用标准 ShellExec 功能调用。与属性页类似,上下文菜单也是多值的,每个元素包含单个 COM 对象或应用程序的描述。
在系统中注册,并可用标准 COM 范例创建方法激活的类别 UUID,称为 COM 上下文菜单。对象必须实现两个外壳界面:IShellExtInit 和 IContextMenut。
上下文菜单 COM 对象的描述以字符串形式保存在 Display-Specifier (显示说明符)上下文菜单属性中,格式如下:
,,[optional data]
这里:
order-number (序号)决定了上下文菜单项在上下文菜单中的位置。order-number 根据一种符号标记的相对关系进行排序,这样,就不必规定起始位置,且中间可有一定的跳跃。 CLSID,即类别标识符,必须是 UUID 的字符串表示,加上尖括号。 COM 对象必须实现 IContextMenu 界面。 optional data (可选数据)将通过 IShellExtInit::Initialize 数据对象传递给 COM 对象。 应用程序的描述以字符串的形式保存在 Display-Specifier (显示说明符)属性中,格式如下:
,,
这里:
order-number (序号)决定了上下文菜单项在上下文菜单中的位置。order-number 根据一种符号标记的相对关系进行排序,这样,就不必规定起始位置,且中间可以有一定的跳跃。 context menu name (上下文菜单名称)是在上下文菜单中显示的菜单项文本。 program name (程序名称)是要由管理单元执行的应用程序。必须为其指定完全路径,或者应用程序位于搜索路径中。 所选对象的唯一名称和类别分别作为第一个和第二个参数传递。 图标式图像用来代表类别对象,可从显示说明符中读取。而且,每个类别可存储多个图标状态。例如,一个文件夹类别可有多个位图,分别表示打开、关闭及禁用状态。当前版本允许每个类别最多有十六种不同的图标状态。