internal InternalAccessibleObject(AccessibleObject accessibleImplemention)
 {
     publicIAccessible                     = accessibleImplemention;
     publicIEnumVariant                    = accessibleImplemention;
     publicIOleWindow                      = accessibleImplemention;
     publicIReflect                        = accessibleImplemention;
     publicIServiceProvider                = accessibleImplemention;
     publicIAccessibleEx                   = accessibleImplemention;
     publicIRawElementProviderSimple       = accessibleImplemention;
     publicIRawElementProviderFragment     = accessibleImplemention;
     publicIRawElementProviderFragmentRoot = accessibleImplemention;
     publicIInvokeProvider                 = accessibleImplemention;
     publicIValueProvider                  = accessibleImplemention;
     publicIRangeValueProvider             = accessibleImplemention;
     publicIExpandCollapseProvider         = accessibleImplemention;
     publicIToggleProvider                 = accessibleImplemention;
     publicITableProvider                  = accessibleImplemention;
     publicITableItemProvider              = accessibleImplemention;
     publicIGridProvider                   = accessibleImplemention;
     publicIGridItemProvider               = accessibleImplemention;
     publicILegacyIAccessibleProvider      = accessibleImplemention;
     publicISelectionProvider              = accessibleImplemention;
     publicISelectionItemProvider          = accessibleImplemention;
     publicIRawElementProviderHwndOverride = accessibleImplemention;
 }
Ejemplo n.º 2
0
 internal InternalAccessibleObject(AccessibleObject accessibleImplemention)
 {
     // Get all the casts done here to catch any issues early
     publicIAccessible = (IAccessible) accessibleImplemention;
     publicIEnumVariant = (UnsafeNativeMethods.IEnumVariant) accessibleImplemention;
     publicIOleWindow = (UnsafeNativeMethods.IOleWindow) accessibleImplemention;
     publicIReflect = (IReflect) accessibleImplemention;
     // Note: Deliberately not holding onto AccessibleObject to enforce all access through the interfaces
 }
Ejemplo n.º 3
0
        protected void UseStdAccessibleObjects(IntPtr handle, int objid)
        {
            // Get a standard accessible Object
            Guid IID_IAccessible = new Guid(NativeMethods.uuid_IAccessible);
            object acc = null;
            int result = UnsafeNativeMethods.CreateStdAccessibleObject(
                                                          new HandleRef(this, handle),
                                                          objid,
                                                          ref IID_IAccessible,
                                                          ref acc);

            // Get the IEnumVariant interface
            Guid IID_IEnumVariant = new Guid(NativeMethods.uuid_IEnumVariant);
            object en = null;
            result = UnsafeNativeMethods.CreateStdAccessibleObject(
                                                      new HandleRef(this, handle),
                                                      objid,
                                                      ref IID_IEnumVariant,
                                                      ref en);

            Debug.Assert(acc != null, "SystemIAccessible is null");
            Debug.Assert(en != null, "SystemIEnumVariant is null");

            if (acc != null || en != null) {
                systemIAccessible = (IAccessible)acc;
                systemIEnumVariant = (UnsafeNativeMethods.IEnumVariant)en;
                systemIOleWindow = acc as UnsafeNativeMethods.IOleWindow;
            }
        }