Utilisation de l’annotation de serveur

Cette rubrique fournit des informations sur l’utilisation de l’annotation de serveur pour spécifier un objet de rappel.

Pour substituer une propriété qui spécifie un objet de rappel

  1. Obtient un pointeur d’interface IAccessible vers l’élément accessible qui doit être annoté.
  2. Appelez QueryInterface sur l’élément accessible pour recevoir un pointeur d’interface IAccIdentity .
  3. Appelez IAccIdentity :: GetIdentityString () sur le pointeur d’interface IAccIdentity pour obtenir une chaîne qui identifie de façon unique l’élément accessible qui doit être annoté.
  4. Utilisez CoCreateInstance ou CoCreateInstanceEx pour créer l’objet IAccPropServices .
  5. Créez un objet COM (Component Object Model) qui implémente IAccPropServer.
  6. Appelez IAccPropServices :: SetPropServer, en passant la chaîne d’identité, un GUID indiquant la propriété à substituer et un pointeur vers l’objet de rappel IAccPropServer .
  7. Libère les pointeurs d’interface et la mémoire libre.

Lorsqu’un client demande la propriété de l’élément accessible, l’objet de rappel sera appelé et renverra la valeur au client.

Comme lorsque vous spécifiez une valeur, les développeurs de serveurs peuvent également utiliser la méthode IAccPropServices :: ComposeHwndIdentityString pour obtenir une chaîne d’identité ; ils peuvent utiliser la méthode IAccPropServices :: SetHwndPropServer et spécifier les paramètres HWND, idObject ou idChild au lieu d’une chaîne d’identité.

Lors de l’utilisation de SetPropServer ou SetHwndPropServer sur un objet conteneur, les développeurs de serveurs peuvent éventuellement spécifier que les informations de substitution doivent également s’appliquer à tous les éléments enfants de ce conteneur.

Les serveurs peuvent effacer explicitement l’annotation à tout moment à l’aide de IAccPropServices :: ClearProps. Cela n’est généralement pas nécessaire, car le service d’annotation nettoie automatiquement et libère les informations d’annotation lorsque l’élément accessible annoté disparaît.

Vous trouverez ci-dessous une liste des propriétés qui peuvent être annotées à l’aide de cette procédure.

Propriétés prises en charge lors de la spécification d’un rappel

Lorsque vous spécifiez un rappel, les propriétés suivantes peuvent être annotées. Actuellement, ces propriétés ne peuvent pas être annotées directement en spécifiant une valeur.

Propriété Type
_nom du compte propid _ VT _ BSTR
_Description du compte propid _ VT _ BSTR
_rôle de compte propid _ VT _
_État du compte propid _ VT _
_aide sur le compte propid _ VT _ BSTR
_KEYBOARDSHORTCUT de compte propid _ VT _ BSTR
ID de l' _ _ DefaultAction ACC VT _ BSTR
PROPID _ compte _ VALUEMAP VT _ BSTR
_ROLEMAP de compte propid _ VT _ BSTR
_STATEMAP de compte propid _ VT _ BSTR
_focus du compte propid _ _distribution vt
VT _
_sélection du compte propid _ _distribution vt
VT _
VT _ inconnu
PROP _ . _ parent du compte _distribution vt
point _ d' _ accès au compte propid _ _distribution vt
VT _
décompte de _ la fenêtre de _ navigation _ _distribution vt
VT _
décompte du point d’approp _ _ _ gauche _distribution vt
VT _
décompte du point d’approp _ _ _ droit _distribution vt
VT _
PROP _ . _ _ _distribution vt
VT _
ID d’en-dessous du compte d’prop _ _ _ _distribution vt
VT _
ID de la la firstChild du point PROPID _ _ _ _distribution vt
VT _
ID de l' _ _ _ LastChild du point propid _distribution vt
VT _