IAccessibleWindowlessSite::AcquireObjectIdRange method

Acquires a range of object IDs from the control host and marks them as reserved by a specific windowless control.

Syntax

HRESULT AcquireObjectIdRange(
  long               rangeSize,
  IAccessibleHandler *pRangeOwner,
  long               *pRangeBase
);

Parameters

rangeSize

The size of the object ID range that is being requested.

pRangeOwner

The windowless control that is requesting the range.

pRangeBase

The first object ID in the acquired range.

Return Value

If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.

Remarks

To avoid using an object ID that belongs to another windowless control, a control should acquire an object ID range before calling the NotifyWinEvent function. A control should acquire enough object IDs for all of its contained accessible objects. For example, a tree control with 100 children would reserve at least 101 object IDs, one for the root, and one for each child. A tree control that is expected to grow would reserve as many object IDs as expected. If the tree control is expected to grow by several hundred children, it would reserve a range of 1000 IDs just to be safe.

When the window that contains the Microsoft ActiveX control receives a WM_GETOBJECT message with an LPARAM value (object ID) that is in a reserved range, it should call the IAccessibleHandler::AccessibleObjectFromID method to get an IAccessible object for that object ID.

Requirements

   
Minimum supported client Windows 8 [desktop apps only]
Minimum supported server Windows Server 2012 [desktop apps only]
Target Platform Windows
Header oleacc.h
Library Oleacc.lib
DLL Oleacc.dll

See Also

IAccessibleWindowlessSite

IAccessibleWindowlessSite::ReleaseObjectIdRange