public static extern SafeFileHandle CreateFile( string filename, [MarshalAs(UnmanagedType.U4)] FileAccessAPI access, [MarshalAs(UnmanagedType.U4)] FileShare share, IntPtr securityAttributes, // optional SECURITY_ATTRIBUTES struct or IntPtr.Zero [MarshalAs(UnmanagedType.U4)] FileMode creation, [MarshalAs(UnmanagedType.U4)] FileFlags flagsAndAttributes, IntPtr templateFile);
/// <summary> /// Provides a mapping between a System.IO.FileAccess value and a FileAccessAPI value. /// </summary> /// <param name="Access">The <see cref="System.IO.FileAccess"/> value to map.</param> /// <returns>The <see cref="FileAccessAPI"/> value.</returns> public static FileAccessAPI Access2API(FileAccess Access) { FileAccessAPI lRet = 0; if ((Access & FileAccess.Read) == FileAccess.Read) { lRet |= FileAccessAPI.GENERIC_READ; } if ((Access & FileAccess.Write) == FileAccess.Write) { lRet |= FileAccessAPI.GENERIC_WRITE; } return(lRet); }
public static extern IntPtr CreateFile(string name, [MarshalAs(UnmanagedType.U4)] FileAccessAPI access, [MarshalAs(UnmanagedType.U4)] FileShare share, IntPtr security, [MarshalAs(UnmanagedType.U4)] FileMode creation, [MarshalAs(UnmanagedType.U4)] FileFlags flags, IntPtr template);
[DllImport("kernel32")] public static extern IntPtr CreateFile(string Name, FileAccessAPI Access, FileShare Share, int Security, FileMode Creation, FileFlags Flags, int Template);