public static ISymbolReader CreateReader(string filename, byte[] binaryFile) { SymBinder binder = new SymBinder(); object objDispenser, objImporter; CoCreateInstance(ref s_dispenserClassID, null, 1, ref s_dispenserIID, out objDispenser); IntPtr filePtr = Marshal.AllocHGlobal(binaryFile.Length); Marshal.Copy(binaryFile, 0, filePtr, binaryFile.Length); IMetaDataDispenserEx dispenser = (IMetaDataDispenserEx)objDispenser; dispenser.OpenScopeOnMemory(filePtr, (uint)binaryFile.Length, 0, ref s_importerIID, out objImporter); IntPtr importerPtr = IntPtr.Zero; ISymbolReader reader; try { importerPtr = Marshal.GetComInterfaceForObject(objImporter, typeof(IMetadataImport)); reader = binder.GetReader(importerPtr, filename, null); } finally { if (importerPtr != IntPtr.Zero) { Marshal.Release(importerPtr); } } return(reader); }
public MetadataImport(string assemblyPath) { m_assembly = assemblyPath; m_dispenser = new MetaDataDispenserEx(); object rawScope = null; Guid metaDataImportGuid = new Guid("7DAC8207-D3AE-4c75-9B67-92801A497D44"); m_dispenser.OpenScope(assemblyPath, 0, ref metaDataImportGuid, out rawScope); m_import = (IMetaDataImport)rawScope; }
public static void XXX() { IMetaDataDispenserEx o = new IMetaDataDispenserEx(); }
public MetadataImport(string assemblyPath) { m_dispenser = new MetaDataDispenserEx(); object rawScope = null; Guid metaDataImportGuid = new Guid("7DAC8207-D3AE-4c75-9B67-92801A497D44"); m_dispenser.OpenScope(assemblyPath, 0, ref metaDataImportGuid, out rawScope); m_import = (IMetaDataImport)rawScope; }
public static void XXX () { IMetaDataDispenserEx o = new IMetaDataDispenserEx(); }