public static unsafe string SHGetFolderPath(CSIDL folder, IntPtr hToken = default(IntPtr), SHGetFolderPathFlags flags = SHGetFolderPathFlags.SHGFP_TYPE_CURRENT) { char* pszPath = stackalloc char[Kernel32.MAX_PATH + 1]; #pragma warning disable CS0618 // Type or member is obsolete SHGetFolderPath(IntPtr.Zero, folder, hToken, flags, pszPath).ThrowOnFailure(); #pragma warning restore CS0618 // Type or member is obsolete return new string(pszPath); }
#pragma warning disable RS0027 // Public API with optional parameter(s) should have the most parameters amongst its public overloads. public static unsafe string SHGetFolderPath(CSIDL folder, IntPtr hToken = default(IntPtr), SHGetFolderPathFlags flags = SHGetFolderPathFlags.SHGFP_TYPE_CURRENT) #pragma warning restore RS0027 // Public API with optional parameter(s) should have the most parameters amongst its public overloads. { char *pszPath = stackalloc char[Kernel32.MAX_PATH + 1]; #pragma warning disable CS0618 // Type or member is obsolete SHGetFolderPath(IntPtr.Zero, folder, hToken, flags, pszPath).ThrowOnFailure(); #pragma warning restore CS0618 // Type or member is obsolete return(new string(pszPath)); }
public static extern unsafe HResult SHGetFolderPath( IntPtr hwndOwner, CSIDL nFolder, IntPtr hToken, SHGetFolderPathFlags dwFlags, [Friendly(FriendlyFlags.Array)] char *pszPath);
public static unsafe string SHGetFolderPath(CSIDL folder, IntPtr hToken = default(IntPtr), SHGetFolderPathFlags flags = SHGetFolderPathFlags.SHGFP_TYPE_CURRENT) { char *pszPath = stackalloc char[Kernel32.MAX_PATH + 1]; #pragma warning disable CS0618 // Type or member is obsolete SHGetFolderPath(IntPtr.Zero, folder, hToken, flags, pszPath).ThrowOnFailure(); #pragma warning restore CS0618 // Type or member is obsolete return(new string(pszPath)); }
public static extern unsafe HResult SHGetFolderPath( IntPtr hwndOwner, CSIDL nFolder, IntPtr hToken, SHGetFolderPathFlags dwFlags, [Friendly(FriendlyFlags.Array)] char* pszPath);