Added definitions for the Component Categories Manager.
This commit is contained in:
parent
c74a791a0d
commit
b06116e24f
|
@ -143,6 +143,7 @@ INSTALLED_INCLUDES = \
|
||||||
wine/obj_cache.h \
|
wine/obj_cache.h \
|
||||||
wine/obj_channel.h \
|
wine/obj_channel.h \
|
||||||
wine/obj_clientserver.h \
|
wine/obj_clientserver.h \
|
||||||
|
wine/obj_comcat.h \
|
||||||
wine/obj_commdlgbrowser.h \
|
wine/obj_commdlgbrowser.h \
|
||||||
wine/obj_connection.h \
|
wine/obj_connection.h \
|
||||||
wine/obj_contextmenu.h \
|
wine/obj_contextmenu.h \
|
||||||
|
@ -150,6 +151,7 @@ INSTALLED_INCLUDES = \
|
||||||
wine/obj_dataobject.h \
|
wine/obj_dataobject.h \
|
||||||
wine/obj_dockingwindowframe.h \
|
wine/obj_dockingwindowframe.h \
|
||||||
wine/obj_dragdrop.h \
|
wine/obj_dragdrop.h \
|
||||||
|
wine/obj_enumguid.h \
|
||||||
wine/obj_enumidlist.h \
|
wine/obj_enumidlist.h \
|
||||||
wine/obj_errorinfo.h \
|
wine/obj_errorinfo.h \
|
||||||
wine/obj_extracticon.h \
|
wine/obj_extracticon.h \
|
||||||
|
|
|
@ -28,9 +28,8 @@
|
||||||
#ifndef __WINE_COMCAT_H
|
#ifndef __WINE_COMCAT_H
|
||||||
#define __WINE_COMCAT_H
|
#define __WINE_COMCAT_H
|
||||||
|
|
||||||
#include "unknwn.h"
|
#include "wine/obj_base.h"
|
||||||
|
#include "wine/obj_enumguid.h"
|
||||||
typedef GUID CATID;
|
#include "wine/obj_comcat.h"
|
||||||
typedef REFGUID REFCATID;
|
|
||||||
|
|
||||||
#endif /*__WINE_COMCAT_H */
|
#endif /*__WINE_COMCAT_H */
|
||||||
|
|
|
@ -0,0 +1,163 @@
|
||||||
|
/*
|
||||||
|
* 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;
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* 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 ICOM_INTERFACE ICatInformation
|
||||||
|
#define ICatInformation_METHODS \
|
||||||
|
ICOM_METHOD2(HRESULT, EnumCategories, LCID, lcid, IEnumCATEGORYINFO**, ppenumCatInfo) \
|
||||||
|
ICOM_METHOD3(HRESULT, GetCategoryDesc, REFCATID, rcatid, LCID, lcid, PWCHAR*, ppszDesc) \
|
||||||
|
ICOM_METHOD5(HRESULT, EnumClassesOfCategories, ULONG, cImplemented, CATID*, rgcatidImpl, ULONG, cRequired, CATID*, rgcatidReq, IEnumCLSID**, ppenumCLSID) \
|
||||||
|
ICOM_METHOD5(HRESULT, IsClassOfCategories, REFCLSID, rclsid, ULONG, cImplemented, CATID*, rgcatidImpl, ULONG, cRequired, CATID*, rgcatidReq) \
|
||||||
|
ICOM_METHOD2(HRESULT, EnumImplCategoriesOfClass, REFCLSID, rclsid, IEnumCATID**, ppenumCATID) \
|
||||||
|
ICOM_METHOD2(HRESULT, EnumReqCategoriesOfClass, REFCLSID, rclsid, IEnumCATID**, ppenumCATID)
|
||||||
|
#define ICatInformation_IMETHODS \
|
||||||
|
IUnknown_IMETHODS \
|
||||||
|
ICatInformation_METHODS
|
||||||
|
ICOM_DEFINE(ICatInformation,IUnknown)
|
||||||
|
#undef ICOM_INTERFACE
|
||||||
|
|
||||||
|
#ifdef ICOM_CINTERFACE
|
||||||
|
/*** IUnknown methods ***/
|
||||||
|
#define ICatInformation_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||||
|
#define ICatInformation_AddRef(p) ICOM_CALL (AddRef,p)
|
||||||
|
#define ICatInformation_Release(p) ICOM_CALL (Release,p)
|
||||||
|
/*** ICatInformation methods ***/
|
||||||
|
#define ICatInformation_EnumCategories(p,a,b) ICOM_CALL2(EnumCategories,p,a,b)
|
||||||
|
#define ICatInformation_GetCategoryDesc(p,a,b,c) ICOM_CALL3(GetCategoryDesc,p,a,b,c)
|
||||||
|
#define ICatInformation_EnumClassesOfCategories(p,a,b,c,d,e) ICOM_CALL5(EnumClassesOfCategories,p,a,b,c,d,e)
|
||||||
|
#define ICatInformation_IsClassOfCategories(p,a,b,c,d,e) ICOM_CALL5(IsClassOfCategories,p,a,b,c,d,e)
|
||||||
|
#define ICatInformation_EnumImplCategoriesOfClass(p,a,b) ICOM_CALL2(EnumImplCategoriesOfClass(p,a,b)
|
||||||
|
#define ICatInformation_EnumReqCategoriesOfClass(p,a,b) ICOM_CALL2(EnumReqCategoriesOfClass(p,a,b)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* ICatRegister
|
||||||
|
*/
|
||||||
|
#define ICOM_INTERFACE ICatRegister
|
||||||
|
#define ICatRegister_METHODS \
|
||||||
|
ICOM_METHOD2(HRESULT, RegisterCategories, ULONG, cCategories, CATEGORYINFO*, rgCategoryInfo) \
|
||||||
|
ICOM_METHOD2(HRESULT, UnRegisterCategories, ULONG, cCategories, CATID*, rgcatid) \
|
||||||
|
ICOM_METHOD3(HRESULT, RegisterClassImplCategories, REFCLSID, rclsid, ULONG, cCategories, CATID*, rgcatid) \
|
||||||
|
ICOM_METHOD3(HRESULT, UnRegisterClassImplCategories, REFCLSID, rclsid, ULONG, cCategories, CATID*, rgcatid) \
|
||||||
|
ICOM_METHOD3(HRESULT, RegisterClassReqCategories, REFCLSID, rclsid, ULONG, cCategories, CATID*, rgcatid) \
|
||||||
|
ICOM_METHOD3(HRESULT, UnRegisterClassReqCategories, REFCLSID, rclsid, ULONG, cCategories, CATID*, rgcatid)
|
||||||
|
#define ICatRegister_IMETHODS \
|
||||||
|
IUnknown_IMETHODS \
|
||||||
|
ICatRegister_METHODS
|
||||||
|
ICOM_DEFINE(ICatRegister,IUnknown)
|
||||||
|
#undef ICOM_INTERFACE
|
||||||
|
|
||||||
|
#ifdef ICOM_CINTERFACE
|
||||||
|
/*** IUnknown methods ***/
|
||||||
|
#define ICatRegister_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||||
|
#define ICatRegister_AddRef(p) ICOM_CALL (AddRef,p)
|
||||||
|
#define ICatRegister_Release(p) ICOM_CALL (Release,p)
|
||||||
|
/*** ICatRegister methods ***/
|
||||||
|
#define ICatRegister_RegisterCategories(p,a,b) ICOM_CALL2(RegisterCategories,p,a,b)
|
||||||
|
#define ICatRegister_UnRegisterCategories(p,a,b) ICOM_CALL2(UnRegisterCategories,p,a,b)
|
||||||
|
#define ICatRegister_RegisterClassImplCategories(p,a,b,c) ICOM_CALL3(RegisterClassImplCategories,p,a,b,c)
|
||||||
|
#define ICatRegister_UnRegisterClassImplCategories(p,a,b,c) ICOM_CALL3(UnRegisterClassImplCategories,p,a,b,c)
|
||||||
|
#define ICatRegister_RegisterClassReqCategories(p,a,b,c) ICOM_CALL3(RegisterClassReqCategories,p,a,b,c)
|
||||||
|
#define ICatRegister_UnRegisterClassReqCategories(p,a,b,c) ICOM_CALL3(UnRegisterClassReqCategories,p,a,b,c)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* IEnumCATEGORYINFO
|
||||||
|
*/
|
||||||
|
#define ICOM_INTERFACE IEnumCATEGORYINFO
|
||||||
|
#define IEnumCATEGORYINFO_METHODS \
|
||||||
|
ICOM_METHOD3(HRESULT, Next, ULONG, celt, CATEGORYINFO*, rgelt, ULONG*, pceltFetched) \
|
||||||
|
ICOM_METHOD1(HRESULT, Skip, ULONG, celt) \
|
||||||
|
ICOM_METHOD (HRESULT, Reset) \
|
||||||
|
ICOM_METHOD1(HRESULT, Clone, IEnumCATEGORYINFO**, ppenum)
|
||||||
|
#define IEnumCATEGORYINFO_IMETHODS \
|
||||||
|
IUnknown_IMETHODS \
|
||||||
|
IEnumCATEGORYINFO_METHODS
|
||||||
|
ICOM_DEFINE(IEnumCATEGORYINFO,IUnknown)
|
||||||
|
#undef ICOM_INTERFACE
|
||||||
|
|
||||||
|
#ifdef ICOM_CINTERFACE
|
||||||
|
/*** IUnknown methods ***/
|
||||||
|
#define IEnumCATEGORYINFO_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||||
|
#define IEnumCATEGORYINFO_AddRef(p) ICOM_CALL (AddRef,p)
|
||||||
|
#define IEnumCATEGORYINFO_Release(p) ICOM_CALL (Release,p)
|
||||||
|
/*** IEnumCATEGORYINFO methods ***/
|
||||||
|
#define IEnumCATEGORYINFO_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
|
||||||
|
#define IEnumCATEGORYINFO_Skip(p,a) ICOM_CALL1(Skip,p,a)
|
||||||
|
#define IEnumCATEGORYINFO_Reset(p) ICOM_CALL(Reset,p)
|
||||||
|
#define IEnumCATEGORYINFO_Clone(p,a) ICOM_CALL1(Clone,p,a)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif /* defined(__cplusplus) */
|
||||||
|
|
||||||
|
#endif /* __WINE_WINE_OBJ_COMCAT_H */
|
|
@ -0,0 +1,67 @@
|
||||||
|
/*
|
||||||
|
* 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 ICOM_INTERFACE IEnumGUID
|
||||||
|
#define IEnumGUID_METHODS \
|
||||||
|
ICOM_METHOD3(HRESULT, Next, ULONG, celt, GUID*, rgelt, ULONG*, pceltFetched) \
|
||||||
|
ICOM_METHOD1(HRESULT, Skip, ULONG, celt) \
|
||||||
|
ICOM_METHOD (HRESULT, Reset) \
|
||||||
|
ICOM_METHOD1(HRESULT, Clone, IEnumGUID**, ppenum)
|
||||||
|
#define IEnumGUID_IMETHODS \
|
||||||
|
IUnknown_IMETHODS \
|
||||||
|
IEnumGUID_METHODS
|
||||||
|
ICOM_DEFINE(IEnumGUID,IUnknown)
|
||||||
|
#undef ICOM_INTERFACE
|
||||||
|
|
||||||
|
#ifdef ICOM_CINTERFACE
|
||||||
|
/*** IUnknown methods ***/
|
||||||
|
#define IEnumGUID_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
|
||||||
|
#define IEnumGUID_AddRef(p) ICOM_CALL (AddRef,p)
|
||||||
|
#define IEnumGUID_Release(p) ICOM_CALL (Release,p)
|
||||||
|
/*** IEnumGUID methods ***/
|
||||||
|
#define IEnumGUID_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
|
||||||
|
#define IEnumGUID_Skip(p,a) ICOM_CALL1(Skip,p,a)
|
||||||
|
#define IEnumGUID_Reset(p) ICOM_CALL(Reset,p)
|
||||||
|
#define IEnumGUID_Clone(p,a) ICOM_CALL1(Clone,p,a)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
} /* extern "C" */
|
||||||
|
#endif /* defined(__cplusplus) */
|
||||||
|
|
||||||
|
#endif /* __WINE_WINE_OBJ_ENUMGUID_H */
|
|
@ -47,6 +47,8 @@ DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
|
||||||
#include "wine/obj_queryassociations.h"
|
#include "wine/obj_queryassociations.h"
|
||||||
#include "wine/obj_channel.h"
|
#include "wine/obj_channel.h"
|
||||||
|
|
||||||
|
#include "comcat.h"
|
||||||
|
|
||||||
/* FIXME: cguids declares GUIDs but does not define their values */
|
/* FIXME: cguids declares GUIDs but does not define their values */
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue