mirror of
https://github.com/ZuneDev/ZuneShell.dll.git
synced 2026-07-27 13:11:51 -07:00
Added raw ZuneDBApi decomp
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
internal class CComPtrMgd_003CIJumpList_003E : IDisposable
|
||||
{
|
||||
public unsafe IJumpList* p = null;
|
||||
|
||||
private void _007ECComPtrMgd_003CIJumpList_003E()
|
||||
{
|
||||
Release();
|
||||
}
|
||||
|
||||
private void _0021CComPtrMgd_003CIJumpList_003E()
|
||||
{
|
||||
Release();
|
||||
}
|
||||
|
||||
public unsafe void Release()
|
||||
{
|
||||
//IL_0014: Expected I, but got I8
|
||||
//IL_0021: Expected I, but got I8
|
||||
IJumpList* ptr = p;
|
||||
IJumpList* ptr2 = ptr;
|
||||
if (ptr != null)
|
||||
{
|
||||
p = null;
|
||||
((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, uint>)(*(ulong*)(*(long*)ptr2 + 16)))((nint)ptr2);
|
||||
}
|
||||
}
|
||||
|
||||
public unsafe implicit operator IJumpList*()
|
||||
{
|
||||
return p;
|
||||
}
|
||||
|
||||
[SpecialName]
|
||||
public unsafe IJumpList* op_MemberSelection()
|
||||
{
|
||||
return p;
|
||||
}
|
||||
|
||||
[SpecialName]
|
||||
public unsafe IJumpList* op_Assign(IJumpList* lp)
|
||||
{
|
||||
//IL_001c: Expected I, but got I8
|
||||
Release();
|
||||
p = lp;
|
||||
if (lp != null)
|
||||
{
|
||||
((delegate* unmanaged[Cdecl, Cdecl]<IntPtr, uint>)(*(ulong*)(*(long*)lp + 8)))((nint)lp);
|
||||
}
|
||||
return p;
|
||||
}
|
||||
|
||||
protected virtual void Dispose([MarshalAs(UnmanagedType.U1)] bool P_0)
|
||||
{
|
||||
if (P_0)
|
||||
{
|
||||
Release();
|
||||
return;
|
||||
}
|
||||
try
|
||||
{
|
||||
Release();
|
||||
}
|
||||
finally
|
||||
{
|
||||
base.Finalize();
|
||||
}
|
||||
}
|
||||
|
||||
public sealed override void Dispose()
|
||||
{
|
||||
Dispose(true);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
~CComPtrMgd_003CIJumpList_003E()
|
||||
{
|
||||
Dispose(false);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user