1 /** 2 * Windows API header module 3 * 4 * Translated from MinGW Windows headers 5 * 6 * Authors: Stewart Gordon 7 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0) 8 * Source: $(DRUNTIMESRC core/sys/windows/_comcat.d) 9 */ 10 module nulib.system.win32.comcat; 11 import nulib.system.win32.ole2; 12 import nulib.system.win32.basetyps; 13 import nulib.system.win32.windef; 14 import nulib.system.win32.wtypes; 15 import nulib.system.com; 16 17 alias LPENUMGUID = IEnumGUID; 18 19 @Guid!("0002E000-0000-0000-C000-000000000046") 20 interface IEnumGUID : IUnknown { 21 HRESULT Next(ULONG, GUID*, ULONG*); 22 HRESULT Skip(ULONG); 23 HRESULT Reset(); 24 HRESULT Clone(LPENUMGUID*); 25 } 26 27 alias CATID = GUID; 28 alias REFCATID = REFGUID; 29 alias CATID_NULL = GUID_NULL; 30 31 struct CATEGORYINFO { 32 CATID catid; 33 LCID lcid; 34 OLECHAR[128] szDescription = 0; 35 } 36 alias LPCATEGORYINFO = CATEGORYINFO*; 37 38 alias IEnumCATID = IEnumGUID; 39 alias LPENUMCATID = LPENUMGUID; 40 alias IID_IEnumCATID = __uuidof!IEnumGUID; 41 42 alias IEnumCLSID = IEnumGUID; 43 alias LPENUMCLSID = LPENUMGUID; 44 alias IID_IEnumCLSID = __uuidof!IEnumGUID; 45 46 interface ICatInformation : IUnknown { 47 HRESULT EnumCategories(LCID, LPENUMCATEGORYINFO*); 48 HRESULT GetCategoryDesc(REFCATID, LCID, PWCHAR*); 49 HRESULT EnumClassesOfCategories(ULONG, CATID*, ULONG, CATID*, 50 LPENUMCLSID*); 51 HRESULT IsClassOfCategories(REFCLSID, ULONG, CATID*, ULONG, CATID*); 52 HRESULT EnumImplCategoriesOfClass(REFCLSID, LPENUMCATID*); 53 HRESULT EnumReqCategoriesOfClass(REFCLSID, LPENUMCATID*); 54 } 55 alias LPCATINFORMATION = ICatInformation; 56 57 interface ICatRegister : IUnknown { 58 HRESULT RegisterCategories(ULONG, CATEGORYINFO*); 59 HRESULT UnRegisterCategories(ULONG, CATID*); 60 HRESULT RegisterClassImplCategories(REFCLSID, ULONG, CATID*); 61 HRESULT UnRegisterClassImplCategories(REFCLSID, ULONG, CATID*); 62 HRESULT RegisterClassReqCategories(REFCLSID, ULONG, CATID*); 63 HRESULT UnRegisterClassReqCategories(REFCLSID, ULONG, CATID*); 64 } 65 alias LPCATREGISTER = ICatRegister; 66 67 interface IEnumCATEGORYINFO : IUnknown { 68 HRESULT Next(ULONG, CATEGORYINFO*, ULONG*); 69 HRESULT Skip(ULONG); 70 HRESULT Reset(); 71 HRESULT Clone(LPENUMCATEGORYINFO*); 72 } 73 alias LPENUMCATEGORYINFO = IEnumCATEGORYINFO;