diff options
Diffstat (limited to 'src/inc/metadataexports.h')
-rw-r--r-- | src/inc/metadataexports.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/inc/metadataexports.h b/src/inc/metadataexports.h new file mode 100644 index 0000000000..159af69fb3 --- /dev/null +++ b/src/inc/metadataexports.h @@ -0,0 +1,57 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. +//***************************************************************************** +// MDCommon.h +// + +// +// Header for functions exported by metadata. These are consumed 2 ways: +// 1. Mscoree provides public exports that plumb to some of these functions to invoke these dynamically. +// 2. Standalone metadata (statically linked) +// +//***************************************************************************** + + +#ifndef _METADATA_EXPORTS_ +#define _METADATA_EXPORTS_ + + + +// General creation function for ClassFactory semantics. +STDAPI MetaDataDllGetClassObject(REFCLSID rclsid, REFIID riid, void ** ppv); + +// Specific creation function to get IMetaDataDispenser(Ex) interface. +HRESULT InternalCreateMetaDataDispenser(REFIID riid, void ** pMetaDataDispenserOut); + +STDAPI GetMDInternalInterface( + LPVOID pData, + ULONG cbData, + DWORD flags, // [IN] MDInternal_OpenForRead or MDInternal_OpenForENC + REFIID riid, // [in] The interface desired. + void **ppIUnk); // [out] Return interface on success. + +STDAPI GetMDInternalInterfaceFromPublic( + IUnknown *pIUnkPublic, // [IN] Given scope. + REFIID riid, // [in] The interface desired. + void **ppIUnkInternal); // [out] Return interface on success. + +STDAPI GetMDPublicInterfaceFromInternal( + void *pIUnkPublic, // [IN] Given scope. + REFIID riid, // [in] The interface desired. + void **ppIUnkInternal); // [out] Return interface on success. + +STDAPI MDReOpenMetaDataWithMemory( + void *pImport, // [IN] Given scope. public interfaces + LPCVOID pData, // [in] Location of scope data. + ULONG cbData); // [in] Size of the data pointed to by pData. + +STDAPI MDReOpenMetaDataWithMemoryEx( + void *pImport, // [IN] Given scope. public interfaces + LPCVOID pData, // [in] Location of scope data. + ULONG cbData, // [in] Size of the data pointed to by pData. + DWORD dwReOpenFlags); // [in] ReOpen flags + + + +#endif // _METADATA_EXPORTS_ |