STDMETHODIMP ia2Accessible::get_groupPosition(long* aGroupLevel, long* aSimilarItemsInGroup, long* aPositionInGroup) { if (!aGroupLevel || !aSimilarItemsInGroup || !aPositionInGroup) return E_INVALIDARG; *aGroupLevel = 0; *aSimilarItemsInGroup = 0; *aPositionInGroup = 0; AccessibleWrap* acc = static_cast<AccessibleWrap*>(this); if (acc->IsDefunct()) return CO_E_OBJNOTCONNECTED; GroupPos groupPos = acc->GroupPosition(); // Group information for accessibles having level only (like html headings // elements) isn't exposed by this method. AT should look for 'level' object // attribute. if (!groupPos.setSize && !groupPos.posInSet) return S_FALSE; *aGroupLevel = groupPos.level; *aSimilarItemsInGroup = groupPos.setSize; *aPositionInGroup = groupPos.posInSet; return S_OK; }