IDisplayHelp::ShowTopic 方法 (mmc.h)

IDisplayHelp::ShowTopic 方法在合并的 MMC HTML 帮助文件中显示指定的 HTML 帮助主题。

语法

HRESULT ShowTopic(
  [in] LPOLESTR pszHelpTopic
);

parameters

[in] pszHelpTopic

指向 以 NULL 结尾的字符串的指针,指定要在合并的 MMC HTML 帮助文件中显示的主题。 字符串必须具有以下格式:

helpfilename::topicfilename

其中 helpfilename 是管理单元的 HTML 帮助文件 (.chm) MMC 合并到 MMC HTML 帮助集合文件的文件名, (这只是文件名,而不是原始 HTML 帮助文件) 的路径, topicfilename 是管理单元 .chm 文件中的主题文件的内部路径。 管理单元的 HTML 帮助文件的作者确定主题 HTML 文件是否存在内部目录结构,或者所有主题 HTML 文件是否位于 .chm 文件的根目录中。

管理单元在 ISnapinHelp2::GetHelpTopic 方法的实现中告知 MMC 其 .chm 文件。

例如,如果管理单元将 HTML 帮助文件 mysnapin.chm 合并到 MMC HTML 帮助集合文件中,而主题 HTML 文件的内部文件路径为 htm/help01.htm,则字符串将具有以下形式:

mysnapin.chm::htm/help01.htm

如果 help01.htm 主题文件位于 mysnapin.chm 帮助文件的根目录中,则字符串应具有以下形式:

mysnapin.chm::/help01.htm

版本 1.2 及更早版本中不包括对主题的数字 ID 的支持。

返回值

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

注解

MMC 版本 1.0 和 1.1 要求使用 COM API 函数 CoTaskMemAlloc 分配 pszHelpTopic,然后 MMC 将释放字符串。 这违反了用于分配参数的 COM 规则,该规则要求调用方 (管理单元) 分配和释放这些参数。 在 MMC 1.2 和 MMC 2.0 中,不再需要使用 CoTaskMemAlloc 分配 pszHelpTopic。 调用方可以自由使用所需的任何内存管理。 如果调用方选择使用 CoTaskMemAlloc,则它还负责调用 CoTaskMemFree 以释放字符串。

管理单元可以通过在其 IComponent::Notify 方法中处理MMCN_CONTEXTHELP通知并调用 IDisplayHelp::ShowTopic 来为所选项目提供上下文帮助。

对于属性页,管理单元应调用 MMCPropertyHelp ,而不是 IDisplayHelp::ShowTopic。 由于 MMC 属性表通常在单独的线程上运行,因此属性页不能直接使用 IDisplayHelp 接口。 相反,属性页可以从 MMC 库调用 MMCPropertyHelp 来实现相同的结果。 MMCPropertyHelp 采用与 IDisplayHelp::ShowTopic 相同的主题字符串参数,并处理将请求封送给main MMC 线程。

如果管理单元处理 MMCN_CONTEXTHELP 通知,MMC 希望管理单元为所选项目指定帮助主题。 因此,在 MMCN_CONTEXTHELP 通知的通知处理程序中,管理单元有两个选项:

  • 它可以调用 IDisplayHelp::ShowTopicMMCPropertyHelp 来指定帮助主题,然后返回 S_OK 以指示成功。 请注意,如果管理单元指定了帮助主题,则仅应返回 S_OK 。 如果管理单元在未指定帮助主题的情况下返回 S_OK ,则不会显示帮助主题。
  • 它可以将 S_FALSE 返回到通知。 MMC 然后显示帮助收集文件,其中选择了默认 MMC 主题。

要求

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

另请参阅

ISnapinHelp2::GetHelpTopic

MMCPropertyHelp