ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

comcat.idl
Go to the documentation of this file.
00001 /*
00002  * Copyright 2002 John K. Hohm
00003  * Copyright 2003 Alexandre Julliard
00004  *
00005  * This library is free software; you can redistribute it and/or
00006  * modify it under the terms of the GNU Lesser General Public
00007  * License as published by the Free Software Foundation; either
00008  * version 2.1 of the License, or (at your option) any later version.
00009  *
00010  * This library is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013  * Lesser General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU Lesser General Public
00016  * License along with this library; if not, write to the Free Software
00017  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00018  */
00019 
00020 #ifndef DO_NO_IMPORTS
00021 import "unknwn.idl";
00022 #endif
00023 
00024 /*****************************************************************************
00025  * Types
00026  */
00027 typedef GUID CATID;
00028 typedef REFGUID REFCATID;
00029 cpp_quote("#define CATID_NULL GUID_NULL")
00030 cpp_quote("#define IsEqualCATID(rcatid1, rcatid2) IsEqualGUID(rcatid1, rcatid2)")
00031 
00032 /*****************************************************************************
00033  * Aliases for EnumGUID
00034  */
00035 #define IEnumCATID IEnumGUID
00036 cpp_quote("#define IEnumCATID IEnumGUID")
00037 cpp_quote("#define IID_IEnumCATID IID_IEnumGUID")
00038 cpp_quote("#define LPENUMCATID LPENUMGUID")
00039 #define IEnumCLSID IEnumGUID
00040 cpp_quote("#define IEnumCLSID IEnumGUID")
00041 cpp_quote("#define IID_IEnumCLSID IID_IEnumGUID")
00042 cpp_quote("#define LPENUMCLSID LPENUMGUID")
00043 
00044 
00045 /*****************************************************************************
00046  * IEnumGUID
00047  */
00048 [
00049     object,
00050     uuid(0002e000-0000-0000-c000-000000000046),
00051     pointer_default(unique)
00052 ]
00053 interface IEnumGUID : IUnknown
00054 {
00055     typedef [unique] IEnumGUID *LPENUMGUID;
00056 
00057     HRESULT Next(
00058         [in] ULONG celt,
00059         [out, size_is(celt), length_is(*pceltFetched)] GUID *rgelt,
00060         [out] ULONG *pceltFetched);
00061 
00062     HRESULT Skip(
00063         [in] ULONG celt);
00064 
00065     HRESULT Reset();
00066 
00067     HRESULT Clone(
00068         [out] IEnumGUID **ppenum);
00069 }
00070 
00071 
00072 /*****************************************************************************
00073  * IEnumCATEGORYINFO
00074  */
00075 [
00076     object,
00077     uuid(0002e011-0000-0000-c000-000000000046),
00078     pointer_default(unique)
00079 ]
00080 interface IEnumCATEGORYINFO : IUnknown
00081 {
00082     typedef [unique] IEnumCATEGORYINFO *LPENUMCATEGORYINFO;
00083 
00084     typedef struct tagCATEGORYINFO
00085     {
00086         CATID   catid;              /* category identifier for component */
00087         LCID    lcid;               /* locale identifier */
00088         OLECHAR szDescription[128]; /* description of the category */
00089     } CATEGORYINFO, *LPCATEGORYINFO;
00090 
00091     HRESULT Next(
00092         [in] ULONG celt,
00093         [out, size_is(celt), length_is(*pceltFetched)] CATEGORYINFO* rgelt,
00094         [out] ULONG* pceltFetched);
00095 
00096     HRESULT Skip(
00097         [in] ULONG celt);
00098 
00099     HRESULT Reset();
00100 
00101     HRESULT Clone(
00102         [out] IEnumCATEGORYINFO** ppenum);
00103 }
00104 
00105 
00106 /*****************************************************************************
00107  * ICatInformation
00108  */
00109 [
00110     object,
00111     uuid(0002e013-0000-0000-c000-000000000046),
00112     pointer_default(unique)
00113 ]
00114 interface ICatInformation : IUnknown
00115 {
00116     typedef [unique] ICatInformation* LPCATINFORMATION;
00117 
00118     HRESULT EnumCategories(
00119         [in] LCID lcid,
00120         [out] IEnumCATEGORYINFO** ppenumCategoryInfo);
00121 
00122     HRESULT GetCategoryDesc(
00123         [in] REFCATID rcatid,
00124         [in] LCID lcid,
00125         [out] LPWSTR* pszDesc);
00126 
00127     [local]
00128     HRESULT EnumClassesOfCategories(
00129         [in] ULONG cImplemented,
00130         [in,size_is(cImplemented)] CATID rgcatidImpl[],
00131         [in] ULONG cRequired,
00132         [in,size_is(cRequired)] CATID rgcatidReq[],
00133         [out] IEnumCLSID** ppenumClsid);
00134 
00135     [call_as(EnumClassesOfCategories)]
00136     HRESULT RemoteEnumClassesOfCategories(
00137         [in] ULONG cImplemented,
00138         [in,unique,size_is(cImplemented)] CATID rgcatidImpl[],
00139         [in] ULONG cRequired,
00140         [in,unique,size_is(cRequired)] CATID rgcatidReq[],
00141         [out] IEnumCLSID** ppenumClsid);
00142 
00143     [local]
00144     HRESULT IsClassOfCategories(
00145         [in] REFCLSID rclsid,
00146         [in] ULONG cImplemented,
00147         [in,size_is(cImplemented)] CATID rgcatidImpl[],
00148         [in] ULONG cRequired,
00149         [in,size_is(cRequired)] CATID rgcatidReq[]);
00150 
00151     [call_as(IsClassOfCategories)]
00152     HRESULT RemoteIsClassOfCategories(
00153         [in] REFCLSID rclsid,
00154         [in] ULONG cImplemented,
00155         [in,unique,size_is(cImplemented)] CATID rgcatidImpl[],
00156         [in] ULONG cRequired,
00157         [in,unique,size_is(cRequired)] CATID rgcatidReq[] );
00158 
00159     HRESULT EnumImplCategoriesOfClass(
00160         [in] REFCLSID rclsid,
00161         [out] IEnumCATID** ppenumCatid);
00162 
00163     HRESULT EnumReqCategoriesOfClass(
00164         [in] REFCLSID rclsid,
00165         [out] IEnumCATID** ppenumCatid);
00166 }
00167 
00168 
00169 /*****************************************************************************
00170  * ICatRegister
00171  */
00172 [
00173     object,
00174     uuid(0002e012-0000-0000-c000-000000000046),
00175     pointer_default(unique)
00176 ]
00177 interface ICatRegister : IUnknown
00178 {
00179     typedef [unique] ICatRegister* LPCATREGISTER;
00180 
00181     HRESULT RegisterCategories(
00182         [in] ULONG cCategories,
00183         [in, size_is(cCategories)] CATEGORYINFO rgCategoryInfo[]);
00184 
00185     HRESULT UnRegisterCategories(
00186         [in] ULONG cCategories,
00187         [in, size_is(cCategories)] CATID rgcatid[]);
00188 
00189     HRESULT RegisterClassImplCategories(
00190         [in] REFCLSID rclsid,
00191         [in] ULONG cCategories,
00192         [in, size_is(cCategories)] CATID rgcatid[]);
00193 
00194     HRESULT UnRegisterClassImplCategories(
00195         [in] REFCLSID rclsid,
00196         [in] ULONG cCategories,
00197         [in, size_is(cCategories)] CATID rgcatid[]);
00198 
00199     HRESULT RegisterClassReqCategories(
00200         [in] REFCLSID rclsid,
00201         [in] ULONG cCategories,
00202         [in, size_is(cCategories)] CATID rgcatid[]);
00203 
00204     HRESULT UnRegisterClassReqCategories(
00205         [in] REFCLSID rclsid,
00206         [in] ULONG cCategories,
00207         [in, size_is(cCategories)] CATID rgcatid[]);
00208 }
00209 
00210 
00211 /*****************************************************************************
00212  * Category IDs
00213  */
00214 cpp_quote("DEFINE_GUID( CATID_Insertable, 0x40fc6ed3, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);")
00215 cpp_quote("DEFINE_GUID( CATID_Control, 0x40fc6ed4, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);")
00216 cpp_quote("DEFINE_GUID( CATID_Programmable, 0x40fc6ed5, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);")
00217 cpp_quote("DEFINE_GUID( CATID_IsShortcut, 0x40fc6ed6, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);")
00218 cpp_quote("DEFINE_GUID( CATID_NeverShowExt, 0x40fc6ed7, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);")
00219 cpp_quote("DEFINE_GUID( CATID_DocObject, 0x40fc6ed8, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);")
00220 cpp_quote("DEFINE_GUID( CATID_Printable, 0x40fc6ed9, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);")
00221 cpp_quote("DEFINE_GUID( CATID_RequiresDataPathHost, 0x0de86a50, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);")
00222 cpp_quote("DEFINE_GUID( CATID_PersistsToMoniker, 0x0de86a51, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);")
00223 cpp_quote("DEFINE_GUID( CATID_PersistsToStorage, 0x0de86a52, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);")
00224 cpp_quote("DEFINE_GUID( CATID_PersistsToStreamInit, 0x0de86a53, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);")
00225 cpp_quote("DEFINE_GUID( CATID_PersistsToStream, 0x0de86a54, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);")
00226 cpp_quote("DEFINE_GUID( CATID_PersistsToMemory, 0x0de86a55, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);")
00227 cpp_quote("DEFINE_GUID( CATID_PersistsToFile, 0x0de86a56, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);")
00228 cpp_quote("DEFINE_GUID( CATID_PersistsToPropertyBag, 0x0de86a57, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);")
00229 cpp_quote("DEFINE_GUID( CATID_InternetAware, 0x0de86a58, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);")
00230 cpp_quote("DEFINE_GUID( CATID_DesignTimeUIActivatableControl, 0xf2bb56d1, 0xdb07, 0x11d1, 0xaa, 0x6b, 0x00, 0x60, 0x97, 0xdb, 0x95, 0x39);")
00231 /* The Component Category Manager */
00232 cpp_quote("DEFINE_GUID(CLSID_StdComponentCategoriesMgr, 0x0002e005, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);")

Generated on Fri May 25 2012 04:29:45 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.