diff options
Diffstat (limited to 'src/mscorlib/shared/Interop/Windows/Kernel32/Interop.CreateFile2.cs')
-rw-r--r-- | src/mscorlib/shared/Interop/Windows/Kernel32/Interop.CreateFile2.cs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/mscorlib/shared/Interop/Windows/Kernel32/Interop.CreateFile2.cs b/src/mscorlib/shared/Interop/Windows/Kernel32/Interop.CreateFile2.cs new file mode 100644 index 0000000000..0909d3a6c8 --- /dev/null +++ b/src/mscorlib/shared/Interop/Windows/Kernel32/Interop.CreateFile2.cs @@ -0,0 +1,31 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using Microsoft.Win32.SafeHandles; +using System; +using System.Runtime.InteropServices; + +internal partial class Interop +{ + internal partial class Kernel32 + { + [DllImport(Libraries.Kernel32, EntryPoint = "CreateFile2", SetLastError = true, CharSet = CharSet.Unicode, BestFitMapping = false)] + internal static extern unsafe SafeFileHandle CreateFile2( + string lpFileName, + int dwDesiredAccess, + System.IO.FileShare dwShareMode, + System.IO.FileMode dwCreationDisposition, + CREATEFILE2_EXTENDED_PARAMETERS* pCreateExParams); + + internal unsafe struct CREATEFILE2_EXTENDED_PARAMETERS + { + internal uint dwSize; + internal uint dwFileAttributes; + internal uint dwFileFlags; + internal uint dwSecurityQosFlags; + internal SECURITY_ATTRIBUTES* lpSecurityAttributes; + internal IntPtr hTemplateFile; + } + } +}
\ No newline at end of file |