Skip to content

Instantly share code, notes, and snippets.

@fiddyschmitt
Created May 2, 2024 13:04
Show Gist options
  • Save fiddyschmitt/199b1b91ed868cd7d63540ac1f392c8d to your computer and use it in GitHub Desktop.
Save fiddyschmitt/199b1b91ed868cd7d63540ac1f392c8d to your computer and use it in GitHub Desktop.
// ----------------------------------------------------------------------------
// <auto-generated>
// This is autogenerated code by CppSharp.
// Do not edit this file or all your changes will be lost after re-generation.
// </auto-generated>
// ----------------------------------------------------------------------------
using System;
using System.Runtime.InteropServices;
using System.Security;
namespace SevenZipDllBindings
{
public unsafe partial class CSzData : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 16)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::System.IntPtr Data;
[FieldOffset(8)]
internal ulong Size;
}
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CSzData> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CSzData>();
protected void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::SevenZipDllBindings.CSzData __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CSzData(native.ToPointer(), skipVTables);
}
internal static global::SevenZipDllBindings.CSzData __CreateInstance(global::SevenZipDllBindings.CSzData.__Internal native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CSzData(native, skipVTables);
}
private static void* __CopyValue(global::SevenZipDllBindings.CSzData.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::SevenZipDllBindings.CSzData.__Internal));
*(global::SevenZipDllBindings.CSzData.__Internal*) ret = native;
return ret.ToPointer();
}
private CSzData(global::SevenZipDllBindings.CSzData.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected CSzData(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::SevenZipDllBindings.CSzData __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
public byte* Data
{
get
{
return (byte*) ((global::SevenZipDllBindings.CSzData.__Internal*) __Instance)->Data;
}
set
{
((global::SevenZipDllBindings.CSzData.__Internal*) __Instance)->Data = (global::System.IntPtr) value;
}
}
public ulong Size
{
get
{
return ((global::SevenZipDllBindings.CSzData.__Internal*) __Instance)->Size;
}
set
{
((global::SevenZipDllBindings.CSzData.__Internal*) __Instance)->Size = value;
}
}
}
public unsafe partial class CSzCoderInfo : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 16)]
public partial struct __Internal
{
[FieldOffset(0)]
internal ulong PropsOffset;
[FieldOffset(8)]
internal uint MethodID;
[FieldOffset(12)]
internal byte NumStreams;
[FieldOffset(13)]
internal byte PropsSize;
}
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CSzCoderInfo> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CSzCoderInfo>();
protected void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::SevenZipDllBindings.CSzCoderInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CSzCoderInfo(native.ToPointer(), skipVTables);
}
internal static global::SevenZipDllBindings.CSzCoderInfo __CreateInstance(global::SevenZipDllBindings.CSzCoderInfo.__Internal native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CSzCoderInfo(native, skipVTables);
}
private static void* __CopyValue(global::SevenZipDllBindings.CSzCoderInfo.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::SevenZipDllBindings.CSzCoderInfo.__Internal));
*(global::SevenZipDllBindings.CSzCoderInfo.__Internal*) ret = native;
return ret.ToPointer();
}
private CSzCoderInfo(global::SevenZipDllBindings.CSzCoderInfo.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected CSzCoderInfo(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::SevenZipDllBindings.CSzCoderInfo __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
public ulong PropsOffset
{
get
{
return ((global::SevenZipDllBindings.CSzCoderInfo.__Internal*) __Instance)->PropsOffset;
}
set
{
((global::SevenZipDllBindings.CSzCoderInfo.__Internal*) __Instance)->PropsOffset = value;
}
}
public uint MethodID
{
get
{
return ((global::SevenZipDllBindings.CSzCoderInfo.__Internal*) __Instance)->MethodID;
}
set
{
((global::SevenZipDllBindings.CSzCoderInfo.__Internal*) __Instance)->MethodID = value;
}
}
public byte NumStreams
{
get
{
return ((global::SevenZipDllBindings.CSzCoderInfo.__Internal*) __Instance)->NumStreams;
}
set
{
((global::SevenZipDllBindings.CSzCoderInfo.__Internal*) __Instance)->NumStreams = value;
}
}
public byte PropsSize
{
get
{
return ((global::SevenZipDllBindings.CSzCoderInfo.__Internal*) __Instance)->PropsSize;
}
set
{
((global::SevenZipDllBindings.CSzCoderInfo.__Internal*) __Instance)->PropsSize = value;
}
}
}
public unsafe partial class CSzBond : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 8)]
public partial struct __Internal
{
[FieldOffset(0)]
internal uint InIndex;
[FieldOffset(4)]
internal uint OutIndex;
}
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CSzBond> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CSzBond>();
protected void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::SevenZipDllBindings.CSzBond __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CSzBond(native.ToPointer(), skipVTables);
}
internal static global::SevenZipDllBindings.CSzBond __CreateInstance(global::SevenZipDllBindings.CSzBond.__Internal native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CSzBond(native, skipVTables);
}
private static void* __CopyValue(global::SevenZipDllBindings.CSzBond.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::SevenZipDllBindings.CSzBond.__Internal));
*(global::SevenZipDllBindings.CSzBond.__Internal*) ret = native;
return ret.ToPointer();
}
private CSzBond(global::SevenZipDllBindings.CSzBond.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected CSzBond(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::SevenZipDllBindings.CSzBond __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
public uint InIndex
{
get
{
return ((global::SevenZipDllBindings.CSzBond.__Internal*) __Instance)->InIndex;
}
set
{
((global::SevenZipDllBindings.CSzBond.__Internal*) __Instance)->InIndex = value;
}
}
public uint OutIndex
{
get
{
return ((global::SevenZipDllBindings.CSzBond.__Internal*) __Instance)->OutIndex;
}
set
{
((global::SevenZipDllBindings.CSzBond.__Internal*) __Instance)->OutIndex = value;
}
}
}
public unsafe partial class CSzFolder : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 120)]
public partial struct __Internal
{
[FieldOffset(0)]
internal uint NumCoders;
[FieldOffset(4)]
internal uint NumBonds;
[FieldOffset(8)]
internal uint NumPackStreams;
[FieldOffset(12)]
internal uint UnpackStream;
[FieldOffset(16)]
internal fixed uint PackStreams[4];
[FieldOffset(32)]
internal fixed byte Bonds[24];
[FieldOffset(56)]
internal fixed byte Coders[64];
}
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CSzFolder> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CSzFolder>();
protected void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::SevenZipDllBindings.CSzFolder __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CSzFolder(native.ToPointer(), skipVTables);
}
internal static global::SevenZipDllBindings.CSzFolder __CreateInstance(global::SevenZipDllBindings.CSzFolder.__Internal native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CSzFolder(native, skipVTables);
}
private static void* __CopyValue(global::SevenZipDllBindings.CSzFolder.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::SevenZipDllBindings.CSzFolder.__Internal));
*(global::SevenZipDllBindings.CSzFolder.__Internal*) ret = native;
return ret.ToPointer();
}
private CSzFolder(global::SevenZipDllBindings.CSzFolder.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected CSzFolder(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::SevenZipDllBindings.CSzFolder __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
public uint NumCoders
{
get
{
return ((global::SevenZipDllBindings.CSzFolder.__Internal*) __Instance)->NumCoders;
}
set
{
((global::SevenZipDllBindings.CSzFolder.__Internal*) __Instance)->NumCoders = value;
}
}
public uint NumBonds
{
get
{
return ((global::SevenZipDllBindings.CSzFolder.__Internal*) __Instance)->NumBonds;
}
set
{
((global::SevenZipDllBindings.CSzFolder.__Internal*) __Instance)->NumBonds = value;
}
}
public uint NumPackStreams
{
get
{
return ((global::SevenZipDllBindings.CSzFolder.__Internal*) __Instance)->NumPackStreams;
}
set
{
((global::SevenZipDllBindings.CSzFolder.__Internal*) __Instance)->NumPackStreams = value;
}
}
public uint UnpackStream
{
get
{
return ((global::SevenZipDllBindings.CSzFolder.__Internal*) __Instance)->UnpackStream;
}
set
{
((global::SevenZipDllBindings.CSzFolder.__Internal*) __Instance)->UnpackStream = value;
}
}
public uint[] PackStreams
{
get
{
uint[] __value = null;
if (((global::SevenZipDllBindings.CSzFolder.__Internal*) __Instance)->PackStreams != null)
{
__value = new uint[4];
for (int i = 0; i < 4; i++)
__value[i] = ((global::SevenZipDllBindings.CSzFolder.__Internal*) __Instance)->PackStreams[i];
}
return __value;
}
set
{
if (value != null)
{
for (int i = 0; i < 4; i++)
((global::SevenZipDllBindings.CSzFolder.__Internal*) __Instance)->PackStreams[i] = value[i];
}
}
}
public global::SevenZipDllBindings.CSzBond[] Bonds
{
get
{
global::SevenZipDllBindings.CSzBond[] __value = null;
if (((global::SevenZipDllBindings.CSzFolder.__Internal*) __Instance)->Bonds != null)
{
__value = new global::SevenZipDllBindings.CSzBond[3];
for (int i = 0; i < 3; i++)
__value[i] = global::SevenZipDllBindings.CSzBond.__CreateInstance(*((global::SevenZipDllBindings.CSzBond.__Internal*)&(((global::SevenZipDllBindings.CSzFolder.__Internal*) __Instance)->Bonds[i * sizeof(global::SevenZipDllBindings.CSzBond.__Internal)])));
}
return __value;
}
set
{
if (value != null)
{
if (value.Length != 3)
throw new ArgumentOutOfRangeException("value", "The dimensions of the provided array don't match the required size.");
for (int i = 0; i < 3; i++)
*(global::SevenZipDllBindings.CSzBond.__Internal*) &((global::SevenZipDllBindings.CSzFolder.__Internal*) __Instance)->Bonds[i * sizeof(global::SevenZipDllBindings.CSzBond.__Internal)] = *(global::SevenZipDllBindings.CSzBond.__Internal*)value[i].__Instance;
}
}
}
public global::SevenZipDllBindings.CSzCoderInfo[] Coders
{
get
{
global::SevenZipDllBindings.CSzCoderInfo[] __value = null;
if (((global::SevenZipDllBindings.CSzFolder.__Internal*) __Instance)->Coders != null)
{
__value = new global::SevenZipDllBindings.CSzCoderInfo[4];
for (int i = 0; i < 4; i++)
__value[i] = global::SevenZipDllBindings.CSzCoderInfo.__CreateInstance(*((global::SevenZipDllBindings.CSzCoderInfo.__Internal*)&(((global::SevenZipDllBindings.CSzFolder.__Internal*) __Instance)->Coders[i * sizeof(global::SevenZipDllBindings.CSzCoderInfo.__Internal)])));
}
return __value;
}
set
{
if (value != null)
{
if (value.Length != 4)
throw new ArgumentOutOfRangeException("value", "The dimensions of the provided array don't match the required size.");
for (int i = 0; i < 4; i++)
*(global::SevenZipDllBindings.CSzCoderInfo.__Internal*) &((global::SevenZipDllBindings.CSzFolder.__Internal*) __Instance)->Coders[i * sizeof(global::SevenZipDllBindings.CSzCoderInfo.__Internal)] = *(global::SevenZipDllBindings.CSzCoderInfo.__Internal*)value[i].__Instance;
}
}
}
}
public unsafe partial class CNtfsFileTime : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 8)]
public partial struct __Internal
{
[FieldOffset(0)]
internal uint Low;
[FieldOffset(4)]
internal uint High;
}
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CNtfsFileTime> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CNtfsFileTime>();
protected void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::SevenZipDllBindings.CNtfsFileTime __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CNtfsFileTime(native.ToPointer(), skipVTables);
}
internal static global::SevenZipDllBindings.CNtfsFileTime __CreateInstance(global::SevenZipDllBindings.CNtfsFileTime.__Internal native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CNtfsFileTime(native, skipVTables);
}
private static void* __CopyValue(global::SevenZipDllBindings.CNtfsFileTime.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::SevenZipDllBindings.CNtfsFileTime.__Internal));
*(global::SevenZipDllBindings.CNtfsFileTime.__Internal*) ret = native;
return ret.ToPointer();
}
private CNtfsFileTime(global::SevenZipDllBindings.CNtfsFileTime.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected CNtfsFileTime(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::SevenZipDllBindings.CNtfsFileTime __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
public uint Low
{
get
{
return ((global::SevenZipDllBindings.CNtfsFileTime.__Internal*) __Instance)->Low;
}
set
{
((global::SevenZipDllBindings.CNtfsFileTime.__Internal*) __Instance)->Low = value;
}
}
public uint High
{
get
{
return ((global::SevenZipDllBindings.CNtfsFileTime.__Internal*) __Instance)->High;
}
set
{
((global::SevenZipDllBindings.CNtfsFileTime.__Internal*) __Instance)->High = value;
}
}
}
public unsafe partial class CSzBitUi32s : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 16)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::System.IntPtr Defs;
[FieldOffset(8)]
internal global::System.IntPtr Vals;
}
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CSzBitUi32s> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CSzBitUi32s>();
protected void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::SevenZipDllBindings.CSzBitUi32s __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CSzBitUi32s(native.ToPointer(), skipVTables);
}
internal static global::SevenZipDllBindings.CSzBitUi32s __CreateInstance(global::SevenZipDllBindings.CSzBitUi32s.__Internal native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CSzBitUi32s(native, skipVTables);
}
private static void* __CopyValue(global::SevenZipDllBindings.CSzBitUi32s.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::SevenZipDllBindings.CSzBitUi32s.__Internal));
*(global::SevenZipDllBindings.CSzBitUi32s.__Internal*) ret = native;
return ret.ToPointer();
}
private CSzBitUi32s(global::SevenZipDllBindings.CSzBitUi32s.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected CSzBitUi32s(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::SevenZipDllBindings.CSzBitUi32s __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
public byte* Defs
{
get
{
return (byte*) ((global::SevenZipDllBindings.CSzBitUi32s.__Internal*) __Instance)->Defs;
}
set
{
((global::SevenZipDllBindings.CSzBitUi32s.__Internal*) __Instance)->Defs = (global::System.IntPtr) value;
}
}
public uint* Vals
{
get
{
return (uint*) ((global::SevenZipDllBindings.CSzBitUi32s.__Internal*) __Instance)->Vals;
}
set
{
((global::SevenZipDllBindings.CSzBitUi32s.__Internal*) __Instance)->Vals = (global::System.IntPtr) value;
}
}
}
public unsafe partial class CSzBitUi64s : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 16)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::System.IntPtr Defs;
[FieldOffset(8)]
internal global::System.IntPtr Vals;
}
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CSzBitUi64s> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CSzBitUi64s>();
protected void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::SevenZipDllBindings.CSzBitUi64s __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CSzBitUi64s(native.ToPointer(), skipVTables);
}
internal static global::SevenZipDllBindings.CSzBitUi64s __CreateInstance(global::SevenZipDllBindings.CSzBitUi64s.__Internal native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CSzBitUi64s(native, skipVTables);
}
private static void* __CopyValue(global::SevenZipDllBindings.CSzBitUi64s.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::SevenZipDllBindings.CSzBitUi64s.__Internal));
*(global::SevenZipDllBindings.CSzBitUi64s.__Internal*) ret = native;
return ret.ToPointer();
}
private CSzBitUi64s(global::SevenZipDllBindings.CSzBitUi64s.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected CSzBitUi64s(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::SevenZipDllBindings.CSzBitUi64s __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
public byte* Defs
{
get
{
return (byte*) ((global::SevenZipDllBindings.CSzBitUi64s.__Internal*) __Instance)->Defs;
}
set
{
((global::SevenZipDllBindings.CSzBitUi64s.__Internal*) __Instance)->Defs = (global::System.IntPtr) value;
}
}
public global::SevenZipDllBindings.CNtfsFileTime Vals
{
get
{
global::SevenZipDllBindings.CNtfsFileTime __result0;
if (((global::SevenZipDllBindings.CSzBitUi64s.__Internal*) __Instance)->Vals == IntPtr.Zero) __result0 = null;
else if (global::SevenZipDllBindings.CNtfsFileTime.NativeToManagedMap.ContainsKey(((global::SevenZipDllBindings.CSzBitUi64s.__Internal*) __Instance)->Vals))
__result0 = (global::SevenZipDllBindings.CNtfsFileTime) global::SevenZipDllBindings.CNtfsFileTime.NativeToManagedMap[((global::SevenZipDllBindings.CSzBitUi64s.__Internal*) __Instance)->Vals];
else __result0 = global::SevenZipDllBindings.CNtfsFileTime.__CreateInstance(((global::SevenZipDllBindings.CSzBitUi64s.__Internal*) __Instance)->Vals);
return __result0;
}
set
{
((global::SevenZipDllBindings.CSzBitUi64s.__Internal*) __Instance)->Vals = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
}
}
}
public unsafe partial class CSzAr : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 88)]
public partial struct __Internal
{
[FieldOffset(0)]
internal uint NumPackStreams;
[FieldOffset(4)]
internal uint NumFolders;
[FieldOffset(8)]
internal global::System.IntPtr PackPositions;
[FieldOffset(16)]
internal global::SevenZipDllBindings.CSzBitUi32s.__Internal FolderCRCs;
[FieldOffset(32)]
internal global::System.IntPtr FoCodersOffsets;
[FieldOffset(40)]
internal global::System.IntPtr FoStartPackStreamIndex;
[FieldOffset(48)]
internal global::System.IntPtr FoToCoderUnpackSizes;
[FieldOffset(56)]
internal global::System.IntPtr FoToMainUnpackSizeIndex;
[FieldOffset(64)]
internal global::System.IntPtr CoderUnpackSizes;
[FieldOffset(72)]
internal global::System.IntPtr CodersData;
[FieldOffset(80)]
internal ulong RangeLimit;
}
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CSzAr> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CSzAr>();
protected void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::SevenZipDllBindings.CSzAr __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CSzAr(native.ToPointer(), skipVTables);
}
internal static global::SevenZipDllBindings.CSzAr __CreateInstance(global::SevenZipDllBindings.CSzAr.__Internal native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CSzAr(native, skipVTables);
}
private static void* __CopyValue(global::SevenZipDllBindings.CSzAr.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::SevenZipDllBindings.CSzAr.__Internal));
*(global::SevenZipDllBindings.CSzAr.__Internal*) ret = native;
return ret.ToPointer();
}
private CSzAr(global::SevenZipDllBindings.CSzAr.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected CSzAr(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::SevenZipDllBindings.CSzAr __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
public uint NumPackStreams
{
get
{
return ((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->NumPackStreams;
}
set
{
((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->NumPackStreams = value;
}
}
public uint NumFolders
{
get
{
return ((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->NumFolders;
}
set
{
((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->NumFolders = value;
}
}
public ulong* PackPositions
{
get
{
return (ulong*) ((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->PackPositions;
}
set
{
((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->PackPositions = (global::System.IntPtr) value;
}
}
public global::SevenZipDllBindings.CSzBitUi32s FolderCRCs
{
get
{
return global::SevenZipDllBindings.CSzBitUi32s.__CreateInstance(((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->FolderCRCs);
}
set
{
((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->FolderCRCs = ReferenceEquals(value, null) ? new global::SevenZipDllBindings.CSzBitUi32s.__Internal() : *(global::SevenZipDllBindings.CSzBitUi32s.__Internal*) value.__Instance;
}
}
public ulong* FoCodersOffsets
{
get
{
return (ulong*) ((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->FoCodersOffsets;
}
set
{
((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->FoCodersOffsets = (global::System.IntPtr) value;
}
}
public uint* FoStartPackStreamIndex
{
get
{
return (uint*) ((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->FoStartPackStreamIndex;
}
set
{
((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->FoStartPackStreamIndex = (global::System.IntPtr) value;
}
}
public uint* FoToCoderUnpackSizes
{
get
{
return (uint*) ((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->FoToCoderUnpackSizes;
}
set
{
((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->FoToCoderUnpackSizes = (global::System.IntPtr) value;
}
}
public byte* FoToMainUnpackSizeIndex
{
get
{
return (byte*) ((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->FoToMainUnpackSizeIndex;
}
set
{
((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->FoToMainUnpackSizeIndex = (global::System.IntPtr) value;
}
}
public ulong* CoderUnpackSizes
{
get
{
return (ulong*) ((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->CoderUnpackSizes;
}
set
{
((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->CoderUnpackSizes = (global::System.IntPtr) value;
}
}
public byte* CodersData
{
get
{
return (byte*) ((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->CodersData;
}
set
{
((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->CodersData = (global::System.IntPtr) value;
}
}
public ulong RangeLimit
{
get
{
return ((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->RangeLimit;
}
set
{
((global::SevenZipDllBindings.CSzAr.__Internal*) __Instance)->RangeLimit = value;
}
}
}
public unsafe partial class CSzArEx : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 224)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::SevenZipDllBindings.CSzAr.__Internal db;
[FieldOffset(88)]
internal ulong startPosAfterHeader;
[FieldOffset(96)]
internal ulong dataPos;
[FieldOffset(104)]
internal uint NumFiles;
[FieldOffset(112)]
internal global::System.IntPtr UnpackPositions;
[FieldOffset(120)]
internal global::System.IntPtr IsDirs;
[FieldOffset(128)]
internal global::SevenZipDllBindings.CSzBitUi32s.__Internal CRCs;
[FieldOffset(144)]
internal global::SevenZipDllBindings.CSzBitUi32s.__Internal Attribs;
[FieldOffset(160)]
internal global::SevenZipDllBindings.CSzBitUi64s.__Internal MTime;
[FieldOffset(176)]
internal global::SevenZipDllBindings.CSzBitUi64s.__Internal CTime;
[FieldOffset(192)]
internal global::System.IntPtr FolderToFile;
[FieldOffset(200)]
internal global::System.IntPtr FileToFolder;
[FieldOffset(208)]
internal global::System.IntPtr FileNameOffsets;
[FieldOffset(216)]
internal global::System.IntPtr FileNames;
}
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CSzArEx> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CSzArEx>();
protected void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::SevenZipDllBindings.CSzArEx __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CSzArEx(native.ToPointer(), skipVTables);
}
internal static global::SevenZipDllBindings.CSzArEx __CreateInstance(global::SevenZipDllBindings.CSzArEx.__Internal native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CSzArEx(native, skipVTables);
}
private static void* __CopyValue(global::SevenZipDllBindings.CSzArEx.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::SevenZipDllBindings.CSzArEx.__Internal));
*(global::SevenZipDllBindings.CSzArEx.__Internal*) ret = native;
return ret.ToPointer();
}
private CSzArEx(global::SevenZipDllBindings.CSzArEx.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected CSzArEx(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::SevenZipDllBindings.CSzArEx __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
public global::SevenZipDllBindings.CSzAr Db
{
get
{
return global::SevenZipDllBindings.CSzAr.__CreateInstance(((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->db);
}
set
{
((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->db = ReferenceEquals(value, null) ? new global::SevenZipDllBindings.CSzAr.__Internal() : *(global::SevenZipDllBindings.CSzAr.__Internal*) value.__Instance;
}
}
public ulong StartPosAfterHeader
{
get
{
return ((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->startPosAfterHeader;
}
set
{
((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->startPosAfterHeader = value;
}
}
public ulong DataPos
{
get
{
return ((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->dataPos;
}
set
{
((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->dataPos = value;
}
}
public uint NumFiles
{
get
{
return ((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->NumFiles;
}
set
{
((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->NumFiles = value;
}
}
public ulong* UnpackPositions
{
get
{
return (ulong*) ((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->UnpackPositions;
}
set
{
((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->UnpackPositions = (global::System.IntPtr) value;
}
}
public byte* IsDirs
{
get
{
return (byte*) ((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->IsDirs;
}
set
{
((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->IsDirs = (global::System.IntPtr) value;
}
}
public global::SevenZipDllBindings.CSzBitUi32s CRCs
{
get
{
return global::SevenZipDllBindings.CSzBitUi32s.__CreateInstance(((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->CRCs);
}
set
{
((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->CRCs = ReferenceEquals(value, null) ? new global::SevenZipDllBindings.CSzBitUi32s.__Internal() : *(global::SevenZipDllBindings.CSzBitUi32s.__Internal*) value.__Instance;
}
}
public global::SevenZipDllBindings.CSzBitUi32s Attribs
{
get
{
return global::SevenZipDllBindings.CSzBitUi32s.__CreateInstance(((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->Attribs);
}
set
{
((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->Attribs = ReferenceEquals(value, null) ? new global::SevenZipDllBindings.CSzBitUi32s.__Internal() : *(global::SevenZipDllBindings.CSzBitUi32s.__Internal*) value.__Instance;
}
}
public global::SevenZipDllBindings.CSzBitUi64s MTime
{
get
{
return global::SevenZipDllBindings.CSzBitUi64s.__CreateInstance(((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->MTime);
}
set
{
((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->MTime = ReferenceEquals(value, null) ? new global::SevenZipDllBindings.CSzBitUi64s.__Internal() : *(global::SevenZipDllBindings.CSzBitUi64s.__Internal*) value.__Instance;
}
}
public global::SevenZipDllBindings.CSzBitUi64s CTime
{
get
{
return global::SevenZipDllBindings.CSzBitUi64s.__CreateInstance(((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->CTime);
}
set
{
((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->CTime = ReferenceEquals(value, null) ? new global::SevenZipDllBindings.CSzBitUi64s.__Internal() : *(global::SevenZipDllBindings.CSzBitUi64s.__Internal*) value.__Instance;
}
}
public uint* FolderToFile
{
get
{
return (uint*) ((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->FolderToFile;
}
set
{
((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->FolderToFile = (global::System.IntPtr) value;
}
}
public uint* FileToFolder
{
get
{
return (uint*) ((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->FileToFolder;
}
set
{
((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->FileToFolder = (global::System.IntPtr) value;
}
}
public ulong* FileNameOffsets
{
get
{
return (ulong*) ((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->FileNameOffsets;
}
set
{
((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->FileNameOffsets = (global::System.IntPtr) value;
}
}
public byte* FileNames
{
get
{
return (byte*) ((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->FileNames;
}
set
{
((global::SevenZipDllBindings.CSzArEx.__Internal*) __Instance)->FileNames = (global::System.IntPtr) value;
}
}
}
public unsafe partial class _7z
{
public partial struct __Internal
{
[SuppressUnmanagedCodeSecurity]
[DllImport("7z.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="SzGetNextFolderItem")]
internal static extern int SzGetNextFolderItem_0(global::System.IntPtr f, global::System.IntPtr sd);
[SuppressUnmanagedCodeSecurity]
[DllImport("7z.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="SzAr_GetFolderUnpackSize")]
internal static extern ulong SzArGetFolderUnpackSize_0(global::System.IntPtr p, uint folderIndex);
[SuppressUnmanagedCodeSecurity]
[DllImport("7z.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="SzAr_DecodeFolder")]
internal static extern int SzArDecodeFolder_0(global::System.IntPtr p, uint folderIndex, global::System.IntPtr stream, ulong startPos, byte* outBuffer, ulong outSize, global::System.IntPtr allocMain);
[SuppressUnmanagedCodeSecurity]
[DllImport("7z.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="SzArEx_Init")]
internal static extern void SzArExInit_0(global::System.IntPtr p);
[SuppressUnmanagedCodeSecurity]
[DllImport("7z.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="SzArEx_Free")]
internal static extern void SzArExFree_0(global::System.IntPtr p, global::System.IntPtr alloc);
[SuppressUnmanagedCodeSecurity]
[DllImport("7z.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="SzArEx_GetFolderStreamPos")]
internal static extern ulong SzArExGetFolderStreamPos_0(global::System.IntPtr p, uint folderIndex, uint indexInFolder);
[SuppressUnmanagedCodeSecurity]
[DllImport("7z.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="SzArEx_GetFolderFullPackSize")]
internal static extern int SzArExGetFolderFullPackSize_0(global::System.IntPtr p, uint folderIndex, ulong* resSize);
[SuppressUnmanagedCodeSecurity]
[DllImport("7z.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="SzArEx_GetFileNameUtf16")]
internal static extern ulong SzArExGetFileNameUtf16_0(global::System.IntPtr p, ulong fileIndex, ushort* dest);
[SuppressUnmanagedCodeSecurity]
[DllImport("7z.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="SzArEx_Extract")]
internal static extern int SzArExExtract_0(global::System.IntPtr db, global::System.IntPtr inStream, uint fileIndex, uint* blockIndex, byte** outBuffer, ulong* outBufferSize, ulong* offset, ulong* outSizeProcessed, global::System.IntPtr allocMain, global::System.IntPtr allocTemp);
[SuppressUnmanagedCodeSecurity]
[DllImport("7z.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="SzArEx_Open")]
internal static extern int SzArExOpen_0(global::System.IntPtr p, global::System.IntPtr inStream, global::System.IntPtr allocMain, global::System.IntPtr allocTemp);
}
public static int SzGetNextFolderItem(global::SevenZipDllBindings.CSzFolder f, global::SevenZipDllBindings.CSzData sd)
{
var __arg0 = ReferenceEquals(f, null) ? global::System.IntPtr.Zero : f.__Instance;
var __arg1 = ReferenceEquals(sd, null) ? global::System.IntPtr.Zero : sd.__Instance;
var __ret = __Internal.SzGetNextFolderItem_0(__arg0, __arg1);
return __ret;
}
public static ulong SzArGetFolderUnpackSize(global::SevenZipDllBindings.CSzAr p, uint folderIndex)
{
var __arg0 = ReferenceEquals(p, null) ? global::System.IntPtr.Zero : p.__Instance;
var __ret = __Internal.SzArGetFolderUnpackSize_0(__arg0, folderIndex);
return __ret;
}
public static int SzArDecodeFolder(global::SevenZipDllBindings.CSzAr p, uint folderIndex, global::SevenZipDllBindings.ILookInStream stream, ulong startPos, byte* outBuffer, ulong outSize, global::SevenZipDllBindings.ISzAlloc allocMain)
{
var __arg0 = ReferenceEquals(p, null) ? global::System.IntPtr.Zero : p.__Instance;
var __arg2 = ReferenceEquals(stream, null) ? global::System.IntPtr.Zero : stream.__Instance;
var __arg6 = ReferenceEquals(allocMain, null) ? global::System.IntPtr.Zero : allocMain.__Instance;
var __ret = __Internal.SzArDecodeFolder_0(__arg0, folderIndex, __arg2, startPos, outBuffer, outSize, __arg6);
return __ret;
}
public static void SzArExInit(global::SevenZipDllBindings.CSzArEx p)
{
var __arg0 = ReferenceEquals(p, null) ? global::System.IntPtr.Zero : p.__Instance;
__Internal.SzArExInit_0(__arg0);
}
public static void SzArExFree(global::SevenZipDllBindings.CSzArEx p, global::SevenZipDllBindings.ISzAlloc alloc)
{
var __arg0 = ReferenceEquals(p, null) ? global::System.IntPtr.Zero : p.__Instance;
var __arg1 = ReferenceEquals(alloc, null) ? global::System.IntPtr.Zero : alloc.__Instance;
__Internal.SzArExFree_0(__arg0, __arg1);
}
public static ulong SzArExGetFolderStreamPos(global::SevenZipDllBindings.CSzArEx p, uint folderIndex, uint indexInFolder)
{
var __arg0 = ReferenceEquals(p, null) ? global::System.IntPtr.Zero : p.__Instance;
var __ret = __Internal.SzArExGetFolderStreamPos_0(__arg0, folderIndex, indexInFolder);
return __ret;
}
public static int SzArExGetFolderFullPackSize(global::SevenZipDllBindings.CSzArEx p, uint folderIndex, ref ulong resSize)
{
var __arg0 = ReferenceEquals(p, null) ? global::System.IntPtr.Zero : p.__Instance;
fixed (ulong* __refParamPtr2 = &resSize)
{
var __arg2 = __refParamPtr2;
var __ret = __Internal.SzArExGetFolderFullPackSize_0(__arg0, folderIndex, __arg2);
return __ret;
}
}
public static ulong SzArExGetFileNameUtf16(global::SevenZipDllBindings.CSzArEx p, ulong fileIndex, ref ushort dest)
{
var __arg0 = ReferenceEquals(p, null) ? global::System.IntPtr.Zero : p.__Instance;
fixed (ushort* __refParamPtr2 = &dest)
{
var __arg2 = __refParamPtr2;
var __ret = __Internal.SzArExGetFileNameUtf16_0(__arg0, fileIndex, __arg2);
return __ret;
}
}
public static int SzArExExtract(global::SevenZipDllBindings.CSzArEx db, global::SevenZipDllBindings.ILookInStream inStream, uint fileIndex, ref uint blockIndex, byte** outBuffer, ref ulong outBufferSize, ref ulong offset, ref ulong outSizeProcessed, global::SevenZipDllBindings.ISzAlloc allocMain, global::SevenZipDllBindings.ISzAlloc allocTemp)
{
var __arg0 = ReferenceEquals(db, null) ? global::System.IntPtr.Zero : db.__Instance;
var __arg1 = ReferenceEquals(inStream, null) ? global::System.IntPtr.Zero : inStream.__Instance;
fixed (uint* __refParamPtr3 = &blockIndex)
{
var __arg3 = __refParamPtr3;
fixed (ulong* __refParamPtr5 = &outBufferSize)
{
var __arg5 = __refParamPtr5;
fixed (ulong* __refParamPtr6 = &offset)
{
var __arg6 = __refParamPtr6;
fixed (ulong* __refParamPtr7 = &outSizeProcessed)
{
var __arg7 = __refParamPtr7;
var __arg8 = ReferenceEquals(allocMain, null) ? global::System.IntPtr.Zero : allocMain.__Instance;
var __arg9 = ReferenceEquals(allocTemp, null) ? global::System.IntPtr.Zero : allocTemp.__Instance;
var __ret = __Internal.SzArExExtract_0(__arg0, __arg1, fileIndex, __arg3, outBuffer, __arg5, __arg6, __arg7, __arg8, __arg9);
return __ret;
}
}
}
}
}
public static int SzArExOpen(global::SevenZipDllBindings.CSzArEx p, global::SevenZipDllBindings.ILookInStream inStream, global::SevenZipDllBindings.ISzAlloc allocMain, global::SevenZipDllBindings.ISzAlloc allocTemp)
{
var __arg0 = ReferenceEquals(p, null) ? global::System.IntPtr.Zero : p.__Instance;
var __arg1 = ReferenceEquals(inStream, null) ? global::System.IntPtr.Zero : inStream.__Instance;
var __arg2 = ReferenceEquals(allocMain, null) ? global::System.IntPtr.Zero : allocMain.__Instance;
var __arg3 = ReferenceEquals(allocTemp, null) ? global::System.IntPtr.Zero : allocTemp.__Instance;
var __ret = __Internal.SzArExOpen_0(__arg0, __arg1, __arg2, __arg3);
return __ret;
}
public static byte[] K7zSignature
{
get
{
var __ptr = (byte*)CppSharp.SymbolResolver.ResolveSymbol("7z.dll", "k7zSignature");
byte[] __value = null;
if (__ptr != null)
{
__value = new byte[6];
for (int i = 0; i < 6; i++)
__value[i] = __ptr[i];
}
return __value;
}
}
}
public enum ESzSeek
{
SZ_SEEK_SET = 0,
SZ_SEEK_CUR = 1,
SZ_SEEK_END = 2
}
public unsafe partial class IByteIn : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 8)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::System.IntPtr Read;
}
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.IByteIn> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.IByteIn>();
protected void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::SevenZipDllBindings.IByteIn __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.IByteIn(native.ToPointer(), skipVTables);
}
internal static global::SevenZipDllBindings.IByteIn __CreateInstance(global::SevenZipDllBindings.IByteIn.__Internal native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.IByteIn(native, skipVTables);
}
private static void* __CopyValue(global::SevenZipDllBindings.IByteIn.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::SevenZipDllBindings.IByteIn.__Internal));
*(global::SevenZipDllBindings.IByteIn.__Internal*) ret = native;
return ret.ToPointer();
}
private IByteIn(global::SevenZipDllBindings.IByteIn.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected IByteIn(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::SevenZipDllBindings.IByteIn __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
}
public unsafe partial class IByteOut : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 8)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::System.IntPtr Write;
}
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.IByteOut> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.IByteOut>();
protected void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::SevenZipDllBindings.IByteOut __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.IByteOut(native.ToPointer(), skipVTables);
}
internal static global::SevenZipDllBindings.IByteOut __CreateInstance(global::SevenZipDllBindings.IByteOut.__Internal native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.IByteOut(native, skipVTables);
}
private static void* __CopyValue(global::SevenZipDllBindings.IByteOut.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::SevenZipDllBindings.IByteOut.__Internal));
*(global::SevenZipDllBindings.IByteOut.__Internal*) ret = native;
return ret.ToPointer();
}
private IByteOut(global::SevenZipDllBindings.IByteOut.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected IByteOut(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::SevenZipDllBindings.IByteOut __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
}
public unsafe partial class ISeqInStream : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 8)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::System.IntPtr Read;
}
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.ISeqInStream> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.ISeqInStream>();
protected void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::SevenZipDllBindings.ISeqInStream __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.ISeqInStream(native.ToPointer(), skipVTables);
}
internal static global::SevenZipDllBindings.ISeqInStream __CreateInstance(global::SevenZipDllBindings.ISeqInStream.__Internal native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.ISeqInStream(native, skipVTables);
}
private static void* __CopyValue(global::SevenZipDllBindings.ISeqInStream.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::SevenZipDllBindings.ISeqInStream.__Internal));
*(global::SevenZipDllBindings.ISeqInStream.__Internal*) ret = native;
return ret.ToPointer();
}
private ISeqInStream(global::SevenZipDllBindings.ISeqInStream.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected ISeqInStream(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::SevenZipDllBindings.ISeqInStream __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
}
public unsafe partial class ISeqOutStream : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 8)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::System.IntPtr Write;
}
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.ISeqOutStream> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.ISeqOutStream>();
protected void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::SevenZipDllBindings.ISeqOutStream __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.ISeqOutStream(native.ToPointer(), skipVTables);
}
internal static global::SevenZipDllBindings.ISeqOutStream __CreateInstance(global::SevenZipDllBindings.ISeqOutStream.__Internal native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.ISeqOutStream(native, skipVTables);
}
private static void* __CopyValue(global::SevenZipDllBindings.ISeqOutStream.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::SevenZipDllBindings.ISeqOutStream.__Internal));
*(global::SevenZipDllBindings.ISeqOutStream.__Internal*) ret = native;
return ret.ToPointer();
}
private ISeqOutStream(global::SevenZipDllBindings.ISeqOutStream.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected ISeqOutStream(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::SevenZipDllBindings.ISeqOutStream __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
}
public unsafe partial class ISeekInStream : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 16)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::System.IntPtr Read;
[FieldOffset(8)]
internal global::System.IntPtr Seek;
}
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.ISeekInStream> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.ISeekInStream>();
protected void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::SevenZipDllBindings.ISeekInStream __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.ISeekInStream(native.ToPointer(), skipVTables);
}
internal static global::SevenZipDllBindings.ISeekInStream __CreateInstance(global::SevenZipDllBindings.ISeekInStream.__Internal native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.ISeekInStream(native, skipVTables);
}
private static void* __CopyValue(global::SevenZipDllBindings.ISeekInStream.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::SevenZipDllBindings.ISeekInStream.__Internal));
*(global::SevenZipDllBindings.ISeekInStream.__Internal*) ret = native;
return ret.ToPointer();
}
private ISeekInStream(global::SevenZipDllBindings.ISeekInStream.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected ISeekInStream(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::SevenZipDllBindings.ISeekInStream __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
}
public unsafe partial class ILookInStream : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 32)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::System.IntPtr Look;
[FieldOffset(8)]
internal global::System.IntPtr Skip;
[FieldOffset(16)]
internal global::System.IntPtr Read;
[FieldOffset(24)]
internal global::System.IntPtr Seek;
}
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.ILookInStream> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.ILookInStream>();
protected void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::SevenZipDllBindings.ILookInStream __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.ILookInStream(native.ToPointer(), skipVTables);
}
internal static global::SevenZipDllBindings.ILookInStream __CreateInstance(global::SevenZipDllBindings.ILookInStream.__Internal native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.ILookInStream(native, skipVTables);
}
private static void* __CopyValue(global::SevenZipDllBindings.ILookInStream.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::SevenZipDllBindings.ILookInStream.__Internal));
*(global::SevenZipDllBindings.ILookInStream.__Internal*) ret = native;
return ret.ToPointer();
}
private ILookInStream(global::SevenZipDllBindings.ILookInStream.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected ILookInStream(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::SevenZipDllBindings.ILookInStream __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
}
public unsafe partial class CLookToRead2 : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 72)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::SevenZipDllBindings.ILookInStream.__Internal vt;
[FieldOffset(32)]
internal global::System.IntPtr realStream;
[FieldOffset(40)]
internal ulong pos;
[FieldOffset(48)]
internal ulong size;
[FieldOffset(56)]
internal global::System.IntPtr buf;
[FieldOffset(64)]
internal ulong bufSize;
}
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CLookToRead2> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CLookToRead2>();
protected void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::SevenZipDllBindings.CLookToRead2 __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CLookToRead2(native.ToPointer(), skipVTables);
}
internal static global::SevenZipDllBindings.CLookToRead2 __CreateInstance(global::SevenZipDllBindings.CLookToRead2.__Internal native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CLookToRead2(native, skipVTables);
}
private static void* __CopyValue(global::SevenZipDllBindings.CLookToRead2.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::SevenZipDllBindings.CLookToRead2.__Internal));
*(global::SevenZipDllBindings.CLookToRead2.__Internal*) ret = native;
return ret.ToPointer();
}
private CLookToRead2(global::SevenZipDllBindings.CLookToRead2.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected CLookToRead2(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::SevenZipDllBindings.CLookToRead2 __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
public global::SevenZipDllBindings.ILookInStream Vt
{
get
{
return global::SevenZipDllBindings.ILookInStream.__CreateInstance(((global::SevenZipDllBindings.CLookToRead2.__Internal*) __Instance)->vt);
}
set
{
((global::SevenZipDllBindings.CLookToRead2.__Internal*) __Instance)->vt = ReferenceEquals(value, null) ? new global::SevenZipDllBindings.ILookInStream.__Internal() : *(global::SevenZipDllBindings.ILookInStream.__Internal*) value.__Instance;
}
}
public global::SevenZipDllBindings.ISeekInStream RealStream
{
get
{
global::SevenZipDllBindings.ISeekInStream __result0;
if (((global::SevenZipDllBindings.CLookToRead2.__Internal*) __Instance)->realStream == IntPtr.Zero) __result0 = null;
else if (global::SevenZipDllBindings.ISeekInStream.NativeToManagedMap.ContainsKey(((global::SevenZipDllBindings.CLookToRead2.__Internal*) __Instance)->realStream))
__result0 = (global::SevenZipDllBindings.ISeekInStream) global::SevenZipDllBindings.ISeekInStream.NativeToManagedMap[((global::SevenZipDllBindings.CLookToRead2.__Internal*) __Instance)->realStream];
else __result0 = global::SevenZipDllBindings.ISeekInStream.__CreateInstance(((global::SevenZipDllBindings.CLookToRead2.__Internal*) __Instance)->realStream);
return __result0;
}
set
{
((global::SevenZipDllBindings.CLookToRead2.__Internal*) __Instance)->realStream = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
}
}
public ulong Pos
{
get
{
return ((global::SevenZipDllBindings.CLookToRead2.__Internal*) __Instance)->pos;
}
set
{
((global::SevenZipDllBindings.CLookToRead2.__Internal*) __Instance)->pos = value;
}
}
public ulong Size
{
get
{
return ((global::SevenZipDllBindings.CLookToRead2.__Internal*) __Instance)->size;
}
set
{
((global::SevenZipDllBindings.CLookToRead2.__Internal*) __Instance)->size = value;
}
}
public byte* Buf
{
get
{
return (byte*) ((global::SevenZipDllBindings.CLookToRead2.__Internal*) __Instance)->buf;
}
set
{
((global::SevenZipDllBindings.CLookToRead2.__Internal*) __Instance)->buf = (global::System.IntPtr) value;
}
}
public ulong BufSize
{
get
{
return ((global::SevenZipDllBindings.CLookToRead2.__Internal*) __Instance)->bufSize;
}
set
{
((global::SevenZipDllBindings.CLookToRead2.__Internal*) __Instance)->bufSize = value;
}
}
}
public unsafe partial class CSecToLook : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 16)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::SevenZipDllBindings.ISeqInStream.__Internal vt;
[FieldOffset(8)]
internal global::System.IntPtr realStream;
}
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CSecToLook> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CSecToLook>();
protected void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::SevenZipDllBindings.CSecToLook __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CSecToLook(native.ToPointer(), skipVTables);
}
internal static global::SevenZipDllBindings.CSecToLook __CreateInstance(global::SevenZipDllBindings.CSecToLook.__Internal native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CSecToLook(native, skipVTables);
}
private static void* __CopyValue(global::SevenZipDllBindings.CSecToLook.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::SevenZipDllBindings.CSecToLook.__Internal));
*(global::SevenZipDllBindings.CSecToLook.__Internal*) ret = native;
return ret.ToPointer();
}
private CSecToLook(global::SevenZipDllBindings.CSecToLook.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected CSecToLook(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::SevenZipDllBindings.CSecToLook __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
public global::SevenZipDllBindings.ISeqInStream Vt
{
get
{
return global::SevenZipDllBindings.ISeqInStream.__CreateInstance(((global::SevenZipDllBindings.CSecToLook.__Internal*) __Instance)->vt);
}
set
{
((global::SevenZipDllBindings.CSecToLook.__Internal*) __Instance)->vt = ReferenceEquals(value, null) ? new global::SevenZipDllBindings.ISeqInStream.__Internal() : *(global::SevenZipDllBindings.ISeqInStream.__Internal*) value.__Instance;
}
}
public global::SevenZipDllBindings.ILookInStream RealStream
{
get
{
global::SevenZipDllBindings.ILookInStream __result0;
if (((global::SevenZipDllBindings.CSecToLook.__Internal*) __Instance)->realStream == IntPtr.Zero) __result0 = null;
else if (global::SevenZipDllBindings.ILookInStream.NativeToManagedMap.ContainsKey(((global::SevenZipDllBindings.CSecToLook.__Internal*) __Instance)->realStream))
__result0 = (global::SevenZipDllBindings.ILookInStream) global::SevenZipDllBindings.ILookInStream.NativeToManagedMap[((global::SevenZipDllBindings.CSecToLook.__Internal*) __Instance)->realStream];
else __result0 = global::SevenZipDllBindings.ILookInStream.__CreateInstance(((global::SevenZipDllBindings.CSecToLook.__Internal*) __Instance)->realStream);
return __result0;
}
set
{
((global::SevenZipDllBindings.CSecToLook.__Internal*) __Instance)->realStream = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
}
}
}
public unsafe partial class CSecToRead : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 16)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::SevenZipDllBindings.ISeqInStream.__Internal vt;
[FieldOffset(8)]
internal global::System.IntPtr realStream;
}
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CSecToRead> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.CSecToRead>();
protected void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::SevenZipDllBindings.CSecToRead __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CSecToRead(native.ToPointer(), skipVTables);
}
internal static global::SevenZipDllBindings.CSecToRead __CreateInstance(global::SevenZipDllBindings.CSecToRead.__Internal native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.CSecToRead(native, skipVTables);
}
private static void* __CopyValue(global::SevenZipDllBindings.CSecToRead.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::SevenZipDllBindings.CSecToRead.__Internal));
*(global::SevenZipDllBindings.CSecToRead.__Internal*) ret = native;
return ret.ToPointer();
}
private CSecToRead(global::SevenZipDllBindings.CSecToRead.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected CSecToRead(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::SevenZipDllBindings.CSecToRead __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
public global::SevenZipDllBindings.ISeqInStream Vt
{
get
{
return global::SevenZipDllBindings.ISeqInStream.__CreateInstance(((global::SevenZipDllBindings.CSecToRead.__Internal*) __Instance)->vt);
}
set
{
((global::SevenZipDllBindings.CSecToRead.__Internal*) __Instance)->vt = ReferenceEquals(value, null) ? new global::SevenZipDllBindings.ISeqInStream.__Internal() : *(global::SevenZipDllBindings.ISeqInStream.__Internal*) value.__Instance;
}
}
public global::SevenZipDllBindings.ILookInStream RealStream
{
get
{
global::SevenZipDllBindings.ILookInStream __result0;
if (((global::SevenZipDllBindings.CSecToRead.__Internal*) __Instance)->realStream == IntPtr.Zero) __result0 = null;
else if (global::SevenZipDllBindings.ILookInStream.NativeToManagedMap.ContainsKey(((global::SevenZipDllBindings.CSecToRead.__Internal*) __Instance)->realStream))
__result0 = (global::SevenZipDllBindings.ILookInStream) global::SevenZipDllBindings.ILookInStream.NativeToManagedMap[((global::SevenZipDllBindings.CSecToRead.__Internal*) __Instance)->realStream];
else __result0 = global::SevenZipDllBindings.ILookInStream.__CreateInstance(((global::SevenZipDllBindings.CSecToRead.__Internal*) __Instance)->realStream);
return __result0;
}
set
{
((global::SevenZipDllBindings.CSecToRead.__Internal*) __Instance)->realStream = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
}
}
}
public unsafe partial class ICompressProgress : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 8)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::System.IntPtr Progress;
}
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.ICompressProgress> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.ICompressProgress>();
protected void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::SevenZipDllBindings.ICompressProgress __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.ICompressProgress(native.ToPointer(), skipVTables);
}
internal static global::SevenZipDllBindings.ICompressProgress __CreateInstance(global::SevenZipDllBindings.ICompressProgress.__Internal native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.ICompressProgress(native, skipVTables);
}
private static void* __CopyValue(global::SevenZipDllBindings.ICompressProgress.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::SevenZipDllBindings.ICompressProgress.__Internal));
*(global::SevenZipDllBindings.ICompressProgress.__Internal*) ret = native;
return ret.ToPointer();
}
private ICompressProgress(global::SevenZipDllBindings.ICompressProgress.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected ICompressProgress(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::SevenZipDllBindings.ICompressProgress __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
}
public unsafe partial class ISzAlloc : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 16)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::System.IntPtr Alloc;
[FieldOffset(8)]
internal global::System.IntPtr Free;
}
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.ISzAlloc> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary<IntPtr, global::SevenZipDllBindings.ISzAlloc>();
protected void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::SevenZipDllBindings.ISzAlloc __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.ISzAlloc(native.ToPointer(), skipVTables);
}
internal static global::SevenZipDllBindings.ISzAlloc __CreateInstance(global::SevenZipDllBindings.ISzAlloc.__Internal native, bool skipVTables = false)
{
return new global::SevenZipDllBindings.ISzAlloc(native, skipVTables);
}
private static void* __CopyValue(global::SevenZipDllBindings.ISzAlloc.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::SevenZipDllBindings.ISzAlloc.__Internal));
*(global::SevenZipDllBindings.ISzAlloc.__Internal*) ret = native;
return ret.ToPointer();
}
private ISzAlloc(global::SevenZipDllBindings.ISzAlloc.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected ISzAlloc(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::SevenZipDllBindings.ISzAlloc __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
}
public unsafe partial class 7zTypes
{
public partial struct __Internal
{
[SuppressUnmanagedCodeSecurity]
[DllImport("7z.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="SeqInStream_ReadMax")]
internal static extern int SeqInStreamReadMax_0(global::System.IntPtr stream, global::System.IntPtr buf, ulong* processedSize);
[SuppressUnmanagedCodeSecurity]
[DllImport("7z.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="SeqInStream_ReadByte")]
internal static extern int SeqInStreamReadByte_0(global::System.IntPtr stream, byte* buf);
[SuppressUnmanagedCodeSecurity]
[DllImport("7z.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="LookInStream_LookRead")]
internal static extern int LookInStreamLookRead_0(global::System.IntPtr stream, global::System.IntPtr buf, ulong* size);
[SuppressUnmanagedCodeSecurity]
[DllImport("7z.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="LookInStream_SeekTo")]
internal static extern int LookInStreamSeekTo_0(global::System.IntPtr stream, ulong offset);
[SuppressUnmanagedCodeSecurity]
[DllImport("7z.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="LookInStream_Read2")]
internal static extern int LookInStreamRead2_0(global::System.IntPtr stream, global::System.IntPtr buf, ulong size, int errorType);
[SuppressUnmanagedCodeSecurity]
[DllImport("7z.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="LookInStream_Read")]
internal static extern int LookInStreamRead_0(global::System.IntPtr stream, global::System.IntPtr buf, ulong size);
[SuppressUnmanagedCodeSecurity]
[DllImport("7z.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="LookToRead2_CreateVTable")]
internal static extern void LookToRead2CreateVTable_0(global::System.IntPtr p, int lookahead);
[SuppressUnmanagedCodeSecurity]
[DllImport("7z.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="SecToLook_CreateVTable")]
internal static extern void SecToLookCreateVTable_0(global::System.IntPtr p);
[SuppressUnmanagedCodeSecurity]
[DllImport("7z.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="SecToRead_CreateVTable")]
internal static extern void SecToReadCreateVTable_0(global::System.IntPtr p);
}
public static int SeqInStreamReadMax(global::SevenZipDllBindings.ISeqInStream stream, global::System.IntPtr buf, ref ulong processedSize)
{
var __arg0 = ReferenceEquals(stream, null) ? global::System.IntPtr.Zero : stream.__Instance;
fixed (ulong* __refParamPtr2 = &processedSize)
{
var __arg2 = __refParamPtr2;
var __ret = __Internal.SeqInStreamReadMax_0(__arg0, buf, __arg2);
return __ret;
}
}
public static int SeqInStreamReadByte(global::SevenZipDllBindings.ISeqInStream stream, byte* buf)
{
var __arg0 = ReferenceEquals(stream, null) ? global::System.IntPtr.Zero : stream.__Instance;
var __ret = __Internal.SeqInStreamReadByte_0(__arg0, buf);
return __ret;
}
public static int LookInStreamLookRead(global::SevenZipDllBindings.ILookInStream stream, global::System.IntPtr buf, ref ulong size)
{
var __arg0 = ReferenceEquals(stream, null) ? global::System.IntPtr.Zero : stream.__Instance;
fixed (ulong* __refParamPtr2 = &size)
{
var __arg2 = __refParamPtr2;
var __ret = __Internal.LookInStreamLookRead_0(__arg0, buf, __arg2);
return __ret;
}
}
public static int LookInStreamSeekTo(global::SevenZipDllBindings.ILookInStream stream, ulong offset)
{
var __arg0 = ReferenceEquals(stream, null) ? global::System.IntPtr.Zero : stream.__Instance;
var __ret = __Internal.LookInStreamSeekTo_0(__arg0, offset);
return __ret;
}
public static int LookInStreamRead2(global::SevenZipDllBindings.ILookInStream stream, global::System.IntPtr buf, ulong size, int errorType)
{
var __arg0 = ReferenceEquals(stream, null) ? global::System.IntPtr.Zero : stream.__Instance;
var __ret = __Internal.LookInStreamRead2_0(__arg0, buf, size, errorType);
return __ret;
}
public static int LookInStreamRead(global::SevenZipDllBindings.ILookInStream stream, global::System.IntPtr buf, ulong size)
{
var __arg0 = ReferenceEquals(stream, null) ? global::System.IntPtr.Zero : stream.__Instance;
var __ret = __Internal.LookInStreamRead_0(__arg0, buf, size);
return __ret;
}
public static void LookToRead2CreateVTable(global::SevenZipDllBindings.CLookToRead2 p, int lookahead)
{
var __arg0 = ReferenceEquals(p, null) ? global::System.IntPtr.Zero : p.__Instance;
__Internal.LookToRead2CreateVTable_0(__arg0, lookahead);
}
public static void SecToLookCreateVTable(global::SevenZipDllBindings.CSecToLook p)
{
var __arg0 = ReferenceEquals(p, null) ? global::System.IntPtr.Zero : p.__Instance;
__Internal.SecToLookCreateVTable_0(__arg0);
}
public static void SecToReadCreateVTable(global::SevenZipDllBindings.CSecToRead p)
{
var __arg0 = ReferenceEquals(p, null) ? global::System.IntPtr.Zero : p.__Instance;
__Internal.SecToReadCreateVTable_0(__arg0);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment