IComponent::GetResultViewType 方法 (mmc.h)

IComponent::GetResultViewType 方法确定结果窗格视图应是什么。

语法

HRESULT GetResultViewType(
  [in]  MMC_COOKIE cookie,
  [out] LPOLESTR   *ppViewType,
  [out] long       *pViewOptions
);

参数

[in] cookie

一个 值,该值指定范围项的 snapin 提供的唯一标识符。 有关 MMC 中的 Cookie 的更多详细信息,请参阅 Cookie

[out] ppViewType

指向字符串地址的指针,该字符串指定要为指定 Cookie 显示的视图。 被调用方 (管理单元) 使用 COM API 函数 CoTaskMemAlloc 分配视图类型字符串,调用方 (MMC) 使用 CoTaskMemFree 释放它。

返回的字符串取决于视图类型:

标准列表

对于标准列表视图,MMC 不使用此值。 如果管理单元仅使用标准列表视图,则管理单元可以将 ppViewType 设置为 NULL。 MMC 使用标准列表视图作为默认视图类型。

任务板

对于使用 MMC 任务板模板的任务板视图, ppViewType 应指向包含任务板模板的资源路径和标识任务板的组名称的字符串的地址。 请注意,MMC 在调用 IExtendTaskPad 方法时传递组名称,使管理单元能够识别显示的特定任务板 (如果管理单元具有多个任务板) ,这一点非常重要。

字符串应具有以下形式:

“res:// filepath/模板#groupname

其中 ,filepath 是 MMC 可执行文件 (MMC.exe) 的完整路径, template 是作为资源存储在 filepath 指定的文件中的模板的文件名, groupname 是标识任务板的名称。

MMC 提供以下 HTML 文件作为模板:

资源文件 说明
default.htm 标准任务板的模板
listpad.htm “垂直”列表视图任务板的模板
horizontal.htm “水平”列表视图任务板的模板
 

例如,以下字符串指定 MMC.exe 的路径为 c:\Windows\System32\mmc.exe,标准任务板显示在 (default.htm) ,组名称为 tpad1:“res://c:\Windows\System32\mmc.exe/default.htm#tpad1”。

对于使用自定义 HTML 页面的任务板视图, ppViewType 应指向包含自定义任务板 HTML 文件的资源路径和标识任务板的组名称的字符串的地址。 字符串的格式与 MMC 任务板模板的字符串相同,但 filepath 应指定管理单元 DLL 的路径,该 DLL 将自定义 HTML 页面存储为资源。

自定义 OCX

对于 OLE 自定义控件 (OCX) 提供的自定义视图, ppViewType 应指向包含自定义控件 CLSID 字符串表示形式的字符串的地址。 字符串必须以左大括号 ({) 开头,以右大括号 (}) 结尾。 以下字符串表示 Calendar 控件,可以在 ppViewType 参数中返回,以在结果窗格中显示 Calendar 控件:“{8E27C92B-1264-101C-8A2F-040224009C02}”。

MMC 允许每个视图的每个管理单元实例的每个 OCX 类型的单个实例。 如果未选择 MMC_VIEW_OPTIONS_CREATENEW 选项,MMC 将为请求此 OCX 视图的任何管理单元的范围项显示缓存的 OCX 实例。 如果选择了 “MMC_VIEW_OPTIONS_CREATENEW ”选项,MMC 将销毁缓存的 OCX,并在每次项目请求 OCX 视图时创建一个新 OCX。

自定义网页

对于网页提供的自定义视图, ppViewType 应指向包含页面 URL 的字符串的地址。 以下字符串表示 Microsoft 网站的 URL,可以在 ppViewType 参数中返回,以在结果窗格中显示网站:“www.microsoft.com”。

[out] pViewOptions

指向值的指针,该值为控制台提供由拥有管理单元指定的选项。 该值可为以下项的组合:

