| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/winrt/ |
Upload File : |
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 8.01.0622 */
/* @@MIDL_FILE_HEADING( ) */
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif
/* verify that the <rpcsal.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCSAL_H_VERSION__
#define __REQUIRED_RPCSAL_H_VERSION__ 100
#endif
#include "rpc.h"
#include "rpcndr.h"
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif /* __RPCNDR_H_VERSION__ */
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/
#ifndef __rometadataapi_h__
#define __rometadataapi_h__
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
/* Forward Declarations */
#ifndef __IMetaDataDispenser_FWD_DEFINED__
#define __IMetaDataDispenser_FWD_DEFINED__
typedef interface IMetaDataDispenser IMetaDataDispenser;
#endif /* __IMetaDataDispenser_FWD_DEFINED__ */
#ifndef __IMetaDataDispenserEx_FWD_DEFINED__
#define __IMetaDataDispenserEx_FWD_DEFINED__
typedef interface IMetaDataDispenserEx IMetaDataDispenserEx;
#endif /* __IMetaDataDispenserEx_FWD_DEFINED__ */
#ifndef __IMetaDataAssemblyImport_FWD_DEFINED__
#define __IMetaDataAssemblyImport_FWD_DEFINED__
typedef interface IMetaDataAssemblyImport IMetaDataAssemblyImport;
#endif /* __IMetaDataAssemblyImport_FWD_DEFINED__ */
#ifndef __IMetaDataImport_FWD_DEFINED__
#define __IMetaDataImport_FWD_DEFINED__
typedef interface IMetaDataImport IMetaDataImport;
#endif /* __IMetaDataImport_FWD_DEFINED__ */
#ifndef __IMetaDataImport2_FWD_DEFINED__
#define __IMetaDataImport2_FWD_DEFINED__
typedef interface IMetaDataImport2 IMetaDataImport2;
#endif /* __IMetaDataImport2_FWD_DEFINED__ */
#ifndef __IMetaDataTables_FWD_DEFINED__
#define __IMetaDataTables_FWD_DEFINED__
typedef interface IMetaDataTables IMetaDataTables;
#endif /* __IMetaDataTables_FWD_DEFINED__ */
#ifndef __IMetaDataTables2_FWD_DEFINED__
#define __IMetaDataTables2_FWD_DEFINED__
typedef interface IMetaDataTables2 IMetaDataTables2;
#endif /* __IMetaDataTables2_FWD_DEFINED__ */
/* header files for imported files */
#include "unknwn.h"
#include "oaidl.h"
#ifdef __cplusplus
extern "C"{
#endif
/* interface __MIDL_itf_rometadataapi_0000_0000 */
/* [local] */
// Declare type representations for C and IDL only
#if !defined(__cplusplus)
typedef /* [custom] */ __int3264 HCORENUM;
typedef unsigned char COR_SIGNATURE;
typedef COR_SIGNATURE *PCOR_SIGNATURE;
typedef const COR_SIGNATURE *PCCOR_SIGNATURE;
typedef const char *MDUTF8CSTR;
typedef const char *UVCP_CONSTANT;
typedef ULONG32 mdToken;
typedef mdToken mdModule;
typedef mdToken mdTypeRef;
typedef mdToken mdTypeDef;
typedef mdToken mdFieldDef;
typedef mdToken mdMethodDef;
typedef mdToken mdParamDef;
typedef mdToken mdInterfaceImpl;
typedef mdToken mdMemberRef;
typedef mdToken mdCustomAttribute;
typedef mdToken mdPermission;
typedef mdToken mdSignature;
typedef mdToken mdEvent;
typedef mdToken mdProperty;
typedef mdToken mdModuleRef;
typedef mdToken mdAssembly;
typedef mdToken mdAssemblyRef;
typedef mdToken mdFile;
typedef mdToken mdExportedType;
typedef mdToken mdManifestResource;
typedef mdToken mdTypeSpec;
typedef mdToken mdGenericParam;
typedef mdToken mdMethodSpec;
typedef mdToken mdGenericParamConstraint;
typedef mdToken mdString;
typedef struct COR_FIELD_OFFSET
{
mdFieldDef ridOfField;
ULONG32 ulOffset;
} COR_FIELD_OFFSET;
typedef struct OSINFO
{
DWORD dwOSPlatformId;
DWORD dwOSMajorVersion;
DWORD dwOSMinorVersion;
} OSINFO;
typedef struct ASSEMBLYMETADATA
{
USHORT usMajorVersion;
USHORT usMinorVersion;
USHORT usBuildNumber;
USHORT usRevisionNumber;
/* [size_is][string] */ LPWSTR szLocale;
ULONG cbLocale;
/* [size_is] */ DWORD *rProcessor;
ULONG ulProcessor;
/* [size_is] */ OSINFO *rOS;
ULONG ulOS;
} ASSEMBLYMETADATA;
extern RPC_IF_HANDLE __MIDL_itf_rometadataapi_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_rometadataapi_0000_0000_v0_0_s_ifspec;
#ifndef __IMetaDataDispenser_INTERFACE_DEFINED__
#define __IMetaDataDispenser_INTERFACE_DEFINED__
/* interface IMetaDataDispenser */
/* [object][uuid][local] */
EXTERN_C const IID IID_IMetaDataDispenser;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("809C652E-7396-11D2-9771-00A0C9B4D50C")
IMetaDataDispenser : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE DefineScope(
/* [in] */ REFCLSID rclsid,
/* [in] */ DWORD dwCreateFlags,
/* [in] */ REFIID riid,
/* [iid_is][out] */ IUnknown **ppIUnk) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenScope(
/* [string][in] */ LPCWSTR szScope,
/* [in] */ DWORD dwOpenFlags,
/* [in] */ REFIID riid,
/* [iid_is][out] */ IUnknown **ppIUnk) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenScopeOnMemory(
/* [size_is][in] */ const BYTE *pData,
/* [in] */ ULONG cbData,
/* [in] */ DWORD dwOpenFlags,
/* [in] */ REFIID riid,
/* [iid_is][out] */ IUnknown **ppIUnk) = 0;
};
#else /* C style interface */
typedef struct IMetaDataDispenserVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMetaDataDispenser * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMetaDataDispenser * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMetaDataDispenser * This);
HRESULT ( STDMETHODCALLTYPE *DefineScope )(
IMetaDataDispenser * This,
/* [in] */ REFCLSID rclsid,
/* [in] */ DWORD dwCreateFlags,
/* [in] */ REFIID riid,
/* [iid_is][out] */ IUnknown **ppIUnk);
HRESULT ( STDMETHODCALLTYPE *OpenScope )(
IMetaDataDispenser * This,
/* [string][in] */ LPCWSTR szScope,
/* [in] */ DWORD dwOpenFlags,
/* [in] */ REFIID riid,
/* [iid_is][out] */ IUnknown **ppIUnk);
HRESULT ( STDMETHODCALLTYPE *OpenScopeOnMemory )(
IMetaDataDispenser * This,
/* [size_is][in] */ const BYTE *pData,
/* [in] */ ULONG cbData,
/* [in] */ DWORD dwOpenFlags,
/* [in] */ REFIID riid,
/* [iid_is][out] */ IUnknown **ppIUnk);
END_INTERFACE
} IMetaDataDispenserVtbl;
interface IMetaDataDispenser
{
CONST_VTBL struct IMetaDataDispenserVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMetaDataDispenser_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMetaDataDispenser_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMetaDataDispenser_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMetaDataDispenser_DefineScope(This,rclsid,dwCreateFlags,riid,ppIUnk) \
( (This)->lpVtbl -> DefineScope(This,rclsid,dwCreateFlags,riid,ppIUnk) )
#define IMetaDataDispenser_OpenScope(This,szScope,dwOpenFlags,riid,ppIUnk) \
( (This)->lpVtbl -> OpenScope(This,szScope,dwOpenFlags,riid,ppIUnk) )
#define IMetaDataDispenser_OpenScopeOnMemory(This,pData,cbData,dwOpenFlags,riid,ppIUnk) \
( (This)->lpVtbl -> OpenScopeOnMemory(This,pData,cbData,dwOpenFlags,riid,ppIUnk) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMetaDataDispenser_INTERFACE_DEFINED__ */
#ifndef __IMetaDataDispenserEx_INTERFACE_DEFINED__
#define __IMetaDataDispenserEx_INTERFACE_DEFINED__
/* interface IMetaDataDispenserEx */
/* [object][uuid][local] */
EXTERN_C const IID IID_IMetaDataDispenserEx;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("31BCFCE2-DAFB-11D2-9F81-00C04F79A0A3")
IMetaDataDispenserEx : public IMetaDataDispenser
{
public:
virtual HRESULT STDMETHODCALLTYPE SetOption(
/* [in] */ REFGUID optionId,
/* [in] */ const VARIANT *pValue) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOption(
/* [in] */ REFGUID optionId,
/* [out] */ VARIANT *pValue) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenScopeOnITypeInfo(
/* [in] */ ITypeInfo *pITI,
/* [in] */ DWORD dwOpenFlags,
/* [in] */ REFIID riid,
/* [iid_is][out] */ IUnknown **ppIUnk) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCORSystemDirectory(
/* [annotation][size_is][string][out] */
_Out_writes_to_opt_(cchBuffer, *pchBuffer) LPWSTR szBuffer,
/* [in] */ DWORD cchBuffer,
/* [out] */ DWORD *pchBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE FindAssembly(
/* [unique][string][in] */ LPCWSTR szAppBase,
/* [unique][string][in] */ LPCWSTR szPrivateBin,
/* [unique][string][in] */ LPCWSTR szGlobalBin,
/* [unique][string][in] */ LPCWSTR szAssemblyName,
/* [length_is][size_is][string][out] */ LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName) = 0;
virtual HRESULT STDMETHODCALLTYPE FindAssemblyModule(
/* [unique][string][in] */ LPCWSTR szAppBase,
/* [unique][string][in] */ LPCWSTR szPrivateBin,
/* [unique][string][in] */ LPCWSTR szGlobalBin,
/* [string][in] */ LPCWSTR szAssemblyName,
/* [string][in] */ LPCWSTR szModuleName,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pcName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pcName) = 0;
};
#else /* C style interface */
typedef struct IMetaDataDispenserExVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMetaDataDispenserEx * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMetaDataDispenserEx * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMetaDataDispenserEx * This);
HRESULT ( STDMETHODCALLTYPE *DefineScope )(
IMetaDataDispenserEx * This,
/* [in] */ REFCLSID rclsid,
/* [in] */ DWORD dwCreateFlags,
/* [in] */ REFIID riid,
/* [iid_is][out] */ IUnknown **ppIUnk);
HRESULT ( STDMETHODCALLTYPE *OpenScope )(
IMetaDataDispenserEx * This,
/* [string][in] */ LPCWSTR szScope,
/* [in] */ DWORD dwOpenFlags,
/* [in] */ REFIID riid,
/* [iid_is][out] */ IUnknown **ppIUnk);
HRESULT ( STDMETHODCALLTYPE *OpenScopeOnMemory )(
IMetaDataDispenserEx * This,
/* [size_is][in] */ const BYTE *pData,
/* [in] */ ULONG cbData,
/* [in] */ DWORD dwOpenFlags,
/* [in] */ REFIID riid,
/* [iid_is][out] */ IUnknown **ppIUnk);
HRESULT ( STDMETHODCALLTYPE *SetOption )(
IMetaDataDispenserEx * This,
/* [in] */ REFGUID optionId,
/* [in] */ const VARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *GetOption )(
IMetaDataDispenserEx * This,
/* [in] */ REFGUID optionId,
/* [out] */ VARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *OpenScopeOnITypeInfo )(
IMetaDataDispenserEx * This,
/* [in] */ ITypeInfo *pITI,
/* [in] */ DWORD dwOpenFlags,
/* [in] */ REFIID riid,
/* [iid_is][out] */ IUnknown **ppIUnk);
HRESULT ( STDMETHODCALLTYPE *GetCORSystemDirectory )(
IMetaDataDispenserEx * This,
/* [annotation][size_is][string][out] */
_Out_writes_to_opt_(cchBuffer, *pchBuffer) LPWSTR szBuffer,
/* [in] */ DWORD cchBuffer,
/* [out] */ DWORD *pchBuffer);
HRESULT ( STDMETHODCALLTYPE *FindAssembly )(
IMetaDataDispenserEx * This,
/* [unique][string][in] */ LPCWSTR szAppBase,
/* [unique][string][in] */ LPCWSTR szPrivateBin,
/* [unique][string][in] */ LPCWSTR szGlobalBin,
/* [unique][string][in] */ LPCWSTR szAssemblyName,
/* [length_is][size_is][string][out] */ LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName);
HRESULT ( STDMETHODCALLTYPE *FindAssemblyModule )(
IMetaDataDispenserEx * This,
/* [unique][string][in] */ LPCWSTR szAppBase,
/* [unique][string][in] */ LPCWSTR szPrivateBin,
/* [unique][string][in] */ LPCWSTR szGlobalBin,
/* [string][in] */ LPCWSTR szAssemblyName,
/* [string][in] */ LPCWSTR szModuleName,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pcName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pcName);
END_INTERFACE
} IMetaDataDispenserExVtbl;
interface IMetaDataDispenserEx
{
CONST_VTBL struct IMetaDataDispenserExVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMetaDataDispenserEx_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMetaDataDispenserEx_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMetaDataDispenserEx_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMetaDataDispenserEx_DefineScope(This,rclsid,dwCreateFlags,riid,ppIUnk) \
( (This)->lpVtbl -> DefineScope(This,rclsid,dwCreateFlags,riid,ppIUnk) )
#define IMetaDataDispenserEx_OpenScope(This,szScope,dwOpenFlags,riid,ppIUnk) \
( (This)->lpVtbl -> OpenScope(This,szScope,dwOpenFlags,riid,ppIUnk) )
#define IMetaDataDispenserEx_OpenScopeOnMemory(This,pData,cbData,dwOpenFlags,riid,ppIUnk) \
( (This)->lpVtbl -> OpenScopeOnMemory(This,pData,cbData,dwOpenFlags,riid,ppIUnk) )
#define IMetaDataDispenserEx_SetOption(This,optionId,pValue) \
( (This)->lpVtbl -> SetOption(This,optionId,pValue) )
#define IMetaDataDispenserEx_GetOption(This,optionId,pValue) \
( (This)->lpVtbl -> GetOption(This,optionId,pValue) )
#define IMetaDataDispenserEx_OpenScopeOnITypeInfo(This,pITI,dwOpenFlags,riid,ppIUnk) \
( (This)->lpVtbl -> OpenScopeOnITypeInfo(This,pITI,dwOpenFlags,riid,ppIUnk) )
#define IMetaDataDispenserEx_GetCORSystemDirectory(This,szBuffer,cchBuffer,pchBuffer) \
( (This)->lpVtbl -> GetCORSystemDirectory(This,szBuffer,cchBuffer,pchBuffer) )
#define IMetaDataDispenserEx_FindAssembly(This,szAppBase,szPrivateBin,szGlobalBin,szAssemblyName,szName,cchName,pchName) \
( (This)->lpVtbl -> FindAssembly(This,szAppBase,szPrivateBin,szGlobalBin,szAssemblyName,szName,cchName,pchName) )
#define IMetaDataDispenserEx_FindAssemblyModule(This,szAppBase,szPrivateBin,szGlobalBin,szAssemblyName,szModuleName,szName,cchName,pcName) \
( (This)->lpVtbl -> FindAssemblyModule(This,szAppBase,szPrivateBin,szGlobalBin,szAssemblyName,szModuleName,szName,cchName,pcName) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMetaDataDispenserEx_INTERFACE_DEFINED__ */
#ifndef __IMetaDataAssemblyImport_INTERFACE_DEFINED__
#define __IMetaDataAssemblyImport_INTERFACE_DEFINED__
/* interface IMetaDataAssemblyImport */
/* [object][uuid][local] */
EXTERN_C const IID IID_IMetaDataAssemblyImport;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("EE62470B-E94B-424E-9B7C-2F00C9249F93")
IMetaDataAssemblyImport : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetAssemblyProps(
/* [in] */ mdAssembly mda,
/* [size_is][size_is][out] */ const BYTE **ppbPublicKey,
/* [out] */ ULONG *pcbPublicKey,
/* [out] */ ULONG *pulHashAlgId,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName,
/* [out] */ ASSEMBLYMETADATA *pMetaData,
/* [out] */ DWORD *pdwAssemblyFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAssemblyRefProps(
/* [in] */ mdAssemblyRef mdar,
/* [size_is][size_is][out] */ const BYTE **ppbPublicKeyOrToken,
/* [out] */ ULONG *pcbPublicKeyOrToken,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName,
/* [out] */ ASSEMBLYMETADATA *pMetaData,
/* [size_is][size_is][out] */ const BYTE **ppbHashValue,
/* [out] */ ULONG *pcbHashValue,
/* [out] */ DWORD *pdwAssemblyRefFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFileProps(
/* [in] */ mdFile mdf,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName,
/* [size_is][size_is][out] */ const BYTE **ppbHashValue,
/* [out] */ ULONG *pcbHashValue,
/* [out] */ DWORD *pdwFileFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetExportedTypeProps(
/* [in] */ mdExportedType mdct,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName,
/* [out] */ mdToken *ptkImplementation,
/* [out] */ mdTypeDef *ptkTypeDef,
/* [out] */ DWORD *pdwExportedTypeFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetManifestResourceProps(
/* [in] */ mdManifestResource mdmr,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName,
/* [out] */ mdToken *ptkImplementation,
/* [out] */ DWORD *pdwOffset,
/* [out] */ DWORD *pdwResourceFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumAssemblyRefs(
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdAssemblyRef rAssemblyRefs[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumFiles(
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdFile rFiles[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumExportedTypes(
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdExportedType rExportedTypes[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumManifestResources(
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdManifestResource rManifestResources[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAssemblyFromScope(
/* [out] */ mdAssembly *ptkAssembly) = 0;
virtual HRESULT STDMETHODCALLTYPE FindExportedTypeByName(
/* [string][in] */ LPCWSTR szName,
/* [in] */ mdToken mdtExportedType,
/* [out] */ mdExportedType *ptkExportedType) = 0;
virtual HRESULT STDMETHODCALLTYPE FindManifestResourceByName(
/* [string][in] */ LPCWSTR szName,
/* [out] */ mdManifestResource *ptkManifestResource) = 0;
virtual void STDMETHODCALLTYPE CloseEnum(
/* [in] */ HCORENUM hEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE FindAssembliesByName(
/* [unique][string][in] */ LPCWSTR szAppBase,
/* [unique][string][in] */ LPCWSTR szPrivateBin,
/* [string][in] */ LPCWSTR szAssemblyName,
/* [length_is][size_is][out] */ IUnknown *ppIUnk[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcAssemblies) = 0;
};
#else /* C style interface */
typedef struct IMetaDataAssemblyImportVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMetaDataAssemblyImport * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMetaDataAssemblyImport * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMetaDataAssemblyImport * This);
HRESULT ( STDMETHODCALLTYPE *GetAssemblyProps )(
IMetaDataAssemblyImport * This,
/* [in] */ mdAssembly mda,
/* [size_is][size_is][out] */ const BYTE **ppbPublicKey,
/* [out] */ ULONG *pcbPublicKey,
/* [out] */ ULONG *pulHashAlgId,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName,
/* [out] */ ASSEMBLYMETADATA *pMetaData,
/* [out] */ DWORD *pdwAssemblyFlags);
HRESULT ( STDMETHODCALLTYPE *GetAssemblyRefProps )(
IMetaDataAssemblyImport * This,
/* [in] */ mdAssemblyRef mdar,
/* [size_is][size_is][out] */ const BYTE **ppbPublicKeyOrToken,
/* [out] */ ULONG *pcbPublicKeyOrToken,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName,
/* [out] */ ASSEMBLYMETADATA *pMetaData,
/* [size_is][size_is][out] */ const BYTE **ppbHashValue,
/* [out] */ ULONG *pcbHashValue,
/* [out] */ DWORD *pdwAssemblyRefFlags);
HRESULT ( STDMETHODCALLTYPE *GetFileProps )(
IMetaDataAssemblyImport * This,
/* [in] */ mdFile mdf,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName,
/* [size_is][size_is][out] */ const BYTE **ppbHashValue,
/* [out] */ ULONG *pcbHashValue,
/* [out] */ DWORD *pdwFileFlags);
HRESULT ( STDMETHODCALLTYPE *GetExportedTypeProps )(
IMetaDataAssemblyImport * This,
/* [in] */ mdExportedType mdct,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName,
/* [out] */ mdToken *ptkImplementation,
/* [out] */ mdTypeDef *ptkTypeDef,
/* [out] */ DWORD *pdwExportedTypeFlags);
HRESULT ( STDMETHODCALLTYPE *GetManifestResourceProps )(
IMetaDataAssemblyImport * This,
/* [in] */ mdManifestResource mdmr,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName,
/* [out] */ mdToken *ptkImplementation,
/* [out] */ DWORD *pdwOffset,
/* [out] */ DWORD *pdwResourceFlags);
HRESULT ( STDMETHODCALLTYPE *EnumAssemblyRefs )(
IMetaDataAssemblyImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdAssemblyRef rAssemblyRefs[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumFiles )(
IMetaDataAssemblyImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdFile rFiles[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumExportedTypes )(
IMetaDataAssemblyImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdExportedType rExportedTypes[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumManifestResources )(
IMetaDataAssemblyImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdManifestResource rManifestResources[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *GetAssemblyFromScope )(
IMetaDataAssemblyImport * This,
/* [out] */ mdAssembly *ptkAssembly);
HRESULT ( STDMETHODCALLTYPE *FindExportedTypeByName )(
IMetaDataAssemblyImport * This,
/* [string][in] */ LPCWSTR szName,
/* [in] */ mdToken mdtExportedType,
/* [out] */ mdExportedType *ptkExportedType);
HRESULT ( STDMETHODCALLTYPE *FindManifestResourceByName )(
IMetaDataAssemblyImport * This,
/* [string][in] */ LPCWSTR szName,
/* [out] */ mdManifestResource *ptkManifestResource);
void ( STDMETHODCALLTYPE *CloseEnum )(
IMetaDataAssemblyImport * This,
/* [in] */ HCORENUM hEnum);
HRESULT ( STDMETHODCALLTYPE *FindAssembliesByName )(
IMetaDataAssemblyImport * This,
/* [unique][string][in] */ LPCWSTR szAppBase,
/* [unique][string][in] */ LPCWSTR szPrivateBin,
/* [string][in] */ LPCWSTR szAssemblyName,
/* [length_is][size_is][out] */ IUnknown *ppIUnk[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcAssemblies);
END_INTERFACE
} IMetaDataAssemblyImportVtbl;
interface IMetaDataAssemblyImport
{
CONST_VTBL struct IMetaDataAssemblyImportVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMetaDataAssemblyImport_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMetaDataAssemblyImport_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMetaDataAssemblyImport_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMetaDataAssemblyImport_GetAssemblyProps(This,mda,ppbPublicKey,pcbPublicKey,pulHashAlgId,szName,cchName,pchName,pMetaData,pdwAssemblyFlags) \
( (This)->lpVtbl -> GetAssemblyProps(This,mda,ppbPublicKey,pcbPublicKey,pulHashAlgId,szName,cchName,pchName,pMetaData,pdwAssemblyFlags) )
#define IMetaDataAssemblyImport_GetAssemblyRefProps(This,mdar,ppbPublicKeyOrToken,pcbPublicKeyOrToken,szName,cchName,pchName,pMetaData,ppbHashValue,pcbHashValue,pdwAssemblyRefFlags) \
( (This)->lpVtbl -> GetAssemblyRefProps(This,mdar,ppbPublicKeyOrToken,pcbPublicKeyOrToken,szName,cchName,pchName,pMetaData,ppbHashValue,pcbHashValue,pdwAssemblyRefFlags) )
#define IMetaDataAssemblyImport_GetFileProps(This,mdf,szName,cchName,pchName,ppbHashValue,pcbHashValue,pdwFileFlags) \
( (This)->lpVtbl -> GetFileProps(This,mdf,szName,cchName,pchName,ppbHashValue,pcbHashValue,pdwFileFlags) )
#define IMetaDataAssemblyImport_GetExportedTypeProps(This,mdct,szName,cchName,pchName,ptkImplementation,ptkTypeDef,pdwExportedTypeFlags) \
( (This)->lpVtbl -> GetExportedTypeProps(This,mdct,szName,cchName,pchName,ptkImplementation,ptkTypeDef,pdwExportedTypeFlags) )
#define IMetaDataAssemblyImport_GetManifestResourceProps(This,mdmr,szName,cchName,pchName,ptkImplementation,pdwOffset,pdwResourceFlags) \
( (This)->lpVtbl -> GetManifestResourceProps(This,mdmr,szName,cchName,pchName,ptkImplementation,pdwOffset,pdwResourceFlags) )
#define IMetaDataAssemblyImport_EnumAssemblyRefs(This,phEnum,rAssemblyRefs,cMax,pcTokens) \
( (This)->lpVtbl -> EnumAssemblyRefs(This,phEnum,rAssemblyRefs,cMax,pcTokens) )
#define IMetaDataAssemblyImport_EnumFiles(This,phEnum,rFiles,cMax,pcTokens) \
( (This)->lpVtbl -> EnumFiles(This,phEnum,rFiles,cMax,pcTokens) )
#define IMetaDataAssemblyImport_EnumExportedTypes(This,phEnum,rExportedTypes,cMax,pcTokens) \
( (This)->lpVtbl -> EnumExportedTypes(This,phEnum,rExportedTypes,cMax,pcTokens) )
#define IMetaDataAssemblyImport_EnumManifestResources(This,phEnum,rManifestResources,cMax,pcTokens) \
( (This)->lpVtbl -> EnumManifestResources(This,phEnum,rManifestResources,cMax,pcTokens) )
#define IMetaDataAssemblyImport_GetAssemblyFromScope(This,ptkAssembly) \
( (This)->lpVtbl -> GetAssemblyFromScope(This,ptkAssembly) )
#define IMetaDataAssemblyImport_FindExportedTypeByName(This,szName,mdtExportedType,ptkExportedType) \
( (This)->lpVtbl -> FindExportedTypeByName(This,szName,mdtExportedType,ptkExportedType) )
#define IMetaDataAssemblyImport_FindManifestResourceByName(This,szName,ptkManifestResource) \
( (This)->lpVtbl -> FindManifestResourceByName(This,szName,ptkManifestResource) )
#define IMetaDataAssemblyImport_CloseEnum(This,hEnum) \
( (This)->lpVtbl -> CloseEnum(This,hEnum) )
#define IMetaDataAssemblyImport_FindAssembliesByName(This,szAppBase,szPrivateBin,szAssemblyName,ppIUnk,cMax,pcAssemblies) \
( (This)->lpVtbl -> FindAssembliesByName(This,szAppBase,szPrivateBin,szAssemblyName,ppIUnk,cMax,pcAssemblies) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMetaDataAssemblyImport_INTERFACE_DEFINED__ */
#ifndef __IMetaDataImport_INTERFACE_DEFINED__
#define __IMetaDataImport_INTERFACE_DEFINED__
/* interface IMetaDataImport */
/* [object][uuid][local] */
EXTERN_C const IID IID_IMetaDataImport;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7DAC8207-D3AE-4C75-9B67-92801A497D44")
IMetaDataImport : public IUnknown
{
public:
virtual void STDMETHODCALLTYPE CloseEnum(
/* [in] */ HCORENUM hEnum) = 0;
virtual HRESULT STDMETHODCALLTYPE CountEnum(
/* [in] */ HCORENUM hEnum,
/* [retval][out] */ ULONG *pulCount) = 0;
virtual HRESULT STDMETHODCALLTYPE ResetEnum(
/* [in] */ HCORENUM hEnum,
/* [in] */ ULONG ulPos) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumTypeDefs(
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdTypeDef rgTypeDefs[ ],
/* [in] */ ULONG cMax,
/* [retval][out] */ ULONG *pcTypeDefs) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumInterfaceImpls(
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef td,
/* [length_is][size_is][out] */ mdInterfaceImpl rImpls[ ],
/* [in] */ ULONG cMax,
/* [retval][out] */ ULONG *pcImpls) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumTypeRefs(
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdTypeRef rgTypeRefs[ ],
/* [in] */ ULONG cMax,
/* [retval][out] */ ULONG *pcTypeRefs) = 0;
virtual HRESULT STDMETHODCALLTYPE FindTypeDefByName(
/* [string][in] */ LPCWSTR szTypeDef,
/* [in] */ mdToken tkEnclosingClass,
/* [retval][out] */ mdTypeDef *ptkTypeDef) = 0;
virtual HRESULT STDMETHODCALLTYPE GetScopeProps(
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName,
/* [unique][out] */ GUID *pmvid) = 0;
virtual HRESULT STDMETHODCALLTYPE GetModuleFromScope(
/* [out] */ mdModule *ptkModule) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTypeDefProps(
/* [in] */ mdTypeDef tkTypeDef,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchTypeDef, pchTypeDef) LPWSTR szTypeDef,
/* [in] */ ULONG cchTypeDef,
/* [out] */ ULONG *pchTypeDef,
/* [out] */ DWORD *pdwTypeDefFlags,
/* [out] */ mdToken *ptkExtends) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInterfaceImplProps(
/* [in] */ mdInterfaceImpl tkInterfaceImpl,
/* [out] */ mdTypeDef *ptkClass,
/* [out] */ mdToken *ptkIface) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTypeRefProps(
/* [in] */ mdTypeRef tkTypeRef,
/* [out] */ mdToken *ptkResolutionScope,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName) = 0;
virtual HRESULT STDMETHODCALLTYPE ResolveTypeRef(
/* [in] */ mdTypeRef tkTypeRef,
/* [in] */ REFIID riid,
/* [iid_is][out] */ IUnknown **ppIScope,
/* [retval][out] */ mdTypeDef *ptkTypeDef) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumMembers(
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [length_is][size_is][out] */ mdToken rgMembers[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumMembersWithName(
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [string][in] */ LPCWSTR szName,
/* [length_is][size_is][out] */ mdToken rgMembers[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumMethods(
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [length_is][size_is][out] */ mdMethodDef rgMethods[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumMethodsWithName(
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [string][in] */ LPCWSTR szName,
/* [length_is][size_is][out] */ mdMethodDef rgMethods[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumFields(
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [length_is][size_is][out] */ mdFieldDef rgFields[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumFieldsWithName(
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [string][in] */ LPCWSTR szName,
/* [length_is][size_is][out] */ mdFieldDef rFields[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumParams(
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdMethodDef tkMethodDef,
/* [length_is][size_is][out] */ mdParamDef rParams[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumMemberRefs(
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdToken tkParent,
/* [length_is][size_is][out] */ mdMemberRef rgMemberRefs[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumMethodImpls(
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [length_is][size_is][out] */ mdToken rMethodBody[ ],
/* [length_is][size_is][out] */ mdToken rMethodDecl[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumPermissionSets(
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdToken tk,
/* [in] */ DWORD dwActions,
/* [length_is][size_is][out] */ mdPermission rPermission[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens) = 0;
virtual HRESULT STDMETHODCALLTYPE FindMember(
/* [in] */ mdTypeDef tkTypeDef,
/* [string][in] */ LPCWSTR szName,
/* [size_is][in] */ PCCOR_SIGNATURE pvSigBlob,
/* [in] */ ULONG cbSigBlob,
/* [out] */ mdToken *pmb) = 0;
virtual HRESULT STDMETHODCALLTYPE FindMethod(
/* [in] */ mdTypeDef tkTypeDef,
/* [string][in] */ LPCWSTR szName,
/* [size_is][in] */ PCCOR_SIGNATURE pvSigBlob,
/* [in] */ ULONG cbSigBlob,
/* [out] */ mdMethodDef *ptkMethodDef) = 0;
virtual HRESULT STDMETHODCALLTYPE FindField(
/* [in] */ mdTypeDef tkTypeDef,
/* [string][in] */ LPCWSTR szName,
/* [size_is][in] */ PCCOR_SIGNATURE pvSigBlob,
/* [in] */ ULONG cbSigBlob,
/* [out] */ mdFieldDef *ptkFieldDef) = 0;
virtual HRESULT STDMETHODCALLTYPE FindMemberRef(
/* [in] */ mdTypeRef tkTypeRef,
/* [string][in] */ LPCWSTR szName,
/* [size_is][in] */ PCCOR_SIGNATURE pvSigBlob,
/* [in] */ ULONG cbSigBlob,
/* [out] */ mdMemberRef *pMemberRef) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMethodProps(
/* [in] */ mdMethodDef tkMethodDef,
/* [out] */ mdTypeDef *ptkClass,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchMethod, *pchMethod) LPWSTR szMethod,
/* [in] */ ULONG cchMethod,
/* [out] */ ULONG *pchMethod,
/* [out] */ DWORD *pdwAttr,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSigBlob,
/* [out] */ ULONG *pcbSigBlob,
/* [out] */ ULONG *pulCodeRVA,
/* [out] */ DWORD *pdwImplFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMemberRefProps(
/* [in] */ mdMemberRef tkMemberRef,
/* [out] */ mdToken *ptk,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchMember, *pchMember) LPWSTR szMember,
/* [in] */ ULONG cchMember,
/* [out] */ ULONG *pchMember,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSigBlob,
/* [out] */ ULONG *pcbSigBlob) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumProperties(
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypDef,
/* [length_is][size_is][out] */ mdProperty rgProperties[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcProperties) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumEvents(
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypDef,
/* [length_is][size_is][out] */ mdEvent rgEvents[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcEvents) = 0;
virtual HRESULT STDMETHODCALLTYPE GetEventProps(
/* [in] */ mdEvent tkEvent,
/* [out] */ mdTypeDef *ptkClass,
/* [length_is][size_is][string][out] */ LPWSTR szEvent,
/* [in] */ ULONG cchEvent,
/* [out] */ ULONG *pchEvent,
/* [out] */ DWORD *pdwEventFlags,
/* [out] */ mdToken *ptkEventType,
/* [out] */ mdMethodDef *ptkAddOn,
/* [out] */ mdMethodDef *ptkRemoveOn,
/* [out] */ mdMethodDef *tkkFire,
/* [length_is][size_is][out] */ mdMethodDef rgOtherMethod[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcOtherMethod) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumMethodSemantics(
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdMethodDef tkMethodDef,
/* [length_is][size_is][out] */ mdToken rgEventProp[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcEventProp) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMethodSemantics(
/* [in] */ mdMethodDef tkMethodDef,
/* [in] */ mdToken tkEventProp,
/* [out] */ DWORD *pdwSemanticsFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetClassLayout(
/* [in] */ mdTypeDef tkTypeDef,
/* [out] */ DWORD *pdwPackSize,
/* [length_is][size_is][out] */ COR_FIELD_OFFSET rgFieldOffset[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcFieldOffset,
/* [out] */ ULONG *pulClassSize) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFieldMarshal(
/* [in] */ mdToken tk,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvNativeType,
/* [out] */ ULONG *pcbNativeType) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRVA(
/* [in] */ mdToken tk,
/* [out] */ ULONG *pulCodeRVA,
/* [out] */ DWORD *pdwImplFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPermissionSetProps(
/* [in] */ mdPermission tk,
/* [out] */ DWORD *pdwAction,
/* [size_is][size_is][out] */ const BYTE **ppvPermission,
/* [out] */ ULONG *pcbPermission) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSigFromToken(
/* [in] */ mdSignature tkSignature,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSig,
/* [out] */ ULONG *pcbSig) = 0;
virtual HRESULT STDMETHODCALLTYPE GetModuleRefProps(
/* [in] */ mdModuleRef tkModuleRef,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumModuleRefs(
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdModuleRef rgModuleRefs[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcModuleRefs) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTypeSpecFromToken(
/* [in] */ mdTypeSpec tkTypeSpec,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSig,
/* [out] */ ULONG *pcbSig) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNameFromToken(
/* [in] */ mdToken tk,
/* [string][out] */ MDUTF8CSTR *pszUtf8NamePtr) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumUnresolvedMethods(
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdToken rgMethods[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUserString(
/* [in] */ mdString tkString,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchString, *pchString) LPWSTR szString,
/* [in] */ ULONG cchString,
/* [out] */ ULONG *pchString) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPinvokeMap(
/* [in] */ mdToken tk,
/* [out] */ DWORD *pdwMappingFlags,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchImportName, *pchImportName) LPWSTR szImportName,
/* [in] */ ULONG cchImportName,
/* [out] */ ULONG *pchImportName,
/* [out] */ mdModuleRef *ptkImportDLL) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumSignatures(
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdSignature rgSignatures[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcSignatures) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumTypeSpecs(
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdTypeSpec rgTypeSpecs[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTypeSpecs) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumUserStrings(
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdString rgStrings[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcStrings) = 0;
virtual HRESULT STDMETHODCALLTYPE GetParamForMethodIndex(
/* [in] */ mdMethodDef tkMethodDef,
/* [in] */ ULONG ulParamSeq,
/* [out] */ mdParamDef *ptkParamDef) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumCustomAttributes(
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdToken tk,
/* [in] */ mdToken tkType,
/* [length_is][size_is][out] */ mdCustomAttribute rgCustomAttributes[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcCustomAttributes) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCustomAttributeProps(
/* [in] */ mdCustomAttribute cv,
/* [unique][out] */ mdToken *ptkObj,
/* [unique][out] */ mdToken *ptkType,
/* [unique][size_is][size_is][out] */ const BYTE **ppBlob,
/* [unique][out] */ ULONG *pcbBlob) = 0;
virtual HRESULT STDMETHODCALLTYPE FindTypeRef(
/* [in] */ mdToken tkResolutionScope,
/* [string][in] */ LPCWSTR szName,
/* [out] */ mdTypeRef *tkTypeRef) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMemberProps(
/* [in] */ mdToken tkMember,
/* [out] */ mdTypeDef *ptkTypeDef,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchMember, *pchMember) LPWSTR szMember,
/* [in] */ ULONG cchMember,
/* [out] */ ULONG *pchMember,
/* [out] */ DWORD *pdwAttr,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSigBlob,
/* [out] */ ULONG *pcbSigBlob,
/* [out] */ ULONG *pulCodeRVA,
/* [out] */ DWORD *pdwImplFlags,
/* [out] */ DWORD *pdwCPlusTypeFlag,
/* [size_is][size_is][out] */ UVCP_CONSTANT *ppValue,
/* [out] */ ULONG *pcchValue) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFieldProps(
/* [in] */ mdFieldDef tkFieldDef,
/* [out] */ mdTypeDef *ptkTypeDef,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchField, *pchField) LPWSTR szField,
/* [in] */ ULONG cchField,
/* [out] */ ULONG *pchField,
/* [out] */ DWORD *pdwAttr,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSigBlob,
/* [out] */ ULONG *pcbSigBlob,
/* [out] */ DWORD *pdwCPlusTypeFlag,
/* [size_is][size_is][out] */ UVCP_CONSTANT *ppValue,
/* [out] */ ULONG *pcchValue) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPropertyProps(
/* [in] */ mdProperty prop,
/* [out] */ mdTypeDef *ptkTypeDef,
/* [length_is][size_is][string][out] */ LPWSTR szProperty,
/* [in] */ ULONG cchProperty,
/* [out] */ ULONG *pchProperty,
/* [out] */ DWORD *pdwPropFlags,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSigBlob,
/* [out] */ ULONG *pcbSigBlob,
/* [out] */ DWORD *pdwCPlusTypeFlag,
/* [size_is][size_is][out] */ UVCP_CONSTANT *ppDefaultValue,
/* [out] */ ULONG *pcchDefaultValue,
/* [out] */ mdMethodDef *ptkSetter,
/* [out] */ mdMethodDef *ptkGetter,
/* [length_is][size_is][out] */ mdMethodDef rgOtherMethod[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcOtherMethod) = 0;
virtual HRESULT STDMETHODCALLTYPE GetParamProps(
/* [in] */ mdParamDef tkParamDef,
/* [out] */ mdMethodDef *ptkMethodDef,
/* [out] */ ULONG *pulSequence,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName,
/* [out] */ DWORD *pdwAttr,
/* [out] */ DWORD *pdwCPlusTypeFlag,
/* [size_is][size_is][out] */ UVCP_CONSTANT *ppValue,
/* [out] */ ULONG *pcchValue) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCustomAttributeByName(
/* [in] */ mdToken tkObj,
/* [string][in] */ LPCWSTR szName,
/* [size_is][size_is][out] */ const BYTE **ppData,
/* [out] */ ULONG *pcbData) = 0;
virtual BOOL STDMETHODCALLTYPE IsValidToken(
/* [in] */ mdToken tk) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNestedClassProps(
/* [in] */ mdTypeDef tdNestedClass,
/* [out] */ mdTypeDef *ptdEnclosingClass) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNativeCallConvFromSig(
/* [size_is][in] */ const BYTE *pvSig,
/* [in] */ ULONG cbSig,
/* [out] */ ULONG *pCallConv) = 0;
virtual HRESULT STDMETHODCALLTYPE IsGlobal(
/* [in] */ mdToken tk,
/* [out] */ int *pbIsGlobal) = 0;
};
#else /* C style interface */
typedef struct IMetaDataImportVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMetaDataImport * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMetaDataImport * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMetaDataImport * This);
void ( STDMETHODCALLTYPE *CloseEnum )(
IMetaDataImport * This,
/* [in] */ HCORENUM hEnum);
HRESULT ( STDMETHODCALLTYPE *CountEnum )(
IMetaDataImport * This,
/* [in] */ HCORENUM hEnum,
/* [retval][out] */ ULONG *pulCount);
HRESULT ( STDMETHODCALLTYPE *ResetEnum )(
IMetaDataImport * This,
/* [in] */ HCORENUM hEnum,
/* [in] */ ULONG ulPos);
HRESULT ( STDMETHODCALLTYPE *EnumTypeDefs )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdTypeDef rgTypeDefs[ ],
/* [in] */ ULONG cMax,
/* [retval][out] */ ULONG *pcTypeDefs);
HRESULT ( STDMETHODCALLTYPE *EnumInterfaceImpls )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef td,
/* [length_is][size_is][out] */ mdInterfaceImpl rImpls[ ],
/* [in] */ ULONG cMax,
/* [retval][out] */ ULONG *pcImpls);
HRESULT ( STDMETHODCALLTYPE *EnumTypeRefs )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdTypeRef rgTypeRefs[ ],
/* [in] */ ULONG cMax,
/* [retval][out] */ ULONG *pcTypeRefs);
HRESULT ( STDMETHODCALLTYPE *FindTypeDefByName )(
IMetaDataImport * This,
/* [string][in] */ LPCWSTR szTypeDef,
/* [in] */ mdToken tkEnclosingClass,
/* [retval][out] */ mdTypeDef *ptkTypeDef);
HRESULT ( STDMETHODCALLTYPE *GetScopeProps )(
IMetaDataImport * This,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName,
/* [unique][out] */ GUID *pmvid);
HRESULT ( STDMETHODCALLTYPE *GetModuleFromScope )(
IMetaDataImport * This,
/* [out] */ mdModule *ptkModule);
HRESULT ( STDMETHODCALLTYPE *GetTypeDefProps )(
IMetaDataImport * This,
/* [in] */ mdTypeDef tkTypeDef,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchTypeDef, pchTypeDef) LPWSTR szTypeDef,
/* [in] */ ULONG cchTypeDef,
/* [out] */ ULONG *pchTypeDef,
/* [out] */ DWORD *pdwTypeDefFlags,
/* [out] */ mdToken *ptkExtends);
HRESULT ( STDMETHODCALLTYPE *GetInterfaceImplProps )(
IMetaDataImport * This,
/* [in] */ mdInterfaceImpl tkInterfaceImpl,
/* [out] */ mdTypeDef *ptkClass,
/* [out] */ mdToken *ptkIface);
HRESULT ( STDMETHODCALLTYPE *GetTypeRefProps )(
IMetaDataImport * This,
/* [in] */ mdTypeRef tkTypeRef,
/* [out] */ mdToken *ptkResolutionScope,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName);
HRESULT ( STDMETHODCALLTYPE *ResolveTypeRef )(
IMetaDataImport * This,
/* [in] */ mdTypeRef tkTypeRef,
/* [in] */ REFIID riid,
/* [iid_is][out] */ IUnknown **ppIScope,
/* [retval][out] */ mdTypeDef *ptkTypeDef);
HRESULT ( STDMETHODCALLTYPE *EnumMembers )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [length_is][size_is][out] */ mdToken rgMembers[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumMembersWithName )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [string][in] */ LPCWSTR szName,
/* [length_is][size_is][out] */ mdToken rgMembers[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumMethods )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [length_is][size_is][out] */ mdMethodDef rgMethods[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumMethodsWithName )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [string][in] */ LPCWSTR szName,
/* [length_is][size_is][out] */ mdMethodDef rgMethods[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumFields )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [length_is][size_is][out] */ mdFieldDef rgFields[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumFieldsWithName )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [string][in] */ LPCWSTR szName,
/* [length_is][size_is][out] */ mdFieldDef rFields[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumParams )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdMethodDef tkMethodDef,
/* [length_is][size_is][out] */ mdParamDef rParams[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumMemberRefs )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdToken tkParent,
/* [length_is][size_is][out] */ mdMemberRef rgMemberRefs[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumMethodImpls )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [length_is][size_is][out] */ mdToken rMethodBody[ ],
/* [length_is][size_is][out] */ mdToken rMethodDecl[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumPermissionSets )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdToken tk,
/* [in] */ DWORD dwActions,
/* [length_is][size_is][out] */ mdPermission rPermission[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *FindMember )(
IMetaDataImport * This,
/* [in] */ mdTypeDef tkTypeDef,
/* [string][in] */ LPCWSTR szName,
/* [size_is][in] */ PCCOR_SIGNATURE pvSigBlob,
/* [in] */ ULONG cbSigBlob,
/* [out] */ mdToken *pmb);
HRESULT ( STDMETHODCALLTYPE *FindMethod )(
IMetaDataImport * This,
/* [in] */ mdTypeDef tkTypeDef,
/* [string][in] */ LPCWSTR szName,
/* [size_is][in] */ PCCOR_SIGNATURE pvSigBlob,
/* [in] */ ULONG cbSigBlob,
/* [out] */ mdMethodDef *ptkMethodDef);
HRESULT ( STDMETHODCALLTYPE *FindField )(
IMetaDataImport * This,
/* [in] */ mdTypeDef tkTypeDef,
/* [string][in] */ LPCWSTR szName,
/* [size_is][in] */ PCCOR_SIGNATURE pvSigBlob,
/* [in] */ ULONG cbSigBlob,
/* [out] */ mdFieldDef *ptkFieldDef);
HRESULT ( STDMETHODCALLTYPE *FindMemberRef )(
IMetaDataImport * This,
/* [in] */ mdTypeRef tkTypeRef,
/* [string][in] */ LPCWSTR szName,
/* [size_is][in] */ PCCOR_SIGNATURE pvSigBlob,
/* [in] */ ULONG cbSigBlob,
/* [out] */ mdMemberRef *pMemberRef);
HRESULT ( STDMETHODCALLTYPE *GetMethodProps )(
IMetaDataImport * This,
/* [in] */ mdMethodDef tkMethodDef,
/* [out] */ mdTypeDef *ptkClass,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchMethod, *pchMethod) LPWSTR szMethod,
/* [in] */ ULONG cchMethod,
/* [out] */ ULONG *pchMethod,
/* [out] */ DWORD *pdwAttr,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSigBlob,
/* [out] */ ULONG *pcbSigBlob,
/* [out] */ ULONG *pulCodeRVA,
/* [out] */ DWORD *pdwImplFlags);
HRESULT ( STDMETHODCALLTYPE *GetMemberRefProps )(
IMetaDataImport * This,
/* [in] */ mdMemberRef tkMemberRef,
/* [out] */ mdToken *ptk,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchMember, *pchMember) LPWSTR szMember,
/* [in] */ ULONG cchMember,
/* [out] */ ULONG *pchMember,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSigBlob,
/* [out] */ ULONG *pcbSigBlob);
HRESULT ( STDMETHODCALLTYPE *EnumProperties )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypDef,
/* [length_is][size_is][out] */ mdProperty rgProperties[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcProperties);
HRESULT ( STDMETHODCALLTYPE *EnumEvents )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypDef,
/* [length_is][size_is][out] */ mdEvent rgEvents[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcEvents);
HRESULT ( STDMETHODCALLTYPE *GetEventProps )(
IMetaDataImport * This,
/* [in] */ mdEvent tkEvent,
/* [out] */ mdTypeDef *ptkClass,
/* [length_is][size_is][string][out] */ LPWSTR szEvent,
/* [in] */ ULONG cchEvent,
/* [out] */ ULONG *pchEvent,
/* [out] */ DWORD *pdwEventFlags,
/* [out] */ mdToken *ptkEventType,
/* [out] */ mdMethodDef *ptkAddOn,
/* [out] */ mdMethodDef *ptkRemoveOn,
/* [out] */ mdMethodDef *tkkFire,
/* [length_is][size_is][out] */ mdMethodDef rgOtherMethod[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcOtherMethod);
HRESULT ( STDMETHODCALLTYPE *EnumMethodSemantics )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdMethodDef tkMethodDef,
/* [length_is][size_is][out] */ mdToken rgEventProp[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcEventProp);
HRESULT ( STDMETHODCALLTYPE *GetMethodSemantics )(
IMetaDataImport * This,
/* [in] */ mdMethodDef tkMethodDef,
/* [in] */ mdToken tkEventProp,
/* [out] */ DWORD *pdwSemanticsFlags);
HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
IMetaDataImport * This,
/* [in] */ mdTypeDef tkTypeDef,
/* [out] */ DWORD *pdwPackSize,
/* [length_is][size_is][out] */ COR_FIELD_OFFSET rgFieldOffset[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcFieldOffset,
/* [out] */ ULONG *pulClassSize);
HRESULT ( STDMETHODCALLTYPE *GetFieldMarshal )(
IMetaDataImport * This,
/* [in] */ mdToken tk,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvNativeType,
/* [out] */ ULONG *pcbNativeType);
HRESULT ( STDMETHODCALLTYPE *GetRVA )(
IMetaDataImport * This,
/* [in] */ mdToken tk,
/* [out] */ ULONG *pulCodeRVA,
/* [out] */ DWORD *pdwImplFlags);
HRESULT ( STDMETHODCALLTYPE *GetPermissionSetProps )(
IMetaDataImport * This,
/* [in] */ mdPermission tk,
/* [out] */ DWORD *pdwAction,
/* [size_is][size_is][out] */ const BYTE **ppvPermission,
/* [out] */ ULONG *pcbPermission);
HRESULT ( STDMETHODCALLTYPE *GetSigFromToken )(
IMetaDataImport * This,
/* [in] */ mdSignature tkSignature,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSig,
/* [out] */ ULONG *pcbSig);
HRESULT ( STDMETHODCALLTYPE *GetModuleRefProps )(
IMetaDataImport * This,
/* [in] */ mdModuleRef tkModuleRef,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName);
HRESULT ( STDMETHODCALLTYPE *EnumModuleRefs )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdModuleRef rgModuleRefs[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcModuleRefs);
HRESULT ( STDMETHODCALLTYPE *GetTypeSpecFromToken )(
IMetaDataImport * This,
/* [in] */ mdTypeSpec tkTypeSpec,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSig,
/* [out] */ ULONG *pcbSig);
HRESULT ( STDMETHODCALLTYPE *GetNameFromToken )(
IMetaDataImport * This,
/* [in] */ mdToken tk,
/* [string][out] */ MDUTF8CSTR *pszUtf8NamePtr);
HRESULT ( STDMETHODCALLTYPE *EnumUnresolvedMethods )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdToken rgMethods[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *GetUserString )(
IMetaDataImport * This,
/* [in] */ mdString tkString,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchString, *pchString) LPWSTR szString,
/* [in] */ ULONG cchString,
/* [out] */ ULONG *pchString);
HRESULT ( STDMETHODCALLTYPE *GetPinvokeMap )(
IMetaDataImport * This,
/* [in] */ mdToken tk,
/* [out] */ DWORD *pdwMappingFlags,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchImportName, *pchImportName) LPWSTR szImportName,
/* [in] */ ULONG cchImportName,
/* [out] */ ULONG *pchImportName,
/* [out] */ mdModuleRef *ptkImportDLL);
HRESULT ( STDMETHODCALLTYPE *EnumSignatures )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdSignature rgSignatures[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcSignatures);
HRESULT ( STDMETHODCALLTYPE *EnumTypeSpecs )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdTypeSpec rgTypeSpecs[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTypeSpecs);
HRESULT ( STDMETHODCALLTYPE *EnumUserStrings )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdString rgStrings[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcStrings);
HRESULT ( STDMETHODCALLTYPE *GetParamForMethodIndex )(
IMetaDataImport * This,
/* [in] */ mdMethodDef tkMethodDef,
/* [in] */ ULONG ulParamSeq,
/* [out] */ mdParamDef *ptkParamDef);
HRESULT ( STDMETHODCALLTYPE *EnumCustomAttributes )(
IMetaDataImport * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdToken tk,
/* [in] */ mdToken tkType,
/* [length_is][size_is][out] */ mdCustomAttribute rgCustomAttributes[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcCustomAttributes);
HRESULT ( STDMETHODCALLTYPE *GetCustomAttributeProps )(
IMetaDataImport * This,
/* [in] */ mdCustomAttribute cv,
/* [unique][out] */ mdToken *ptkObj,
/* [unique][out] */ mdToken *ptkType,
/* [unique][size_is][size_is][out] */ const BYTE **ppBlob,
/* [unique][out] */ ULONG *pcbBlob);
HRESULT ( STDMETHODCALLTYPE *FindTypeRef )(
IMetaDataImport * This,
/* [in] */ mdToken tkResolutionScope,
/* [string][in] */ LPCWSTR szName,
/* [out] */ mdTypeRef *tkTypeRef);
HRESULT ( STDMETHODCALLTYPE *GetMemberProps )(
IMetaDataImport * This,
/* [in] */ mdToken tkMember,
/* [out] */ mdTypeDef *ptkTypeDef,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchMember, *pchMember) LPWSTR szMember,
/* [in] */ ULONG cchMember,
/* [out] */ ULONG *pchMember,
/* [out] */ DWORD *pdwAttr,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSigBlob,
/* [out] */ ULONG *pcbSigBlob,
/* [out] */ ULONG *pulCodeRVA,
/* [out] */ DWORD *pdwImplFlags,
/* [out] */ DWORD *pdwCPlusTypeFlag,
/* [size_is][size_is][out] */ UVCP_CONSTANT *ppValue,
/* [out] */ ULONG *pcchValue);
HRESULT ( STDMETHODCALLTYPE *GetFieldProps )(
IMetaDataImport * This,
/* [in] */ mdFieldDef tkFieldDef,
/* [out] */ mdTypeDef *ptkTypeDef,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchField, *pchField) LPWSTR szField,
/* [in] */ ULONG cchField,
/* [out] */ ULONG *pchField,
/* [out] */ DWORD *pdwAttr,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSigBlob,
/* [out] */ ULONG *pcbSigBlob,
/* [out] */ DWORD *pdwCPlusTypeFlag,
/* [size_is][size_is][out] */ UVCP_CONSTANT *ppValue,
/* [out] */ ULONG *pcchValue);
HRESULT ( STDMETHODCALLTYPE *GetPropertyProps )(
IMetaDataImport * This,
/* [in] */ mdProperty prop,
/* [out] */ mdTypeDef *ptkTypeDef,
/* [length_is][size_is][string][out] */ LPWSTR szProperty,
/* [in] */ ULONG cchProperty,
/* [out] */ ULONG *pchProperty,
/* [out] */ DWORD *pdwPropFlags,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSigBlob,
/* [out] */ ULONG *pcbSigBlob,
/* [out] */ DWORD *pdwCPlusTypeFlag,
/* [size_is][size_is][out] */ UVCP_CONSTANT *ppDefaultValue,
/* [out] */ ULONG *pcchDefaultValue,
/* [out] */ mdMethodDef *ptkSetter,
/* [out] */ mdMethodDef *ptkGetter,
/* [length_is][size_is][out] */ mdMethodDef rgOtherMethod[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcOtherMethod);
HRESULT ( STDMETHODCALLTYPE *GetParamProps )(
IMetaDataImport * This,
/* [in] */ mdParamDef tkParamDef,
/* [out] */ mdMethodDef *ptkMethodDef,
/* [out] */ ULONG *pulSequence,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName,
/* [out] */ DWORD *pdwAttr,
/* [out] */ DWORD *pdwCPlusTypeFlag,
/* [size_is][size_is][out] */ UVCP_CONSTANT *ppValue,
/* [out] */ ULONG *pcchValue);
HRESULT ( STDMETHODCALLTYPE *GetCustomAttributeByName )(
IMetaDataImport * This,
/* [in] */ mdToken tkObj,
/* [string][in] */ LPCWSTR szName,
/* [size_is][size_is][out] */ const BYTE **ppData,
/* [out] */ ULONG *pcbData);
BOOL ( STDMETHODCALLTYPE *IsValidToken )(
IMetaDataImport * This,
/* [in] */ mdToken tk);
HRESULT ( STDMETHODCALLTYPE *GetNestedClassProps )(
IMetaDataImport * This,
/* [in] */ mdTypeDef tdNestedClass,
/* [out] */ mdTypeDef *ptdEnclosingClass);
HRESULT ( STDMETHODCALLTYPE *GetNativeCallConvFromSig )(
IMetaDataImport * This,
/* [size_is][in] */ const BYTE *pvSig,
/* [in] */ ULONG cbSig,
/* [out] */ ULONG *pCallConv);
HRESULT ( STDMETHODCALLTYPE *IsGlobal )(
IMetaDataImport * This,
/* [in] */ mdToken tk,
/* [out] */ int *pbIsGlobal);
END_INTERFACE
} IMetaDataImportVtbl;
interface IMetaDataImport
{
CONST_VTBL struct IMetaDataImportVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMetaDataImport_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMetaDataImport_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMetaDataImport_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMetaDataImport_CloseEnum(This,hEnum) \
( (This)->lpVtbl -> CloseEnum(This,hEnum) )
#define IMetaDataImport_CountEnum(This,hEnum,pulCount) \
( (This)->lpVtbl -> CountEnum(This,hEnum,pulCount) )
#define IMetaDataImport_ResetEnum(This,hEnum,ulPos) \
( (This)->lpVtbl -> ResetEnum(This,hEnum,ulPos) )
#define IMetaDataImport_EnumTypeDefs(This,phEnum,rgTypeDefs,cMax,pcTypeDefs) \
( (This)->lpVtbl -> EnumTypeDefs(This,phEnum,rgTypeDefs,cMax,pcTypeDefs) )
#define IMetaDataImport_EnumInterfaceImpls(This,phEnum,td,rImpls,cMax,pcImpls) \
( (This)->lpVtbl -> EnumInterfaceImpls(This,phEnum,td,rImpls,cMax,pcImpls) )
#define IMetaDataImport_EnumTypeRefs(This,phEnum,rgTypeRefs,cMax,pcTypeRefs) \
( (This)->lpVtbl -> EnumTypeRefs(This,phEnum,rgTypeRefs,cMax,pcTypeRefs) )
#define IMetaDataImport_FindTypeDefByName(This,szTypeDef,tkEnclosingClass,ptkTypeDef) \
( (This)->lpVtbl -> FindTypeDefByName(This,szTypeDef,tkEnclosingClass,ptkTypeDef) )
#define IMetaDataImport_GetScopeProps(This,szName,cchName,pchName,pmvid) \
( (This)->lpVtbl -> GetScopeProps(This,szName,cchName,pchName,pmvid) )
#define IMetaDataImport_GetModuleFromScope(This,ptkModule) \
( (This)->lpVtbl -> GetModuleFromScope(This,ptkModule) )
#define IMetaDataImport_GetTypeDefProps(This,tkTypeDef,szTypeDef,cchTypeDef,pchTypeDef,pdwTypeDefFlags,ptkExtends) \
( (This)->lpVtbl -> GetTypeDefProps(This,tkTypeDef,szTypeDef,cchTypeDef,pchTypeDef,pdwTypeDefFlags,ptkExtends) )
#define IMetaDataImport_GetInterfaceImplProps(This,tkInterfaceImpl,ptkClass,ptkIface) \
( (This)->lpVtbl -> GetInterfaceImplProps(This,tkInterfaceImpl,ptkClass,ptkIface) )
#define IMetaDataImport_GetTypeRefProps(This,tkTypeRef,ptkResolutionScope,szName,cchName,pchName) \
( (This)->lpVtbl -> GetTypeRefProps(This,tkTypeRef,ptkResolutionScope,szName,cchName,pchName) )
#define IMetaDataImport_ResolveTypeRef(This,tkTypeRef,riid,ppIScope,ptkTypeDef) \
( (This)->lpVtbl -> ResolveTypeRef(This,tkTypeRef,riid,ppIScope,ptkTypeDef) )
#define IMetaDataImport_EnumMembers(This,phEnum,tkTypeDef,rgMembers,cMax,pcTokens) \
( (This)->lpVtbl -> EnumMembers(This,phEnum,tkTypeDef,rgMembers,cMax,pcTokens) )
#define IMetaDataImport_EnumMembersWithName(This,phEnum,tkTypeDef,szName,rgMembers,cMax,pcTokens) \
( (This)->lpVtbl -> EnumMembersWithName(This,phEnum,tkTypeDef,szName,rgMembers,cMax,pcTokens) )
#define IMetaDataImport_EnumMethods(This,phEnum,tkTypeDef,rgMethods,cMax,pcTokens) \
( (This)->lpVtbl -> EnumMethods(This,phEnum,tkTypeDef,rgMethods,cMax,pcTokens) )
#define IMetaDataImport_EnumMethodsWithName(This,phEnum,tkTypeDef,szName,rgMethods,cMax,pcTokens) \
( (This)->lpVtbl -> EnumMethodsWithName(This,phEnum,tkTypeDef,szName,rgMethods,cMax,pcTokens) )
#define IMetaDataImport_EnumFields(This,phEnum,tkTypeDef,rgFields,cMax,pcTokens) \
( (This)->lpVtbl -> EnumFields(This,phEnum,tkTypeDef,rgFields,cMax,pcTokens) )
#define IMetaDataImport_EnumFieldsWithName(This,phEnum,tkTypeDef,szName,rFields,cMax,pcTokens) \
( (This)->lpVtbl -> EnumFieldsWithName(This,phEnum,tkTypeDef,szName,rFields,cMax,pcTokens) )
#define IMetaDataImport_EnumParams(This,phEnum,tkMethodDef,rParams,cMax,pcTokens) \
( (This)->lpVtbl -> EnumParams(This,phEnum,tkMethodDef,rParams,cMax,pcTokens) )
#define IMetaDataImport_EnumMemberRefs(This,phEnum,tkParent,rgMemberRefs,cMax,pcTokens) \
( (This)->lpVtbl -> EnumMemberRefs(This,phEnum,tkParent,rgMemberRefs,cMax,pcTokens) )
#define IMetaDataImport_EnumMethodImpls(This,phEnum,tkTypeDef,rMethodBody,rMethodDecl,cMax,pcTokens) \
( (This)->lpVtbl -> EnumMethodImpls(This,phEnum,tkTypeDef,rMethodBody,rMethodDecl,cMax,pcTokens) )
#define IMetaDataImport_EnumPermissionSets(This,phEnum,tk,dwActions,rPermission,cMax,pcTokens) \
( (This)->lpVtbl -> EnumPermissionSets(This,phEnum,tk,dwActions,rPermission,cMax,pcTokens) )
#define IMetaDataImport_FindMember(This,tkTypeDef,szName,pvSigBlob,cbSigBlob,pmb) \
( (This)->lpVtbl -> FindMember(This,tkTypeDef,szName,pvSigBlob,cbSigBlob,pmb) )
#define IMetaDataImport_FindMethod(This,tkTypeDef,szName,pvSigBlob,cbSigBlob,ptkMethodDef) \
( (This)->lpVtbl -> FindMethod(This,tkTypeDef,szName,pvSigBlob,cbSigBlob,ptkMethodDef) )
#define IMetaDataImport_FindField(This,tkTypeDef,szName,pvSigBlob,cbSigBlob,ptkFieldDef) \
( (This)->lpVtbl -> FindField(This,tkTypeDef,szName,pvSigBlob,cbSigBlob,ptkFieldDef) )
#define IMetaDataImport_FindMemberRef(This,tkTypeRef,szName,pvSigBlob,cbSigBlob,pMemberRef) \
( (This)->lpVtbl -> FindMemberRef(This,tkTypeRef,szName,pvSigBlob,cbSigBlob,pMemberRef) )
#define IMetaDataImport_GetMethodProps(This,tkMethodDef,ptkClass,szMethod,cchMethod,pchMethod,pdwAttr,ppvSigBlob,pcbSigBlob,pulCodeRVA,pdwImplFlags) \
( (This)->lpVtbl -> GetMethodProps(This,tkMethodDef,ptkClass,szMethod,cchMethod,pchMethod,pdwAttr,ppvSigBlob,pcbSigBlob,pulCodeRVA,pdwImplFlags) )
#define IMetaDataImport_GetMemberRefProps(This,tkMemberRef,ptk,szMember,cchMember,pchMember,ppvSigBlob,pcbSigBlob) \
( (This)->lpVtbl -> GetMemberRefProps(This,tkMemberRef,ptk,szMember,cchMember,pchMember,ppvSigBlob,pcbSigBlob) )
#define IMetaDataImport_EnumProperties(This,phEnum,tkTypDef,rgProperties,cMax,pcProperties) \
( (This)->lpVtbl -> EnumProperties(This,phEnum,tkTypDef,rgProperties,cMax,pcProperties) )
#define IMetaDataImport_EnumEvents(This,phEnum,tkTypDef,rgEvents,cMax,pcEvents) \
( (This)->lpVtbl -> EnumEvents(This,phEnum,tkTypDef,rgEvents,cMax,pcEvents) )
#define IMetaDataImport_GetEventProps(This,tkEvent,ptkClass,szEvent,cchEvent,pchEvent,pdwEventFlags,ptkEventType,ptkAddOn,ptkRemoveOn,tkkFire,rgOtherMethod,cMax,pcOtherMethod) \
( (This)->lpVtbl -> GetEventProps(This,tkEvent,ptkClass,szEvent,cchEvent,pchEvent,pdwEventFlags,ptkEventType,ptkAddOn,ptkRemoveOn,tkkFire,rgOtherMethod,cMax,pcOtherMethod) )
#define IMetaDataImport_EnumMethodSemantics(This,phEnum,tkMethodDef,rgEventProp,cMax,pcEventProp) \
( (This)->lpVtbl -> EnumMethodSemantics(This,phEnum,tkMethodDef,rgEventProp,cMax,pcEventProp) )
#define IMetaDataImport_GetMethodSemantics(This,tkMethodDef,tkEventProp,pdwSemanticsFlags) \
( (This)->lpVtbl -> GetMethodSemantics(This,tkMethodDef,tkEventProp,pdwSemanticsFlags) )
#define IMetaDataImport_GetClassLayout(This,tkTypeDef,pdwPackSize,rgFieldOffset,cMax,pcFieldOffset,pulClassSize) \
( (This)->lpVtbl -> GetClassLayout(This,tkTypeDef,pdwPackSize,rgFieldOffset,cMax,pcFieldOffset,pulClassSize) )
#define IMetaDataImport_GetFieldMarshal(This,tk,ppvNativeType,pcbNativeType) \
( (This)->lpVtbl -> GetFieldMarshal(This,tk,ppvNativeType,pcbNativeType) )
#define IMetaDataImport_GetRVA(This,tk,pulCodeRVA,pdwImplFlags) \
( (This)->lpVtbl -> GetRVA(This,tk,pulCodeRVA,pdwImplFlags) )
#define IMetaDataImport_GetPermissionSetProps(This,tk,pdwAction,ppvPermission,pcbPermission) \
( (This)->lpVtbl -> GetPermissionSetProps(This,tk,pdwAction,ppvPermission,pcbPermission) )
#define IMetaDataImport_GetSigFromToken(This,tkSignature,ppvSig,pcbSig) \
( (This)->lpVtbl -> GetSigFromToken(This,tkSignature,ppvSig,pcbSig) )
#define IMetaDataImport_GetModuleRefProps(This,tkModuleRef,szName,cchName,pchName) \
( (This)->lpVtbl -> GetModuleRefProps(This,tkModuleRef,szName,cchName,pchName) )
#define IMetaDataImport_EnumModuleRefs(This,phEnum,rgModuleRefs,cMax,pcModuleRefs) \
( (This)->lpVtbl -> EnumModuleRefs(This,phEnum,rgModuleRefs,cMax,pcModuleRefs) )
#define IMetaDataImport_GetTypeSpecFromToken(This,tkTypeSpec,ppvSig,pcbSig) \
( (This)->lpVtbl -> GetTypeSpecFromToken(This,tkTypeSpec,ppvSig,pcbSig) )
#define IMetaDataImport_GetNameFromToken(This,tk,pszUtf8NamePtr) \
( (This)->lpVtbl -> GetNameFromToken(This,tk,pszUtf8NamePtr) )
#define IMetaDataImport_EnumUnresolvedMethods(This,phEnum,rgMethods,cMax,pcTokens) \
( (This)->lpVtbl -> EnumUnresolvedMethods(This,phEnum,rgMethods,cMax,pcTokens) )
#define IMetaDataImport_GetUserString(This,tkString,szString,cchString,pchString) \
( (This)->lpVtbl -> GetUserString(This,tkString,szString,cchString,pchString) )
#define IMetaDataImport_GetPinvokeMap(This,tk,pdwMappingFlags,szImportName,cchImportName,pchImportName,ptkImportDLL) \
( (This)->lpVtbl -> GetPinvokeMap(This,tk,pdwMappingFlags,szImportName,cchImportName,pchImportName,ptkImportDLL) )
#define IMetaDataImport_EnumSignatures(This,phEnum,rgSignatures,cMax,pcSignatures) \
( (This)->lpVtbl -> EnumSignatures(This,phEnum,rgSignatures,cMax,pcSignatures) )
#define IMetaDataImport_EnumTypeSpecs(This,phEnum,rgTypeSpecs,cMax,pcTypeSpecs) \
( (This)->lpVtbl -> EnumTypeSpecs(This,phEnum,rgTypeSpecs,cMax,pcTypeSpecs) )
#define IMetaDataImport_EnumUserStrings(This,phEnum,rgStrings,cMax,pcStrings) \
( (This)->lpVtbl -> EnumUserStrings(This,phEnum,rgStrings,cMax,pcStrings) )
#define IMetaDataImport_GetParamForMethodIndex(This,tkMethodDef,ulParamSeq,ptkParamDef) \
( (This)->lpVtbl -> GetParamForMethodIndex(This,tkMethodDef,ulParamSeq,ptkParamDef) )
#define IMetaDataImport_EnumCustomAttributes(This,phEnum,tk,tkType,rgCustomAttributes,cMax,pcCustomAttributes) \
( (This)->lpVtbl -> EnumCustomAttributes(This,phEnum,tk,tkType,rgCustomAttributes,cMax,pcCustomAttributes) )
#define IMetaDataImport_GetCustomAttributeProps(This,cv,ptkObj,ptkType,ppBlob,pcbBlob) \
( (This)->lpVtbl -> GetCustomAttributeProps(This,cv,ptkObj,ptkType,ppBlob,pcbBlob) )
#define IMetaDataImport_FindTypeRef(This,tkResolutionScope,szName,tkTypeRef) \
( (This)->lpVtbl -> FindTypeRef(This,tkResolutionScope,szName,tkTypeRef) )
#define IMetaDataImport_GetMemberProps(This,tkMember,ptkTypeDef,szMember,cchMember,pchMember,pdwAttr,ppvSigBlob,pcbSigBlob,pulCodeRVA,pdwImplFlags,pdwCPlusTypeFlag,ppValue,pcchValue) \
( (This)->lpVtbl -> GetMemberProps(This,tkMember,ptkTypeDef,szMember,cchMember,pchMember,pdwAttr,ppvSigBlob,pcbSigBlob,pulCodeRVA,pdwImplFlags,pdwCPlusTypeFlag,ppValue,pcchValue) )
#define IMetaDataImport_GetFieldProps(This,tkFieldDef,ptkTypeDef,szField,cchField,pchField,pdwAttr,ppvSigBlob,pcbSigBlob,pdwCPlusTypeFlag,ppValue,pcchValue) \
( (This)->lpVtbl -> GetFieldProps(This,tkFieldDef,ptkTypeDef,szField,cchField,pchField,pdwAttr,ppvSigBlob,pcbSigBlob,pdwCPlusTypeFlag,ppValue,pcchValue) )
#define IMetaDataImport_GetPropertyProps(This,prop,ptkTypeDef,szProperty,cchProperty,pchProperty,pdwPropFlags,ppvSigBlob,pcbSigBlob,pdwCPlusTypeFlag,ppDefaultValue,pcchDefaultValue,ptkSetter,ptkGetter,rgOtherMethod,cMax,pcOtherMethod) \
( (This)->lpVtbl -> GetPropertyProps(This,prop,ptkTypeDef,szProperty,cchProperty,pchProperty,pdwPropFlags,ppvSigBlob,pcbSigBlob,pdwCPlusTypeFlag,ppDefaultValue,pcchDefaultValue,ptkSetter,ptkGetter,rgOtherMethod,cMax,pcOtherMethod) )
#define IMetaDataImport_GetParamProps(This,tkParamDef,ptkMethodDef,pulSequence,szName,cchName,pchName,pdwAttr,pdwCPlusTypeFlag,ppValue,pcchValue) \
( (This)->lpVtbl -> GetParamProps(This,tkParamDef,ptkMethodDef,pulSequence,szName,cchName,pchName,pdwAttr,pdwCPlusTypeFlag,ppValue,pcchValue) )
#define IMetaDataImport_GetCustomAttributeByName(This,tkObj,szName,ppData,pcbData) \
( (This)->lpVtbl -> GetCustomAttributeByName(This,tkObj,szName,ppData,pcbData) )
#define IMetaDataImport_IsValidToken(This,tk) \
( (This)->lpVtbl -> IsValidToken(This,tk) )
#define IMetaDataImport_GetNestedClassProps(This,tdNestedClass,ptdEnclosingClass) \
( (This)->lpVtbl -> GetNestedClassProps(This,tdNestedClass,ptdEnclosingClass) )
#define IMetaDataImport_GetNativeCallConvFromSig(This,pvSig,cbSig,pCallConv) \
( (This)->lpVtbl -> GetNativeCallConvFromSig(This,pvSig,cbSig,pCallConv) )
#define IMetaDataImport_IsGlobal(This,tk,pbIsGlobal) \
( (This)->lpVtbl -> IsGlobal(This,tk,pbIsGlobal) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMetaDataImport_INTERFACE_DEFINED__ */
#ifndef __IMetaDataImport2_INTERFACE_DEFINED__
#define __IMetaDataImport2_INTERFACE_DEFINED__
/* interface IMetaDataImport2 */
/* [object][uuid][local] */
EXTERN_C const IID IID_IMetaDataImport2;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("FCE5EFA0-8BBA-4f8E-A036-8F2022B08466")
IMetaDataImport2 : public IMetaDataImport
{
public:
virtual HRESULT STDMETHODCALLTYPE EnumGenericParams(
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdToken tk,
/* [length_is][size_is][out] */ mdGenericParam rGenericParams[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcGenericParams) = 0;
virtual HRESULT STDMETHODCALLTYPE GetGenericParamProps(
/* [in] */ mdGenericParam gp,
/* [out] */ ULONG *pulParamSeq,
/* [out] */ DWORD *pdwParamFlags,
/* [out] */ mdToken *ptOwner,
/* [out] */ DWORD *reserved,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR wzname,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMethodSpecProps(
/* [in] */ mdMethodSpec mi,
/* [out] */ mdToken *tkParent,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSigBlob,
/* [out] */ ULONG *pcbSigBlob) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumGenericParamConstraints(
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdGenericParam tk,
/* [length_is][size_is][out] */ mdGenericParamConstraint rGenericParamConstraints[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcGenericParamConstraints) = 0;
virtual HRESULT STDMETHODCALLTYPE GetGenericParamConstraintProps(
/* [in] */ mdGenericParamConstraint gpc,
/* [out] */ mdGenericParam *ptGenericParam,
/* [out] */ mdToken *ptkConstraintType) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPEKind(
/* [out] */ DWORD *pdwPEKind,
/* [out] */ DWORD *pdwMAchine) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVersionString(
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchBufSize, pccBufSize) LPWSTR pwzBuf,
/* [in] */ DWORD ccBufSize,
/* [out] */ DWORD *pccBufSize) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumMethodSpecs(
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdToken tk,
/* [length_is][size_is][out] */ mdMethodSpec rMethodSpecs[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcMethodSpecs) = 0;
};
#else /* C style interface */
typedef struct IMetaDataImport2Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMetaDataImport2 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMetaDataImport2 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMetaDataImport2 * This);
void ( STDMETHODCALLTYPE *CloseEnum )(
IMetaDataImport2 * This,
/* [in] */ HCORENUM hEnum);
HRESULT ( STDMETHODCALLTYPE *CountEnum )(
IMetaDataImport2 * This,
/* [in] */ HCORENUM hEnum,
/* [retval][out] */ ULONG *pulCount);
HRESULT ( STDMETHODCALLTYPE *ResetEnum )(
IMetaDataImport2 * This,
/* [in] */ HCORENUM hEnum,
/* [in] */ ULONG ulPos);
HRESULT ( STDMETHODCALLTYPE *EnumTypeDefs )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdTypeDef rgTypeDefs[ ],
/* [in] */ ULONG cMax,
/* [retval][out] */ ULONG *pcTypeDefs);
HRESULT ( STDMETHODCALLTYPE *EnumInterfaceImpls )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef td,
/* [length_is][size_is][out] */ mdInterfaceImpl rImpls[ ],
/* [in] */ ULONG cMax,
/* [retval][out] */ ULONG *pcImpls);
HRESULT ( STDMETHODCALLTYPE *EnumTypeRefs )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdTypeRef rgTypeRefs[ ],
/* [in] */ ULONG cMax,
/* [retval][out] */ ULONG *pcTypeRefs);
HRESULT ( STDMETHODCALLTYPE *FindTypeDefByName )(
IMetaDataImport2 * This,
/* [string][in] */ LPCWSTR szTypeDef,
/* [in] */ mdToken tkEnclosingClass,
/* [retval][out] */ mdTypeDef *ptkTypeDef);
HRESULT ( STDMETHODCALLTYPE *GetScopeProps )(
IMetaDataImport2 * This,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName,
/* [unique][out] */ GUID *pmvid);
HRESULT ( STDMETHODCALLTYPE *GetModuleFromScope )(
IMetaDataImport2 * This,
/* [out] */ mdModule *ptkModule);
HRESULT ( STDMETHODCALLTYPE *GetTypeDefProps )(
IMetaDataImport2 * This,
/* [in] */ mdTypeDef tkTypeDef,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchTypeDef, pchTypeDef) LPWSTR szTypeDef,
/* [in] */ ULONG cchTypeDef,
/* [out] */ ULONG *pchTypeDef,
/* [out] */ DWORD *pdwTypeDefFlags,
/* [out] */ mdToken *ptkExtends);
HRESULT ( STDMETHODCALLTYPE *GetInterfaceImplProps )(
IMetaDataImport2 * This,
/* [in] */ mdInterfaceImpl tkInterfaceImpl,
/* [out] */ mdTypeDef *ptkClass,
/* [out] */ mdToken *ptkIface);
HRESULT ( STDMETHODCALLTYPE *GetTypeRefProps )(
IMetaDataImport2 * This,
/* [in] */ mdTypeRef tkTypeRef,
/* [out] */ mdToken *ptkResolutionScope,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName);
HRESULT ( STDMETHODCALLTYPE *ResolveTypeRef )(
IMetaDataImport2 * This,
/* [in] */ mdTypeRef tkTypeRef,
/* [in] */ REFIID riid,
/* [iid_is][out] */ IUnknown **ppIScope,
/* [retval][out] */ mdTypeDef *ptkTypeDef);
HRESULT ( STDMETHODCALLTYPE *EnumMembers )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [length_is][size_is][out] */ mdToken rgMembers[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumMembersWithName )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [string][in] */ LPCWSTR szName,
/* [length_is][size_is][out] */ mdToken rgMembers[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumMethods )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [length_is][size_is][out] */ mdMethodDef rgMethods[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumMethodsWithName )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [string][in] */ LPCWSTR szName,
/* [length_is][size_is][out] */ mdMethodDef rgMethods[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumFields )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [length_is][size_is][out] */ mdFieldDef rgFields[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumFieldsWithName )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [string][in] */ LPCWSTR szName,
/* [length_is][size_is][out] */ mdFieldDef rFields[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumParams )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdMethodDef tkMethodDef,
/* [length_is][size_is][out] */ mdParamDef rParams[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumMemberRefs )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdToken tkParent,
/* [length_is][size_is][out] */ mdMemberRef rgMemberRefs[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumMethodImpls )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypeDef,
/* [length_is][size_is][out] */ mdToken rMethodBody[ ],
/* [length_is][size_is][out] */ mdToken rMethodDecl[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *EnumPermissionSets )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdToken tk,
/* [in] */ DWORD dwActions,
/* [length_is][size_is][out] */ mdPermission rPermission[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *FindMember )(
IMetaDataImport2 * This,
/* [in] */ mdTypeDef tkTypeDef,
/* [string][in] */ LPCWSTR szName,
/* [size_is][in] */ PCCOR_SIGNATURE pvSigBlob,
/* [in] */ ULONG cbSigBlob,
/* [out] */ mdToken *pmb);
HRESULT ( STDMETHODCALLTYPE *FindMethod )(
IMetaDataImport2 * This,
/* [in] */ mdTypeDef tkTypeDef,
/* [string][in] */ LPCWSTR szName,
/* [size_is][in] */ PCCOR_SIGNATURE pvSigBlob,
/* [in] */ ULONG cbSigBlob,
/* [out] */ mdMethodDef *ptkMethodDef);
HRESULT ( STDMETHODCALLTYPE *FindField )(
IMetaDataImport2 * This,
/* [in] */ mdTypeDef tkTypeDef,
/* [string][in] */ LPCWSTR szName,
/* [size_is][in] */ PCCOR_SIGNATURE pvSigBlob,
/* [in] */ ULONG cbSigBlob,
/* [out] */ mdFieldDef *ptkFieldDef);
HRESULT ( STDMETHODCALLTYPE *FindMemberRef )(
IMetaDataImport2 * This,
/* [in] */ mdTypeRef tkTypeRef,
/* [string][in] */ LPCWSTR szName,
/* [size_is][in] */ PCCOR_SIGNATURE pvSigBlob,
/* [in] */ ULONG cbSigBlob,
/* [out] */ mdMemberRef *pMemberRef);
HRESULT ( STDMETHODCALLTYPE *GetMethodProps )(
IMetaDataImport2 * This,
/* [in] */ mdMethodDef tkMethodDef,
/* [out] */ mdTypeDef *ptkClass,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchMethod, *pchMethod) LPWSTR szMethod,
/* [in] */ ULONG cchMethod,
/* [out] */ ULONG *pchMethod,
/* [out] */ DWORD *pdwAttr,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSigBlob,
/* [out] */ ULONG *pcbSigBlob,
/* [out] */ ULONG *pulCodeRVA,
/* [out] */ DWORD *pdwImplFlags);
HRESULT ( STDMETHODCALLTYPE *GetMemberRefProps )(
IMetaDataImport2 * This,
/* [in] */ mdMemberRef tkMemberRef,
/* [out] */ mdToken *ptk,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchMember, *pchMember) LPWSTR szMember,
/* [in] */ ULONG cchMember,
/* [out] */ ULONG *pchMember,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSigBlob,
/* [out] */ ULONG *pcbSigBlob);
HRESULT ( STDMETHODCALLTYPE *EnumProperties )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypDef,
/* [length_is][size_is][out] */ mdProperty rgProperties[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcProperties);
HRESULT ( STDMETHODCALLTYPE *EnumEvents )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdTypeDef tkTypDef,
/* [length_is][size_is][out] */ mdEvent rgEvents[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcEvents);
HRESULT ( STDMETHODCALLTYPE *GetEventProps )(
IMetaDataImport2 * This,
/* [in] */ mdEvent tkEvent,
/* [out] */ mdTypeDef *ptkClass,
/* [length_is][size_is][string][out] */ LPWSTR szEvent,
/* [in] */ ULONG cchEvent,
/* [out] */ ULONG *pchEvent,
/* [out] */ DWORD *pdwEventFlags,
/* [out] */ mdToken *ptkEventType,
/* [out] */ mdMethodDef *ptkAddOn,
/* [out] */ mdMethodDef *ptkRemoveOn,
/* [out] */ mdMethodDef *tkkFire,
/* [length_is][size_is][out] */ mdMethodDef rgOtherMethod[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcOtherMethod);
HRESULT ( STDMETHODCALLTYPE *EnumMethodSemantics )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdMethodDef tkMethodDef,
/* [length_is][size_is][out] */ mdToken rgEventProp[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcEventProp);
HRESULT ( STDMETHODCALLTYPE *GetMethodSemantics )(
IMetaDataImport2 * This,
/* [in] */ mdMethodDef tkMethodDef,
/* [in] */ mdToken tkEventProp,
/* [out] */ DWORD *pdwSemanticsFlags);
HRESULT ( STDMETHODCALLTYPE *GetClassLayout )(
IMetaDataImport2 * This,
/* [in] */ mdTypeDef tkTypeDef,
/* [out] */ DWORD *pdwPackSize,
/* [length_is][size_is][out] */ COR_FIELD_OFFSET rgFieldOffset[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcFieldOffset,
/* [out] */ ULONG *pulClassSize);
HRESULT ( STDMETHODCALLTYPE *GetFieldMarshal )(
IMetaDataImport2 * This,
/* [in] */ mdToken tk,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvNativeType,
/* [out] */ ULONG *pcbNativeType);
HRESULT ( STDMETHODCALLTYPE *GetRVA )(
IMetaDataImport2 * This,
/* [in] */ mdToken tk,
/* [out] */ ULONG *pulCodeRVA,
/* [out] */ DWORD *pdwImplFlags);
HRESULT ( STDMETHODCALLTYPE *GetPermissionSetProps )(
IMetaDataImport2 * This,
/* [in] */ mdPermission tk,
/* [out] */ DWORD *pdwAction,
/* [size_is][size_is][out] */ const BYTE **ppvPermission,
/* [out] */ ULONG *pcbPermission);
HRESULT ( STDMETHODCALLTYPE *GetSigFromToken )(
IMetaDataImport2 * This,
/* [in] */ mdSignature tkSignature,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSig,
/* [out] */ ULONG *pcbSig);
HRESULT ( STDMETHODCALLTYPE *GetModuleRefProps )(
IMetaDataImport2 * This,
/* [in] */ mdModuleRef tkModuleRef,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName);
HRESULT ( STDMETHODCALLTYPE *EnumModuleRefs )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdModuleRef rgModuleRefs[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcModuleRefs);
HRESULT ( STDMETHODCALLTYPE *GetTypeSpecFromToken )(
IMetaDataImport2 * This,
/* [in] */ mdTypeSpec tkTypeSpec,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSig,
/* [out] */ ULONG *pcbSig);
HRESULT ( STDMETHODCALLTYPE *GetNameFromToken )(
IMetaDataImport2 * This,
/* [in] */ mdToken tk,
/* [string][out] */ MDUTF8CSTR *pszUtf8NamePtr);
HRESULT ( STDMETHODCALLTYPE *EnumUnresolvedMethods )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdToken rgMethods[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTokens);
HRESULT ( STDMETHODCALLTYPE *GetUserString )(
IMetaDataImport2 * This,
/* [in] */ mdString tkString,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchString, *pchString) LPWSTR szString,
/* [in] */ ULONG cchString,
/* [out] */ ULONG *pchString);
HRESULT ( STDMETHODCALLTYPE *GetPinvokeMap )(
IMetaDataImport2 * This,
/* [in] */ mdToken tk,
/* [out] */ DWORD *pdwMappingFlags,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchImportName, *pchImportName) LPWSTR szImportName,
/* [in] */ ULONG cchImportName,
/* [out] */ ULONG *pchImportName,
/* [out] */ mdModuleRef *ptkImportDLL);
HRESULT ( STDMETHODCALLTYPE *EnumSignatures )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdSignature rgSignatures[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcSignatures);
HRESULT ( STDMETHODCALLTYPE *EnumTypeSpecs )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdTypeSpec rgTypeSpecs[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcTypeSpecs);
HRESULT ( STDMETHODCALLTYPE *EnumUserStrings )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [length_is][size_is][out] */ mdString rgStrings[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcStrings);
HRESULT ( STDMETHODCALLTYPE *GetParamForMethodIndex )(
IMetaDataImport2 * This,
/* [in] */ mdMethodDef tkMethodDef,
/* [in] */ ULONG ulParamSeq,
/* [out] */ mdParamDef *ptkParamDef);
HRESULT ( STDMETHODCALLTYPE *EnumCustomAttributes )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdToken tk,
/* [in] */ mdToken tkType,
/* [length_is][size_is][out] */ mdCustomAttribute rgCustomAttributes[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcCustomAttributes);
HRESULT ( STDMETHODCALLTYPE *GetCustomAttributeProps )(
IMetaDataImport2 * This,
/* [in] */ mdCustomAttribute cv,
/* [unique][out] */ mdToken *ptkObj,
/* [unique][out] */ mdToken *ptkType,
/* [unique][size_is][size_is][out] */ const BYTE **ppBlob,
/* [unique][out] */ ULONG *pcbBlob);
HRESULT ( STDMETHODCALLTYPE *FindTypeRef )(
IMetaDataImport2 * This,
/* [in] */ mdToken tkResolutionScope,
/* [string][in] */ LPCWSTR szName,
/* [out] */ mdTypeRef *tkTypeRef);
HRESULT ( STDMETHODCALLTYPE *GetMemberProps )(
IMetaDataImport2 * This,
/* [in] */ mdToken tkMember,
/* [out] */ mdTypeDef *ptkTypeDef,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchMember, *pchMember) LPWSTR szMember,
/* [in] */ ULONG cchMember,
/* [out] */ ULONG *pchMember,
/* [out] */ DWORD *pdwAttr,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSigBlob,
/* [out] */ ULONG *pcbSigBlob,
/* [out] */ ULONG *pulCodeRVA,
/* [out] */ DWORD *pdwImplFlags,
/* [out] */ DWORD *pdwCPlusTypeFlag,
/* [size_is][size_is][out] */ UVCP_CONSTANT *ppValue,
/* [out] */ ULONG *pcchValue);
HRESULT ( STDMETHODCALLTYPE *GetFieldProps )(
IMetaDataImport2 * This,
/* [in] */ mdFieldDef tkFieldDef,
/* [out] */ mdTypeDef *ptkTypeDef,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchField, *pchField) LPWSTR szField,
/* [in] */ ULONG cchField,
/* [out] */ ULONG *pchField,
/* [out] */ DWORD *pdwAttr,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSigBlob,
/* [out] */ ULONG *pcbSigBlob,
/* [out] */ DWORD *pdwCPlusTypeFlag,
/* [size_is][size_is][out] */ UVCP_CONSTANT *ppValue,
/* [out] */ ULONG *pcchValue);
HRESULT ( STDMETHODCALLTYPE *GetPropertyProps )(
IMetaDataImport2 * This,
/* [in] */ mdProperty prop,
/* [out] */ mdTypeDef *ptkTypeDef,
/* [length_is][size_is][string][out] */ LPWSTR szProperty,
/* [in] */ ULONG cchProperty,
/* [out] */ ULONG *pchProperty,
/* [out] */ DWORD *pdwPropFlags,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSigBlob,
/* [out] */ ULONG *pcbSigBlob,
/* [out] */ DWORD *pdwCPlusTypeFlag,
/* [size_is][size_is][out] */ UVCP_CONSTANT *ppDefaultValue,
/* [out] */ ULONG *pcchDefaultValue,
/* [out] */ mdMethodDef *ptkSetter,
/* [out] */ mdMethodDef *ptkGetter,
/* [length_is][size_is][out] */ mdMethodDef rgOtherMethod[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcOtherMethod);
HRESULT ( STDMETHODCALLTYPE *GetParamProps )(
IMetaDataImport2 * This,
/* [in] */ mdParamDef tkParamDef,
/* [out] */ mdMethodDef *ptkMethodDef,
/* [out] */ ULONG *pulSequence,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR szName,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName,
/* [out] */ DWORD *pdwAttr,
/* [out] */ DWORD *pdwCPlusTypeFlag,
/* [size_is][size_is][out] */ UVCP_CONSTANT *ppValue,
/* [out] */ ULONG *pcchValue);
HRESULT ( STDMETHODCALLTYPE *GetCustomAttributeByName )(
IMetaDataImport2 * This,
/* [in] */ mdToken tkObj,
/* [string][in] */ LPCWSTR szName,
/* [size_is][size_is][out] */ const BYTE **ppData,
/* [out] */ ULONG *pcbData);
BOOL ( STDMETHODCALLTYPE *IsValidToken )(
IMetaDataImport2 * This,
/* [in] */ mdToken tk);
HRESULT ( STDMETHODCALLTYPE *GetNestedClassProps )(
IMetaDataImport2 * This,
/* [in] */ mdTypeDef tdNestedClass,
/* [out] */ mdTypeDef *ptdEnclosingClass);
HRESULT ( STDMETHODCALLTYPE *GetNativeCallConvFromSig )(
IMetaDataImport2 * This,
/* [size_is][in] */ const BYTE *pvSig,
/* [in] */ ULONG cbSig,
/* [out] */ ULONG *pCallConv);
HRESULT ( STDMETHODCALLTYPE *IsGlobal )(
IMetaDataImport2 * This,
/* [in] */ mdToken tk,
/* [out] */ int *pbIsGlobal);
HRESULT ( STDMETHODCALLTYPE *EnumGenericParams )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdToken tk,
/* [length_is][size_is][out] */ mdGenericParam rGenericParams[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcGenericParams);
HRESULT ( STDMETHODCALLTYPE *GetGenericParamProps )(
IMetaDataImport2 * This,
/* [in] */ mdGenericParam gp,
/* [out] */ ULONG *pulParamSeq,
/* [out] */ DWORD *pdwParamFlags,
/* [out] */ mdToken *ptOwner,
/* [out] */ DWORD *reserved,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchName, *pchName) LPWSTR wzname,
/* [in] */ ULONG cchName,
/* [out] */ ULONG *pchName);
HRESULT ( STDMETHODCALLTYPE *GetMethodSpecProps )(
IMetaDataImport2 * This,
/* [in] */ mdMethodSpec mi,
/* [out] */ mdToken *tkParent,
/* [size_is][size_is][out] */ PCCOR_SIGNATURE *ppvSigBlob,
/* [out] */ ULONG *pcbSigBlob);
HRESULT ( STDMETHODCALLTYPE *EnumGenericParamConstraints )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdGenericParam tk,
/* [length_is][size_is][out] */ mdGenericParamConstraint rGenericParamConstraints[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcGenericParamConstraints);
HRESULT ( STDMETHODCALLTYPE *GetGenericParamConstraintProps )(
IMetaDataImport2 * This,
/* [in] */ mdGenericParamConstraint gpc,
/* [out] */ mdGenericParam *ptGenericParam,
/* [out] */ mdToken *ptkConstraintType);
HRESULT ( STDMETHODCALLTYPE *GetPEKind )(
IMetaDataImport2 * This,
/* [out] */ DWORD *pdwPEKind,
/* [out] */ DWORD *pdwMAchine);
HRESULT ( STDMETHODCALLTYPE *GetVersionString )(
IMetaDataImport2 * This,
/* [annotation][length_is][size_is][string][out] */
_Out_writes_to_opt_(cchBufSize, pccBufSize) LPWSTR pwzBuf,
/* [in] */ DWORD ccBufSize,
/* [out] */ DWORD *pccBufSize);
HRESULT ( STDMETHODCALLTYPE *EnumMethodSpecs )(
IMetaDataImport2 * This,
/* [out][in] */ HCORENUM *phEnum,
/* [in] */ mdToken tk,
/* [length_is][size_is][out] */ mdMethodSpec rMethodSpecs[ ],
/* [in] */ ULONG cMax,
/* [out] */ ULONG *pcMethodSpecs);
END_INTERFACE
} IMetaDataImport2Vtbl;
interface IMetaDataImport2
{
CONST_VTBL struct IMetaDataImport2Vtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMetaDataImport2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMetaDataImport2_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMetaDataImport2_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMetaDataImport2_CloseEnum(This,hEnum) \
( (This)->lpVtbl -> CloseEnum(This,hEnum) )
#define IMetaDataImport2_CountEnum(This,hEnum,pulCount) \
( (This)->lpVtbl -> CountEnum(This,hEnum,pulCount) )
#define IMetaDataImport2_ResetEnum(This,hEnum,ulPos) \
( (This)->lpVtbl -> ResetEnum(This,hEnum,ulPos) )
#define IMetaDataImport2_EnumTypeDefs(This,phEnum,rgTypeDefs,cMax,pcTypeDefs) \
( (This)->lpVtbl -> EnumTypeDefs(This,phEnum,rgTypeDefs,cMax,pcTypeDefs) )
#define IMetaDataImport2_EnumInterfaceImpls(This,phEnum,td,rImpls,cMax,pcImpls) \
( (This)->lpVtbl -> EnumInterfaceImpls(This,phEnum,td,rImpls,cMax,pcImpls) )
#define IMetaDataImport2_EnumTypeRefs(This,phEnum,rgTypeRefs,cMax,pcTypeRefs) \
( (This)->lpVtbl -> EnumTypeRefs(This,phEnum,rgTypeRefs,cMax,pcTypeRefs) )
#define IMetaDataImport2_FindTypeDefByName(This,szTypeDef,tkEnclosingClass,ptkTypeDef) \
( (This)->lpVtbl -> FindTypeDefByName(This,szTypeDef,tkEnclosingClass,ptkTypeDef) )
#define IMetaDataImport2_GetScopeProps(This,szName,cchName,pchName,pmvid) \
( (This)->lpVtbl -> GetScopeProps(This,szName,cchName,pchName,pmvid) )
#define IMetaDataImport2_GetModuleFromScope(This,ptkModule) \
( (This)->lpVtbl -> GetModuleFromScope(This,ptkModule) )
#define IMetaDataImport2_GetTypeDefProps(This,tkTypeDef,szTypeDef,cchTypeDef,pchTypeDef,pdwTypeDefFlags,ptkExtends) \
( (This)->lpVtbl -> GetTypeDefProps(This,tkTypeDef,szTypeDef,cchTypeDef,pchTypeDef,pdwTypeDefFlags,ptkExtends) )
#define IMetaDataImport2_GetInterfaceImplProps(This,tkInterfaceImpl,ptkClass,ptkIface) \
( (This)->lpVtbl -> GetInterfaceImplProps(This,tkInterfaceImpl,ptkClass,ptkIface) )
#define IMetaDataImport2_GetTypeRefProps(This,tkTypeRef,ptkResolutionScope,szName,cchName,pchName) \
( (This)->lpVtbl -> GetTypeRefProps(This,tkTypeRef,ptkResolutionScope,szName,cchName,pchName) )
#define IMetaDataImport2_ResolveTypeRef(This,tkTypeRef,riid,ppIScope,ptkTypeDef) \
( (This)->lpVtbl -> ResolveTypeRef(This,tkTypeRef,riid,ppIScope,ptkTypeDef) )
#define IMetaDataImport2_EnumMembers(This,phEnum,tkTypeDef,rgMembers,cMax,pcTokens) \
( (This)->lpVtbl -> EnumMembers(This,phEnum,tkTypeDef,rgMembers,cMax,pcTokens) )
#define IMetaDataImport2_EnumMembersWithName(This,phEnum,tkTypeDef,szName,rgMembers,cMax,pcTokens) \
( (This)->lpVtbl -> EnumMembersWithName(This,phEnum,tkTypeDef,szName,rgMembers,cMax,pcTokens) )
#define IMetaDataImport2_EnumMethods(This,phEnum,tkTypeDef,rgMethods,cMax,pcTokens) \
( (This)->lpVtbl -> EnumMethods(This,phEnum,tkTypeDef,rgMethods,cMax,pcTokens) )
#define IMetaDataImport2_EnumMethodsWithName(This,phEnum,tkTypeDef,szName,rgMethods,cMax,pcTokens) \
( (This)->lpVtbl -> EnumMethodsWithName(This,phEnum,tkTypeDef,szName,rgMethods,cMax,pcTokens) )
#define IMetaDataImport2_EnumFields(This,phEnum,tkTypeDef,rgFields,cMax,pcTokens) \
( (This)->lpVtbl -> EnumFields(This,phEnum,tkTypeDef,rgFields,cMax,pcTokens) )
#define IMetaDataImport2_EnumFieldsWithName(This,phEnum,tkTypeDef,szName,rFields,cMax,pcTokens) \
( (This)->lpVtbl -> EnumFieldsWithName(This,phEnum,tkTypeDef,szName,rFields,cMax,pcTokens) )
#define IMetaDataImport2_EnumParams(This,phEnum,tkMethodDef,rParams,cMax,pcTokens) \
( (This)->lpVtbl -> EnumParams(This,phEnum,tkMethodDef,rParams,cMax,pcTokens) )
#define IMetaDataImport2_EnumMemberRefs(This,phEnum,tkParent,rgMemberRefs,cMax,pcTokens) \
( (This)->lpVtbl -> EnumMemberRefs(This,phEnum,tkParent,rgMemberRefs,cMax,pcTokens) )
#define IMetaDataImport2_EnumMethodImpls(This,phEnum,tkTypeDef,rMethodBody,rMethodDecl,cMax,pcTokens) \
( (This)->lpVtbl -> EnumMethodImpls(This,phEnum,tkTypeDef,rMethodBody,rMethodDecl,cMax,pcTokens) )
#define IMetaDataImport2_EnumPermissionSets(This,phEnum,tk,dwActions,rPermission,cMax,pcTokens) \
( (This)->lpVtbl -> EnumPermissionSets(This,phEnum,tk,dwActions,rPermission,cMax,pcTokens) )
#define IMetaDataImport2_FindMember(This,tkTypeDef,szName,pvSigBlob,cbSigBlob,pmb) \
( (This)->lpVtbl -> FindMember(This,tkTypeDef,szName,pvSigBlob,cbSigBlob,pmb) )
#define IMetaDataImport2_FindMethod(This,tkTypeDef,szName,pvSigBlob,cbSigBlob,ptkMethodDef) \
( (This)->lpVtbl -> FindMethod(This,tkTypeDef,szName,pvSigBlob,cbSigBlob,ptkMethodDef) )
#define IMetaDataImport2_FindField(This,tkTypeDef,szName,pvSigBlob,cbSigBlob,ptkFieldDef) \
( (This)->lpVtbl -> FindField(This,tkTypeDef,szName,pvSigBlob,cbSigBlob,ptkFieldDef) )
#define IMetaDataImport2_FindMemberRef(This,tkTypeRef,szName,pvSigBlob,cbSigBlob,pMemberRef) \
( (This)->lpVtbl -> FindMemberRef(This,tkTypeRef,szName,pvSigBlob,cbSigBlob,pMemberRef) )
#define IMetaDataImport2_GetMethodProps(This,tkMethodDef,ptkClass,szMethod,cchMethod,pchMethod,pdwAttr,ppvSigBlob,pcbSigBlob,pulCodeRVA,pdwImplFlags) \
( (This)->lpVtbl -> GetMethodProps(This,tkMethodDef,ptkClass,szMethod,cchMethod,pchMethod,pdwAttr,ppvSigBlob,pcbSigBlob,pulCodeRVA,pdwImplFlags) )
#define IMetaDataImport2_GetMemberRefProps(This,tkMemberRef,ptk,szMember,cchMember,pchMember,ppvSigBlob,pcbSigBlob) \
( (This)->lpVtbl -> GetMemberRefProps(This,tkMemberRef,ptk,szMember,cchMember,pchMember,ppvSigBlob,pcbSigBlob) )
#define IMetaDataImport2_EnumProperties(This,phEnum,tkTypDef,rgProperties,cMax,pcProperties) \
( (This)->lpVtbl -> EnumProperties(This,phEnum,tkTypDef,rgProperties,cMax,pcProperties) )
#define IMetaDataImport2_EnumEvents(This,phEnum,tkTypDef,rgEvents,cMax,pcEvents) \
( (This)->lpVtbl -> EnumEvents(This,phEnum,tkTypDef,rgEvents,cMax,pcEvents) )
#define IMetaDataImport2_GetEventProps(This,tkEvent,ptkClass,szEvent,cchEvent,pchEvent,pdwEventFlags,ptkEventType,ptkAddOn,ptkRemoveOn,tkkFire,rgOtherMethod,cMax,pcOtherMethod) \
( (This)->lpVtbl -> GetEventProps(This,tkEvent,ptkClass,szEvent,cchEvent,pchEvent,pdwEventFlags,ptkEventType,ptkAddOn,ptkRemoveOn,tkkFire,rgOtherMethod,cMax,pcOtherMethod) )
#define IMetaDataImport2_EnumMethodSemantics(This,phEnum,tkMethodDef,rgEventProp,cMax,pcEventProp) \
( (This)->lpVtbl -> EnumMethodSemantics(This,phEnum,tkMethodDef,rgEventProp,cMax,pcEventProp) )
#define IMetaDataImport2_GetMethodSemantics(This,tkMethodDef,tkEventProp,pdwSemanticsFlags) \
( (This)->lpVtbl -> GetMethodSemantics(This,tkMethodDef,tkEventProp,pdwSemanticsFlags) )
#define IMetaDataImport2_GetClassLayout(This,tkTypeDef,pdwPackSize,rgFieldOffset,cMax,pcFieldOffset,pulClassSize) \
( (This)->lpVtbl -> GetClassLayout(This,tkTypeDef,pdwPackSize,rgFieldOffset,cMax,pcFieldOffset,pulClassSize) )
#define IMetaDataImport2_GetFieldMarshal(This,tk,ppvNativeType,pcbNativeType) \
( (This)->lpVtbl -> GetFieldMarshal(This,tk,ppvNativeType,pcbNativeType) )
#define IMetaDataImport2_GetRVA(This,tk,pulCodeRVA,pdwImplFlags) \
( (This)->lpVtbl -> GetRVA(This,tk,pulCodeRVA,pdwImplFlags) )
#define IMetaDataImport2_GetPermissionSetProps(This,tk,pdwAction,ppvPermission,pcbPermission) \
( (This)->lpVtbl -> GetPermissionSetProps(This,tk,pdwAction,ppvPermission,pcbPermission) )
#define IMetaDataImport2_GetSigFromToken(This,tkSignature,ppvSig,pcbSig) \
( (This)->lpVtbl -> GetSigFromToken(This,tkSignature,ppvSig,pcbSig) )
#define IMetaDataImport2_GetModuleRefProps(This,tkModuleRef,szName,cchName,pchName) \
( (This)->lpVtbl -> GetModuleRefProps(This,tkModuleRef,szName,cchName,pchName) )
#define IMetaDataImport2_EnumModuleRefs(This,phEnum,rgModuleRefs,cMax,pcModuleRefs) \
( (This)->lpVtbl -> EnumModuleRefs(This,phEnum,rgModuleRefs,cMax,pcModuleRefs) )
#define IMetaDataImport2_GetTypeSpecFromToken(This,tkTypeSpec,ppvSig,pcbSig) \
( (This)->lpVtbl -> GetTypeSpecFromToken(This,tkTypeSpec,ppvSig,pcbSig) )
#define IMetaDataImport2_GetNameFromToken(This,tk,pszUtf8NamePtr) \
( (This)->lpVtbl -> GetNameFromToken(This,tk,pszUtf8NamePtr) )
#define IMetaDataImport2_EnumUnresolvedMethods(This,phEnum,rgMethods,cMax,pcTokens) \
( (This)->lpVtbl -> EnumUnresolvedMethods(This,phEnum,rgMethods,cMax,pcTokens) )
#define IMetaDataImport2_GetUserString(This,tkString,szString,cchString,pchString) \
( (This)->lpVtbl -> GetUserString(This,tkString,szString,cchString,pchString) )
#define IMetaDataImport2_GetPinvokeMap(This,tk,pdwMappingFlags,szImportName,cchImportName,pchImportName,ptkImportDLL) \
( (This)->lpVtbl -> GetPinvokeMap(This,tk,pdwMappingFlags,szImportName,cchImportName,pchImportName,ptkImportDLL) )
#define IMetaDataImport2_EnumSignatures(This,phEnum,rgSignatures,cMax,pcSignatures) \
( (This)->lpVtbl -> EnumSignatures(This,phEnum,rgSignatures,cMax,pcSignatures) )
#define IMetaDataImport2_EnumTypeSpecs(This,phEnum,rgTypeSpecs,cMax,pcTypeSpecs) \
( (This)->lpVtbl -> EnumTypeSpecs(This,phEnum,rgTypeSpecs,cMax,pcTypeSpecs) )
#define IMetaDataImport2_EnumUserStrings(This,phEnum,rgStrings,cMax,pcStrings) \
( (This)->lpVtbl -> EnumUserStrings(This,phEnum,rgStrings,cMax,pcStrings) )
#define IMetaDataImport2_GetParamForMethodIndex(This,tkMethodDef,ulParamSeq,ptkParamDef) \
( (This)->lpVtbl -> GetParamForMethodIndex(This,tkMethodDef,ulParamSeq,ptkParamDef) )
#define IMetaDataImport2_EnumCustomAttributes(This,phEnum,tk,tkType,rgCustomAttributes,cMax,pcCustomAttributes) \
( (This)->lpVtbl -> EnumCustomAttributes(This,phEnum,tk,tkType,rgCustomAttributes,cMax,pcCustomAttributes) )
#define IMetaDataImport2_GetCustomAttributeProps(This,cv,ptkObj,ptkType,ppBlob,pcbBlob) \
( (This)->lpVtbl -> GetCustomAttributeProps(This,cv,ptkObj,ptkType,ppBlob,pcbBlob) )
#define IMetaDataImport2_FindTypeRef(This,tkResolutionScope,szName,tkTypeRef) \
( (This)->lpVtbl -> FindTypeRef(This,tkResolutionScope,szName,tkTypeRef) )
#define IMetaDataImport2_GetMemberProps(This,tkMember,ptkTypeDef,szMember,cchMember,pchMember,pdwAttr,ppvSigBlob,pcbSigBlob,pulCodeRVA,pdwImplFlags,pdwCPlusTypeFlag,ppValue,pcchValue) \
( (This)->lpVtbl -> GetMemberProps(This,tkMember,ptkTypeDef,szMember,cchMember,pchMember,pdwAttr,ppvSigBlob,pcbSigBlob,pulCodeRVA,pdwImplFlags,pdwCPlusTypeFlag,ppValue,pcchValue) )
#define IMetaDataImport2_GetFieldProps(This,tkFieldDef,ptkTypeDef,szField,cchField,pchField,pdwAttr,ppvSigBlob,pcbSigBlob,pdwCPlusTypeFlag,ppValue,pcchValue) \
( (This)->lpVtbl -> GetFieldProps(This,tkFieldDef,ptkTypeDef,szField,cchField,pchField,pdwAttr,ppvSigBlob,pcbSigBlob,pdwCPlusTypeFlag,ppValue,pcchValue) )
#define IMetaDataImport2_GetPropertyProps(This,prop,ptkTypeDef,szProperty,cchProperty,pchProperty,pdwPropFlags,ppvSigBlob,pcbSigBlob,pdwCPlusTypeFlag,ppDefaultValue,pcchDefaultValue,ptkSetter,ptkGetter,rgOtherMethod,cMax,pcOtherMethod) \
( (This)->lpVtbl -> GetPropertyProps(This,prop,ptkTypeDef,szProperty,cchProperty,pchProperty,pdwPropFlags,ppvSigBlob,pcbSigBlob,pdwCPlusTypeFlag,ppDefaultValue,pcchDefaultValue,ptkSetter,ptkGetter,rgOtherMethod,cMax,pcOtherMethod) )
#define IMetaDataImport2_GetParamProps(This,tkParamDef,ptkMethodDef,pulSequence,szName,cchName,pchName,pdwAttr,pdwCPlusTypeFlag,ppValue,pcchValue) \
( (This)->lpVtbl -> GetParamProps(This,tkParamDef,ptkMethodDef,pulSequence,szName,cchName,pchName,pdwAttr,pdwCPlusTypeFlag,ppValue,pcchValue) )
#define IMetaDataImport2_GetCustomAttributeByName(This,tkObj,szName,ppData,pcbData) \
( (This)->lpVtbl -> GetCustomAttributeByName(This,tkObj,szName,ppData,pcbData) )
#define IMetaDataImport2_IsValidToken(This,tk) \
( (This)->lpVtbl -> IsValidToken(This,tk) )
#define IMetaDataImport2_GetNestedClassProps(This,tdNestedClass,ptdEnclosingClass) \
( (This)->lpVtbl -> GetNestedClassProps(This,tdNestedClass,ptdEnclosingClass) )
#define IMetaDataImport2_GetNativeCallConvFromSig(This,pvSig,cbSig,pCallConv) \
( (This)->lpVtbl -> GetNativeCallConvFromSig(This,pvSig,cbSig,pCallConv) )
#define IMetaDataImport2_IsGlobal(This,tk,pbIsGlobal) \
( (This)->lpVtbl -> IsGlobal(This,tk,pbIsGlobal) )
#define IMetaDataImport2_EnumGenericParams(This,phEnum,tk,rGenericParams,cMax,pcGenericParams) \
( (This)->lpVtbl -> EnumGenericParams(This,phEnum,tk,rGenericParams,cMax,pcGenericParams) )
#define IMetaDataImport2_GetGenericParamProps(This,gp,pulParamSeq,pdwParamFlags,ptOwner,reserved,wzname,cchName,pchName) \
( (This)->lpVtbl -> GetGenericParamProps(This,gp,pulParamSeq,pdwParamFlags,ptOwner,reserved,wzname,cchName,pchName) )
#define IMetaDataImport2_GetMethodSpecProps(This,mi,tkParent,ppvSigBlob,pcbSigBlob) \
( (This)->lpVtbl -> GetMethodSpecProps(This,mi,tkParent,ppvSigBlob,pcbSigBlob) )
#define IMetaDataImport2_EnumGenericParamConstraints(This,phEnum,tk,rGenericParamConstraints,cMax,pcGenericParamConstraints) \
( (This)->lpVtbl -> EnumGenericParamConstraints(This,phEnum,tk,rGenericParamConstraints,cMax,pcGenericParamConstraints) )
#define IMetaDataImport2_GetGenericParamConstraintProps(This,gpc,ptGenericParam,ptkConstraintType) \
( (This)->lpVtbl -> GetGenericParamConstraintProps(This,gpc,ptGenericParam,ptkConstraintType) )
#define IMetaDataImport2_GetPEKind(This,pdwPEKind,pdwMAchine) \
( (This)->lpVtbl -> GetPEKind(This,pdwPEKind,pdwMAchine) )
#define IMetaDataImport2_GetVersionString(This,pwzBuf,ccBufSize,pccBufSize) \
( (This)->lpVtbl -> GetVersionString(This,pwzBuf,ccBufSize,pccBufSize) )
#define IMetaDataImport2_EnumMethodSpecs(This,phEnum,tk,rMethodSpecs,cMax,pcMethodSpecs) \
( (This)->lpVtbl -> EnumMethodSpecs(This,phEnum,tk,rMethodSpecs,cMax,pcMethodSpecs) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMetaDataImport2_INTERFACE_DEFINED__ */
#ifndef __IMetaDataTables_INTERFACE_DEFINED__
#define __IMetaDataTables_INTERFACE_DEFINED__
/* interface IMetaDataTables */
/* [object][uuid][local] */
EXTERN_C const IID IID_IMetaDataTables;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("D8F579AB-402D-4B8E-82D9-5D63B1065C68")
IMetaDataTables : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetStringHeapSize(
/* [out] */ ULONG *pcbStrings) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBlobHeapSize(
/* [out] */ ULONG *pcbBlobs) = 0;
virtual HRESULT STDMETHODCALLTYPE GetGuidHeapSize(
/* [out] */ ULONG *pcbGuids) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUserStringHeapSize(
/* [out] */ ULONG *pcbUserStrings) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNumTables(
/* [out] */ ULONG *pcTables) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTableIndex(
/* [in] */ ULONG token,
/* [out] */ ULONG *pixTbl) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTableInfo(
/* [in] */ ULONG ixTbl,
/* [out] */ ULONG *pcbRow,
/* [out] */ ULONG *pcRows,
/* [out] */ ULONG *pcCols,
/* [out] */ ULONG *piKey,
/* [string][out] */ LPCSTR *ppName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetColumnInfo(
/* [in] */ ULONG ixTbl,
/* [in] */ ULONG ixCol,
/* [out] */ ULONG *poCol,
/* [out] */ ULONG *pcbCol,
/* [out] */ ULONG *pType,
/* [string][out] */ LPCSTR *ppName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCodedTokenInfo(
/* [in] */ ULONG ixCdTkn,
/* [out] */ ULONG *pcTokens,
/* [size_is][size_is][out] */ const ULONG **ppTokens,
/* [string][out] */ LPCSTR *ppName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRow(
/* [in] */ ULONG ixTbl,
/* [in] */ ULONG rid,
/* [out] */ const BYTE *ppRow) = 0;
virtual HRESULT STDMETHODCALLTYPE GetColumn(
/* [in] */ ULONG ixTbl,
/* [in] */ ULONG ixCol,
/* [in] */ ULONG rid,
/* [out] */ ULONG *pVal) = 0;
virtual HRESULT STDMETHODCALLTYPE GetString(
/* [in] */ ULONG ixString,
/* [string][out] */ LPCSTR *ppString) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBlob(
/* [in] */ ULONG ixBlob,
/* [out] */ ULONG *pcbData,
/* [size_is][size_is][out] */ const BYTE **ppData) = 0;
virtual HRESULT STDMETHODCALLTYPE GetGuid(
/* [in] */ ULONG ixGuid,
/* [out] */ const GUID **ppGUID) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUserString(
/* [in] */ ULONG ixUserString,
/* [out] */ ULONG *pcbData,
/* [size_is][size_is][out] */ const BYTE **ppData) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNextString(
/* [in] */ ULONG ixString,
/* [out] */ ULONG *pNext) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNextBlob(
/* [in] */ ULONG ixBlob,
/* [out] */ ULONG *pNext) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNextGuid(
/* [in] */ ULONG ixGuid,
/* [out] */ ULONG *pNext) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNextUserString(
/* [in] */ ULONG ixUserString,
/* [out] */ ULONG *pNext) = 0;
};
#else /* C style interface */
typedef struct IMetaDataTablesVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMetaDataTables * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMetaDataTables * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMetaDataTables * This);
HRESULT ( STDMETHODCALLTYPE *GetStringHeapSize )(
IMetaDataTables * This,
/* [out] */ ULONG *pcbStrings);
HRESULT ( STDMETHODCALLTYPE *GetBlobHeapSize )(
IMetaDataTables * This,
/* [out] */ ULONG *pcbBlobs);
HRESULT ( STDMETHODCALLTYPE *GetGuidHeapSize )(
IMetaDataTables * This,
/* [out] */ ULONG *pcbGuids);
HRESULT ( STDMETHODCALLTYPE *GetUserStringHeapSize )(
IMetaDataTables * This,
/* [out] */ ULONG *pcbUserStrings);
HRESULT ( STDMETHODCALLTYPE *GetNumTables )(
IMetaDataTables * This,
/* [out] */ ULONG *pcTables);
HRESULT ( STDMETHODCALLTYPE *GetTableIndex )(
IMetaDataTables * This,
/* [in] */ ULONG token,
/* [out] */ ULONG *pixTbl);
HRESULT ( STDMETHODCALLTYPE *GetTableInfo )(
IMetaDataTables * This,
/* [in] */ ULONG ixTbl,
/* [out] */ ULONG *pcbRow,
/* [out] */ ULONG *pcRows,
/* [out] */ ULONG *pcCols,
/* [out] */ ULONG *piKey,
/* [string][out] */ LPCSTR *ppName);
HRESULT ( STDMETHODCALLTYPE *GetColumnInfo )(
IMetaDataTables * This,
/* [in] */ ULONG ixTbl,
/* [in] */ ULONG ixCol,
/* [out] */ ULONG *poCol,
/* [out] */ ULONG *pcbCol,
/* [out] */ ULONG *pType,
/* [string][out] */ LPCSTR *ppName);
HRESULT ( STDMETHODCALLTYPE *GetCodedTokenInfo )(
IMetaDataTables * This,
/* [in] */ ULONG ixCdTkn,
/* [out] */ ULONG *pcTokens,
/* [size_is][size_is][out] */ const ULONG **ppTokens,
/* [string][out] */ LPCSTR *ppName);
HRESULT ( STDMETHODCALLTYPE *GetRow )(
IMetaDataTables * This,
/* [in] */ ULONG ixTbl,
/* [in] */ ULONG rid,
/* [out] */ const BYTE *ppRow);
HRESULT ( STDMETHODCALLTYPE *GetColumn )(
IMetaDataTables * This,
/* [in] */ ULONG ixTbl,
/* [in] */ ULONG ixCol,
/* [in] */ ULONG rid,
/* [out] */ ULONG *pVal);
HRESULT ( STDMETHODCALLTYPE *GetString )(
IMetaDataTables * This,
/* [in] */ ULONG ixString,
/* [string][out] */ LPCSTR *ppString);
HRESULT ( STDMETHODCALLTYPE *GetBlob )(
IMetaDataTables * This,
/* [in] */ ULONG ixBlob,
/* [out] */ ULONG *pcbData,
/* [size_is][size_is][out] */ const BYTE **ppData);
HRESULT ( STDMETHODCALLTYPE *GetGuid )(
IMetaDataTables * This,
/* [in] */ ULONG ixGuid,
/* [out] */ const GUID **ppGUID);
HRESULT ( STDMETHODCALLTYPE *GetUserString )(
IMetaDataTables * This,
/* [in] */ ULONG ixUserString,
/* [out] */ ULONG *pcbData,
/* [size_is][size_is][out] */ const BYTE **ppData);
HRESULT ( STDMETHODCALLTYPE *GetNextString )(
IMetaDataTables * This,
/* [in] */ ULONG ixString,
/* [out] */ ULONG *pNext);
HRESULT ( STDMETHODCALLTYPE *GetNextBlob )(
IMetaDataTables * This,
/* [in] */ ULONG ixBlob,
/* [out] */ ULONG *pNext);
HRESULT ( STDMETHODCALLTYPE *GetNextGuid )(
IMetaDataTables * This,
/* [in] */ ULONG ixGuid,
/* [out] */ ULONG *pNext);
HRESULT ( STDMETHODCALLTYPE *GetNextUserString )(
IMetaDataTables * This,
/* [in] */ ULONG ixUserString,
/* [out] */ ULONG *pNext);
END_INTERFACE
} IMetaDataTablesVtbl;
interface IMetaDataTables
{
CONST_VTBL struct IMetaDataTablesVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMetaDataTables_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMetaDataTables_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMetaDataTables_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMetaDataTables_GetStringHeapSize(This,pcbStrings) \
( (This)->lpVtbl -> GetStringHeapSize(This,pcbStrings) )
#define IMetaDataTables_GetBlobHeapSize(This,pcbBlobs) \
( (This)->lpVtbl -> GetBlobHeapSize(This,pcbBlobs) )
#define IMetaDataTables_GetGuidHeapSize(This,pcbGuids) \
( (This)->lpVtbl -> GetGuidHeapSize(This,pcbGuids) )
#define IMetaDataTables_GetUserStringHeapSize(This,pcbUserStrings) \
( (This)->lpVtbl -> GetUserStringHeapSize(This,pcbUserStrings) )
#define IMetaDataTables_GetNumTables(This,pcTables) \
( (This)->lpVtbl -> GetNumTables(This,pcTables) )
#define IMetaDataTables_GetTableIndex(This,token,pixTbl) \
( (This)->lpVtbl -> GetTableIndex(This,token,pixTbl) )
#define IMetaDataTables_GetTableInfo(This,ixTbl,pcbRow,pcRows,pcCols,piKey,ppName) \
( (This)->lpVtbl -> GetTableInfo(This,ixTbl,pcbRow,pcRows,pcCols,piKey,ppName) )
#define IMetaDataTables_GetColumnInfo(This,ixTbl,ixCol,poCol,pcbCol,pType,ppName) \
( (This)->lpVtbl -> GetColumnInfo(This,ixTbl,ixCol,poCol,pcbCol,pType,ppName) )
#define IMetaDataTables_GetCodedTokenInfo(This,ixCdTkn,pcTokens,ppTokens,ppName) \
( (This)->lpVtbl -> GetCodedTokenInfo(This,ixCdTkn,pcTokens,ppTokens,ppName) )
#define IMetaDataTables_GetRow(This,ixTbl,rid,ppRow) \
( (This)->lpVtbl -> GetRow(This,ixTbl,rid,ppRow) )
#define IMetaDataTables_GetColumn(This,ixTbl,ixCol,rid,pVal) \
( (This)->lpVtbl -> GetColumn(This,ixTbl,ixCol,rid,pVal) )
#define IMetaDataTables_GetString(This,ixString,ppString) \
( (This)->lpVtbl -> GetString(This,ixString,ppString) )
#define IMetaDataTables_GetBlob(This,ixBlob,pcbData,ppData) \
( (This)->lpVtbl -> GetBlob(This,ixBlob,pcbData,ppData) )
#define IMetaDataTables_GetGuid(This,ixGuid,ppGUID) \
( (This)->lpVtbl -> GetGuid(This,ixGuid,ppGUID) )
#define IMetaDataTables_GetUserString(This,ixUserString,pcbData,ppData) \
( (This)->lpVtbl -> GetUserString(This,ixUserString,pcbData,ppData) )
#define IMetaDataTables_GetNextString(This,ixString,pNext) \
( (This)->lpVtbl -> GetNextString(This,ixString,pNext) )
#define IMetaDataTables_GetNextBlob(This,ixBlob,pNext) \
( (This)->lpVtbl -> GetNextBlob(This,ixBlob,pNext) )
#define IMetaDataTables_GetNextGuid(This,ixGuid,pNext) \
( (This)->lpVtbl -> GetNextGuid(This,ixGuid,pNext) )
#define IMetaDataTables_GetNextUserString(This,ixUserString,pNext) \
( (This)->lpVtbl -> GetNextUserString(This,ixUserString,pNext) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMetaDataTables_INTERFACE_DEFINED__ */
#ifndef __IMetaDataTables2_INTERFACE_DEFINED__
#define __IMetaDataTables2_INTERFACE_DEFINED__
/* interface IMetaDataTables2 */
/* [object][uuid][local] */
EXTERN_C const IID IID_IMetaDataTables2;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("BADB5F70-58DA-43a9-A1C6-D74819F19B15")
IMetaDataTables2 : public IMetaDataTables
{
public:
virtual HRESULT STDMETHODCALLTYPE GetMetaDataStorage(
/* [size_is][size_is][out] */ const BYTE **ppvMd,
/* [out] */ ULONG *pcbMd) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMetaDataStreamInfo(
/* [in] */ ULONG ix,
/* [string][out] */ LPCSTR *ppchName,
/* [size_is][size_is][out] */ const BYTE **ppv,
/* [out] */ ULONG *pcb) = 0;
};
#else /* C style interface */
typedef struct IMetaDataTables2Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMetaDataTables2 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMetaDataTables2 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMetaDataTables2 * This);
HRESULT ( STDMETHODCALLTYPE *GetStringHeapSize )(
IMetaDataTables2 * This,
/* [out] */ ULONG *pcbStrings);
HRESULT ( STDMETHODCALLTYPE *GetBlobHeapSize )(
IMetaDataTables2 * This,
/* [out] */ ULONG *pcbBlobs);
HRESULT ( STDMETHODCALLTYPE *GetGuidHeapSize )(
IMetaDataTables2 * This,
/* [out] */ ULONG *pcbGuids);
HRESULT ( STDMETHODCALLTYPE *GetUserStringHeapSize )(
IMetaDataTables2 * This,
/* [out] */ ULONG *pcbUserStrings);
HRESULT ( STDMETHODCALLTYPE *GetNumTables )(
IMetaDataTables2 * This,
/* [out] */ ULONG *pcTables);
HRESULT ( STDMETHODCALLTYPE *GetTableIndex )(
IMetaDataTables2 * This,
/* [in] */ ULONG token,
/* [out] */ ULONG *pixTbl);
HRESULT ( STDMETHODCALLTYPE *GetTableInfo )(
IMetaDataTables2 * This,
/* [in] */ ULONG ixTbl,
/* [out] */ ULONG *pcbRow,
/* [out] */ ULONG *pcRows,
/* [out] */ ULONG *pcCols,
/* [out] */ ULONG *piKey,
/* [string][out] */ LPCSTR *ppName);
HRESULT ( STDMETHODCALLTYPE *GetColumnInfo )(
IMetaDataTables2 * This,
/* [in] */ ULONG ixTbl,
/* [in] */ ULONG ixCol,
/* [out] */ ULONG *poCol,
/* [out] */ ULONG *pcbCol,
/* [out] */ ULONG *pType,
/* [string][out] */ LPCSTR *ppName);
HRESULT ( STDMETHODCALLTYPE *GetCodedTokenInfo )(
IMetaDataTables2 * This,
/* [in] */ ULONG ixCdTkn,
/* [out] */ ULONG *pcTokens,
/* [size_is][size_is][out] */ const ULONG **ppTokens,
/* [string][out] */ LPCSTR *ppName);
HRESULT ( STDMETHODCALLTYPE *GetRow )(
IMetaDataTables2 * This,
/* [in] */ ULONG ixTbl,
/* [in] */ ULONG rid,
/* [out] */ const BYTE *ppRow);
HRESULT ( STDMETHODCALLTYPE *GetColumn )(
IMetaDataTables2 * This,
/* [in] */ ULONG ixTbl,
/* [in] */ ULONG ixCol,
/* [in] */ ULONG rid,
/* [out] */ ULONG *pVal);
HRESULT ( STDMETHODCALLTYPE *GetString )(
IMetaDataTables2 * This,
/* [in] */ ULONG ixString,
/* [string][out] */ LPCSTR *ppString);
HRESULT ( STDMETHODCALLTYPE *GetBlob )(
IMetaDataTables2 * This,
/* [in] */ ULONG ixBlob,
/* [out] */ ULONG *pcbData,
/* [size_is][size_is][out] */ const BYTE **ppData);
HRESULT ( STDMETHODCALLTYPE *GetGuid )(
IMetaDataTables2 * This,
/* [in] */ ULONG ixGuid,
/* [out] */ const GUID **ppGUID);
HRESULT ( STDMETHODCALLTYPE *GetUserString )(
IMetaDataTables2 * This,
/* [in] */ ULONG ixUserString,
/* [out] */ ULONG *pcbData,
/* [size_is][size_is][out] */ const BYTE **ppData);
HRESULT ( STDMETHODCALLTYPE *GetNextString )(
IMetaDataTables2 * This,
/* [in] */ ULONG ixString,
/* [out] */ ULONG *pNext);
HRESULT ( STDMETHODCALLTYPE *GetNextBlob )(
IMetaDataTables2 * This,
/* [in] */ ULONG ixBlob,
/* [out] */ ULONG *pNext);
HRESULT ( STDMETHODCALLTYPE *GetNextGuid )(
IMetaDataTables2 * This,
/* [in] */ ULONG ixGuid,
/* [out] */ ULONG *pNext);
HRESULT ( STDMETHODCALLTYPE *GetNextUserString )(
IMetaDataTables2 * This,
/* [in] */ ULONG ixUserString,
/* [out] */ ULONG *pNext);
HRESULT ( STDMETHODCALLTYPE *GetMetaDataStorage )(
IMetaDataTables2 * This,
/* [size_is][size_is][out] */ const BYTE **ppvMd,
/* [out] */ ULONG *pcbMd);
HRESULT ( STDMETHODCALLTYPE *GetMetaDataStreamInfo )(
IMetaDataTables2 * This,
/* [in] */ ULONG ix,
/* [string][out] */ LPCSTR *ppchName,
/* [size_is][size_is][out] */ const BYTE **ppv,
/* [out] */ ULONG *pcb);
END_INTERFACE
} IMetaDataTables2Vtbl;
interface IMetaDataTables2
{
CONST_VTBL struct IMetaDataTables2Vtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMetaDataTables2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMetaDataTables2_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMetaDataTables2_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMetaDataTables2_GetStringHeapSize(This,pcbStrings) \
( (This)->lpVtbl -> GetStringHeapSize(This,pcbStrings) )
#define IMetaDataTables2_GetBlobHeapSize(This,pcbBlobs) \
( (This)->lpVtbl -> GetBlobHeapSize(This,pcbBlobs) )
#define IMetaDataTables2_GetGuidHeapSize(This,pcbGuids) \
( (This)->lpVtbl -> GetGuidHeapSize(This,pcbGuids) )
#define IMetaDataTables2_GetUserStringHeapSize(This,pcbUserStrings) \
( (This)->lpVtbl -> GetUserStringHeapSize(This,pcbUserStrings) )
#define IMetaDataTables2_GetNumTables(This,pcTables) \
( (This)->lpVtbl -> GetNumTables(This,pcTables) )
#define IMetaDataTables2_GetTableIndex(This,token,pixTbl) \
( (This)->lpVtbl -> GetTableIndex(This,token,pixTbl) )
#define IMetaDataTables2_GetTableInfo(This,ixTbl,pcbRow,pcRows,pcCols,piKey,ppName) \
( (This)->lpVtbl -> GetTableInfo(This,ixTbl,pcbRow,pcRows,pcCols,piKey,ppName) )
#define IMetaDataTables2_GetColumnInfo(This,ixTbl,ixCol,poCol,pcbCol,pType,ppName) \
( (This)->lpVtbl -> GetColumnInfo(This,ixTbl,ixCol,poCol,pcbCol,pType,ppName) )
#define IMetaDataTables2_GetCodedTokenInfo(This,ixCdTkn,pcTokens,ppTokens,ppName) \
( (This)->lpVtbl -> GetCodedTokenInfo(This,ixCdTkn,pcTokens,ppTokens,ppName) )
#define IMetaDataTables2_GetRow(This,ixTbl,rid,ppRow) \
( (This)->lpVtbl -> GetRow(This,ixTbl,rid,ppRow) )
#define IMetaDataTables2_GetColumn(This,ixTbl,ixCol,rid,pVal) \
( (This)->lpVtbl -> GetColumn(This,ixTbl,ixCol,rid,pVal) )
#define IMetaDataTables2_GetString(This,ixString,ppString) \
( (This)->lpVtbl -> GetString(This,ixString,ppString) )
#define IMetaDataTables2_GetBlob(This,ixBlob,pcbData,ppData) \
( (This)->lpVtbl -> GetBlob(This,ixBlob,pcbData,ppData) )
#define IMetaDataTables2_GetGuid(This,ixGuid,ppGUID) \
( (This)->lpVtbl -> GetGuid(This,ixGuid,ppGUID) )
#define IMetaDataTables2_GetUserString(This,ixUserString,pcbData,ppData) \
( (This)->lpVtbl -> GetUserString(This,ixUserString,pcbData,ppData) )
#define IMetaDataTables2_GetNextString(This,ixString,pNext) \
( (This)->lpVtbl -> GetNextString(This,ixString,pNext) )
#define IMetaDataTables2_GetNextBlob(This,ixBlob,pNext) \
( (This)->lpVtbl -> GetNextBlob(This,ixBlob,pNext) )
#define IMetaDataTables2_GetNextGuid(This,ixGuid,pNext) \
( (This)->lpVtbl -> GetNextGuid(This,ixGuid,pNext) )
#define IMetaDataTables2_GetNextUserString(This,ixUserString,pNext) \
( (This)->lpVtbl -> GetNextUserString(This,ixUserString,pNext) )
#define IMetaDataTables2_GetMetaDataStorage(This,ppvMd,pcbMd) \
( (This)->lpVtbl -> GetMetaDataStorage(This,ppvMd,pcbMd) )
#define IMetaDataTables2_GetMetaDataStreamInfo(This,ix,ppchName,ppv,pcb) \
( (This)->lpVtbl -> GetMetaDataStreamInfo(This,ix,ppchName,ppv,pcb) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMetaDataTables2_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_rometadataapi_0000_0007 */
/* [local] */
#else
} /* extern "C" */
/* Include cor.h for C++ uses */
#include <cor.h>
#include <corhdr.h>
extern "C" {
#endif
extern RPC_IF_HANDLE __MIDL_itf_rometadataapi_0000_0007_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_rometadataapi_0000_0007_v0_0_s_ifspec;
/* Additional Prototypes for ALL interfaces */
/* end of Additional Prototypes */
#ifdef __cplusplus
}
#endif
#endif