Метод IDisplayHelp::ShowTopic (mmc.h)
Метод IDisplayHelp::ShowTopic отображает указанный раздел справки HTML в объединенном HTML-файле справки MMC.
Синтаксис
HRESULT ShowTopic(
[in] LPOLESTR pszHelpTopic
);
Параметры
[in] pszHelpTopic
Указатель на строку со значением NULL, указывающую раздел, отображаемый в объединенном HTML-файле справки MMC. Строка должна иметь следующий формат:
helpfilename::topicfilename
где helpfilename — это имя файла HTML-справки оснастки (CHM), который MMC объединил в коллекцию HTML-справки MMC (это только имя файла, а не путь к исходному ФАЙЛу справки HTML), а topicfilename — внутренний путь к файлу раздела в CHM-файле оснастки. Автор HTML-файла справки оснастки определяет, имеется ли внутренняя структура каталогов для HTML-файлов раздела или все HTML-файлы раздела находятся в корне CHM-файла.
Оснастка сообщает MMC о CHM-файле в реализации метода ISnapinHelp2::GetHelpTopic .
Например, если оснастка содержит HTML-файл справки mysnapin.chm, объединенный в коллекцию HTML-справки MMC, и HTML-файл раздела с внутренним путем к файлу htm/help01.htm, строка будет иметь следующий вид:
mysnapin.chm::htm/help01.htm
Если файл раздела help01.htm находится в корне файла справки mysnapin.chm, строка должна иметь следующий вид:
mysnapin.chm::/help01.htm
Поддержка числовых идентификаторов для разделов не включена в версии 1.2 и более ранних версий.
Возвращаемое значение
Этот метод может возвращать одно из этих значений.
Комментарии
MMC версий 1.0 и 1.1 требовал, чтобы pszHelpTopic был выделен с помощью функции COM API CoTaskMemAlloc, а затем MMC освободит строку. Это нарушило правила COM для выделения параметров, которые требуют, чтобы они были выделены и освобождены вызывающим объектом (оснастка). В MMC 1.2 и MMC 2.0 больше не требуется выделять pszHelpTopic с помощью CoTaskMemAlloc. Вызывающий объект может использовать любое необходимое управление памятью. Если вызывающий объект решает использовать CoTaskMemAlloc, он также отвечает за вызов CoTaskMemFree для освобождения строки.
Оснастка может предоставлять контекстную справку для выбранного элемента, обрабатывая уведомление MMCN_CONTEXTHELP в методе IComponent::Notify и вызывая IDisplayHelp::ShowTopic.
Для страниц свойств оснастка должна вызывать MMCPropertyHelp вместо IDisplayHelp::ShowTopic. Так как страница свойств MMC обычно выполняется в отдельном потоке, страница свойств не может напрямую использовать интерфейс IDisplayHelp . Вместо этого страница свойств может вызывать MMCPropertyHelp из библиотеки MMC для достижения того же результата. MMCPropertyHelp принимает тот же параметр строки раздела, что и IDisplayHelp::ShowTopic, и обрабатывает маршалирование запроса к main потоку MMC.
Если оснастка обрабатывает уведомление MMCN_CONTEXTHELP , MMC ожидает, что оснастка укажет раздел справки для выбранного элемента. Следовательно, в обработчике уведомлений для уведомления MMCN_CONTEXTHELP оснастка имеет два варианта:
- Он может вызвать IDisplayHelp::ShowTopic или MMCPropertyHelp , чтобы указать раздел справки, а затем вернуть S_OK для указания успеха. Имейте в виду, что оснастка должна возвращать S_OK , только если в ней указан раздел справки. Если оснастка возвращает S_OK без указания раздела справки, раздел справки не отображается.
- Он может возвращать S_FALSE в уведомление. Затем MMC отображает файл коллекции справки с выбранным разделом MMC по умолчанию.
Требования
Минимальная версия клиента | Windows Vista |
Минимальная версия сервера | Windows Server 2008 |
Целевая платформа | Windows |
Header | mmc.h |
DLL | Mmcndmgr.dll |