Share via


Méthode IAccessibleWindowlessSite ::AcquireObjectIdRange (oleacc.h)

Acquiert une plage d’ID d’objet à partir de l’hôte de contrôle et les marque comme réservés par un contrôle sans fenêtre spécifique.

Syntaxe

HRESULT AcquireObjectIdRange(
  [in]           long               rangeSize,
  [in, optional] IAccessibleHandler *pRangeOwner,
  [out]          long               *pRangeBase
);

Paramètres

[in] rangeSize

Taille de la plage d’ID d’objet demandée.

[in, optional] pRangeOwner

Contrôle sans fenêtre qui demande la plage.

[out] pRangeBase

Premier ID d’objet dans la plage acquise.

Valeur retournée

Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Pour éviter d’utiliser un ID d’objet qui appartient à un autre contrôle sans fenêtre, un contrôle doit acquérir une plage d’ID d’objet avant d’appeler la fonction NotifyWinEvent . Un contrôle doit acquérir suffisamment d’ID d’objet pour tous ses objets accessibles contenus. Par exemple, un contrôle d’arborescence avec 100 enfants réserve au moins 101 ID d’objet, un pour la racine et un pour chaque enfant. Un contrôle d’arborescence qui devrait croître réserve autant d’ID d’objet que prévu. Si le contrôle de l’arbre devrait croître de plusieurs centaines d’enfants, il réserverait une plage de 1 000 ID juste pour être sûr.

Lorsque la fenêtre qui contient le contrôle Microsoft ActiveX reçoit un message WM_GETOBJECT avec une valeur LPARAM (ID d’objet) qui se trouve dans une plage réservée, elle doit appeler la méthode IAccessibleHandler ::AccessibleObjectFromID pour obtenir un objet IAccessible pour cet ID d’objet.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Plateforme cible Windows
En-tête oleacc.h
Bibliothèque Oleacc.lib
DLL Oleacc.dll

Voir aussi

IAccessibleWindowlessSite

IAccessibleWindowlessSite ::ReleaseObjectIdRange