public static int CompareFilesW(ContentProgressCallback progressCallback, int compareIndex, [MarshalAs(UnmanagedType.LPWStr)] string fileName1, [MarshalAs(UnmanagedType.LPWStr)] string fileName2, ref ContentFileDetails contentFileDetails) { _callSignature = $"ContentCompareFiles '{fileName1}' => '{fileName2}' ({compareIndex})"; TcCallback.SetContentPluginCallback(progressCallback); try { var result = Plugin.CompareFiles(compareIndex, fileName1, fileName2, contentFileDetails, out var iconResourceId); TraceCall(TraceLevel.Info, result.ToString()); if (result == ContentCompareResult.EqualWithIcon && iconResourceId >= 100) { return(iconResourceId); } else { return((int)result); } } catch (Exception ex) { ProcessException(ex); return((int)ContentCompareResult.FileOpenError); } finally { TcCallback.SetContentPluginCallback(null); } }
public static void SetProcessDataProcW(IntPtr arcData, ProcessDataCallbackW processDataProcW) { callSignature = String.Format("SetProcessDataProcW ({0})", arcData.ToString()); try { TcCallback.SetPackerPluginCallbacks(null, null, null, processDataProcW, null, null); TraceCall(TraceLevel.Warning, processDataProcW.Method.MethodHandle.GetFunctionPointer().ToString()); } catch (Exception ex) { ProcessException(ex); } }
public static void SetChangeVolProc(IntPtr arcData, ChangeVolCallback changeVolProc) { callSignature = String.Format("SetChangeVolProc ({0})", arcData.ToString()); try { TcCallback.SetPackerPluginCallbacks(changeVolProc, null, null, null, null, null); TraceCall(TraceLevel.Warning, changeVolProc.Method.MethodHandle.GetFunctionPointer().ToString("X")); } catch (Exception ex) { ProcessException(ex); } }
public static void SetProcessDataProc(IntPtr arcData, ProcessDataCallback processDataProc) { _callSignature = $"SetProcessDataProc ({arcData.ToString()})"; try { TcCallback.SetPackerPluginCallbacks(null, null, processDataProc, null, null, null); TraceCall(TraceLevel.Warning, processDataProc.Method.MethodHandle.GetFunctionPointer().ToString()); } catch (Exception ex) { ProcessException(ex); } }
public static void SetChangeVolProcW(IntPtr arcData, ChangeVolCallbackW changeVolProcW) { _callSignature = $"SetChangeVolProcW ({arcData.ToString()})"; try { TcCallback.SetPackerPluginCallbacks(null, changeVolProcW, null, null, null, null); TraceCall(TraceLevel.Warning, changeVolProcW.Method.MethodHandle.GetFunctionPointer().ToString()); } catch (Exception ex) { ProcessException(ex); } }
public static void SetCryptCallbackW(PkCryptCallbackW cryptProcW, int cryptNumber, int flags) { callSignature = String.Format("PkSetCryptCallbackW ({0}, {1})", cryptNumber, flags); try { TcCallback.SetPackerPluginCallbacks(null, null, null, null, null, cryptProcW); Plugin.CreatePassword(cryptNumber, flags); TraceCall(TraceLevel.Info, cryptProcW.Method.MethodHandle.GetFunctionPointer().ToString()); } catch (Exception ex) { ProcessException(ex); } }
public static void SetCryptCallback(PkCryptCallback cryptProc, int cryptNumber, int flags) { _callSignature = $"PkSetCryptCallback ({cryptNumber}, {flags})"; try { TcCallback.SetPackerPluginCallbacks(null, null, null, null, cryptProc, null); Plugin.CreatePassword(cryptNumber, flags); TraceCall(TraceLevel.Info, cryptProc.Method.MethodHandle.GetFunctionPointer().ToString()); } catch (Exception ex) { ProcessException(ex); } }
public static int InitW(int pluginNumber, ProgressCallbackW progressProcW, LogCallbackW logProcW, RequestCallbackW requestProcW) { try { _callSignature = "FsInitW"; Plugin.PluginNumber = pluginNumber; TcCallback.SetFsPluginCallbacks(null, progressProcW, null, logProcW, null, requestProcW, null, null); TraceCall(TraceLevel.Warning, $"PluginNumber={pluginNumber}, {progressProcW.Method.MethodHandle.GetFunctionPointer().ToString("X")}, {logProcW.Method.MethodHandle.GetFunctionPointer().ToString("X")}, {requestProcW.Method.MethodHandle.GetFunctionPointer().ToString("X")}"); } catch (Exception ex) { ProcessException(ex); } return(0); }
public static void SetCryptCallbackW(FsCryptCallbackW cryptProcW, int cryptNumber, int flags) { _callSignature = "SetCryptCallbackW"; try { TcCallback.SetFsPluginCallbacks(null, null, null, null, null, null, null, cryptProcW); if (Plugin.Password == null) { Plugin.Password = new FsPassword(Plugin, cryptNumber, flags); } TraceCall(TraceLevel.Warning, $"CryptoNumber={cryptNumber}, Flags={flags}, {cryptProcW.Method.MethodHandle.GetFunctionPointer().ToString("X")}"); } catch (Exception ex) { ProcessException(ex); } }