Directory.GetCurrentDirectory() Method
Summary
Analyze
Code
public static string GetCurrentDirectory() { StringBuilder stringBuilder = new StringBuilder(261); if (Win32Native.GetCurrentDirectory(stringBuilder.Capacity, stringBuilder) == 0) { __Error.WinIOError(); } string text = stringBuilder.ToString(); if (text.IndexOf('~') >= 0) { int longPathName = Win32Native.GetLongPathName(text, stringBuilder, stringBuilder.Capacity); if (longPathName == 0 || longPathName >= 260) { int lastWin32Error = Marshal.GetLastWin32Error(); if (longPathName >= 260) { lastWin32Error = 206; } if (lastWin32Error == 2 || lastWin32Error == 3 || lastWin32Error == 1 || lastWin32Error == 5) { goto IL_78; } __Error.WinIOError(lastWin32Error, string.Empty); } IL_78: text = stringBuilder.ToString(); } string demandDir = Directory.GetDemandDir(text, true); new FileIOPermission(FileIOPermissionAccess.PathDiscovery, new string[] { demandDir }, false, false).Demand(); return text; }
© Microsoft Corporation. All rights reserved.