public static bool FindNextInternal(IntPtr hdl, IntPtr findFileData, bool isUnicode) { var result = false; _callSignature = "FindNext"; try { FindData findData = null; var o = TcHandles.GetObject(hdl); if (o != null) { result = Plugin.FindNext(ref o, out findData); if (result) { findData.CopyTo(findFileData, isUnicode); TcHandles.UpdateHandle(hdl, o); } } // !!! may produce much trace info !!! TraceCall(TraceLevel.Verbose, result ? findData.FileName : "<None>"); } catch (Exception ex) { ProcessException(ex); } return(result); }
public static int PackToMem(IntPtr hMemPack, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 2)] byte[] bufIn, int inLen, ref int taken, [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 5)] byte[] bufOut, int outLen, ref int written, int seekBy) { PackerResult result = PackerResult.NotSupported; callSignature = String.Format("PackToMem ({0} - {1}, {2}, {3})", hMemPack.ToString(), inLen, outLen, seekBy); string traceRes = null; try { object o = TcHandles.GetObject(hMemPack); if (o != null) { result = Plugin.PackToMem(ref o, bufIn, ref taken, bufOut, ref written, seekBy); traceRes = result.ToString(); if (result == PackerResult.OK) { TcHandles.UpdateHandle(hMemPack, o); traceRes += String.Format(" - {0}, {1}", taken, written); } } TraceCall(TraceLevel.Verbose, traceRes); } catch (Exception ex) { ProcessException(ex); } return((int)result); }
public static int ReadHeaderInternal(IntPtr arcData, IntPtr headerData, HeaderDataMode mode) { var result = PackerResult.EndArchive; _callSignature = $"ReadHeader ({arcData.ToString()})"; try { var o = TcHandles.GetObject(arcData); if (o == null) { return((int)PackerResult.ErrorOpen); } result = Plugin.ReadHeader(ref o, out var header); if (result == PackerResult.OK) { header.CopyTo(headerData, mode); TcHandles.UpdateHandle(arcData, o); } // !!! may produce much trace info !!! TraceCall(TraceLevel.Verbose, $"{result.ToString()} ({((result == PackerResult.OK) ? header.FileName : null)})"); } catch (Exception ex) { ProcessException(ex); } return((int)result); }
public static int ReadHeaderInternal(IntPtr arcData, IntPtr headerData, HeaderDataMode mode) { PackerResult result = PackerResult.EndArchive; callSignature = String.Format("ReadHeader ({0})", arcData.ToString()); try { object o = TcHandles.GetObject(arcData); if (o == null) { return((int)PackerResult.ErrorOpen); } HeaderData header; result = Plugin.ReadHeader(ref o, out header); if (result == PackerResult.OK) { header.CopyTo(headerData, mode); TcHandles.UpdateHandle(arcData, o); } // !!! may produce much trace info !!! TraceCall(TraceLevel.Verbose, String.Format("{0} ({1})", result.ToString(), (result == PackerResult.OK) ? header.FileName : null)); } catch (Exception ex) { ProcessException(ex); } return((int)result); }
public static int CloseArchive(IntPtr arcData) { var result = PackerResult.ErrorClose; _callSignature = $"FindClose ({arcData.ToString()})"; try { var o = TcHandles.GetObject(arcData); if (o != null) { result = Plugin.CloseArchive(o); if (o is IDisposable dip) { dip.Dispose(); } var count = (TcHandles.RemoveHandle(arcData) - 1) / 2; TraceCall(TraceLevel.Info, $"{count} items."); } } catch (Exception ex) { ProcessException(ex); } return((int)result); }
public static int ProcessFileW(IntPtr arcData, int operation, [MarshalAs(UnmanagedType.LPWStr)] string destPath, [MarshalAs(UnmanagedType.LPWStr)] string destName) { PackerResult result = PackerResult.NotSupported; ProcessFileOperation oper = (ProcessFileOperation)operation; string fileName = String.IsNullOrEmpty(destPath) ? destName : Path.Combine(destPath, destName); callSignature = String.Format("ProcessFile ({0}, {1}, {2})", arcData.ToString(), oper.ToString(), fileName); try { object o = TcHandles.GetObject(arcData); if (o != null) { result = Plugin.ProcessFile(o, oper, fileName); if (result == PackerResult.OK) { TcHandles.UpdateHandle(arcData, o); } } // !!! may produce much trace info !!! TraceCall(TraceLevel.Verbose, result.ToString()); } catch (Exception ex) { ProcessException(ex); } return((int)result); }
public static int DoneMemPack(IntPtr hMemPack) { var result = PackerResult.ErrorClose; _callSignature = $"DoneMemPack ({hMemPack.ToString()})"; try { var o = TcHandles.GetObject(hMemPack); if (o != null) { result = Plugin.DoneMemPack(o); if (o is IDisposable dip) { dip.Dispose(); } var count = TcHandles.RemoveHandle(hMemPack); TraceCall(TraceLevel.Warning, $"{count} calls."); } } catch (Exception ex) { ProcessException(ex); } return((int)result); }
public static int CloseArchive(IntPtr arcData) { PackerResult result = PackerResult.ErrorClose; callSignature = String.Format("FindClose ({0})", arcData.ToString()); try { object o = TcHandles.GetObject(arcData); if (o != null) { result = Plugin.CloseArchive(o); IDisposable disp = o as IDisposable; if (disp != null) { disp.Dispose(); } int count = (TcHandles.RemoveHandle(arcData) - 1) / 2; TraceCall(TraceLevel.Info, String.Format("{0} items.", count)); } } catch (Exception ex) { ProcessException(ex); } return((int)result); }
public static void CloseWindow(IntPtr listWin) { callSignature = String.Format("CloseWindow ({0})", listWin.ToString()); try { object listerControl = TcHandles.GetObject(listWin); Plugin.CloseWindow(listerControl); int count = TcHandles.RemoveHandle(listWin); NativeMethods.DestroyWindow(listWin); TraceCall(TraceLevel.Warning, String.Format("{0} calls.", count)); } catch (Exception ex) { ProcessException(ex); } }
public static void CloseWindow(IntPtr listWin) { _callSignature = $"CloseWindow ({listWin.ToString()})"; try { var listerControl = TcHandles.GetObject(listWin); Plugin.CloseWindow(listerControl); var count = TcHandles.RemoveHandle(listWin); NativeMethods.DestroyWindow(listWin); TraceCall(TraceLevel.Warning, $"{count} calls."); } catch (Exception ex) { ProcessException(ex); } }
public static int SearchDialog(IntPtr listWin, int findNext) { ListerResult result = ListerResult.Error; callSignature = String.Format("SearchDialog ({0}, {1})", listWin.ToString(), findNext); try { object listerControl = TcHandles.GetObject(listWin); result = Plugin.SearchDialog(listerControl, (findNext != 0)); TraceCall(TraceLevel.Info, result.ToString()); } catch (Exception ex) { ProcessException(ex); } return((int)result); }
public static int SearchDialog(IntPtr listWin, int findNext) { var result = ListerResult.Error; _callSignature = $"SearchDialog ({listWin.ToString()}, {findNext})"; try { var listerControl = TcHandles.GetObject(listWin); result = Plugin.SearchDialog(listerControl, findNext != 0); TraceCall(TraceLevel.Info, result.ToString()); } catch (Exception ex) { ProcessException(ex); } return((int)result); }
public static int NotificationReceived(IntPtr listWin, int message, int wParam, int lParam) // 32, 64 ??? { int result = 0; callSignature = String.Format("NotificationReceived ({0}, {1}, {2}, {3})", listWin.ToString(), message, wParam, lParam); try { object listerControl = TcHandles.GetObject(listWin); result = Plugin.NotificationReceived(listerControl, message, wParam, lParam); TcHandles.UpdateHandle(listWin, listerControl); TraceCall(TraceLevel.Info, result.ToString(CultureInfo.InvariantCulture)); } catch (Exception ex) { ProcessException(ex); } return(result); }
public static int NotificationReceived(IntPtr listWin, int message, int wParam, int lParam) // 32, 64 ??? { var result = 0; _callSignature = $"NotificationReceived ({listWin.ToString()}, {message}, {wParam}, {lParam})"; try { var listerControl = TcHandles.GetObject(listWin); result = Plugin.NotificationReceived(listerControl, message, wParam, lParam); TcHandles.UpdateHandle(listWin, listerControl); TraceCall(TraceLevel.Info, result.ToString(CultureInfo.InvariantCulture)); } catch (Exception ex) { ProcessException(ex); } return(result); }
public static int LoadNextW(IntPtr parentWin, IntPtr listWin, [MarshalAs(UnmanagedType.LPWStr)] string fileToLoad, int flags) { ListerResult result = ListerResult.Error; ShowFlags showFlags = (ShowFlags)flags; callSignature = String.Format("LoadNext ({0}, {1}, {2})", listWin.ToString(), fileToLoad, showFlags.ToString()); try { object listerControl = TcHandles.GetObject(listWin); result = Plugin.LoadNext(listerControl, fileToLoad, showFlags); TcHandles.UpdateHandle(listWin, listerControl); TraceCall(TraceLevel.Warning, result.ToString()); } catch (Exception ex) { ProcessException(ex); } return((int)result); }
public static int PrintW(IntPtr listWin, [MarshalAs(UnmanagedType.LPWStr)] string fileToPrint, [MarshalAs(UnmanagedType.LPWStr)] string defPrinter, int flags, PrintMargins margins) { ListerResult result = ListerResult.Error; PrintFlags printFlags = (PrintFlags)flags; callSignature = String.Format("Print ({0}, {1}, {2}, {3})", listWin.ToString(), fileToPrint, defPrinter, printFlags.ToString()); try { object listerControl = TcHandles.GetObject(listWin); result = Plugin.Print(listerControl, fileToPrint, defPrinter, printFlags, margins); TcHandles.UpdateHandle(listWin, listerControl); TraceCall(TraceLevel.Warning, result.ToString()); } catch (Exception ex) { ProcessException(ex); } return((int)result); }
public static int SendCommand(IntPtr listWin, int command, int parameter) { ListerResult result = ListerResult.Error; ListerCommand cmd = (ListerCommand)command; ShowFlags par = (ShowFlags)parameter; callSignature = String.Format("SendCommand ({0}, {1}, {2})", listWin.ToString(), cmd.ToString(), par.ToString()); try { object listerControl = TcHandles.GetObject(listWin); result = Plugin.SendCommand(listerControl, cmd, par); TcHandles.UpdateHandle(listWin, listerControl); TraceCall(TraceLevel.Info, result.ToString()); } catch (Exception ex) { ProcessException(ex); } return((int)result); }
public static int PrintW(IntPtr listWin, [MarshalAs(UnmanagedType.LPWStr)] string fileToPrint, [MarshalAs(UnmanagedType.LPWStr)] string defPrinter, int flags, PrintMargins margins) { var result = ListerResult.Error; var printFlags = (PrintFlags)flags; _callSignature = $"Print ({listWin.ToString()}, {fileToPrint}, {defPrinter}, {printFlags.ToString()})"; try { var listerControl = TcHandles.GetObject(listWin); result = Plugin.Print(listerControl, fileToPrint, defPrinter, printFlags, margins); TcHandles.UpdateHandle(listWin, listerControl); TraceCall(TraceLevel.Warning, result.ToString()); } catch (Exception ex) { ProcessException(ex); } return((int)result); }
public static int SearchTextW(IntPtr listWin, [MarshalAs(UnmanagedType.LPWStr)] string searchString, int searchParameter) { ListerResult result = ListerResult.Error; SearchParameter sp = (SearchParameter)searchParameter; callSignature = String.Format("SearchText ({0}, {1}, {2})", listWin.ToString(), searchString, sp.ToString()); try { object listerControl = TcHandles.GetObject(listWin); result = Plugin.SearchText(listerControl, searchString, sp); TcHandles.UpdateHandle(listWin, listerControl); TraceCall(TraceLevel.Warning, result.ToString()); } catch (Exception ex) { ProcessException(ex); } return((int)result); }
public static int SendCommand(IntPtr listWin, int command, int parameter) { var result = ListerResult.Error; var cmd = (ListerCommand)command; var par = (ShowFlags)parameter; _callSignature = $"SendCommand ({listWin.ToString()}, {cmd.ToString()}, {par.ToString()})"; try { var listerControl = TcHandles.GetObject(listWin); result = Plugin.SendCommand(listerControl, cmd, par); TcHandles.UpdateHandle(listWin, listerControl); TraceCall(TraceLevel.Info, result.ToString()); } catch (Exception ex) { ProcessException(ex); } return((int)result); }
public static int FindClose(IntPtr hdl) { _callSignature = "FindClose"; try { var count = 0; var o = TcHandles.GetObject(hdl); if (o != null) { Plugin.FindClose(o); (o as IDisposable)?.Dispose(); count = TcHandles.RemoveHandle(hdl); } TraceCall(TraceLevel.Info, $"{count} item(s)"); } catch (Exception ex) { ProcessException(ex); } return(0); }
public static int DoneMemPack(IntPtr hMemPack) { PackerResult result = PackerResult.ErrorClose; callSignature = String.Format("DoneMemPack ({0})", hMemPack.ToString()); try { object o = TcHandles.GetObject(hMemPack); if (o != null) { result = Plugin.DoneMemPack(o); IDisposable disp = o as IDisposable; if (disp != null) { disp.Dispose(); } int count = TcHandles.RemoveHandle(hMemPack); TraceCall(TraceLevel.Warning, String.Format("{0} calls.", count)); } } catch (Exception ex) { ProcessException(ex); } return((int)result); }