ComCat.Idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:9k
- //+---------------------------------------------------------------------------
- //
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //
- // Contents: Component Categories Interfaces
- //
- //----------------------------------------------------------------------------
- cpp_quote("//=--------------------------------------------------------------------------=")
- cpp_quote("// ComCat.h")
- cpp_quote("//=--------------------------------------------------------------------------=")
- cpp_quote("// Copyright (c) Microsoft Corporation. All rights reserved.")
- cpp_quote("//")
- cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF")
- cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
- cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
- cpp_quote("// PARTICULAR PURPOSE.")
- cpp_quote("//=--------------------------------------------------------------------------=")
- cpp_quote("")
- cpp_quote("#pragma comment(lib,"uuid.lib")")
- cpp_quote("")
- cpp_quote("//=--------------------------------------------------------------------------=")
- cpp_quote("// OLE Componet Categories Interfaces.")
- cpp_quote("//=--------------------------------------------------------------------------=")
- cpp_quote("//")
- #ifndef DO_NO_IMPORTS
- import "unknwn.idl";
- #endif
- interface IEnumGUID;
- interface IEnumCATEGORYINFO;
- interface ICatRegister;
- interface ICatInformation;
- cpp_quote("EXTERN_C const CLSID CLSID_StdComponentCategoriesMgr;")
- cpp_quote("")
- cpp_quote("////////////////////////////////////////////////////////////////////////////")
- cpp_quote("// Types")
- typedef GUID CATID;
- typedef REFGUID REFCATID;
- cpp_quote("#define IID_IEnumCLSID IID_IEnumGUID")
- cpp_quote("#define IEnumCLSID IEnumGUID")
- cpp_quote("#define LPENUMCLSID LPENUMGUID")
- #define IEnumCLSID IEnumGUID
- cpp_quote("#define CATID_NULL GUID_NULL")
- cpp_quote("#define IsEqualCATID(rcatid1, rcatid2) IsEqualGUID(rcatid1, rcatid2)")
- cpp_quote("#define IID_IEnumCATID IID_IEnumGUID")
- cpp_quote("#define IEnumCATID IEnumGUID")
- #define IEnumCATID IEnumGUID
- cpp_quote("")
- cpp_quote("////////////////////////////////////////////////////////////////////////////")
- cpp_quote("// Category IDs (link to uuid3.lib)")
- cpp_quote("EXTERN_C const CATID CATID_Insertable;")
- cpp_quote("EXTERN_C const CATID CATID_Control;")
- cpp_quote("EXTERN_C const CATID CATID_Programmable;")
- cpp_quote("EXTERN_C const CATID CATID_IsShortcut;")
- cpp_quote("EXTERN_C const CATID CATID_NeverShowExt;")
- cpp_quote("EXTERN_C const CATID CATID_DocObject;")
- cpp_quote("EXTERN_C const CATID CATID_Printable;")
- cpp_quote("EXTERN_C const CATID CATID_RequiresDataPathHost;")
- cpp_quote("EXTERN_C const CATID CATID_PersistsToMoniker;")
- cpp_quote("EXTERN_C const CATID CATID_PersistsToStorage;")
- cpp_quote("EXTERN_C const CATID CATID_PersistsToStreamInit;")
- cpp_quote("EXTERN_C const CATID CATID_PersistsToStream;")
- cpp_quote("EXTERN_C const CATID CATID_PersistsToMemory;")
- cpp_quote("EXTERN_C const CATID CATID_PersistsToFile;")
- cpp_quote("EXTERN_C const CATID CATID_PersistsToPropertyBag;")
- cpp_quote("EXTERN_C const CATID CATID_InternetAware;")
- cpp_quote("EXTERN_C const CATID CATID_DesignTimeUIActivatableControl;")
- cpp_quote("")
- cpp_quote("////////////////////////////////////////////////////////////////////////////")
- cpp_quote("// Interface Definitions")
- //+---------------------------------------------------------------------------
- //
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //
- // Contents: IEnumGUID interface definition
- //
- //----------------------------------------------------------------------------
- cpp_quote("#ifndef _LPENUMGUID_DEFINED")
- cpp_quote("#define _LPENUMGUID_DEFINED")
- [
- 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);
- }
- cpp_quote("#endif")
- //+---------------------------------------------------------------------------
- //
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //
- // Contents: IEnumCATEGORYINFO definition
- //
- //----------------------------------------------------------------------------
- cpp_quote("#ifndef _LPENUMCATEGORYINFO_DEFINED")
- cpp_quote("#define _LPENUMCATEGORYINFO_DEFINED")
- [
- object,
- uuid(0002E011-0000-0000-C000-000000000046),
- pointer_default(unique)
- ]
- interface IEnumCATEGORYINFO : IUnknown
- {
- typedef [unique] IEnumCATEGORYINFO *LPENUMCATEGORYINFO;
- #define CATDESC_MAX 128
- typedef struct tagCATEGORYINFO {
- CATID catid;
- LCID lcid;
- OLECHAR szDescription[CATDESC_MAX];
- } 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);
- }
- cpp_quote("#endif")
- //+---------------------------------------------------------------------------
- //
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //
- // Contents: ICatRegister definition
- //
- //----------------------------------------------------------------------------
- cpp_quote("#ifndef _LPCATREGISTER_DEFINED")
- cpp_quote("#define _LPCATREGISTER_DEFINED")
- [
- 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[]);
- }
- cpp_quote("#endif")
- //+---------------------------------------------------------------------------
- //
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //
- // Contents: ICatInformation definition
- //
- //----------------------------------------------------------------------------
- cpp_quote("#ifndef _LPCATINFORMATION_DEFINED")
- cpp_quote("#define _LPCATINFORMATION_DEFINED")
- [
- 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);
- }
- cpp_quote("#endif")