Converted comcat.h to IDL.

oldstable
Alexandre Julliard 2003-09-03 19:31:57 +00:00
parent 0bde2bbe01
commit 3e1c5afdba
5 changed files with 960 additions and 273 deletions

View File

@ -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 \

View File

@ -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
*/
/*** Autogenerated by WIDL 0.1 from comcat.idl - Do not edit ***/
#include <rpc.h>
#include <rpcndr.h>
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#ifndef __WIDL_COMCAT_H
#define __WIDL_COMCAT_H
#ifdef __cplusplus
extern "C" {
#endif
#include <unknwn.h>
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
#ifndef __WINE_COMCAT_H
#define __WINE_COMCAT_H
typedef IEnumGUID *LPENUMGUID;
#include <unknwn.h>
#include <wine/obj_enumguid.h>
#include <wine/obj_comcat.h>
/*****************************************************************************
* IEnumGUID interface
*/
#ifndef __IEnumGUID_INTERFACE_DEFINED__
#define __IEnumGUID_INTERFACE_DEFINED__
#endif /*__WINE_COMCAT_H */
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 */

230
include/comcat.idl 100644
View File

@ -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);")

View File

@ -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 */

View File

@ -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 */