예제 #1
0
        private void Dispose(bool p)
        {
            if (processAddr != IntPtr.Zero)
            {
                NativeApi.VirtualFreeEx(hProcess, processAddr, 4096, NativeApi.MEM_RELEASE);
                processAddr = IntPtr.Zero;
            }
            if (hProcess != IntPtr.Zero)
            {
                NativeApi.CloseHandle(hProcess);
                hProcess = IntPtr.Zero;
            }
            if (_asyncHandle != null)
            {
                _asyncHandle.Dispose();
                _asyncHandle = null;
            }
#if export
            if (writer != null)
            {
                writer.Dispose();
                writer = null;
                sheet  = null;
            }
#endif
        }
예제 #2
0
파일: FillBase.cs 프로젝트: qwdingyu/C-
 protected virtual void Dispose(bool disposing)
 {
     if (disposing)
     {
         _asyncObject.Dispose();
         if (_fillThread.ThreadState == ThreadState.Suspended)
         {
             _fillThread.Resume();
             _fillThread.Abort();
         }
     }
     OnDisposed(EventArgs.Empty);
 }