/// <summary> /// Gets the specified file's size /// </summary> /// <param name="file">The file to get the size for</param> /// <returns>The file size in bytes</returns> public long GetFileSize(string file) { IntPtr hFile = new IntPtr( WININET.FtpOpenFile(_hConnect, file, WINAPI.GENERIC_READ, WININET.FTP_TRANSFER_TYPE_BINARY, IntPtr.Zero) ); if (hFile == IntPtr.Zero) { Error(); } else { try { int sizeHigh = 0; int sizeLo = WININET.FtpGetFileSize(hFile, ref sizeHigh); #pragma warning disable CS0675 // Bitwise-or operator used on a sign-extended operand long fileSize = ((long)sizeHigh << 32) | sizeLo; #pragma warning restore CS0675 // Bitwise-or operator used on a sign-extended operand return(fileSize); } catch (Exception) { Error(); } finally { WININET.InternetCloseHandle(hFile); } } return(0); }
/// <summary> /// Gets the specified file's size /// </summary> /// <param name="file">The file to get the size for</param> /// <returns>The file size in bytes</returns> public long GetFileSize(string file) { IntPtr hFile = new IntPtr( WININET.FtpOpenFile(_hConnect, file, WINAPI.GENERIC_READ, WININET.FTP_TRANSFER_TYPE_BINARY, IntPtr.Zero) ); if (hFile == IntPtr.Zero) { Error(); } else { try { int sizeHigh = 0; int sizeLo = WININET.FtpGetFileSize(hFile, ref sizeHigh); long fileSize = ((long)sizeHigh << 32) | sizeLo; return(fileSize); } catch (Exception) { Error(); } finally { WININET.InternetCloseHandle(hFile); } } return(0); }
public long GetFileSize(string file) { IntPtr hConnect = new(WININET.FtpOpenFile(_hConnect, file, 0x8000_0000, 2, IntPtr.Zero)); switch ((hConnect == IntPtr.Zero)) { case false: try { int dwFileSizeHigh = 0; int num2 = WININET.FtpGetFileSize(hConnect, ref dwFileSizeHigh); return((dwFileSizeHigh << 0x20) | num2); } catch (Exception) { Error(); } finally { WININET.InternetCloseHandle(hConnect); } break; default: Error(); break; } return(0L); }
public long GetFileSize(string file) { IntPtr hConnect = new IntPtr(WININET.FtpOpenFile(_hConnect, file, 0x8000_0000, 2, IntPtr.Zero)); if (!(hConnect == IntPtr.Zero)) { try { int dwFileSizeHigh = 0; int num2 = WININET.FtpGetFileSize(hConnect, ref dwFileSizeHigh); return((dwFileSizeHigh << 0x20) | num2); } catch (Exception) { Error(); } finally { WININET.InternetCloseHandle(hConnect); } } else { Error(); } return(0L); }