1/* 2 * Copyright 2011 Jacek Caban for CodeWeavers 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 17 */ 18 19import "oaidl.idl"; 20import "ocidl.idl"; 21 22[ 23 uuid(92ca9dcd-5622-4bba-a805-5e9f541bd8c9), 24 object, 25 pointer_default(unique) 26] 27interface IObjectArray : IUnknown 28{ 29 HRESULT GetCount([out] UINT *pcObjects); 30 HRESULT GetAt( 31 [in] UINT uiIndex, 32 [in] REFIID riid, 33 [out, iid_is(riid)] void **ppv); 34} 35 36[ 37 uuid(5632b1a4-e38a-400a-928a-d4cd63230295), 38 object, 39 pointer_default(unique) 40] 41interface IObjectCollection : IObjectArray 42{ 43 HRESULT AddObject([in] IUnknown *punk); 44 HRESULT AddFromArray([in] IObjectArray *poaSource); 45 HRESULT RemoveObjectAt([in] UINT uiIndex); 46 HRESULT Clear(); 47} 48