1 /***********************************************************************\ 2 * comcat.d * 3 * * 4 * Windows API header module * 5 * * 6 * Translated from MinGW Windows headers * 7 * by Stewart Gordon * 8 * * 9 * Placed into public domain * 10 \***********************************************************************/ 11 module windows.comcat; 12 nothrow: 13 import windows.windows, windows.ole2; 14 private import windows.basetyps, windows.cguid, windows.objbase, windows.unknwn, 15 windows.windef, windows.wtypes; 16 17 alias IEnumGUID LPENUMGUID; 18 19 interface IEnumGUID : IUnknown { 20 HRESULT Next(ULONG, GUID*, ULONG*); 21 HRESULT Skip(ULONG); 22 HRESULT Reset(); 23 HRESULT Clone(LPENUMGUID*); 24 } 25 26 alias GUID CATID; 27 alias REFGUID REFCATID; 28 alias GUID_NULL CATID_NULL; 29 alias IsEqualGUID IsEqualCATID; 30 31 struct CATEGORYINFO { 32 CATID catid; 33 LCID lcid; 34 OLECHAR[128] szDescription; 35 } 36 alias CATEGORYINFO* LPCATEGORYINFO; 37 38 alias IEnumGUID IEnumCATID; 39 alias LPENUMGUID LPENUMCATID; 40 alias IID_IEnumGUID IID_IEnumCATID; 41 42 alias IEnumGUID IEnumCLSID; 43 alias LPENUMGUID LPENUMCLSID; 44 alias IID_IEnumGUID IID_IEnumCLSID; 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 ICatInformation LPCATINFORMATION; 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 ICatRegister LPCATREGISTER; 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 IEnumCATEGORYINFO LPENUMCATEGORYINFO;