COM.MoveMemory(arg2, new int[] { objIAccessible.getAddress()}, 4);
COM.MoveMemory(ppvObject, new int[] { objIAccessible.getAddress()}, 4);
	int QueryInterface(int arg1, int arg2) {		if (iaccessible == null) return COM.CO_E_OBJNOTCONNECTED;		GUID guid = new GUID();		COM.MoveMemory(guid, arg1, GUID.sizeof);		if (COM.IsEqualGUID(guid, COM.IIDIUnknown)) {			COM.MoveMemory(arg2, new int[] { objIAccessible.getAddress()}, 4);			AddRef();			return COM.S_OK;		}		if (COM.IsEqualGUID(guid, COM.IIDIDispatch)) {			COM.MoveMemory(arg2, new int[] { objIAccessible.getAddress()}, 4);			AddRef();			return COM.S_OK;		}		if (COM.IsEqualGUID(guid, COM.IIDIAccessible)) {			COM.MoveMemory(arg2, new int[] { objIAccessible.getAddress()}, 4);			AddRef();			return COM.S_OK;		}		if (COM.IsEqualGUID(guid, COM.IIDIEnumVARIANT)) {			COM.MoveMemory(arg2, new int[] { objIEnumVARIANT.getAddress()}, 4);			AddRef();			enumIndex = 0;			return COM.S_OK;		}		int[] ppvObject = new int[1];		int result = iaccessible.QueryInterface(guid, ppvObject);		COM.MoveMemory(arg2, ppvObject, 4);		return result;	}