📄 correg.h
字号:
STDMETHOD(SetFormatImpl)( // S_OK or error.
mdScope es, // [IN] The emit scope.
mdTypeDef td, // [IN] The TypeDef.
LPCWSTR rszFormatSupported[], // [IN] If not 0, array of supported formats. 0 for EOL.
LPCWSTR rszFormatConvertsFrom[],// [IN] If not 0, array of ConvertsFrom values. "
LPCWSTR rszFormatConvertsTo[], // [IN] If not 0, array of ConvertsTo values. "
LPCWSTR rszFormatDefault[], // [IN] If not 0, array of Default format. Only one item.
LPCWSTR rszFileExt[], // [IN] If not 0, array of file extensions. 0 for EOL.
LPCWSTR rszFileType[]) PURE; // [IN] If not 0, array of file types. "
STDMETHOD(SetRoleCheck)( // S_OK or error.
mdScope es, // [IN] Emit scope.
mdToken tk, // [IN] Object to place role on.
LPCWSTR rszName[], // [IN] Name for the role.
DWORD rdwRoleFlags[]) PURE; // [IN] Flags for new role.
STDMETHOD(SetHandler)( // S_OK.
mdScope sc, // [IN] The scope.
IUnknown *pUnk) PURE; // [IN] The new error handler.
};
#endif // !defined(_META_DATA_NO_SCOPE_)
//-------------------------------------
//--- IMetaDataRegImport
//-------------------------------------
#if defined(_META_DATA_NO_SCOPE_) || defined(_META_DATA_SCOPE_WRAPPER_)
// {4398B4FD-7399-11d2-9771-00A0C9B4D50C}
extern const GUID DECLSPEC_SELECT_ANY IID_IMetaDataRegImport =
{ 0x4398b4fd, 0x7399, 0x11d2, { 0x97, 0x71, 0x0, 0xa0, 0xc9, 0xb4, 0xd5, 0xc } };
// {F28F419A-62CA-11d2-8F2C-00A0C9A6186D}
extern const GUID DECLSPEC_SELECT_ANY IID_IMetaDataRegImportOld =
{ 0xf28f419a, 0x62ca, 0x11d2, { 0x8f, 0x2c, 0x0, 0xa0, 0xc9, 0xa6, 0x18, 0x6d } };
#undef INTERFACE
#define INTERFACE IMetaDataRegImport
DECLARE_INTERFACE_(IMetaDataRegImport, IUnknown)
{
STDMETHOD_(void, CloseEnum)(HCORENUM hEnum) PURE;
STDMETHOD(CountEnum)(HCORENUM hEnum, ULONG *pulCount) PURE;
STDMETHOD(ResetEnum)(HCORENUM hEnum, ULONG ulPos) PURE;
STDMETHOD(EnumTypeDefs)(HCORENUM *phEnum, mdTypeDef rTypeDefs[],
ULONG cMax, ULONG *pcTypeDefs) PURE;
STDMETHOD(EnumInterfaceImpls)(HCORENUM *phEnum, mdTypeDef td,
mdInterfaceImpl rImpls[], ULONG cMax,
ULONG* pcImpls) PURE;
STDMETHOD(EnumTypeRefs)(HCORENUM *phEnum, mdTypeRef rTypeRefs[],
ULONG cMax, ULONG* pcTypeRefs) PURE;
STDMETHOD(EnumCustomValues)(HCORENUM *phEnum, mdToken tk,
mdCustomValue rCustomValues[], ULONG cMax,
ULONG* pcCustomValues) PURE;
STDMETHOD(EnumResources)(HCORENUM *phEnum, mdResource rResources[],
ULONG cMax, ULONG* pcResources) PURE;
STDMETHOD(EnumCategoryImpls)(HCORENUM *phEnum, mdTypeDef td, mdCocatImpl rCocatImpls[],
ULONG cMax, ULONG* pcCocatImpls) PURE;
STDMETHOD(EnumRedirectProgIDs)(HCORENUM *phEnum, mdTypeDef td, mdProgID rRedirectProgIDs[],
ULONG cMax, ULONG* pcRedirectProgIDs) PURE;
STDMETHOD(EnumMimeTypeImpls)(HCORENUM *phEnum, mdTypeDef td, mdMimeTypeImpl rMimeTypeImpls[],
ULONG cMax, ULONG* pcMimeTypeImpls) PURE;
STDMETHOD(EnumFormatImpls)(HCORENUM *phEnum, mdTypeDef td, mdFormatImpl rFormatImpls[],
ULONG cMax, ULONG* pcFormatImpls) PURE;
STDMETHOD(EnumRoleChecks)( // S_OK or error.
HCORENUM *phEnum, // [OUT] Return enumerator.
mdToken tk, // [IN] Object to enumerate roles for.
mdRoleCheck rRoleChecks[], // [OUT] Place cMax tokens here.
ULONG cMax, // [IN] Max size of rRoleChecks.
ULONG *pcRoleChecks) PURE; // [Out] Place count of returned role checks here.
STDMETHOD(FindTypeDefByName)( // S_OK or error.
LPCWSTR szNamespace, // [IN] Namespace with the Type.
LPCWSTR szTypeDef, // [IN] Name of the Type.
mdTypeDef *ptd) PURE; // [OUT] Put the TypeDef token here.
STDMETHOD(FindTypeDefByGUID)( // S_OK or error.
const GUID *pguid, // [IN] The GUID of the Type.
mdTypeDef *ptd) PURE; // [OUT] Put the TypeDef token here.
STDMETHOD(FindCustomValue)(mdToken tk, LPCWSTR szName, mdCustomValue *pcv,
DWORD *pdwValueType) PURE;
STDMETHOD(GetScopeProps)(LPWSTR szName, ULONG cchName, ULONG *pchName,
GUID *ppid, GUID *pmvid, LCID *pLcid) PURE;
STDMETHOD(GetModuleFromScope)( // S_OK.
mdModule *pmd) PURE; // [OUT] Put mdModule token here.
STDMETHOD(GetTypeDefProps)( // S_OK or error.
mdTypeDef td, // [IN] TypeDef token for inquiry.
LPWSTR szNamespace, // [OUT] Put Namespace here.
ULONG cchNamespace, // [IN] size of Namespace buffer in wide chars.
ULONG *pchNamespace, // [OUT] put size of Namespace (wide chars) here.
LPWSTR szTypeDef, // [OUT] Put name here.
ULONG cchTypeDef, // [IN] size of name buffer in wide chars.
ULONG *pchTypeDef, // [OUT] put size of name (wide chars) here.
GUID *pguid, // [OUT] Put clsid here.
CLASSVERSION *pver, // [OUT] Put version here.
DWORD *pdwTypeDefFlags, // [OUT] Put flags here.
mdToken *ptkExtends, // [OUT] Put base class TypeDef/TypeRef here.
DWORD *pdwExtendsFlags) PURE; // [OUT] Put extends flags here.
STDMETHOD(GetClassSvcsContext)(mdTypeDef td, DWORD *pdwClassActivateAttr, DWORD *pdwThreadAttr,
DWORD *pdwXactonAttr, DWORD *pdwSynchAttr) PURE;
STDMETHOD(GetInterfaceImplProps)( // S_OK or error.
mdInterfaceImpl iiImpl, // [IN] InterfaceImpl token.
mdTypeDef *pClass, // [OUT] Put implementing class token here.
mdToken *ptkIface, // [OUT] Put implemented interface token here.
DWORD *pdwFlags) PURE; // [OUT] Put implementation flags here.
STDMETHOD(GetCustomValueProps)(mdCustomValue cv, LPWSTR szName, ULONG cchName,
ULONG *pchName, DWORD *pdwValueType) PURE;
STDMETHOD(GetCustomValueAsBlob)(mdCustomValue cv, void const **ppBlob, ULONG *pcbSize) PURE;
STDMETHOD(GetTypeRefProps)(mdTypeRef tr, LPWSTR szTypeRef,
ULONG cchTypeRef, ULONG *pchTypeRef, GUID *pGuid, DWORD *pdwBind) PURE;
STDMETHOD(GetModuleRegProps)(DWORD *pModuleRegAttr, GUID *pguid) PURE;
STDMETHOD(GetClassRegProps)(mdTypeDef td,
LPWSTR szProgid, ULONG cchProgid, ULONG *pchProgid,
LPWSTR szVIProgid, ULONG cchVIProgid, ULONG *pchVIProgid,
LPWSTR szIconURL, ULONG cchIconURL, ULONG *pchIconURL, ULONG *pIconResource,
LPWSTR szSmallIconURL, ULONG cchSmallIconURL, ULONG *pchSmallIconURL, ULONG *pSmallIconResource,
LPWSTR szDefaultDispname, ULONG cchDefaultDispname, ULONG *pchDefaultDispname) PURE;
STDMETHOD(GetIfaceRegProps)(mdTypeDef td, DWORD *pdwIfaceSvcs, GUID *pProxyStub) PURE;
STDMETHOD(GetResourceProps)(mdResource rs, LPWSTR szURL, ULONG cchURL, ULONG *pchURL) PURE;
STDMETHOD(GetCategoryImplProps)(mdCocatImpl cocat, GUID *pguid, DWORD *pdwCocatImplAttr) PURE;
STDMETHOD(GetRedirectProgIDProps)(mdProgID progid,
LPWSTR szProgID, ULONG cchProgID, ULONG *pchProgID) PURE;
STDMETHOD(GetMimeTypeImplProps)(mdMimeTypeImpl mime,
LPWSTR szMime, ULONG cchMime, ULONG *pchMime) PURE;
STDMETHOD(GetFormatImplProps)( mdFormatImpl format,
LPWSTR szFormat, ULONG cchFormat, ULONG *pchFormat,
DWORD *pdwRegFormatAttr) PURE;
STDMETHOD(GetRoleCheckProps)( // S_OK or error.
mdRoleCheck rc, // [IN] The role check to get props for.
LPWSTR szName, // [OUT] Buffer for name.
ULONG cchName, // [IN] Max characters for szName.
ULONG *pchName, // [OUT] Available string chars for szName.
DWORD *pdwRoleFlags) PURE; // [OUT] Role flags go here.
STDMETHOD(ResolveTypeRef)(mdTypeRef tr, REFIID riid, IUnknown **ppIScope, mdTypeDef *ptd) PURE;
};
#endif // defined(_META_DATA_NO_SCOPE_) || defined(_META_DATA_SCOPE_WRAPPER_)
#if !defined(_META_DATA_NO_SCOPE_)
//@TODO: $#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#
// The following interface definition is being deprecated for COM+ 1.0
// and beyond. It still exists to make porting to the new api easier. If
// you need to, define _META_DATA_NO_SCOPE_ to get the old behavior.
//@TODO: $#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#
#if !defined(_META_DATA_SCOPE_WRAPPER_)
// {F28F419A-62CA-11d2-8F2C-00A0C9A6186D}
extern const GUID DECLSPEC_SELECT_ANY IID_IMetaDataRegImport =
{ 0xf28f419a, 0x62ca, 0x11d2, { 0x8f, 0x2c, 0x0, 0xa0, 0xc9, 0xa6, 0x18, 0x6d } };
#endif
#undef INTERFACE
#if defined(_META_DATA_SCOPE_WRAPPER_)
#define INTERFACE IMetaDataRegImportOld
#else
#define INTERFACE IMetaDataRegImport
#endif
DECLARE_INTERFACE_(INTERFACE, IUnknown)
{
STDMETHOD(OpenScope)(LPCWSTR szScope, DWORD dwOpenFlags, mdScope *pscope) PURE;
STDMETHOD(OpenScopeOnStream)(IStream *pIStream, DWORD dwOpenFlags, mdScope *psc) PURE;
STDMETHOD(OpenScopeOnMemory)(LPCVOID pData, ULONG cbData, mdScope *psc) PURE;
STDMETHOD_(void,Close)(mdScope scope) PURE;
STDMETHOD_(void, CloseEnum)(mdScope scope, HCORENUM hEnum) PURE;
STDMETHOD(CountEnum)(mdScope scope, HCORENUM hEnum, ULONG *pulCount) PURE;
STDMETHOD(ResetEnum)(mdScope scope, HCORENUM hEnum, ULONG ulPos) PURE;
STDMETHOD(EnumTypeDefs)(mdScope scope, HCORENUM *phEnum, mdTypeDef rTypeDefs[],
ULONG cMax, ULONG *pcTypeDefs) PURE;
STDMETHOD(EnumInterfaceImpls)(mdScope scope, HCORENUM *phEnum, mdTypeDef td,
mdInterfaceImpl rImpls[], ULONG cMax,
ULONG* pcImpls) PURE;
STDMETHOD(EnumTypeRefs)(mdScope scope, HCORENUM *phEnum, mdTypeRef rTypeRefs[],
ULONG cMax, ULONG* pcTypeRefs) PURE;
STDMETHOD(EnumCustomValues)(mdScope scope, HCORENUM *phEnum, mdToken tk,
mdCustomValue rCustomValues[], ULONG cMax,
ULONG* pcCustomValues) PURE;
STDMETHOD(EnumResources)(mdScope scope, HCORENUM *phEnum, mdResource rResources[],
ULONG cMax, ULONG* pcResources) PURE;
STDMETHOD(EnumCategoryImpls)(mdScope scope, HCORENUM *phEnum, mdTypeDef td, mdCocatImpl rCocatImpls[],
ULONG cMax, ULONG* pcCocatImpls) PURE;
STDMETHOD(EnumRedirectProgIDs)(mdScope scope, HCORENUM *phEnum, mdTypeDef td, mdProgID rRedirectProgIDs[],
ULONG cMax, ULONG* pcRedirectProgIDs) PURE;
STDMETHOD(EnumMimeTypeImpls)(mdScope scope, HCORENUM *phEnum, mdTypeDef td, mdMimeTypeImpl rMimeTypeImpls[],
ULONG cMax, ULONG* pcMimeTypeImpls) PURE;
STDMETHOD(EnumFormatImpls)(mdScope scope, HCORENUM *phEnum, mdTypeDef td, mdFormatImpl rFormatImpls[],
ULONG cMax, ULONG* pcFormatImpls) PURE;
STDMETHOD(EnumRoleChecks)( // S_OK or error.
mdScope scope, // [IN] Import scope.
HCORENUM *phEnum, // [OUT] Return enumerator.
mdToken tk, // [IN] Object to enumerate roles for.
mdRoleCheck rRoleChecks[], // [OUT] Place cMax tokens here.
ULONG cMax, // [IN] Max size of rRoleChecks.
ULONG *pcRoleChecks) PURE; // [Out] Place count of returned role checks here.
STDMETHOD(FindTypeDefByName)( // S_OK or error.
mdScope scope, // [IN] The scope to search.
LPCWSTR szNamespace, // [IN] Namespace with the Type.
LPCWSTR szTypeDef, // [IN] Name of the Type.
mdTypeDef *ptd) PURE; // [OUT] Put the TypeDef token here.
STDMETHOD(FindTypeDefByGUID)( // S_OK or error.
mdScope scope, // [IN] The scope to search.
const GUID *pguid, // [IN] The GUID of the Type.
mdTypeDef *ptd) PURE; // [OUT] Put the TypeDef token here.
STDMETHOD(FindCustomValue)(mdScope scope, mdToken tk, LPCWSTR szName, mdCustomValue *pcv,
DWORD *pdwValueType) PURE;
STDMETHOD(GetScopeProps)(mdScope scope, LPWSTR szName, ULONG cchName, ULONG *pchName,
GUID *ppid, GUID *pmvid, LCID *pLcid) PURE;
STDMETHOD(GetModuleFromScope)( // S_OK.
mdScope scope, // [IN] The scope.
mdModule *pmd) PURE; // [OUT] Put mdModule token here.
STDMETHOD(GetTypeDefProps)( // S_OK or error.
mdScope scope, // [IN] The import scope.
mdTypeDef td, // [IN] TypeDef token for inquiry.
LPWSTR szNamespace, // [OUT] Put Namespace here.
ULONG cchNamespace, // [IN] size of Namespace buffer in wide chars.
ULONG *pchNamespace, // [OUT] put size of Namespace (wide chars) here.
LPWSTR szTypeDef, // [OUT] Put name here.
ULONG cchTypeDef, // [IN] size of name buffer in wide chars.
ULONG *pchTypeDef, // [OUT] put size of name (wide chars) here.
GUID *pguid, // [OUT] Put clsid here.
CLASSVERSION *pver, // [OUT] Put version here.
DWORD *pdwTypeDefFlags, // [OUT] Put flags here.
mdToken *ptkExtends, // [OUT] Put base class TypeDef/TypeRef here.
DWORD *pdwExtendsFlags) PURE; // [OUT] Put extends flags here.
STDMETHOD(GetClassSvcsContext)(mdScope es, mdTypeDef td, DWORD *pdwClassActivateAttr, DWORD *pdwThreadAttr,
DWORD *pdwXactonAttr, DWORD *pdwSynchAttr) PURE;
STDMETHOD(GetInterfaceImplProps)( // S_OK or error.
mdScope scope, // [IN] The scope.
mdInterfaceImpl iiImpl, // [IN] InterfaceImpl token.
mdTypeDef *pClass, // [OUT] Put implementing class token here.
mdToken *ptkIface, // [OUT] Put implemented interface token here.
DWORD *pdwFlags) PURE; // [OUT] Put implementation flags here.
STDMETHOD(GetCustomValueProps)(mdScope scope, mdCustomValue cv, LPWSTR szName, ULONG cchName,
ULONG *pchName, DWORD *pdwValueType) PURE;
STDMETHOD(GetCustomValueAsBlob)(mdScope scope, mdCustomValue cv, void const **ppBlob, ULONG *pcbSize) PURE;
STDMETHOD(GetTypeRefProps)(mdScope scope, mdTypeRef tr, LPWSTR szTypeRef,
ULONG cchTypeRef, ULONG *pchTypeRef, GUID *pGuid, DWORD *pdwBind) PURE;
STDMETHOD(GetModuleRegProps)(mdScope scope, DWORD *pModuleRegAttr, GUID *pguid) PURE;
STDMETHOD(GetClassRegProps)(mdScope scope, mdTypeDef td,
LPWSTR szProgid, ULONG cchProgid, ULONG *pchProgid,
LPWSTR szVIProgid, ULONG cchVIProgid, ULONG *pchVIProgid,
LPWSTR szIconURL, ULONG cchIconURL, ULONG *pchIconURL, ULONG *pIconResource,
LPWSTR szSmallIconURL, ULONG cchSmallIconURL, ULONG *pchSmallIconURL, ULONG *pSmallIconResource,
LPWSTR szDefaultDispname, ULONG cchDefaultDispname, ULONG *pchDefaultDispname) PURE;
STDMETHOD(GetIfaceRegProps)(mdScope scope, mdTypeDef td, DWORD *pdwIfaceSvcs, GUID *pProxyStub) PURE;
STDMETHOD(GetResourceProps)(mdScope scope, mdResource rs, LPWSTR szURL, ULONG cchURL, ULONG *pchURL) PURE;
STDMETHOD(GetCategoryImplProps)(mdScope scope, mdCocatImpl cocat, GUID *pguid, DWORD *pdwCocatImplAttr) PURE;
STDMETHOD(GetRedirectProgIDProps)(mdScope scope, mdProgID progid,
LPWSTR szProgID, ULONG cchProgID, ULONG *pchProgID) PURE;
STDMETHOD(GetMimeTypeImplProps)(mdScope scope, mdMimeTypeImpl mime,
LPWSTR szMime, ULONG cchMime, ULONG *pchMime) PURE;
STDMETHOD(GetFormatImplProps)(mdScope scope, mdFormatImpl format,
LPWSTR szFormat, ULONG cchFormat, ULONG *pchFormat,
DWORD *pdwRegFormatAttr) PURE;
STDMETHOD(GetRoleCheckProps)( // S_OK or error.
mdScope scope, // [IN] Import scope.
mdRoleCheck rc, // [IN] The role check to get props for.
LPWSTR szName, // [OUT] Buffer for name.
ULONG cchName, // [IN] Max characters for szName.
ULONG *pchName, // [OUT] Available string chars for szName.
DWORD *pdwRoleFlags) PURE; // [OUT] Role flags go here.
STDMETHOD(ResolveTypeRef)(mdScope is, mdTypeRef tr, mdScope *pes, mdTypeDef *ptd) PURE;
};
#endif // _META_DATA_NO_SCOPE_
// Return to default padding.
#include <poppack.h>
#ifdef __cplusplus
}
#endif
#pragma option pop /*P_O_Pop*/
#endif // _CORREG_H_
// EOF =======================================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -