System.IO.Win32File.Open C# (CSharp) Méthode

Open() public static méthode

public static Open ( string filepath, FileMode mode, FileAccess access, FileShare share ) : FileStream
filepath string
mode FileMode
access FileAccess
share FileShare
Résultat FileStream
        public static FileStream Open(string filepath, FileMode mode, FileAccess access, FileShare share)
        {
            //opened in the specified mode , access and  share
            FileStream fs = null;
            uint umode = GetMode(mode);
            uint uaccess = GetAccess(access);
            uint ushare = GetShare(share);
            if (mode == FileMode.Append)
                uaccess = FILE_APPEND_DATA;
            SafeFileHandle sh = CreateFileW(LongFileName(filepath), uaccess, ushare, IntPtr.Zero, umode, FILE_ATTRIBUTE_NORMAL, IntPtr.Zero);
            int iError = Marshal.GetLastWin32Error();
            if ((iError > 0 && !(mode == FileMode.Append && iError != ERROR_ALREADY_EXISTS)) || sh.IsInvalid)
            {
                throw new Exception("Error opening file Win32 Error:" + iError);
            }
            else
            {
                fs = new FileStream(sh, access);
            }
            // if opened in append mode
            if (mode == FileMode.Append)
            {
                if (!sh.IsInvalid)
                {
                    SetFilePointer(sh, 0, IntPtr.Zero, FILE_END);
                }
            }
            return fs;
        }

Same methods

Win32File::Open ( string filepath, FileMode mode ) : FileStream
Win32File::Open ( string filepath, FileMode mode, FileAccess access ) : FileStream