if ((varChild_vt & 0xFFFF) != COM.VT_I4) return COM.E_INVALIDARG;
	int get_accRole(int varChild_vt, int varChild_reserved1, int varChild_lVal, int varChild_reserved2, int pvarRole) {		if (accessibleControlListeners.size() == 0) {			return iaccessible.get_accRole(varChild_vt, varChild_reserved1, varChild_lVal, varChild_reserved2, pvarRole);		}		if ((varChild_vt & 0xFFFF) != COM.VT_I4) return COM.E_INVALIDARG;		AccessibleControlEvent event = new AccessibleControlEvent(this);		event.childID = varChild_lVal - 1;		for (int i = 0; i < accessibleControlListeners.size(); i++) {			AccessibleControlListener listener = (AccessibleControlListener) accessibleControlListeners.elementAt(i);			listener.getRole(event);		}		int role = roleToOs(event.detail);		COM.MoveMemory(pvarRole, new short[] { COM.VT_I4 }, 2);		COM.MoveMemory(pvarRole + 8, new int[] { role }, 4);		return COM.S_OK;	}