The information in this article applies to:
SYMPTOMS
The default implementation of IEnumVARIANT::Skip() for objects created by the Active Accessibility component is incorrect and returns: or These messages are returned regardless of whether it skipped the number requested or not. This is inconsistent with the documented behavior of IEnumVARIANT::Skip() which would only return S_OK if the specified number of elements were skipped. This problem affects objects created by Oleacc.dll on behalf of system controls and user interface elements and common controls. STATUSThis behavior is by design. MORE INFORMATION
The return values of IEnumVARIANT::Skip( unsigned long celt ) are documented as: S_OK if the number of elements skipped is equal to celt, andThis function is internally called by the AccessibleChildren() function. But the AccessibleChildren() function handles the odd return values and the Skip() function works fine internally. If this function is called externally, which is not recommended, then the oddity in the return value should be noted. To avoid problems when dealing with IEnumVARIANT, it is recommended that Skip() function is not used and AccessibleChildren() function with a non-zero iChildStart value is not called. Instead, use the AccessibleChildren() with an iChildStart of 0 to get all the children, or use IEnumVARIANT::Next() to retrieve them one by one (or in chunks), and manually skip over the ones that are not needed. VariantClear() must be called to clear the unused variants. REFERENCESMSAA Additional query words: kbAAcc kbWinOS kbNTOS400 kbWinOS2000
Keywords : kbAAcc kbNTOS400 kbWinOS2000 kbWinOS |
Last Reviewed: May 10, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |