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 core.sys.windows.comcat; 11 version (Windows): 12 @system: 13 14 import core.sys.windows.ole2; 15 import core.sys.windows.basetyps, core.sys.windows.cguid, core.sys.windows.objbase, core.sys.windows.unknwn, 16 core.sys.windows.windef, core.sys.windows.wtypes; 17 18 alias IEnumGUID LPENUMGUID; 19 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 GUID CATID; 28 alias REFGUID REFCATID; 29 alias GUID_NULL CATID_NULL; 30 alias IsEqualGUID IsEqualCATID; 31 32 struct CATEGORYINFO { 33 CATID catid; 34 LCID lcid; 35 OLECHAR[128] szDescription = 0; 36 } 37 alias CATEGORYINFO* LPCATEGORYINFO; 38 39 alias IEnumGUID IEnumCATID; 40 alias LPENUMGUID LPENUMCATID; 41 alias IID_IEnumGUID IID_IEnumCATID; 42 43 alias IEnumGUID IEnumCLSID; 44 alias LPENUMGUID LPENUMCLSID; 45 alias IID_IEnumGUID IID_IEnumCLSID; 46 47 interface ICatInformation : IUnknown { 48 HRESULT EnumCategories(LCID, LPENUMCATEGORYINFO*); 49 HRESULT GetCategoryDesc(REFCATID, LCID, PWCHAR*); 50 HRESULT EnumClassesOfCategories(ULONG, CATID*, ULONG, CATID*, 51 LPENUMCLSID*); 52 HRESULT IsClassOfCategories(REFCLSID, ULONG, CATID*, ULONG, CATID*); 53 HRESULT EnumImplCategoriesOfClass(REFCLSID, LPENUMCATID*); 54 HRESULT EnumReqCategoriesOfClass(REFCLSID, LPENUMCATID*); 55 } 56 alias ICatInformation LPCATINFORMATION; 57 58 interface ICatRegister : IUnknown { 59 HRESULT RegisterCategories(ULONG, CATEGORYINFO*); 60 HRESULT UnRegisterCategories(ULONG, CATID*); 61 HRESULT RegisterClassImplCategories(REFCLSID, ULONG, CATID*); 62 HRESULT UnRegisterClassImplCategories(REFCLSID, ULONG, CATID*); 63 HRESULT RegisterClassReqCategories(REFCLSID, ULONG, CATID*); 64 HRESULT UnRegisterClassReqCategories(REFCLSID, ULONG, CATID*); 65 } 66 alias ICatRegister LPCATREGISTER; 67 68 interface IEnumCATEGORYINFO : IUnknown { 69 HRESULT Next(ULONG, CATEGORYINFO*, ULONG*); 70 HRESULT Skip(ULONG); 71 HRESULT Reset(); 72 HRESULT Clone(LPENUMCATEGORYINFO*); 73 } 74 alias IEnumCATEGORYINFO LPENUMCATEGORYINFO; 75