From 3e1c5afdbafc559a8dfb918132b5a608c8b24be4 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Wed, 3 Sep 2003 19:31:57 +0000 Subject: [PATCH] Converted comcat.h to IDL. --- include/Makefile.in | 4 +- include/comcat.h | 768 ++++++++++++++++++++++++++++++++++++++++++-- include/comcat.idl | 230 +++++++++++++ include/wine/obj_comcat.h | 178 ---------- include/wine/obj_enumguid.h | 65 ---- 5 files changed, 966 insertions(+), 279 deletions(-) rewrite include/comcat.h (93%) create mode 100644 include/comcat.idl delete mode 100644 include/wine/obj_comcat.h delete mode 100644 include/wine/obj_enumguid.h diff --git a/include/Makefile.in b/include/Makefile.in index e4514fb9ffb..b5566ed7bb0 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -5,6 +5,7 @@ VPATH = @srcdir@ MODULE = none IDL_SRCS = \ + comcat.idl \ oaidl.idl \ objidl.idl \ strmif.idl \ @@ -23,7 +24,6 @@ WINDOWS_INCLUDES = \ basetsd.h \ cderr.h \ cguid.h \ - comcat.h \ commctrl.h \ commdlg.h \ compobj.h \ @@ -242,7 +242,6 @@ WINE_INCLUDES = \ exception.h \ library.h \ obj_cache.h \ - obj_comcat.h \ obj_commdlgbrowser.h \ obj_connection.h \ obj_contextmenu.h \ @@ -250,7 +249,6 @@ WINE_INCLUDES = \ obj_dockingwindowframe.h \ obj_dragdrop.h \ obj_dragdrophelper.h \ - obj_enumguid.h \ obj_enumidlist.h \ obj_extracticon.h \ obj_inplace.h \ diff --git a/include/comcat.h b/include/comcat.h dissimilarity index 93% index f7d16278c35..4e0d4358b06 100644 --- a/include/comcat.h +++ b/include/comcat.h @@ -1,33 +1,735 @@ -/* - * Copyright (C) 2000 Francois Gouget - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include -#include -#ifndef COM_NO_WINDOWS_H -#include -#include -#endif - -#ifndef __WINE_COMCAT_H -#define __WINE_COMCAT_H - -#include -#include -#include - -#endif /*__WINE_COMCAT_H */ +/*** Autogenerated by WIDL 0.1 from comcat.idl - Do not edit ***/ +#include +#include + +#ifndef __WIDL_COMCAT_H +#define __WIDL_COMCAT_H +#ifdef __cplusplus +extern "C" { +#endif +#include +typedef GUID CATID; + +typedef REFGUID REFCATID; + +#define CATID_NULL GUID_NULL +#define IsEqualCATID(rcatid1, rcatid2) IsEqualGUID(rcatid1, rcatid2) +#define IEnumCATID IEnumGUID +#define IID_IEnumCATID IID_IEnumGUID +#define LPENUMCATID LPENUMGUID +#define IEnumCLSID IEnumGUID +#define IID_IEnumCLSID IID_IEnumGUID +#define LPENUMCLSID LPENUMGUID +#ifndef __IEnumGUID_FWD_DEFINED__ +#define __IEnumGUID_FWD_DEFINED__ +typedef struct IEnumGUID IEnumGUID; +#endif + +typedef IEnumGUID *LPENUMGUID; + +/***************************************************************************** + * IEnumGUID interface + */ +#ifndef __IEnumGUID_INTERFACE_DEFINED__ +#define __IEnumGUID_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IEnumGUID, 0x0002e000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +struct IEnumGUID : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Next( + ULONG celt, + GUID* rgelt, + ULONG* pceltFetched) = 0; + + virtual HRESULT STDMETHODCALLTYPE Skip( + ULONG celt) = 0; + + virtual HRESULT STDMETHODCALLTYPE Reset( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IEnumGUID** ppenum) = 0; + +}; +#else +typedef struct IEnumGUIDVtbl IEnumGUIDVtbl; +struct IEnumGUID { + const IEnumGUIDVtbl* lpVtbl; +}; +struct IEnumGUIDVtbl { + ICOM_MSVTABLE_COMPAT_FIELDS + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IEnumGUID* This, + REFIID riid, + void** ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IEnumGUID* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IEnumGUID* This); + + /*** IEnumGUID methods ***/ + HRESULT (STDMETHODCALLTYPE *Next)( + IEnumGUID* This, + ULONG celt, + GUID* rgelt, + ULONG* pceltFetched); + + HRESULT (STDMETHODCALLTYPE *Skip)( + IEnumGUID* This, + ULONG celt); + + HRESULT (STDMETHODCALLTYPE *Reset)( + IEnumGUID* This); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IEnumGUID* This, + IEnumGUID** ppenum); + +}; + +/*** IUnknown methods ***/ +#define IEnumGUID_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IEnumGUID_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IEnumGUID_Release(p) (p)->lpVtbl->Release(p) +/*** IEnumGUID methods ***/ +#define IEnumGUID_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) +#define IEnumGUID_Skip(p,a) (p)->lpVtbl->Skip(p,a) +#define IEnumGUID_Reset(p) (p)->lpVtbl->Reset(p) +#define IEnumGUID_Clone(p,a) (p)->lpVtbl->Clone(p,a) + +#endif + +#define IEnumGUID_METHODS \ + ICOM_MSVTABLE_COMPAT_FIELDS \ + /*** IUnknown methods ***/ \ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ + STDMETHOD_(ULONG,Release)(THIS) PURE; \ + /*** IEnumGUID methods ***/ \ + STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, GUID* rgelt, ULONG* pceltFetched) PURE; \ + STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \ + STDMETHOD_(HRESULT,Reset)(THIS) PURE; \ + STDMETHOD_(HRESULT,Clone)(THIS_ IEnumGUID** ppenum) PURE; + +HRESULT CALLBACK IEnumGUID_Next_Proxy( + IEnumGUID* This, + ULONG celt, + GUID* rgelt, + ULONG* pceltFetched); +void __RPC_STUB IEnumGUID_Next_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IEnumGUID_Skip_Proxy( + IEnumGUID* This, + ULONG celt); +void __RPC_STUB IEnumGUID_Skip_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IEnumGUID_Reset_Proxy( + IEnumGUID* This); +void __RPC_STUB IEnumGUID_Reset_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IEnumGUID_Clone_Proxy( + IEnumGUID* This, + IEnumGUID** ppenum); +void __RPC_STUB IEnumGUID_Clone_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IEnumGUID_INTERFACE_DEFINED__ */ + +#ifndef __IEnumCATEGORYINFO_FWD_DEFINED__ +#define __IEnumCATEGORYINFO_FWD_DEFINED__ +typedef struct IEnumCATEGORYINFO IEnumCATEGORYINFO; +#endif + +typedef IEnumCATEGORYINFO *LPENUMCATEGORYINFO; + +typedef struct tagCATEGORYINFO { + CATID catid; + LCID lcid; + OLECHAR szDescription[128]; +} CATEGORYINFO, *LPCATEGORYINFO; + +/***************************************************************************** + * IEnumCATEGORYINFO interface + */ +#ifndef __IEnumCATEGORYINFO_INTERFACE_DEFINED__ +#define __IEnumCATEGORYINFO_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IEnumCATEGORYINFO, 0x0002e011, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +struct IEnumCATEGORYINFO : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Next( + ULONG celt, + CATEGORYINFO* rgelt, + ULONG* pceltFetched) = 0; + + virtual HRESULT STDMETHODCALLTYPE Skip( + ULONG celt) = 0; + + virtual HRESULT STDMETHODCALLTYPE Reset( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IEnumCATEGORYINFO** ppenum) = 0; + +}; +#else +typedef struct IEnumCATEGORYINFOVtbl IEnumCATEGORYINFOVtbl; +struct IEnumCATEGORYINFO { + const IEnumCATEGORYINFOVtbl* lpVtbl; +}; +struct IEnumCATEGORYINFOVtbl { + ICOM_MSVTABLE_COMPAT_FIELDS + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IEnumCATEGORYINFO* This, + REFIID riid, + void** ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IEnumCATEGORYINFO* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IEnumCATEGORYINFO* This); + + /*** IEnumCATEGORYINFO methods ***/ + HRESULT (STDMETHODCALLTYPE *Next)( + IEnumCATEGORYINFO* This, + ULONG celt, + CATEGORYINFO* rgelt, + ULONG* pceltFetched); + + HRESULT (STDMETHODCALLTYPE *Skip)( + IEnumCATEGORYINFO* This, + ULONG celt); + + HRESULT (STDMETHODCALLTYPE *Reset)( + IEnumCATEGORYINFO* This); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IEnumCATEGORYINFO* This, + IEnumCATEGORYINFO** ppenum); + +}; + +/*** IUnknown methods ***/ +#define IEnumCATEGORYINFO_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IEnumCATEGORYINFO_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IEnumCATEGORYINFO_Release(p) (p)->lpVtbl->Release(p) +/*** IEnumCATEGORYINFO methods ***/ +#define IEnumCATEGORYINFO_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) +#define IEnumCATEGORYINFO_Skip(p,a) (p)->lpVtbl->Skip(p,a) +#define IEnumCATEGORYINFO_Reset(p) (p)->lpVtbl->Reset(p) +#define IEnumCATEGORYINFO_Clone(p,a) (p)->lpVtbl->Clone(p,a) + +#endif + +#define IEnumCATEGORYINFO_METHODS \ + ICOM_MSVTABLE_COMPAT_FIELDS \ + /*** IUnknown methods ***/ \ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ + STDMETHOD_(ULONG,Release)(THIS) PURE; \ + /*** IEnumCATEGORYINFO methods ***/ \ + STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, CATEGORYINFO* rgelt, ULONG* pceltFetched) PURE; \ + STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \ + STDMETHOD_(HRESULT,Reset)(THIS) PURE; \ + STDMETHOD_(HRESULT,Clone)(THIS_ IEnumCATEGORYINFO** ppenum) PURE; + +HRESULT CALLBACK IEnumCATEGORYINFO_Next_Proxy( + IEnumCATEGORYINFO* This, + ULONG celt, + CATEGORYINFO* rgelt, + ULONG* pceltFetched); +void __RPC_STUB IEnumCATEGORYINFO_Next_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IEnumCATEGORYINFO_Skip_Proxy( + IEnumCATEGORYINFO* This, + ULONG celt); +void __RPC_STUB IEnumCATEGORYINFO_Skip_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IEnumCATEGORYINFO_Reset_Proxy( + IEnumCATEGORYINFO* This); +void __RPC_STUB IEnumCATEGORYINFO_Reset_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IEnumCATEGORYINFO_Clone_Proxy( + IEnumCATEGORYINFO* This, + IEnumCATEGORYINFO** ppenum); +void __RPC_STUB IEnumCATEGORYINFO_Clone_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IEnumCATEGORYINFO_INTERFACE_DEFINED__ */ + +#ifndef __ICatInformation_FWD_DEFINED__ +#define __ICatInformation_FWD_DEFINED__ +typedef struct ICatInformation ICatInformation; +#endif + +typedef ICatInformation *LPCATINFORMATION; + +/***************************************************************************** + * ICatInformation interface + */ +#ifndef __ICatInformation_INTERFACE_DEFINED__ +#define __ICatInformation_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ICatInformation, 0x0002e013, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +struct ICatInformation : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE EnumCategories( + LCID lcid, + IEnumCATEGORYINFO** ppenumCategoryInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCategoryDesc( + REFCATID rcatid, + LCID lcid, + LPWSTR* pszDesc) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumClassesOfCategories( + ULONG cImplemented, + CATID rgcatidImpl[], + ULONG cRequired, + CATID rgcatidReq[], + IEnumGUID** ppenumClsid) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsClassOfCategories( + REFCLSID rclsid, + ULONG cImplemented, + CATID rgcatidImpl[], + ULONG cRequired, + CATID rgcatidReq[]) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumImplCategoriesOfClass( + REFCLSID rclsid, + IEnumGUID** ppenumCatid) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumReqCategoriesOfClass( + REFCLSID rclsid, + IEnumGUID** ppenumCatid) = 0; + +}; +#else +typedef struct ICatInformationVtbl ICatInformationVtbl; +struct ICatInformation { + const ICatInformationVtbl* lpVtbl; +}; +struct ICatInformationVtbl { + ICOM_MSVTABLE_COMPAT_FIELDS + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ICatInformation* This, + REFIID riid, + void** ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ICatInformation* This); + + ULONG (STDMETHODCALLTYPE *Release)( + ICatInformation* This); + + /*** ICatInformation methods ***/ + HRESULT (STDMETHODCALLTYPE *EnumCategories)( + ICatInformation* This, + LCID lcid, + IEnumCATEGORYINFO** ppenumCategoryInfo); + + HRESULT (STDMETHODCALLTYPE *GetCategoryDesc)( + ICatInformation* This, + REFCATID rcatid, + LCID lcid, + LPWSTR* pszDesc); + + HRESULT (STDMETHODCALLTYPE *EnumClassesOfCategories)( + ICatInformation* This, + ULONG cImplemented, + CATID rgcatidImpl[], + ULONG cRequired, + CATID rgcatidReq[], + IEnumGUID** ppenumClsid); + + HRESULT (STDMETHODCALLTYPE *IsClassOfCategories)( + ICatInformation* This, + REFCLSID rclsid, + ULONG cImplemented, + CATID rgcatidImpl[], + ULONG cRequired, + CATID rgcatidReq[]); + + HRESULT (STDMETHODCALLTYPE *EnumImplCategoriesOfClass)( + ICatInformation* This, + REFCLSID rclsid, + IEnumGUID** ppenumCatid); + + HRESULT (STDMETHODCALLTYPE *EnumReqCategoriesOfClass)( + ICatInformation* This, + REFCLSID rclsid, + IEnumGUID** ppenumCatid); + +}; + +/*** IUnknown methods ***/ +#define ICatInformation_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define ICatInformation_AddRef(p) (p)->lpVtbl->AddRef(p) +#define ICatInformation_Release(p) (p)->lpVtbl->Release(p) +/*** ICatInformation methods ***/ +#define ICatInformation_EnumCategories(p,a,b) (p)->lpVtbl->EnumCategories(p,a,b) +#define ICatInformation_GetCategoryDesc(p,a,b,c) (p)->lpVtbl->GetCategoryDesc(p,a,b,c) +#define ICatInformation_EnumClassesOfCategories(p,a,b,c,d,e) (p)->lpVtbl->EnumClassesOfCategories(p,a,b,c,d,e) +#define ICatInformation_IsClassOfCategories(p,a,b,c,d,e) (p)->lpVtbl->IsClassOfCategories(p,a,b,c,d,e) +#define ICatInformation_EnumImplCategoriesOfClass(p,a,b) (p)->lpVtbl->EnumImplCategoriesOfClass(p,a,b) +#define ICatInformation_EnumReqCategoriesOfClass(p,a,b) (p)->lpVtbl->EnumReqCategoriesOfClass(p,a,b) + +#endif + +#define ICatInformation_METHODS \ + ICOM_MSVTABLE_COMPAT_FIELDS \ + /*** IUnknown methods ***/ \ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ + STDMETHOD_(ULONG,Release)(THIS) PURE; \ + /*** ICatInformation methods ***/ \ + STDMETHOD_(HRESULT,EnumCategories)(THIS_ LCID lcid, IEnumCATEGORYINFO** ppenumCategoryInfo) PURE; \ + STDMETHOD_(HRESULT,GetCategoryDesc)(THIS_ REFCATID rcatid, LCID lcid, LPWSTR* pszDesc) PURE; \ + STDMETHOD_(HRESULT,EnumClassesOfCategories)(THIS_ ULONG cImplemented, CATID rgcatidImpl[], ULONG cRequired, CATID rgcatidReq[], IEnumGUID** ppenumClsid) PURE; \ + STDMETHOD_(HRESULT,IsClassOfCategories)(THIS_ REFCLSID rclsid, ULONG cImplemented, CATID rgcatidImpl[], ULONG cRequired, CATID rgcatidReq[]) PURE; \ + STDMETHOD_(HRESULT,EnumImplCategoriesOfClass)(THIS_ REFCLSID rclsid, IEnumGUID** ppenumCatid) PURE; \ + STDMETHOD_(HRESULT,EnumReqCategoriesOfClass)(THIS_ REFCLSID rclsid, IEnumGUID** ppenumCatid) PURE; + +HRESULT CALLBACK ICatInformation_EnumCategories_Proxy( + ICatInformation* This, + LCID lcid, + IEnumCATEGORYINFO** ppenumCategoryInfo); +void __RPC_STUB ICatInformation_EnumCategories_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ICatInformation_GetCategoryDesc_Proxy( + ICatInformation* This, + REFCATID rcatid, + LCID lcid, + LPWSTR* pszDesc); +void __RPC_STUB ICatInformation_GetCategoryDesc_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ICatInformation_RemoteEnumClassesOfCategories_Proxy( + ICatInformation* This, + ULONG cImplemented, + CATID rgcatidImpl[], + ULONG cRequired, + CATID rgcatidReq[], + IEnumGUID** ppenumClsid); +void __RPC_STUB ICatInformation_RemoteEnumClassesOfCategories_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ICatInformation_EnumClassesOfCategories_Proxy( + ICatInformation* This, + ULONG cImplemented, + CATID rgcatidImpl[], + ULONG cRequired, + CATID rgcatidReq[], + IEnumGUID** ppenumClsid); +HRESULT __RPC_STUB ICatInformation_EnumClassesOfCategories_Stub( + ICatInformation* This, + ULONG cImplemented, + CATID rgcatidImpl[], + ULONG cRequired, + CATID rgcatidReq[], + IEnumGUID** ppenumClsid); +HRESULT CALLBACK ICatInformation_RemoteIsClassOfCategories_Proxy( + ICatInformation* This, + REFCLSID rclsid, + ULONG cImplemented, + CATID rgcatidImpl[], + ULONG cRequired, + CATID rgcatidReq[]); +void __RPC_STUB ICatInformation_RemoteIsClassOfCategories_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ICatInformation_IsClassOfCategories_Proxy( + ICatInformation* This, + REFCLSID rclsid, + ULONG cImplemented, + CATID rgcatidImpl[], + ULONG cRequired, + CATID rgcatidReq[]); +HRESULT __RPC_STUB ICatInformation_IsClassOfCategories_Stub( + ICatInformation* This, + REFCLSID rclsid, + ULONG cImplemented, + CATID rgcatidImpl[], + ULONG cRequired, + CATID rgcatidReq[]); +HRESULT CALLBACK ICatInformation_EnumImplCategoriesOfClass_Proxy( + ICatInformation* This, + REFCLSID rclsid, + IEnumGUID** ppenumCatid); +void __RPC_STUB ICatInformation_EnumImplCategoriesOfClass_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ICatInformation_EnumReqCategoriesOfClass_Proxy( + ICatInformation* This, + REFCLSID rclsid, + IEnumGUID** ppenumCatid); +void __RPC_STUB ICatInformation_EnumReqCategoriesOfClass_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __ICatInformation_INTERFACE_DEFINED__ */ + +#ifndef __ICatRegister_FWD_DEFINED__ +#define __ICatRegister_FWD_DEFINED__ +typedef struct ICatRegister ICatRegister; +#endif + +typedef ICatRegister *LPCATREGISTER; + +/***************************************************************************** + * ICatRegister interface + */ +#ifndef __ICatRegister_INTERFACE_DEFINED__ +#define __ICatRegister_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ICatRegister, 0x0002e012, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +struct ICatRegister : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE RegisterCategories( + ULONG cCategories, + CATEGORYINFO rgCategoryInfo[]) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnRegisterCategories( + ULONG cCategories, + CATID rgcatid[]) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterClassImplCategories( + REFCLSID rclsid, + ULONG cCategories, + CATID rgcatid[]) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnRegisterClassImplCategories( + REFCLSID rclsid, + ULONG cCategories, + CATID rgcatid[]) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterClassReqCategories( + REFCLSID rclsid, + ULONG cCategories, + CATID rgcatid[]) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnRegisterClassReqCategories( + REFCLSID rclsid, + ULONG cCategories, + CATID rgcatid[]) = 0; + +}; +#else +typedef struct ICatRegisterVtbl ICatRegisterVtbl; +struct ICatRegister { + const ICatRegisterVtbl* lpVtbl; +}; +struct ICatRegisterVtbl { + ICOM_MSVTABLE_COMPAT_FIELDS + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ICatRegister* This, + REFIID riid, + void** ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ICatRegister* This); + + ULONG (STDMETHODCALLTYPE *Release)( + ICatRegister* This); + + /*** ICatRegister methods ***/ + HRESULT (STDMETHODCALLTYPE *RegisterCategories)( + ICatRegister* This, + ULONG cCategories, + CATEGORYINFO rgCategoryInfo[]); + + HRESULT (STDMETHODCALLTYPE *UnRegisterCategories)( + ICatRegister* This, + ULONG cCategories, + CATID rgcatid[]); + + HRESULT (STDMETHODCALLTYPE *RegisterClassImplCategories)( + ICatRegister* This, + REFCLSID rclsid, + ULONG cCategories, + CATID rgcatid[]); + + HRESULT (STDMETHODCALLTYPE *UnRegisterClassImplCategories)( + ICatRegister* This, + REFCLSID rclsid, + ULONG cCategories, + CATID rgcatid[]); + + HRESULT (STDMETHODCALLTYPE *RegisterClassReqCategories)( + ICatRegister* This, + REFCLSID rclsid, + ULONG cCategories, + CATID rgcatid[]); + + HRESULT (STDMETHODCALLTYPE *UnRegisterClassReqCategories)( + ICatRegister* This, + REFCLSID rclsid, + ULONG cCategories, + CATID rgcatid[]); + +}; + +/*** IUnknown methods ***/ +#define ICatRegister_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define ICatRegister_AddRef(p) (p)->lpVtbl->AddRef(p) +#define ICatRegister_Release(p) (p)->lpVtbl->Release(p) +/*** ICatRegister methods ***/ +#define ICatRegister_RegisterCategories(p,a,b) (p)->lpVtbl->RegisterCategories(p,a,b) +#define ICatRegister_UnRegisterCategories(p,a,b) (p)->lpVtbl->UnRegisterCategories(p,a,b) +#define ICatRegister_RegisterClassImplCategories(p,a,b,c) (p)->lpVtbl->RegisterClassImplCategories(p,a,b,c) +#define ICatRegister_UnRegisterClassImplCategories(p,a,b,c) (p)->lpVtbl->UnRegisterClassImplCategories(p,a,b,c) +#define ICatRegister_RegisterClassReqCategories(p,a,b,c) (p)->lpVtbl->RegisterClassReqCategories(p,a,b,c) +#define ICatRegister_UnRegisterClassReqCategories(p,a,b,c) (p)->lpVtbl->UnRegisterClassReqCategories(p,a,b,c) + +#endif + +#define ICatRegister_METHODS \ + ICOM_MSVTABLE_COMPAT_FIELDS \ + /*** IUnknown methods ***/ \ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ + STDMETHOD_(ULONG,Release)(THIS) PURE; \ + /*** ICatRegister methods ***/ \ + STDMETHOD_(HRESULT,RegisterCategories)(THIS_ ULONG cCategories, CATEGORYINFO rgCategoryInfo[]) PURE; \ + STDMETHOD_(HRESULT,UnRegisterCategories)(THIS_ ULONG cCategories, CATID rgcatid[]) PURE; \ + STDMETHOD_(HRESULT,RegisterClassImplCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID rgcatid[]) PURE; \ + STDMETHOD_(HRESULT,UnRegisterClassImplCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID rgcatid[]) PURE; \ + STDMETHOD_(HRESULT,RegisterClassReqCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID rgcatid[]) PURE; \ + STDMETHOD_(HRESULT,UnRegisterClassReqCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID rgcatid[]) PURE; + +HRESULT CALLBACK ICatRegister_RegisterCategories_Proxy( + ICatRegister* This, + ULONG cCategories, + CATEGORYINFO rgCategoryInfo[]); +void __RPC_STUB ICatRegister_RegisterCategories_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ICatRegister_UnRegisterCategories_Proxy( + ICatRegister* This, + ULONG cCategories, + CATID rgcatid[]); +void __RPC_STUB ICatRegister_UnRegisterCategories_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ICatRegister_RegisterClassImplCategories_Proxy( + ICatRegister* This, + REFCLSID rclsid, + ULONG cCategories, + CATID rgcatid[]); +void __RPC_STUB ICatRegister_RegisterClassImplCategories_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ICatRegister_UnRegisterClassImplCategories_Proxy( + ICatRegister* This, + REFCLSID rclsid, + ULONG cCategories, + CATID rgcatid[]); +void __RPC_STUB ICatRegister_UnRegisterClassImplCategories_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ICatRegister_RegisterClassReqCategories_Proxy( + ICatRegister* This, + REFCLSID rclsid, + ULONG cCategories, + CATID rgcatid[]); +void __RPC_STUB ICatRegister_RegisterClassReqCategories_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK ICatRegister_UnRegisterClassReqCategories_Proxy( + ICatRegister* This, + REFCLSID rclsid, + ULONG cCategories, + CATID rgcatid[]); +void __RPC_STUB ICatRegister_UnRegisterClassReqCategories_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __ICatRegister_INTERFACE_DEFINED__ */ + +DEFINE_GUID( CATID_Insertable, 0x40fc6ed3, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02); +DEFINE_GUID( CATID_Control, 0x40fc6ed4, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02); +DEFINE_GUID( CATID_Programmable, 0x40fc6ed5, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02); +DEFINE_GUID( CATID_IsShortcut, 0x40fc6ed6, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02); +DEFINE_GUID( CATID_NeverShowExt, 0x40fc6ed7, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02); +DEFINE_GUID( CATID_DocObject, 0x40fc6ed8, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02); +DEFINE_GUID( CATID_Printable, 0x40fc6ed9, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02); +DEFINE_GUID( CATID_RequiresDataPathHost, 0x0de86a50, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52); +DEFINE_GUID( CATID_PersistsToMoniker, 0x0de86a51, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52); +DEFINE_GUID( CATID_PersistsToStorage, 0x0de86a52, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52); +DEFINE_GUID( CATID_PersistsToStreamInit, 0x0de86a53, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52); +DEFINE_GUID( CATID_PersistsToStream, 0x0de86a54, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52); +DEFINE_GUID( CATID_PersistsToMemory, 0x0de86a55, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52); +DEFINE_GUID( CATID_PersistsToFile, 0x0de86a56, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52); +DEFINE_GUID( CATID_PersistsToPropertyBag, 0x0de86a57, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52); +DEFINE_GUID( CATID_InternetAware, 0x0de86a58, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52); +DEFINE_GUID( CATID_DesignTimeUIActivatableControl, 0xf2bb56d1, 0xdb07, 0x11d1, 0xaa, 0x6b, 0x00, 0x60, 0x97, 0xdb, 0x95, 0x39); +DEFINE_GUID(CLSID_StdComponentCategoriesMgr, 0x0002e005, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46); +#ifdef __cplusplus +} +#endif +#endif /* __WIDL_COMCAT_H */ diff --git a/include/comcat.idl b/include/comcat.idl new file mode 100644 index 00000000000..3f75b2adf07 --- /dev/null +++ b/include/comcat.idl @@ -0,0 +1,230 @@ +/* + * Copyright 2002 John K. Hohm + * Copyright 2003 Alexandre Julliard + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +import "unknwn.idl"; + +/***************************************************************************** + * Types + */ +typedef GUID CATID; +typedef REFGUID REFCATID; +cpp_quote("#define CATID_NULL GUID_NULL") +cpp_quote("#define IsEqualCATID(rcatid1, rcatid2) IsEqualGUID(rcatid1, rcatid2)") + +/***************************************************************************** + * Aliases for EnumGUID + */ +#define IEnumCATID IEnumGUID +cpp_quote("#define IEnumCATID IEnumGUID") +cpp_quote("#define IID_IEnumCATID IID_IEnumGUID") +cpp_quote("#define LPENUMCATID LPENUMGUID") +#define IEnumCLSID IEnumGUID +cpp_quote("#define IEnumCLSID IEnumGUID") +cpp_quote("#define IID_IEnumCLSID IID_IEnumGUID") +cpp_quote("#define LPENUMCLSID LPENUMGUID") + + +/***************************************************************************** + * IEnumGUID + */ +[ + object, + uuid(0002e000-0000-0000-c000-000000000046), + pointer_default(unique) +] +interface IEnumGUID : IUnknown +{ + typedef [unique] IEnumGUID *LPENUMGUID; + + HRESULT Next( + [in] ULONG celt, + [out, size_is(celt), length_is(*pceltFetched)] GUID *rgelt, + [out] ULONG *pceltFetched); + + HRESULT Skip( + [in] ULONG celt); + + HRESULT Reset(); + + HRESULT Clone( + [out] IEnumGUID **ppenum); +} + + +/***************************************************************************** + * IEnumCATEGORYINFO + */ +[ + object, + uuid(0002e011-0000-0000-c000-000000000046), + pointer_default(unique) +] +interface IEnumCATEGORYINFO : IUnknown +{ + typedef [unique] IEnumCATEGORYINFO *LPENUMCATEGORYINFO; + + typedef struct tagCATEGORYINFO + { + CATID catid; /* category identifier for component */ + LCID lcid; /* locale identifier */ + OLECHAR szDescription[128]; /* description of the category */ + } CATEGORYINFO, *LPCATEGORYINFO; + + HRESULT Next( + [in] ULONG celt, + [out, size_is(celt), length_is(*pceltFetched)] CATEGORYINFO* rgelt, + [out] ULONG* pceltFetched); + + HRESULT Skip( + [in] ULONG celt); + + HRESULT Reset(); + + HRESULT Clone( + [out] IEnumCATEGORYINFO** ppenum); +} + + +/***************************************************************************** + * ICatInformation + */ +[ + object, + uuid(0002e013-0000-0000-c000-000000000046), + pointer_default(unique) +] +interface ICatInformation : IUnknown +{ + typedef [unique] ICatInformation* LPCATINFORMATION; + + HRESULT EnumCategories( + [in] LCID lcid, + [out] IEnumCATEGORYINFO** ppenumCategoryInfo); + + HRESULT GetCategoryDesc( + [in] REFCATID rcatid, + [in] LCID lcid, + [out] LPWSTR* pszDesc); + + [local] + HRESULT EnumClassesOfCategories( + [in] ULONG cImplemented, + [in,size_is(cImplemented)] CATID rgcatidImpl[], + [in] ULONG cRequired, + [in,size_is(cRequired)] CATID rgcatidReq[], + [out] IEnumCLSID** ppenumClsid); + + [call_as(EnumClassesOfCategories)] + HRESULT RemoteEnumClassesOfCategories( + [in] ULONG cImplemented, + [in,unique,size_is(cImplemented)] CATID rgcatidImpl[], + [in] ULONG cRequired, + [in,unique,size_is(cRequired)] CATID rgcatidReq[], + [out] IEnumCLSID** ppenumClsid); + + [local] + HRESULT IsClassOfCategories( + [in] REFCLSID rclsid, + [in] ULONG cImplemented, + [in,size_is(cImplemented)] CATID rgcatidImpl[], + [in] ULONG cRequired, + [in,size_is(cRequired)] CATID rgcatidReq[]); + + [call_as(IsClassOfCategories)] + HRESULT RemoteIsClassOfCategories( + [in] REFCLSID rclsid, + [in] ULONG cImplemented, + [in,unique,size_is(cImplemented)] CATID rgcatidImpl[], + [in] ULONG cRequired, + [in,unique,size_is(cRequired)] CATID rgcatidReq[] ); + + HRESULT EnumImplCategoriesOfClass( + [in] REFCLSID rclsid, + [out] IEnumCATID** ppenumCatid); + + HRESULT EnumReqCategoriesOfClass( + [in] REFCLSID rclsid, + [out] IEnumCATID** ppenumCatid); +} + + +/***************************************************************************** + * ICatRegister + */ +[ + object, + uuid(0002e012-0000-0000-c000-000000000046), + pointer_default(unique) +] +interface ICatRegister : IUnknown +{ + typedef [unique] ICatRegister* LPCATREGISTER; + + HRESULT RegisterCategories( + [in] ULONG cCategories, + [in, size_is(cCategories)] CATEGORYINFO rgCategoryInfo[]); + + HRESULT UnRegisterCategories( + [in] ULONG cCategories, + [in, size_is(cCategories)] CATID rgcatid[]); + + HRESULT RegisterClassImplCategories( + [in] REFCLSID rclsid, + [in] ULONG cCategories, + [in, size_is(cCategories)] CATID rgcatid[]); + + HRESULT UnRegisterClassImplCategories( + [in] REFCLSID rclsid, + [in] ULONG cCategories, + [in, size_is(cCategories)] CATID rgcatid[]); + + HRESULT RegisterClassReqCategories( + [in] REFCLSID rclsid, + [in] ULONG cCategories, + [in, size_is(cCategories)] CATID rgcatid[]); + + HRESULT UnRegisterClassReqCategories( + [in] REFCLSID rclsid, + [in] ULONG cCategories, + [in, size_is(cCategories)] CATID rgcatid[]); +} + + +/***************************************************************************** + * Category IDs + */ +cpp_quote("DEFINE_GUID( CATID_Insertable, 0x40fc6ed3, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);") +cpp_quote("DEFINE_GUID( CATID_Control, 0x40fc6ed4, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);") +cpp_quote("DEFINE_GUID( CATID_Programmable, 0x40fc6ed5, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);") +cpp_quote("DEFINE_GUID( CATID_IsShortcut, 0x40fc6ed6, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);") +cpp_quote("DEFINE_GUID( CATID_NeverShowExt, 0x40fc6ed7, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);") +cpp_quote("DEFINE_GUID( CATID_DocObject, 0x40fc6ed8, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);") +cpp_quote("DEFINE_GUID( CATID_Printable, 0x40fc6ed9, 0x2438, 0x11cf, 0xa3, 0xdb, 0x08, 0x00, 0x36, 0xf1, 0x25, 0x02);") +cpp_quote("DEFINE_GUID( CATID_RequiresDataPathHost, 0x0de86a50, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);") +cpp_quote("DEFINE_GUID( CATID_PersistsToMoniker, 0x0de86a51, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);") +cpp_quote("DEFINE_GUID( CATID_PersistsToStorage, 0x0de86a52, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);") +cpp_quote("DEFINE_GUID( CATID_PersistsToStreamInit, 0x0de86a53, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);") +cpp_quote("DEFINE_GUID( CATID_PersistsToStream, 0x0de86a54, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);") +cpp_quote("DEFINE_GUID( CATID_PersistsToMemory, 0x0de86a55, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);") +cpp_quote("DEFINE_GUID( CATID_PersistsToFile, 0x0de86a56, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);") +cpp_quote("DEFINE_GUID( CATID_PersistsToPropertyBag, 0x0de86a57, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);") +cpp_quote("DEFINE_GUID( CATID_InternetAware, 0x0de86a58, 0x2baa, 0x11cf, 0xa2, 0x29, 0x00, 0xaa, 0x00, 0x3d, 0x73, 0x52);") +cpp_quote("DEFINE_GUID( CATID_DesignTimeUIActivatableControl, 0xf2bb56d1, 0xdb07, 0x11d1, 0xaa, 0x6b, 0x00, 0x60, 0x97, 0xdb, 0x95, 0x39);") +/* The Component Category Manager */ +cpp_quote("DEFINE_GUID(CLSID_StdComponentCategoriesMgr, 0x0002e005, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);") diff --git a/include/wine/obj_comcat.h b/include/wine/obj_comcat.h deleted file mode 100644 index 9b6c99ca673..00000000000 --- a/include/wine/obj_comcat.h +++ /dev/null @@ -1,178 +0,0 @@ -/* - * Defines the COM interfaces and APIs related to Component Category Manager - * - * Depends on 'obj_enumguid.h'. - * - * Copyright (C) 2002 John K. Hohm - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef __WINE_WINE_OBJ_COMCAT_H -#define __WINE_WINE_OBJ_COMCAT_H - -#ifdef __cplusplus -extern "C" { -#endif /* defined(__cplusplus) */ - -/***************************************************************************** - * Types - */ -typedef GUID CATID; -typedef REFGUID REFCATID; -#define CATID_NULL GUID_NULL -#define IsEqualCATID(a, b) IsEqualGUID(a, b) - -typedef struct tagCATEGORYINFO { - CATID catid; /* category identifier for component */ - LCID lcid; /* locale identifier */ - OLECHAR szDescription[128]; /* description of the category */ -} CATEGORYINFO, *LPCATEGORYINFO; - -/***************************************************************************** - * Category IDs - */ -DEFINE_GUID(CATID_Insertable, 0x40FC6ED3, 0x2438, 0x11CF, 0xA3, 0xDB, 0x08, 0x00, 0x36, 0xF1, 0x25, 0x02); -DEFINE_GUID(CATID_Control, 0x40FC6ED4, 0x2438, 0x11CF, 0xA3, 0xDB, 0x08, 0x00, 0x36, 0xF1, 0x25, 0x02); -DEFINE_GUID(CATID_Programmable, 0x40FC6ED5, 0x2438, 0x11CF, 0xA3, 0xDB, 0x08, 0x00, 0x36, 0xF1, 0x25, 0x02); -DEFINE_GUID(CATID_IsShortcut, 0x40FC6ED6, 0x2438, 0x11CF, 0xA3, 0xDB, 0x08, 0x00, 0x36, 0xF1, 0x25, 0x02); -DEFINE_GUID(CATID_NeverShowExt, 0x40FC6ED7, 0x2438, 0x11CF, 0xA3, 0xDB, 0x08, 0x00, 0x36, 0xF1, 0x25, 0x02); -DEFINE_GUID(CATID_DocObject, 0x40FC6ED8, 0x2438, 0x11CF, 0xA3, 0xDB, 0x08, 0x00, 0x36, 0xF1, 0x25, 0x02); -DEFINE_GUID(CATID_Printable, 0x40FC6ED9, 0x2438, 0x11CF, 0xA3, 0xDB, 0x08, 0x00, 0x36, 0xF1, 0x25, 0x02); -DEFINE_GUID(CATID_RequiresDataPathHost, 0x0DE86A50, 0x2BAA, 0x11CF, 0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52); -DEFINE_GUID(CATID_PersistsToMoniker, 0x0DE86A51, 0x2BAA, 0x11CF, 0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52); -DEFINE_GUID(CATID_PersistsToStorage, 0x0DE86A52, 0x2BAA, 0x11CF, 0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52); -DEFINE_GUID(CATID_PersistsToStreamInit, 0x0DE86A53, 0x2BAA, 0x11CF, 0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52); -DEFINE_GUID(CATID_PersistsToStream, 0x0DE86A54, 0x2BAA, 0x11CF, 0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52); -DEFINE_GUID(CATID_PersistsToMemory, 0x0DE86A55, 0x2BAA, 0x11CF, 0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52); -DEFINE_GUID(CATID_PersistsToFile, 0x0DE86A56, 0x2BAA, 0x11CF, 0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52); -DEFINE_GUID(CATID_PersistsToPropertyBag, 0x0DE86A57, 0x2BAA, 0x11CF, 0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52); -DEFINE_GUID(CATID_InternetAware, 0x0DE86A58, 0x2BAA, 0x11CF, 0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52); -DEFINE_GUID(CATID_DesignTimeUIActivatableControl, 0xF2BB56D1, 0xDB07, 0x11D1, 0xAA, 0x6B, 0x00, 0x60, 0x97, 0xDB, 0x95, 0x39); - -/***************************************************************************** - * Aliases for EnumGUID - */ -#define IEnumCATID IEnumGUID -#define LPENUMCATID LPENUMGUID -#define IID_IEnumCATID IID_IEnumGUID - -#define IEnumCLSID IEnumGUID -#define LPENUMCLSID LPENUMGUID -#define IID_IEnumCLSID IID_IEnumGUID - -/***************************************************************************** - * Predeclare the interfaces - */ -DEFINE_OLEGUID(IID_ICatInformation, 0x0002E013L, 0, 0); -typedef struct ICatInformation ICatInformation, *LPCATINFORMATION; - -DEFINE_OLEGUID(IID_ICatRegister, 0x0002E012L, 0, 0); -typedef struct ICatRegister ICatRegister, *LPCATREGISTER; - -DEFINE_OLEGUID(IID_IEnumCATEGORYINFO, 0x0002E011L, 0, 0); -typedef struct IEnumCATEGORYINFO IEnumCATEGORYINFO, *LPENUMCATEGORYINFO; - -/* The Component Category Manager */ -DEFINE_OLEGUID(CLSID_StdComponentCategoriesMgr, 0x0002E005L, 0, 0); - -/***************************************************************************** - * ICatInformation - */ -#define INTERFACE ICatInformation -#define ICatInformation_METHODS \ - IUnknown_METHODS \ - STDMETHOD(EnumCategories)(THIS_ LCID lcid, IEnumCATEGORYINFO ** ppenumCatInfo) PURE; \ - STDMETHOD(GetCategoryDesc)(THIS_ REFCATID rcatid, LCID lcid, PWCHAR * ppszDesc) PURE; \ - STDMETHOD(EnumClassesOfCategories)(THIS_ ULONG cImplemented, CATID * rgcatidImpl, ULONG cRequired, CATID * rgcatidReq, IEnumCLSID ** ppenumCLSID) PURE; \ - STDMETHOD(IsClassOfCategories)(THIS_ REFCLSID rclsid, ULONG cImplemented, CATID * rgcatidImpl, ULONG cRequired, CATID * rgcatidReq) PURE; \ - STDMETHOD(EnumImplCategoriesOfClass)(THIS_ REFCLSID rclsid, IEnumCATID ** ppenumCATID) PURE; \ - STDMETHOD(EnumReqCategoriesOfClass)(THIS_ REFCLSID rclsid, IEnumCATID ** ppenumCATID) PURE; -ICOM_DEFINE(ICatInformation,IUnknown) -#undef INTERFACE - -#ifdef COBJMACROS -/*** IUnknown methods ***/ -#define ICatInformation_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define ICatInformation_AddRef(p) (p)->lpVtbl->AddRef(p) -#define ICatInformation_Release(p) (p)->lpVtbl->Release(p) -/*** ICatInformation methods ***/ -#define ICatInformation_EnumCategories(p,a,b) (p)->lpVtbl->EnumCategories(p,a,b) -#define ICatInformation_GetCategoryDesc(p,a,b,c) (p)->lpVtbl->GetCategoryDesc(p,a,b,c) -#define ICatInformation_EnumClassesOfCategories(p,a,b,c,d,e) (p)->lpVtbl->EnumClassesOfCategories(p,a,b,c,d,e) -#define ICatInformation_IsClassOfCategories(p,a,b,c,d,e) (p)->lpVtbl->IsClassOfCategories(p,a,b,c,d,e) -#define ICatInformation_EnumImplCategoriesOfClass(p,a,b) (p)->lpVtbl->EnumImplCategoriesOfClass(p,a,b) -#define ICatInformation_EnumReqCategoriesOfClass(p,a,b) (p)->lpVtbl->EnumReqCategoriesOfClass(p,a,b) -#endif - -/***************************************************************************** - * ICatRegister - */ -#define INTERFACE ICatRegister -#define ICatRegister_METHODS \ - IUnknown_METHODS \ - STDMETHOD(RegisterCategories)(THIS_ ULONG cCategories, CATEGORYINFO * rgCategoryInfo) PURE; \ - STDMETHOD(UnRegisterCategories)(THIS_ ULONG cCategories, CATID * rgcatid) PURE; \ - STDMETHOD(RegisterClassImplCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID * rgcatid) PURE; \ - STDMETHOD(UnRegisterClassImplCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID * rgcatid) PURE; \ - STDMETHOD(RegisterClassReqCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID * rgcatid) PURE; \ - STDMETHOD(UnRegisterClassReqCategories)(THIS_ REFCLSID rclsid, ULONG cCategories, CATID * rgcatid) PURE; -ICOM_DEFINE(ICatRegister,IUnknown) -#undef INTERFACE - -#ifdef COBJMACROS -/*** IUnknown methods ***/ -#define ICatRegister_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define ICatRegister_AddRef(p) (p)->lpVtbl->AddRef(p) -#define ICatRegister_Release(p) (p)->lpVtbl->Release(p) -/*** ICatRegister methods ***/ -#define ICatRegister_RegisterCategories(p,a,b) (p)->lpVtbl->RegisterCategories(p,a,b) -#define ICatRegister_UnRegisterCategories(p,a,b) (p)->lpVtbl->UnRegisterCategories(p,a,b) -#define ICatRegister_RegisterClassImplCategories(p,a,b,c) (p)->lpVtbl->RegisterClassImplCategories(p,a,b,c) -#define ICatRegister_UnRegisterClassImplCategories(p,a,b,c) (p)->lpVtbl->UnRegisterClassImplCategories(p,a,b,c) -#define ICatRegister_RegisterClassReqCategories(p,a,b,c) (p)->lpVtbl->RegisterClassReqCategories(p,a,b,c) -#define ICatRegister_UnRegisterClassReqCategories(p,a,b,c) (p)->lpVtbl->UnRegisterClassReqCategories(p,a,b,c) -#endif - -/***************************************************************************** - * IEnumCATEGORYINFO - */ -#define INTERFACE IEnumCATEGORYINFO -#define IEnumCATEGORYINFO_METHODS \ - IUnknown_METHODS \ - STDMETHOD(Next)(THIS_ ULONG celt, CATEGORYINFO * rgelt, ULONG * pceltFetched) PURE; \ - STDMETHOD(Skip)(THIS_ ULONG celt) PURE; \ - STDMETHOD(Reset)(THIS) PURE; \ - STDMETHOD(Clone)(THIS_ IEnumCATEGORYINFO ** ppenum) PURE; -ICOM_DEFINE(IEnumCATEGORYINFO,IUnknown) -#undef INTERFACE - -#ifdef COBJMACROS -/*** IUnknown methods ***/ -#define IEnumCATEGORYINFO_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IEnumCATEGORYINFO_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IEnumCATEGORYINFO_Release(p) (p)->lpVtbl->Release(p) -/*** IEnumCATEGORYINFO methods ***/ -#define IEnumCATEGORYINFO_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) -#define IEnumCATEGORYINFO_Skip(p,a) (p)->lpVtbl->Skip(p,a) -#define IEnumCATEGORYINFO_Reset(p) (p)->lpVtbl->Reset(p) -#define IEnumCATEGORYINFO_Clone(p,a) (p)->lpVtbl->Clone(p,a) -#endif - -#ifdef __cplusplus -} /* extern "C" */ -#endif /* defined(__cplusplus) */ - -#endif /* __WINE_WINE_OBJ_COMCAT_H */ diff --git a/include/wine/obj_enumguid.h b/include/wine/obj_enumguid.h deleted file mode 100644 index 779a668d382..00000000000 --- a/include/wine/obj_enumguid.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Defines the COM interfaces and APIs related to EnumGUID - * - * Depends on 'obj_base.h'. - * - * Copyright (C) 2002 John K. Hohm - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef __WINE_WINE_OBJ_ENUMGUID_H -#define __WINE_WINE_OBJ_ENUMGUID_H - -#ifdef __cplusplus -extern "C" { -#endif /* defined(__cplusplus) */ - -/***************************************************************************** - * Predeclare the interfaces - */ -DEFINE_OLEGUID(IID_IEnumGUID, 0x0002E000L, 0, 0); -typedef struct IEnumGUID IEnumGUID, *LPENUMGUID; - -/***************************************************************************** - * IEnumGUID - */ -#define INTERFACE IEnumGUID -#define IEnumGUID_METHODS \ - IUnknown_METHODS \ - STDMETHOD(Next)(THIS_ ULONG celt, GUID * rgelt, ULONG * pceltFetched) PURE; \ - STDMETHOD(Skip)(THIS_ ULONG celt) PURE; \ - STDMETHOD(Reset)(THIS) PURE; \ - STDMETHOD(Clone)(THIS_ IEnumGUID ** ppenum) PURE; -ICOM_DEFINE(IEnumGUID,IUnknown) -#undef INTERFACE - -#ifdef COBJMACROS -/*** IUnknown methods ***/ -#define IEnumGUID_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IEnumGUID_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IEnumGUID_Release(p) (p)->lpVtbl->Release(p) -/*** IEnumGUID methods ***/ -#define IEnumGUID_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c) -#define IEnumGUID_Skip(p,a) (p)->lpVtbl->Skip(p,a) -#define IEnumGUID_Reset(p) (p)->lpVtbl->Reset(p) -#define IEnumGUID_Clone(p,a) (p)->lpVtbl->Clone(p,a) -#endif - -#ifdef __cplusplus -} /* extern "C" */ -#endif /* defined(__cplusplus) */ - -#endif /* __WINE_WINE_OBJ_ENUMGUID_H */ -- 2.11.4.GIT