示例#1
0
 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);
示例#2
0
        /// <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);
        }
示例#3
0
 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);
示例#4
0
 [DllImport("kernel32")] public static extern IntPtr CreateFile(string Name, FileAccessAPI Access, FileShare Share, int Security, FileMode Creation, FileFlags Flags, int Template);