MMC_VIEW_OPTIONS_CREATENEW (0x0010)

对于自定义 OCX 视图。 在 MMC 1.2 中,始终缓存 OCX。 如果未指定此标志,MMC 1.2 将显示请求此 OCX 视图的任何管理单元作用域项的缓存 OCX 实例。 如果指定了此标志,MMC 1.2 会销毁缓存的 OCX 并创建 (然后在每次项目请求 OCX 视图时缓存) 一个新 OCX。 在 MMC 2.0 中,仅当未设置此标志时,才会缓存 OCX。 在 MMC 2.0 中,如果设置了此标志,则当节点被取消选择时,管理单元可以释放任何 OCX。

一旦管理单元使用或不使用 MMC_VIEW_OPTIONS_CREATENEW 标志) 为节点 (指定其 OCX 缓存选项,它不得更改此管理单元实例的选项选项。

MMC_VIEW_OPTIONS_EXCLUDE_SCOPE_ITEMS_FROM_LIST (0x00000040)

MMC 1.2 中的新增功能。 在标准列表视图中,此选项告知 MMC 隐藏视图中的范围项。 作用域项自动隐藏在虚拟列表视图中。

MMC_VIEW_OPTIONS_FILTERED (0x0008)

通知 MMC 管理单元支持筛选视图。 请参阅 添加筛选视图

MMC_VIEW_OPTIONS_LEXICAL_SORT (0x00000080)

MMC 1.2 中的新增功能。 在标准列表视图中,此选项告知 MMC 按词法对所有范围项进行排序, (先包括扩展) ,然后是所有结果项。 设置此选项时, 将忽略 IResultDataCompareIResultDataCompareEx 接口。

MMC_VIEW_OPTIONS_MULTISELECT (0x0004)

允许在结果窗格视图中选择多个项。

MMC_VIEW_OPTIONS_NOLISTVIEWS (0x0001)

指示控制台不要在“ 视图 ”菜单中显示标准列表视图选项。 允许管理单元在结果窗格中仅显示其自己的自定义视图。

MMC_VIEW_OPTIONS_NONE (0)

未选择任何视图选项。 这是默认视图选项。

MMC_VIEW_OPTIONS_OWNERDATALIST (0x0002)

一个 值,该值指定结果窗格列表视图应为虚拟列表。

MMC_VIEW_OPTIONS_USEFONTLINKING (0x0020)

对结果项使用字体链接, (多语言支持) 。 有关详细信息,请参阅“备注”。

如果 ppViewType 是自定义视图类型,则当视图从自定义视图切换到标准列表视图时,MMC 将应用影响标准列表视图的视图选项。

返回值

此方法可以返回其中一个值。

注解

被调用方 (管理单元) 使用 COM API 函数 CoTaskMemAlloc 分配视图类型字符串,调用方 (MMC) 使用 CoTaskMemFree 释放该字符串。

MMC 在选择管理单元范围项时调用 GetResultViewType 。 从标准列表视图切换到自定义视图时,管理单元必须调用 IConsole2::SelectScopeItem 以重新选择该项并强制 MMC 再次调用 GetResultViewType 。 这使管理单元能够指定适当的自定义 OCX 或网页,以便 MMC 可以加载它。 从自定义视图切换到标准列表视图时,MMC 会自动调用 GetResultViewType 并设置相应的列表视图类型。

给定 Unicode 字符串,字体链接功能确定显示该字符串的最佳字体。 例如,如果使用服务器名称填充列表视图,并且知道其中一半是日语,一半是俄语,则设置字体链接视图选项,MMC 将确定适当的字体。 默认不使用字体链接,因为 MMC 搜索相应字体时性能受到的冲击较小。

Cookie 是指向包含特定项唯一信息的结构的指针。 它通过 SCOPEDATAITEM 结构的 lParam 成员传入。

要求

要求
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 mmc.h

另请参阅

IComponent

IDataObject