Méthode IDisplayHelp::ShowTopic (mmc.h)
La méthode IDisplayHelp::ShowTopic affiche la rubrique d’aide HTML spécifiée dans le fichier d’aide HTML MMC fusionné.
Syntaxe
HRESULT ShowTopic(
[in] LPOLESTR pszHelpTopic
);
Paramètres
[in] pszHelpTopic
Pointeur vers une chaîne terminée par null spécifiant la rubrique à afficher dans le fichier d’aide HTML MMC fusionné. La chaîne doit avoir le format suivant :
helpfilename::topicfilename
où helpfilename est le nom de fichier du fichier d’aide HTML du composant logiciel enfichable (.chm) que MMC a fusionné dans le fichier de collection d’aide HTML MMC (il s’agit du nom de fichier uniquement, et non du chemin d’accès au fichier d’aide HTML d’origine) et topicfilename est le chemin d’accès interne au fichier de rubrique dans le fichier .chm du composant logiciel enfichable. L’auteur du fichier d’aide HTML du composant logiciel enfichable détermine s’il existe une structure de répertoires interne pour les fichiers HTML de rubrique ou si tous les fichiers HTML de rubrique se trouvent à la racine du fichier .chm.
Un composant logiciel enfichable indique à MMC son fichier .chm dans son implémentation de la méthode ISnapinHelp2::GetHelpTopic .
Par exemple, si le composant logiciel enfichable avait le fichier d’aide HTML mysnapin.chm fusionné dans le fichier de collection d’aide HTML MMC et un fichier HTML de rubrique qui avait le chemin de fichier interne de htm/help01.htm, la chaîne aurait la forme suivante :
mysnapin.chm::htm/help01.htm
Si le fichier de rubrique help01.htm se trouve à la racine du fichier d’aide mysnapin.chm, la chaîne doit avoir la forme suivante :
mysnapin.chm::/help01.htm
La prise en charge des ID numériques pour les rubriques n’est pas incluse dans les versions 1.2 et antérieures.
Valeur retournée
Cette méthode peut retourner l’une de ces valeurs.
Notes
Les versions 1.0 et 1.1 de MMC exigeaient que pszHelpTopic soit alloué avec la fonction d’API COM CoTaskMemAlloc, et que MMC libère ensuite la chaîne. Cela a violé les règles COM pour l’allocation des paramètres, qui exigent qu’ils soient alloués et libérés par l’appelant (le composant logiciel enfichable). Dans MMC 1.2 et MMC 2.0, il n’est plus nécessaire que pszHelpTopic soit alloué avec CoTaskMemAlloc. L’appelant est libre d’utiliser la gestion de la mémoire qu’il souhaite. Si l’appelant choisit d’utiliser CoTaskMemAlloc, il est également responsable d’appeler CoTaskMemFree pour libérer la chaîne.
Un composant logiciel enfichable peut fournir une aide contextuelle pour l’élément sélectionné en gérant la notification MMCN_CONTEXTHELP dans sa méthode IComponent::Notify et en appelant IDisplayHelp::ShowTopic.
Pour les pages de propriétés, le composant logiciel enfichable doit appeler MMCPropertyHelp au lieu de IDisplayHelp::ShowTopic. Étant donné qu’une feuille de propriétés MMC s’exécute généralement sur un thread distinct, la page de propriétés ne peut pas utiliser l’interface IDisplayHelp directement. Au lieu de cela, la page de propriétés peut appeler MMCPropertyHelp à partir de la bibliothèque MMC pour obtenir le même résultat. MMCPropertyHelp prend le même paramètre de chaîne de rubrique que IDisplayHelp::ShowTopic et gère le marshaling de la requête vers le thread MMC main.
Si le composant logiciel enfichable gère la notification MMCN_CONTEXTHELP , MMC s’attend à ce que le composant logiciel enfichable spécifie une rubrique d’aide pour l’élément sélectionné. Par conséquent, dans le gestionnaire de notifications pour la notification MMCN_CONTEXTHELP , le composant logiciel enfichable dispose de deux options :
- Il peut appeler IDisplayHelp::ShowTopic ou MMCPropertyHelp pour spécifier la rubrique d’aide, puis retourner S_OK pour indiquer la réussite. N’oubliez pas que le composant logiciel enfichable doit retourner S_OK uniquement s’il spécifie une rubrique d’aide. Si le composant logiciel enfichable retourne S_OK sans spécifier de rubrique d’aide, aucune rubrique d’aide ne s’affiche.
- Il peut retourner S_FALSE à la notification. MMC affiche ensuite le fichier de collection d’aide avec la rubrique MMC par défaut sélectionnée.
Spécifications
Client minimal pris en charge | Windows Vista |
Serveur minimal pris en charge | Windows Server 2008 |
Plateforme cible | Windows |
En-tête | mmc.h |
DLL | Mmcndmgr.dll |