From 44be29be67bd57a2f70838d9fb608a164717ab08 Mon Sep 17 00:00:00 2001 From: Luqun Lou Date: Thu, 5 Apr 2018 18:54:42 -0700 Subject: [PATCH] revert "Work around MCG bug around `ref char` marshalling #5481" (#5656) Signed-off-by: dotnet-bot --- .../Windows/Kernel32/Interop.GetFullPathNameW.cs | 12 ------------ .../Windows/Kernel32/Interop.GetLongPathNameW.cs | 12 ------------ .../Windows/Kernel32/Interop.GetTempFileNameW.cs | 12 ------------ .../Interop/Windows/Kernel32/Interop.GetTempPathW.cs | 11 ----------- 4 files changed, 47 deletions(-) diff --git a/src/mscorlib/shared/Interop/Windows/Kernel32/Interop.GetFullPathNameW.cs b/src/mscorlib/shared/Interop/Windows/Kernel32/Interop.GetFullPathNameW.cs index 2f3aad85cceb..197b0a9be523 100644 --- a/src/mscorlib/shared/Interop/Windows/Kernel32/Interop.GetFullPathNameW.cs +++ b/src/mscorlib/shared/Interop/Windows/Kernel32/Interop.GetFullPathNameW.cs @@ -13,18 +13,6 @@ internal partial class Kernel32 /// WARNING: This method does not implicitly handle long paths. Use GetFullPathName or PathHelper. /// [DllImport(Libraries.Kernel32, SetLastError = true, CharSet = CharSet.Unicode, BestFitMapping = false, ExactSpelling = true)] -#if PROJECTN - internal static extern unsafe uint GetFullPathNameW(char* lpFileName, uint nBufferLength, char* lpBuffer, IntPtr lpFilePart); - - // Works around https://devdiv.visualstudio.com/web/wi.aspx?pcguid=011b8bdf-6d56-4f87-be0d-0092136884d9&id=575202 - internal static unsafe uint GetFullPathNameW(ref char lpFileName, uint nBufferLength, ref char lpBuffer, IntPtr lpFilePart) - { - fixed (char* pBuffer = &lpBuffer) - fixed (char* pFileName = &lpFileName) - return GetFullPathNameW(pFileName, nBufferLength, pBuffer, lpFilePart); - } -#else internal static extern uint GetFullPathNameW(ref char lpFileName, uint nBufferLength, ref char lpBuffer, IntPtr lpFilePart); -#endif } } diff --git a/src/mscorlib/shared/Interop/Windows/Kernel32/Interop.GetLongPathNameW.cs b/src/mscorlib/shared/Interop/Windows/Kernel32/Interop.GetLongPathNameW.cs index ef8fd36aa1a4..81b4d096f564 100644 --- a/src/mscorlib/shared/Interop/Windows/Kernel32/Interop.GetLongPathNameW.cs +++ b/src/mscorlib/shared/Interop/Windows/Kernel32/Interop.GetLongPathNameW.cs @@ -13,18 +13,6 @@ internal partial class Kernel32 /// WARNING: This method does not implicitly handle long paths. Use GetFullPath/PathHelper. /// [DllImport(Libraries.Kernel32, SetLastError = true, CharSet = CharSet.Unicode, BestFitMapping = false, ExactSpelling = true)] -#if PROJECTN - internal static extern unsafe uint GetLongPathNameW(char* lpszShortPath, char* lpszLongPath, uint cchBuffer); - - // Works around https://devdiv.visualstudio.com/web/wi.aspx?pcguid=011b8bdf-6d56-4f87-be0d-0092136884d9&id=575202 - internal static unsafe uint GetLongPathNameW(ref char lpszShortPath, ref char lpszLongPath, uint cchBuffer) - { - fixed (char* plpszLongPath = &lpszLongPath) - fixed (char* plpszShortPath = &lpszShortPath) - return GetLongPathNameW(plpszShortPath, plpszLongPath, cchBuffer); - } -#else internal static extern uint GetLongPathNameW(ref char lpszShortPath, ref char lpszLongPath, uint cchBuffer); -#endif } } diff --git a/src/mscorlib/shared/Interop/Windows/Kernel32/Interop.GetTempFileNameW.cs b/src/mscorlib/shared/Interop/Windows/Kernel32/Interop.GetTempFileNameW.cs index 92da88c5df6c..97e1d82847a6 100644 --- a/src/mscorlib/shared/Interop/Windows/Kernel32/Interop.GetTempFileNameW.cs +++ b/src/mscorlib/shared/Interop/Windows/Kernel32/Interop.GetTempFileNameW.cs @@ -9,18 +9,6 @@ internal partial class Interop internal partial class Kernel32 { [DllImport(Libraries.Kernel32, CharSet = CharSet.Unicode, SetLastError = true, BestFitMapping = false)] -#if PROJECTN - internal static extern unsafe uint GetTempFileNameW(char* lpPathName, string lpPrefixString, uint uUnique, char* lpTempFileName); - - // Works around https://devdiv.visualstudio.com/web/wi.aspx?pcguid=011b8bdf-6d56-4f87-be0d-0092136884d9&id=575202 - internal static unsafe uint GetTempFileNameW(ref char lpPathName, string lpPrefixString, uint uUnique, ref char lpTempFileName) - { - fixed (char* plpPathName = &lpPathName) - fixed (char* plpTempFileName = &lpTempFileName) - return GetTempFileNameW(plpPathName, lpPrefixString, uUnique, plpTempFileName); - } -#else internal static extern uint GetTempFileNameW(ref char lpPathName, string lpPrefixString, uint uUnique, ref char lpTempFileName); -#endif } } diff --git a/src/mscorlib/shared/Interop/Windows/Kernel32/Interop.GetTempPathW.cs b/src/mscorlib/shared/Interop/Windows/Kernel32/Interop.GetTempPathW.cs index 19dbae346bda..7f7bb775c85a 100644 --- a/src/mscorlib/shared/Interop/Windows/Kernel32/Interop.GetTempPathW.cs +++ b/src/mscorlib/shared/Interop/Windows/Kernel32/Interop.GetTempPathW.cs @@ -9,17 +9,6 @@ internal partial class Interop internal partial class Kernel32 { [DllImport(Libraries.Kernel32, CharSet = CharSet.Unicode, BestFitMapping = false)] -#if PROJECTN - internal static extern unsafe uint GetTempPathW(int bufferLen, char* buffer); - - // Works around https://devdiv.visualstudio.com/web/wi.aspx?pcguid=011b8bdf-6d56-4f87-be0d-0092136884d9&id=575202 - internal static unsafe uint GetTempPathW(int bufferLen, ref char buffer) - { - fixed (char* pbuffer = &buffer) - return GetTempPathW(bufferLen, pbuffer); - } -#else internal static extern uint GetTempPathW(int bufferLen, ref char buffer); -#endif } }