internal NativeMetadataChain(Stream stream) { Contract.Requires(stream != null); Contract.Requires(stream.CanRead); Contract.Requires(stream.CanWrite); Contract.Requires(stream.CanSeek); Contract.Ensures(Handle != null); Contract.Ensures(!Handle.IsClosed); Contract.Ensures(GetStatus() == MetadataChainStatus.Ok); _callbacks = InitializeCallbacks(stream); Handle = SafeNativeMethods.MetadataChainNew(); }
internal static extern bool MetadataChainWriteWithTempFile(NativeMetadataChainHandle handle, [MarshalAs(UnmanagedType.Bool)] bool usePadding, IntPtr ioHandle, IoCallbacks callbacks, IntPtr tempIoHandle, IoCallbacks tempCallbacks);
internal static extern bool MetadataChainRead(NativeMetadataChainHandle handle, IntPtr ioHandle, IoCallbacks callbacks);