/// <summary> /// /// </summary> /// <param name="access"></param> /// <param name="share"></param> /// <param name="creationDisposition"></param> /// <param name="flagsAndAttributes"></param> public void Open(FileAccess access, FileShare share, FileCreateDisposition creationDisposition, int flagsAndAttributes) { uint dwDesiredAccess; switch (access) { case FileAccess.Read: dwDesiredAccess = 0x80000000; break; case FileAccess.Write: dwDesiredAccess = 0x40000000; break; case FileAccess.ReadWrite: dwDesiredAccess = 0xC0000000; break; default: dwDesiredAccess = 0x20000000; break; } var handle = NativeMethods.CreateFile(Name, dwDesiredAccess, (uint)share, 0, (uint)creationDisposition, (uint)flagsAndAttributes, 0); if (handle == InvalidHandle) { throw new Win32Exception(Marshal.GetLastWin32Error()); } Handle = handle; }
/// <summary> /// Creates a new instance of the <see cref="SDKStream"/> class with an underlying SDK file stream /// </summary> /// <param name="filepath">Path to the file</param> /// <param name="createDisposition">State how to create the stream</param> /// <param name="access">File access type</param> public SDKStream(string filepath, FileCreateDisposition createDisposition, FileAccess access) { if (filepath == null) { throw new ArgumentNullException(nameof(filepath)); } ErrorHandler.CheckError(CanonSDK.EdsCreateFileStreamEx(filepath, createDisposition, access, out _Reference)); }
public static extern IntPtr CreateFile( string fileName, FileAccess desiredAccess, FileShare shareMode, ref SecurityAttributes securityAttributes, FileCreateDisposition creationDisposition, FileAttributes flagsAndAttributes, IntPtr templateFile );
public static IntPtr CreateFile(string fileName, FileAccess desiredAccess, FileShare shareMode, FileCreateDisposition creationDisposition, int flagsAndAttributes) { IntPtr hFile = IntPtr.Zero; hFile = (IntPtr)CreateFileCE(fileName, (uint)desiredAccess, (uint)shareMode, 0, (uint)creationDisposition, (uint)flagsAndAttributes, 0); if ((int)hFile == InvalidHandle) { throw new WinAPIException("Failed to Create File"); } return(hFile); }
public static IntPtr CreateFile(string fileName, FileAccess desiredFileAccess, FileShare shareMode, FileCreateDisposition creationDisposition, int flagsAndAttributes) { FileAccess2 desiredAccess; switch (desiredFileAccess) { case FileAccess.Read: desiredAccess = FileAccess2.Read; break; case FileAccess.ReadWrite: desiredAccess = FileAccess2.Read | FileAccess2.Write; break; case FileAccess.Write: desiredAccess = FileAccess2.Write; break; default: desiredAccess = FileAccess2.Execute; //it will never get here and in fact Execute is never currently used. Left as a back door. break; } IntPtr hFile = IntPtr.Zero; hFile = NativeMethods.CreateFile(fileName, (uint)desiredAccess, (uint)shareMode, 0, (uint)creationDisposition, (uint)flagsAndAttributes, 0); if ((int)hFile == InvalidHandle) { throw new System.ComponentModel.Win32Exception(Marshal.GetLastWin32Error(), "Failed to Create File"); } return(hFile); }
public static extern UInt32 CreateStreamEx( string inFileName, FileCreateDisposition inCreateDisposition, Access inDesiredAccess, out IntPtr outStream );
public extern static UInt32 CreateStreamEx( string inFileName, FileCreateDisposition inCreateDisposition, Access inDesiredAccess, out IntPtr outStream );
/// <summary> /// Wrapper around the CreateFile API /// </summary> /// <param name="fileName">Path to the file or CE port name</param> /// <param name="desiredAccess">Specifies the type of access to the object. An application can obtain read access, write access, read-write access, or device query access.</param> /// <param name="shareMode">Specifies how the object can be shared.</param> /// <param name="creationDisposition">Specifies which action to take on files that exist, and which action to take when files do not exist.</param> /// <param name="flagsAndAttributes">Specifies the file attributes and flags for the file.</param> /// <returns>Handle to the created file</returns> public static IntPtr CreateFile(string fileName, FileAccess desiredAccess, FileShare shareMode, FileCreateDisposition creationDisposition, int flagsAndAttributes) { IntPtr hFile = IntPtr.Zero; hFile = (IntPtr) CreateFileCE(fileName, (uint) desiredAccess, (uint) shareMode, 0, (uint) creationDisposition, (uint) flagsAndAttributes, 0); if ((int) hFile == InvalidHandle) { throw new WinAPIException("Failed to Create File"); } return hFile; }