diff options
author | Jan Kotas <jkotas@microsoft.com> | 2016-03-15 19:46:34 -0700 |
---|---|---|
committer | Jan Kotas <jkotas@microsoft.com> | 2016-03-15 19:46:34 -0700 |
commit | ffc7372713170e09a9f80d4cd8d6bb238378a34b (patch) | |
tree | 482babd939c7339c70d0b19c9dcb814567ab21e2 /src | |
parent | b09f46863aca0e94f8bb57dcc2905d3667498140 (diff) | |
download | coreclr-ffc7372713170e09a9f80d4cd8d6bb238378a34b.tar.gz coreclr-ffc7372713170e09a9f80d4cd8d6bb238378a34b.tar.bz2 coreclr-ffc7372713170e09a9f80d4cd8d6bb238378a34b.zip |
Prune Windows mscorlib
In model.xml, I went over:
- FEATURE_ conditions that are disabled on Unix
- FEATURE_ conditions related to NetCF
- All ApiFxInternal methods
And flipped most them either to public, ImplRoot or deleted them.
Testing: Run all open CoreCLR and CoreFX tests, built legacy build razzle
[tfs-changeset: 1586209]
Diffstat (limited to 'src')
-rw-r--r-- | src/ToolBox/dirs.proj | 1 | ||||
-rw-r--r-- | src/coreclr/dirs.proj | 1 | ||||
-rw-r--r-- | src/mscorlib/model.xml | 1701 | ||||
-rw-r--r-- | src/mscorlib/mscorlib.shared.sources.props | 8 | ||||
-rw-r--r-- | src/mscorlib/src/Microsoft/Win32/Win32Native.cs | 26 | ||||
-rw-r--r-- | src/mscorlib/src/System/Collections/Hashtable.cs | 16 | ||||
-rw-r--r-- | src/mscorlib/src/System/Console.cs | 2141 | ||||
-rw-r--r-- | src/mscorlib/src/System/ConsoleCancelEventArgs.cs | 47 | ||||
-rw-r--r-- | src/mscorlib/src/System/ConsoleColor.cs | 36 | ||||
-rw-r--r-- | src/mscorlib/src/System/ConsoleKey.cs | 207 | ||||
-rw-r--r-- | src/mscorlib/src/System/ConsoleKeyInfo.cs | 81 | ||||
-rw-r--r-- | src/mscorlib/src/System/ConsoleModifiers.cs | 24 | ||||
-rw-r--r-- | src/mscorlib/src/System/ConsoleSpecialKey.cs | 27 | ||||
-rw-r--r-- | src/mscorlib/src/System/IO/Path.cs | 6 | ||||
-rw-r--r-- | src/mscorlib/src/System/LowLevelConsole.cs | 50 | ||||
-rw-r--r-- | src/mscorlib/src/System/Security/PermissionSet.cs | 2 |
16 files changed, 222 insertions, 4152 deletions
diff --git a/src/ToolBox/dirs.proj b/src/ToolBox/dirs.proj index f506b3fc03..ee075f5b01 100644 --- a/src/ToolBox/dirs.proj +++ b/src/ToolBox/dirs.proj @@ -91,7 +91,6 @@ <!--The following projects will build during PHASE 1 of the CoreSys build--> <ItemGroup Condition="'$(BuildExePhase)' == '1' and '$(BuildProjectName)' == 'CoreSys'"> - <ProjectFile Include="mdbg\dirs.proj" /> <ProjectFile Include="ibcmerge\ibcmerge_msbuild.csproj" /> </ItemGroup> diff --git a/src/coreclr/dirs.proj b/src/coreclr/dirs.proj index 52f1cb39ff..6b14c1aff2 100644 --- a/src/coreclr/dirs.proj +++ b/src/coreclr/dirs.proj @@ -13,7 +13,6 @@ <ProjectFile Include="batchsetup\batchsetup.proj" /> <ProjectFile Include="hosts\dirs.proj" /> <ProjectFile Include="snskipverf\snskipverf.nativeproj" /> - <ProjectFile Include="sandboxhelper\dirs.proj" /> <ProjectFile Include="release\release.proj" /> <ProjectFile Include="uwp\dirs.proj" /> </ItemGroup> diff --git a/src/mscorlib/model.xml b/src/mscorlib/model.xml index 591f49df04..f63f4f9be5 100644 --- a/src/mscorlib/model.xml +++ b/src/mscorlib/model.xml @@ -69,38 +69,25 @@ <Member Name="CreateInstance<T>" /> <Member Name="CreateInstance(System.Type,System.Boolean)"/> </Type> - <Type Name="System.AppDomain"> - <Member Name="get_CurrentDomain" /> - <Member Name="get_FriendlyName" /> - <Member Name="get_DomainManager" /> - <Member Name="get_IsFullyTrusted" /> - <Member Name="get_SetupInformation" /> - <Member Name="get_PauseManager" Condition="FEATURE_LEGACYNETCFFAS"/> - <Member Status="ApiFxInternal" Name="get_MonitoringIsEnabled" /> - <Member Status="ApiFxInternal" Name="set_MonitoringIsEnabled(System.Boolean)" /> - <Member Status="ApiFxInternal" Name="get_MonitoringTotalProcessorTime" /> - <Member Status="ApiFxInternal" Name="get_MonitoringTotalAllocatedMemorySize" /> - <Member Status="ApiFxInternal" Name="get_MonitoringSurvivedMemorySize" /> - <Member Status="ApiFxInternal" Name="get_MonitoringSurvivedProcessMemorySize" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="MonitoringIsEnabled" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="MonitoringTotalProcessorTime" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="MonitoringTotalAllocatedMemorySize" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="MonitoringSurvivedMemorySize" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="MonitoringSurvivedProcessMemorySize" /> + <Type Status="ImplRoot" Name="System.AppDomain"> + <Member Status="ImplRoot" Name="get_MonitoringIsEnabled" /> + <Member Status="ImplRoot" Name="set_MonitoringIsEnabled(System.Boolean)" /> + <Member Status="ImplRoot" Name="get_MonitoringTotalProcessorTime" /> + <Member Status="ImplRoot" Name="get_MonitoringTotalAllocatedMemorySize" /> + <Member Status="ImplRoot" Name="get_MonitoringSurvivedMemorySize" /> + <Member Status="ImplRoot" Name="get_MonitoringSurvivedProcessMemorySize" /> + <Member Status="ImplRoot" MemberType="Property" Name="MonitoringIsEnabled" /> + <Member Status="ImplRoot" MemberType="Property" Name="MonitoringTotalProcessorTime" /> + <Member Status="ImplRoot" MemberType="Property" Name="MonitoringTotalAllocatedMemorySize" /> + <Member Status="ImplRoot" MemberType="Property" Name="MonitoringSurvivedMemorySize" /> + <Member Status="ImplRoot" MemberType="Property" Name="MonitoringSurvivedProcessMemorySize" /> <Member MemberType="Property" Name="IsFullyTrusted" /> - <Member Status="ApiFxInternal" Name="GetData(System.String)" Condition="not FEATURE_LEGACYNETCF"/> - <Member Name="GetData(System.String)" Condition="FEATURE_LEGACYNETCF"/> - <Member Name="GetAssemblies" Condition="FEATURE_LEGACYNETCF"/> + <Member Name="GetData(System.String)" /> <Member Name="ToString" /> - <Member Name="DefineDynamicAssembly(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess)" /> - <Member Name="ExecuteAssemblyByName(System.String)" /> <!-- smosier: REVIEW: added for sandboxhelper.dll --> <Member Status="ImplRoot" Name="SetupDomainSecurity(System.Security.Policy.Evidence,System.IntPtr,System.Boolean)" /> <Member Status="ImplRoot" Name="SetupDomainSecurity(System.AppDomainHandle,System.Runtime.CompilerServices.ObjectHandleOnStack,System.IntPtr,System.Boolean)" /> - <Member MemberType="Property" Name="CurrentDomain" /> - <Member MemberType="Property" Name="FriendlyName" /> - <Member MemberType="Property" Name="DomainManager" /> - <Member MemberType="Event" Name="AssemblyResolve" /> - <Member Status="ApiFxInternal" Name="OnAssemblyResolveEvent(System.Reflection.RuntimeAssembly,System.String)" /> + <Member Status="ImplRoot" MemberType="Event" Name="AssemblyResolve" /> + <Member Status="ImplRoot" Name="OnAssemblyResolveEvent(System.Reflection.RuntimeAssembly,System.String)" /> <Member Status="ImplRoot" MemberType="Event" Name="AssemblyLoad" /> <Member Status="ImplRoot" MemberType="Event" Name="ResourceResolve" /> <Member Status="ImplRoot" MemberType="Event" Name="TypeResolve" /> @@ -117,44 +104,12 @@ <Member Status="ImplRoot" Name="OnTypeResolveEvent(System.Reflection.RuntimeAssembly,System.String)" /> <Member Status="ImplRoot" Name="PrepareDataForSetup(System.String,System.AppDomainSetup,System.Security.Policy.Evidence,System.Security.Policy.Evidence,System.IntPtr,System.String,System.String[],System.String[])" /> <Member Status="ImplRoot" Name="Setup(System.Object)" /> - <Member Status="ApiFxInternal" Name="SetData(System.String,System.Object)" /> - <Member Name="IsCompatibilitySwitchSet(System.String)" /> <Member Status="ImplRoot" Name="SetupDomain(System.Boolean,System.String,System.String,System.String[],System.String[])" /> - <Member MemberType="Event" Name="UnhandledException" /> <Member Status="ImplRoot" Name="nCreateContext" /> <Member Name="OnDesignerNamespaceResolveEvent(System.String)" Condition="FEATURE_COMINTEROP" /> <Member MemberType="Property" Name="BaseDirectory" /> <Member Name="get_BaseDirectory" /> </Type> - <Type Name="System.AppDomainManager"> - <Member Name="#ctor" /> - <Member Name="InitializeNewDomain(System.AppDomainSetup)" /> - <Member Name="CheckSecuritySettings(System.Security.SecurityState)" /> - </Type> - <Type Name="System.IAppDomainPauseManager" Condition="FEATURE_LEGACYNETCFFAS"> - <Member Name="Pausing" /> - <Member Name="Paused" /> - <Member Name="Resuming" /> - <Member Name="Resumed" /> - </Type> - <Type Name="System.AppDomainPauseManager" Condition="FEATURE_LEGACYNETCFFAS"> - <Member Name="Pausing" /> - <Member Name="Paused" /> - <Member Name="Resuming" /> - <Member Name="Resumed" /> - </Type> - <Type Name="System.AppDomainSetup"> - <Member Name="#ctor" /> - <Member Status="ApiFxInternal" Name="get_ApplicationBase" /> - <Member Name="get_ApplicationName" /> - <Member Name="get_TargetFrameworkName" /> - <Member Name="get_LoaderOptimization" /> - <Member Status="ApiFxInternal" Name="set_ApplicationBase(System.String)" /> - <Member Name="set_ApplicationName(System.String)" /> - <Member Name="SetCompatibilitySwitches(System.Collections.Generic.IEnumerable<System.String>)" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="ApplicationBase" /> - <Member MemberType="Property" Name="ApplicationName" /> - </Type> <Type Name="System.AppDomainUnloadedException"> <Member Name="#ctor" /> <Member Name="#ctor(System.String)" /> @@ -170,7 +125,7 @@ <Member Name="TryGetSwitch(System.String,System.Boolean@)" /> <Member Name="GetData(System.String)" /> </Type> - <Type Name="System.ApplicationException" Condition="FEATURE_LEGACYNETCF"> + <Type Name="System.ApplicationException"> <Member Name="#ctor" /> <Member Name="#ctor(System.String)" /> <Member Name="#ctor(System.String,System.Exception)" /> @@ -222,7 +177,6 @@ <Member Name="ConstrainedCopy(System.Array,System.Int32,System.Array,System.Int32,System.Int32)" /> <Member Name="Copy(System.Array,System.Array,System.Int32)" /> <Member Name="Copy(System.Array,System.Int32,System.Array,System.Int32,System.Int32)" /> - <Member Status="ApiFxInternal" Name="Copy(System.Array,System.Int64,System.Array,System.Int64,System.Int64)" Condition="FEATURE_COMINTEROP"/> <Member Name="CopyTo(System.Array,System.Int32)" /> <Member Name="CreateInstance(System.Type,System.Int32)" /> <Member Name="CreateInstance(System.Type,System.Int32[])" /> @@ -537,12 +491,6 @@ <Member Name="get_IsCompliant" /> <Member MemberType="Property" Name="IsCompliant" /> </Type> - <!--<Type Name="System.Collections.Comparer"> - <Member MemberType="Field" Name="Default" /> - <Member MemberType="Field" Name="DefaultInvariant" /> - <Member Name="#ctor(System.Globalization.CultureInfo)" /> - <Member Name="Compare(System.Object,System.Object)" /> - </Type>--> <Type Name="System.Collections.BitArray"> <Member Name="#ctor(System.Int32)" /> <Member Name="#ctor(System.Int32,System.Boolean)" /> @@ -826,12 +774,6 @@ <Member Status="ImplRoot" Name="#ctor(System.Collections.ObjectModel.KeyedCollection<K,T>)" /> <Member Status="ImplRoot" Name="get_Items" /> <Member Status="ImplRoot" MemberType="Property" Name="Items" /> - </Type> - <Type Status="ApiFxInternal" Name="System.Collections.HashHelpers"> - <Member Status="ApiFxInternal" Name="ExpandPrime(System.Int32)" /> - <Member Status="ApiFxInternal" Name="GetMinPrime" /> - <Member Status="ApiFxInternal" Name="GetPrime(System.Int32)" /> - <Member Status="ApiFxInternal" Name="IsPrime(System.Int32)" /> </Type> <Type Name="System.Collections.ICollection"> <Member Name="CopyTo(System.Array,System.Int32)" /> @@ -990,22 +932,6 @@ <Member Name="EndInvoke(System.IAsyncResult)" /> <Member Name="Invoke(T,T)" /> </Type> - <Type Status="ApiFxInternal" Name="System.CompatibilitySwitches"> - <Member MemberType="Property" Name="IsAppEarlierThanSilverlight4" /> - <Member MemberType="Property" Name="IsAppEarlierThanWindowsPhone8" /> - <Member MemberType="Property" Name="IsAppEarlierThanWindowsPhoneMango" /> - <Member MemberType="Property" Name="IsNetFx40TimeSpanLegacyFormatMode" /> - <Member MemberType="Property" Name="IsNetFx40LegacySecurityPolicy" /> - <Member MemberType="Property" Name="IsNetFx45LegacyManagedDeflateStream" /> - <Member MemberType="Property" Name="IsCompatibilityBehaviorDefined" /> - <Member Name="get_IsAppEarlierThanSilverlight4" /> - <Member Name="get_IsAppEarlierThanWindowsPhone8" /> - <Member Name="get_IsAppEarlierThanWindowsPhoneMango" /> - <Member Name="get_IsNetFx40TimeSpanLegacyFormatMode" /> - <Member Name="get_IsNetFx40LegacySecurityPolicy" /> - <Member Name="get_IsNetFx45LegacyManagedDeflateStream" /> - <Member Name="get_IsCompatibilityBehaviorDefined" /> - </Type> <Type Name="System.Runtime.Loader.AssemblyLoadContext" condition="FEATURE_HOST_ASSEMBLY_RESOLVER"> <Member Name="#ctor" /> <Member MemberType="Property" Name="Default" /> @@ -1031,80 +957,6 @@ <Type Name="System.Reflection.Metadata.AssemblyExtensions"> <Member Name="TryGetRawMetadata(System.Reflection.Assembly,System.Byte*@,System.Int32@)"/> </Type> - <Type Status="ApiFxInternal" Name="System.Runtime.Versioning.BinaryCompatibility"> - <Member Status="ApiFxInternal" MemberType="Property" Name="TargetsAtLeast_Phone_V7_1" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="TargetsAtLeast_Phone_V8_0" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="TargetsAtLeast_Desktop_V4_5" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="TargetsAtLeast_Desktop_V4_5_1" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="TargetsAtLeast_Desktop_V4_5_2" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="TargetsAtLeast_Desktop_V4_5_3" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="TargetsAtLeast_Desktop_V4_5_4" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="TargetsAtLeast_Desktop_V5_0" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="TargetsAtLeast_Silverlight_V4" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="TargetsAtLeast_Silverlight_V5" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="TargetsAtLeast_Silverlight_V6" /> - <Member Status="ApiFxInternal" Name="get_TargetsAtLeast_Phone_V7_1" /> - <Member Status="ApiFxInternal" Name="get_TargetsAtLeast_Phone_V8_0" /> - <Member Status="ApiFxInternal" Name="get_TargetsAtLeast_Desktop_V4_5" /> - <Member Status="ApiFxInternal" Name="get_TargetsAtLeast_Desktop_V4_5_1" /> - <Member Status="ApiFxInternal" Name="get_TargetsAtLeast_Desktop_V4_5_2" /> - <Member Status="ApiFxInternal" Name="get_TargetsAtLeast_Desktop_V4_5_3" /> - <Member Status="ApiFxInternal" Name="get_TargetsAtLeast_Desktop_V4_5_4" /> - <Member Status="ApiFxInternal" Name="get_TargetsAtLeast_Desktop_V5_0" /> - <Member Status="ApiFxInternal" Name="get_TargetsAtLeast_Silverlight_V4" /> - <Member Status="ApiFxInternal" Name="get_TargetsAtLeast_Silverlight_V5" /> - <Member Status="ApiFxInternal" Name="get_TargetsAtLeast_Silverlight_V6" /> - </Type> - <Type Status="ApiFxInternal" Name="System.Runtime.Versioning.CompatibilitySwitch"> - <Member Status="ApiFxInternal" Name="GetValue(System.String)" /> - <Member Status="ApiFxInternal" Name="IsEnabled(System.String)" /> - <Member Status="ApiFxInternal" Name="GetValueInternal(System.String)" /> - <Member Status="ApiFxInternal" Name="IsEnabledInternal(System.String)" /> - </Type> - <Type Status="ApiFxInternal" Name="System.Runtime.Versioning.TargetFrameworkId"> - <Member Status="ApiFxInternal" MemberType="Field" Name="NotYetChecked" /> - <Member Status="ApiFxInternal" MemberType="Field" Name="Unrecognized" /> - <Member Status="ApiFxInternal" MemberType="Field" Name="Unspecified" /> - <Member Status="ApiFxInternal" MemberType="Field" Name="NetFramework" /> - <Member Status="ApiFxInternal" MemberType="Field" Name="Portable" /> - <Member Status="ApiFxInternal" MemberType="Field" Name="NetCore" /> - <Member Status="ApiFxInternal" MemberType="Field" Name="Silverlight" /> - <Member Status="ApiFxInternal" MemberType="Field" Name="Phone" /> - <Member Status="ApiFxInternal" MemberType="Field" Name="value__" /> - </Type> - <Type Name="System.Console" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="get_Error" /> - <Member Name="get_In" /> - <Member Name="get_Out" /> - <Member Name="Read" /> - <Member Name="ReadLine" /> - <Member Name="SetError(System.IO.TextWriter)" /> - <Member Name="SetIn(System.IO.TextReader)" /> - <Member Name="SetOut(System.IO.TextWriter)" /> - <Member Name="Write(System.Char)" /> - <Member Name="Write(System.Char[])" /> - <Member Name="Write(System.Char[],System.Int32,System.Int32)" /> - <Member Name="Write(System.Int32)" /> - <Member Name="Write(System.Object)" /> - <Member Name="Write(System.String)" /> - <Member Name="Write(System.String,System.Object)" /> - <Member Name="Write(System.String,System.Object,System.Object)" /> - <Member Name="Write(System.String,System.Object,System.Object,System.Object)" /> - <Member Name="Write(System.String,System.Object[])" /> - <Member Name="WriteLine" /> - <Member Name="WriteLine(System.Char)" /> - <Member Name="WriteLine(System.Char[])" /> - <Member Name="WriteLine(System.Int32)" /> - <Member Name="WriteLine(System.Object)" /> - <Member Name="WriteLine(System.String)" /> - <Member Name="WriteLine(System.String,System.Object)" /> - <Member Name="WriteLine(System.String,System.Object,System.Object)" /> - <Member Name="WriteLine(System.String,System.Object,System.Object,System.Object)" /> - <Member Name="WriteLine(System.String,System.Object[])" /> - <Member MemberType="Property" Name="Error" /> - <Member MemberType="Property" Name="In" /> - <Member MemberType="Property" Name="Out" /> - </Type> <Type Name="System.ContextMarshalException"> <Member Name="#ctor" /> <Member Name="#ctor(System.String)" /> @@ -1639,17 +1491,14 @@ <Type Name="System.Diagnostics.StackFrame"> <Member MemberType="Field" Name="OFFSET_UNKNOWN" /> <Member Name="#ctor" /> - <Member Status="ApiFxInternal" Name="#ctor(System.Boolean)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="#ctor(System.Boolean)" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="#ctor(System.Boolean)" /> <Member Name="#ctor(System.Int32)" /> - <Member Status="ApiFxInternal" Name="#ctor(System.Int32,System.Boolean)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="#ctor(System.Int32,System.Boolean)" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="#ctor(System.Int32,System.Boolean)" /> <Member Name="#ctor(System.String,System.Int32)" /> <Member Name="#ctor(System.String,System.Int32,System.Int32)" /> <Member Name="GetFileColumnNumber" /> <Member Name="GetFileLineNumber" /> - <Member Status="ApiFxInternal" Name="GetFileName" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="GetFileName" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="GetFileName" /> <Member Name="GetILOffset" /> <Member Name="GetMethod" /> <Member Name="GetNativeOffset" /> @@ -1658,22 +1507,15 @@ <Type Name="System.Diagnostics.StackTrace"> <Member MemberType="Field" Name="METHODS_TO_SKIP" /> <Member Name="#ctor" /> - <Member Status="ApiFxInternal" Name="#ctor(System.Boolean)" Condition="not FEATURE_LEGACYNETCF"/> - <Member Name="#ctor(System.Boolean)" Condition="FEATURE_LEGACYNETCF"/> + <Member Name="#ctor(System.Boolean)" /> <Member Name="#ctor(System.Diagnostics.StackFrame)" /> <Member Name="#ctor(System.Exception)" /> - <Member Status="ApiFxInternal" Name="#ctor(System.Exception,System.Boolean)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="#ctor(System.Exception,System.Boolean)" Condition="FEATURE_LEGACYNETCF" /> - <Member Status="ApiFxInternal" Name="#ctor(System.Exception,System.Int32)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="#ctor(System.Exception,System.Int32)" Condition="FEATURE_LEGACYNETCF" /> - <Member Status="ApiFxInternal" Name="#ctor(System.Exception,System.Int32,System.Boolean)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="#ctor(System.Exception,System.Int32,System.Boolean)" Condition="FEATURE_LEGACYNETCF" /> - <Member Status="ApiFxInternal" Name="#ctor(System.Int32)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="#ctor(System.Int32)" Condition="FEATURE_LEGACYNETCF" /> - <Member Status="ApiFxInternal" Name="#ctor(System.Int32,System.Boolean)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="#ctor(System.Int32,System.Boolean)" Condition="FEATURE_LEGACYNETCF" /> - <Member Status="ApiFxInternal" Name="#ctor(System.Threading.Thread,System.Boolean)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="#ctor(System.Threading.Thread,System.Boolean)" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="#ctor(System.Exception,System.Boolean)" /> + <Member Name="#ctor(System.Exception,System.Int32)" /> + <Member Name="#ctor(System.Exception,System.Int32,System.Boolean)" /> + <Member Name="#ctor(System.Int32)" /> + <Member Name="#ctor(System.Int32,System.Boolean)" /> + <Member Name="#ctor(System.Threading.Thread,System.Boolean)" /> <Member Name="get_FrameCount" /> <Member Name="GetFrame(System.Int32)" /> <Member Name="GetFrames" /> @@ -1919,22 +1761,6 @@ <Member Name="ToString(System.String)" /> <Member Name="ToString(System.String,System.IFormatProvider)" /> </Type> - <Type Name="System.IO.DriveInfo" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor(System.String)" /> - <Member Name="get_AvailableFreeSpace" /> - <Member Name="get_DriveFormat" /> - <Member Name="get_DriveType" /> - <Member Name="get_IsReady" /> - <Member Name="get_Name" /> - <Member Name="get_RootDirectory" /> - <Member Name="get_TotalFreeSpace" /> - <Member Name="get_TotalSize" /> - <Member Name="get_VolumeLabel" /> - <Member Name="set_VolumeLabel(System.String)" /> - <Member Name="GetDrives" /> - </Type> - <Type Name="System.IO.DriveType" Condition="FEATURE_LEGACYSURFACE"> - </Type> <Type Name="System.EntryPointNotFoundException"> <Member Name="#ctor" /> <Member Name="#ctor(System.String)" /> @@ -1967,7 +1793,6 @@ <Member Name="get_OSVersion" /> <Member Name="get_ProcessorCount" /> <Member Name="get_StackTrace" /> - <Member Name="GetFolderPath(System.Environment+SpecialFolder)" Condition="FEATURE_LEGACYSURFACE" /> <Member Name="GetEnvironmentVariable(System.String)" /> <Member Name="GetEnvironmentVariables" /> <Member Name="GetCommandLineArgs" /> @@ -1975,10 +1800,7 @@ <Member Name="ExpandEnvironmentVariables(System.String)" /> <Member MemberType="Property" Name="OSVersion" /> <Member MemberType="Property" Name="ProcessorCount" /> - <Member Name="get_CurrentDirectory" Condition="FEATURE_LEGACYSURFACE" /> - <Member Name="set_CurrentDirectory(System.String)" Condition="FEATURE_LEGACYSURFACE" /> <!-- FEATURE_LEGACYNETCF --> <Member MemberType="Property" Name="CurrentManagedThreadId" /> - <Member MemberType="Property" Name="CurrentDirectory" Condition="FEATURE_LEGACYSURFACE" /> <Member MemberType="Property" Name="HasShutdownStarted" /> <Member MemberType="Property" Name="NewLine" /> <Member MemberType="Property" Name="StackTrace" /> @@ -1990,16 +1812,6 @@ <Member Name="FailFast(System.String)" /> <Member Name="FailFast(System.String,System.Exception)" /> <Member Name="Exit(System.Int32)" /> - <Member Status="ApiFxInternal" Name="UnsafeGetFolderPath(System.Environment+SpecialFolder)" Condition="FEATURE_LEGACYSURFACE" /> - </Type> - <Type Name="System.Environment+SpecialFolder" Condition="FEATURE_LEGACYSURFACE"> - <Member MemberType="Field" Name="ApplicationData" /> - <Member MemberType="Field" Name="Favorites" /> - <Member MemberType="Field" Name="Personal" /> - <Member MemberType="Field" Name="Programs" /> - <Member MemberType="Field" Name="StartMenu" /> - <Member MemberType="Field" Name="Startup" /> - <Member MemberType="Field" Name="value__" /> </Type> <Type Name="System.EventArgs"> <Member MemberType="Field" Name="Empty" /> @@ -2135,12 +1947,12 @@ <Type Name="System.GC"> <Member Name="AddMemoryPressure(System.Int64)" /> <Member Name="Collect" /> - <Member Name="Collect(System.Int32)" Condition="FEATURE_LEGACYNETCF"/> + <Member Name="Collect(System.Int32)" /> <Member Name="Collect(System.Int32,System.GCCollectionMode)" /> <Member Name="Collect(System.Int32,System.GCCollectionMode,System.Boolean)" /> <Member Name="Collect(System.Int32,System.GCCollectionMode,System.Boolean,System.Boolean)" /> <Member Name="CollectionCount(System.Int32)" /> - <Member Name="GetGeneration(System.Object)" Condition="FEATURE_LEGACYNETCF"/> + <Member Name="GetGeneration(System.Object)" /> <Member Name="get_MaxGeneration" /> <Member Name="GetTotalMemory(System.Boolean)" /> <Member Name="KeepAlive(System.Object)" /> @@ -3199,7 +3011,6 @@ <Member Name="Equals(System.Object)" /> <Member Name="get_Size" /> <Member Name="GetHashCode" /> - <Member Status="ApiFxInternal" Name="IsNull" /> <Member Name="op_Addition(System.IntPtr,System.Int32)" /> <Member Name="op_Equality(System.IntPtr,System.IntPtr)" /> <Member Name="op_Explicit(System.Int32)" ReturnType="System.IntPtr" /> @@ -3239,10 +3050,10 @@ <Member Name="#ctor(System.String)" /> <Member Name="#ctor(System.String,System.Exception)" /> </Type> - <Type Status="ApiFxInternal" Name="System.IO.BufferedStream" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor(System.IO.Stream,System.Int32)" /> - <Member Name="get_UnderlyingStream" /> - <Member Name="get_BufferSize" /> + <Type Status="ApiFxInternal" Name="System.IO.BufferedStream"> + <Member Name="#ctor(System.IO.Stream,System.Int32)" /> + <Member Name="get_UnderlyingStream" /> + <Member Name="get_BufferSize" /> </Type> <Type Name="System.IO.FileLoadException"> <Member Name="#ctor" /> @@ -3253,13 +3064,13 @@ <Member Name="#ctor(System.String,System.String,System.Int32)" /> <!-- Used by EE, do not remove --> <Member Name="get_FileName" /> </Type> - <Type Name="System.IObservable<T>" Condition="FEATURE_LEGACYNETCF"> - <Member Name="Subscribe(System.IObserver<T>)" Condition="FEATURE_LEGACYNETCF" /> + <Type Name="System.IObservable<T>"> + <Member Name="Subscribe(System.IObserver<T>)"/> </Type> - <Type Name="System.IObserver<T>" Condition="FEATURE_LEGACYNETCF"> - <Member Name="OnCompleted" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="OnError(System.Exception)" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="OnNext(T)" Condition="FEATURE_LEGACYNETCF" /> + <Type Name="System.IObserver<T>"> + <Member Name="OnCompleted"/> + <Member Name="OnError(System.Exception)"/> + <Member Name="OnNext(T)"/> </Type> <Type Name="System.IProgress<T>"> <Member Name="Report(T)" /> @@ -3490,7 +3301,7 @@ <Member MemberType="Property" Name="IsError" /> <Member MemberType="Property" Name="Message" /> </Type> - <Type Status="ApiFxInternal" Name="System.OleAutBinder" Condition="FEATURE_COMINTEROP" /> + <Type Status="ImplRoot" Name="System.OleAutBinder" Condition="FEATURE_COMINTEROP" /> <Type Name="System.OperatingSystem"> <Member Name="#ctor(System.PlatformID,System.Version)" /> <Member Name="Clone" /> @@ -3524,17 +3335,6 @@ <Member Name="#ctor(System.String)" /> <Member Name="#ctor(System.String,System.Exception)" /> </Type> - <Type Name="System.PlatformID"> - <Member MemberType="Field" Name="MacOSX" Condition="not FEATURE_LEGACYNETCF" /> - <Member MemberType="Field" Name="NokiaS60" Condition="FEATURE_LEGACYNETCF" /> - <Member MemberType="Field" Name="Unix" /> - <Member MemberType="Field" Name="value__" /> - <Member MemberType="Field" Name="Win32NT" /> - <Member MemberType="Field" Name="Win32S" /> - <Member MemberType="Field" Name="Win32Windows" /> - <Member MemberType="Field" Name="WinCE" /> - <Member MemberType="Field" Name="Xbox" /> - </Type> <Type Name="System.Predicate<T>"> <Member Name="#ctor(System.Object,System.IntPtr)" /> <Member Name="BeginInvoke(T,System.AsyncCallback,System.Object)" /> @@ -3579,10 +3379,11 @@ <Member Name="CreateInstance(System.String,System.Boolean)" /> <Member Name="CreateQualifiedName(System.String,System.String)" /> <Member Name="GetReferencedAssemblies" /> - <Member Name="get_EntryPoint" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="get_EntryPoint" /> <Member Name="get_FullName" /> - <Member Name="get_ImageRuntimeVersion" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="get_ImageRuntimeVersion" /> <Member Name="get_IsDynamic" /> + <Member Name="get_CodeBase" /> <Member Name="get_Location" /> <Member Name="get_ManifestModule" /> <Member Name="get_CustomAttributes" /> @@ -3592,7 +3393,7 @@ <Member Name="GetCustomAttributes(System.Type,System.Boolean)" /> <Member Name="GetExecutingAssembly" /> <Member Name="GetEntryAssembly" /> - <Member Name="GetExportedTypes" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="GetExportedTypes" /> <Member Name="GetManifestResourceNames" /> <Member Name="GetManifestResourceStream(System.String)" /> <Member Name="GetManifestResourceInfo(System.String)" /> @@ -3600,36 +3401,24 @@ <Member Name="GetModules" /> <Member Name="Equals(System.Object)" /> <Member Name="GetHashCode" /> - <Member Status="ApiFxInternal" Name="GetName" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="GetName" Condition="FEATURE_LEGACYNETCF" /> - <Member Status="ApiFxInternal" Name="GetName(System.Boolean)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="GetName(System.Boolean)" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="GetSatelliteAssembly(System.Globalization.CultureInfo)" /> - <Member Name="GetSatelliteAssembly(System.Globalization.CultureInfo,System.Version)" /> + <Member Name="GetName" /> <Member Name="GetType(System.String)" /> <Member Name="GetType(System.String,System.Boolean)" /> <Member Name="GetType(System.String,System.Boolean,System.Boolean)" /> <Member Name="GetTypes" /> <Member Name="IsDefined(System.Type,System.Boolean)" /> <Member Name="IsDynamic" MemberType="Property" /> - <Member Status="ApiFxInternal" Name="Load(System.Reflection.AssemblyName)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="Load(System.Reflection.AssemblyName)" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="Load(System.Reflection.AssemblyName)" /> <Member Name="Load(System.String)" /> - <Member Status="ApiFxInternal" Name="Load(System.Byte[])" /> - <Member Status="ApiFxInternal" Name="Load(System.IO.Stream)" /> - <Member Status="ApiFxInternal" Name="Load(System.IO.Stream,System.IO.Stream)" /> - <Member Status="ApiFxInternal" Name="Load(System.Byte[],System.Byte[])" /> <!-- for debugging --> - <Member Status="ApiFxInternal" Name="LoadFrom(System.String)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="LoadFrom(System.String)" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="LoadFile(System.String)"/> <Member Name="ToString" /> <Member MemberType="Property" Name="DefinedTypes" /> <Member MemberType="Property" Name="CustomAttributes" /> <Member MemberType="Property" Name="Modules" /> <Member MemberType="Property" Name="ExportedTypes" /> - <Member MemberType="Property" Name="EntryPoint" Condition="FEATURE_LEGACYNETCF" /> + <Member MemberType="Property" Name="EntryPoint" /> <Member MemberType="Property" Name="FullName" /> - <Member MemberType="Property" Name="ImageRuntimeVersion" Condition="FEATURE_LEGACYNETCF" /> + <Member MemberType="Property" Name="CodeBase" /> + <Member MemberType="Property" Name="ImageRuntimeVersion" /> <Member MemberType="Property" Name="Location" /> <Member MemberType="Property" Name="ManifestModule" /> <Member Status="ImplRoot" MemberType="Event" Name="ModuleResolve" /> @@ -3664,8 +3453,6 @@ <Member Status="ImplRoot" MemberType="Field" Name="m_assembly" /> <Member Status="ImplRoot" Name="OnModuleResolveEvent(System.String)" /> <!-- EE --> <Member Status="ImplRoot" MemberType="Property" Name="DefinedTypes" /> - <!-- On Windows Phone Assembly.LoadFrom throws a NotSupportedException. Prevent this internal helper from being stripped by the rewriter so that tests may reflect and call it since they need LoadFrom functionality --> - <Member Status="ImplRoot" Name="InternalLoadFrom(System.String,System.Security.Policy.Evidence,System.Byte[],System.Configuration.Assemblies.AssemblyHashAlgorithm,System.Boolean,System.Boolean,System.Threading.StackCrawlMark@)" Condition="FEATURE_WINDOWSPHONE" /> </Type> <Type Name="System.Reflection.TypeInfo"> <Member Name="#ctor" /> @@ -3757,9 +3544,6 @@ </Type> <Type Name="System.Reflection.AssemblyName"> <Member Name="#ctor" /> - <Member Name="Clone" /> - <Member Status="ApiFxInternal" Name="get_CodeBase" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="get_CodeBase" Condition="FEATURE_LEGACYNETCF" /> <Member Name="get_CultureInfo" /> <Member Name="get_CultureName" /> <Member Name="get_ContentType" /> @@ -3769,35 +3553,27 @@ <Member Name="get_Name" /> <Member Name="get_ProcessorArchitecture" /> <Member Name="get_Version" /> - <Member Name="get_VersionCompatibility" /> <Member Name="GetPublicKey" /> <Member Name="GetPublicKeyToken" /> - <Member Status="ApiFxInternal" Name="set_CodeBase(System.String)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="set_CodeBase(System.String)" Condition="FEATURE_LEGACYNETCF" /> <Member Name="set_CultureInfo(System.Globalization.CultureInfo)" /> <Member Name="set_Flags(System.Reflection.AssemblyNameFlags)" /> <Member Name="set_HashAlgorithm(System.Configuration.Assemblies.AssemblyHashAlgorithm)" /> <Member Name="set_Name(System.String)" /> <Member Name="set_ProcessorArchitecture(System.Reflection.ProcessorArchitecture)" /> <Member Name="set_Version(System.Version)" /> - <Member Name="set_VersionCompatibility(System.Configuration.Assemblies.AssemblyVersionCompatibility)" /> <Member Name="SetPublicKey(System.Byte[])" /> <Member Name="SetPublicKeyToken(System.Byte[])" /> <Member Name="ToString" /> <Member Name="#ctor(System.String)" /> - <Member Name="ReferenceMatchesDefinition(System.Reflection.AssemblyName,System.Reflection.AssemblyName)" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="CodeBase" Condition="not FEATURE_LEGACYNETCF" /> - <Member MemberType="Property" Name="CodeBase" Condition="FEATURE_LEGACYNETCF" /> <Member MemberType="Property" Name="CultureInfo" /> <Member MemberType="Property" Name="CultureName" /> - <Member MemberType="Property" Name="ContentType" /> + <Member MemberType="Property" Name="ContentType" /> <Member MemberType="Property" Name="Flags" /> <Member MemberType="Property" Name="FullName" /> <Member MemberType="Property" Name="HashAlgorithm" /> <Member MemberType="Property" Name="Name" /> <Member MemberType="Property" Name="ProcessorArchitecture" /> <Member MemberType="Property" Name="Version" /> - <Member MemberType="Property" Name="VersionCompatibility" /> </Type> <Type Name="System.Reflection.AssemblyNameFlags"> <Member MemberType="Field" Name="None" /> @@ -3981,31 +3757,21 @@ <Member MemberType="Property" Name="MemberName" /> </Type> <Type Name="System.Reflection.Emit.AssemblyBuilder"> - <Member Status="ApiFxInternal" Name="AddResourceFile(System.String,System.String)" /> - <Member Status="ApiFxInternal" Name="AddResourceFile(System.String,System.String,System.Reflection.ResourceAttributes)" /> <Member Name="DefineDynamicAssembly(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess)" /> <Member Name="DefineDynamicAssembly(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess,System.Collections.Generic.IEnumerable<System.Reflection.Emit.CustomAttributeBuilder>)" /> <Member Name="SetCustomAttribute(System.Reflection.ConstructorInfo,System.Byte[])" /> <Member Name="DefineDynamicModule(System.String)" /> <Member Name="DefineDynamicModule(System.String,System.Boolean)" /> - <Member Status="ApiFxInternal" Name="get_CodeBase" /> <Member Name="get_EntryPoint" /> <Member Name="get_ImageRuntimeVersion" /> - <Member Status="ApiFxInternal" Name="get_Location" /> <Member Name="GetDynamicModule(System.String)" /> <Member Name="GetExportedTypes" /> - <Member Status="ApiFxInternal" Name="GetFile(System.String)" Condition="FEATURE_LEGACYSURFACE" /> - <Member Status="ApiFxInternal" Name="GetFiles(System.Boolean)" Condition="FEATURE_LEGACYSURFACE" /> <Member Name="GetManifestResourceNames" /> <Member Name="GetManifestResourceStream(System.String)" /> <Member Name="GetManifestResourceStream(System.Type,System.String)" /> <Member Name="SetCustomAttribute(System.Reflection.Emit.CustomAttributeBuilder)" /> - <Member Status="ApiFxInternal" Name="SetEntryPoint(System.Reflection.MethodInfo)" /> - <Member Status="ApiFxInternal" Name="SetEntryPoint(System.Reflection.MethodInfo,System.Reflection.Emit.PEFileKinds)" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="CodeBase" /> <Member MemberType="Property" Name="EntryPoint" /> <Member MemberType="Property" Name="ImageRuntimeVersion" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="Location" /> </Type> <Type Name="System.Reflection.Emit.AssemblyBuilderAccess"> <Member MemberType="Field" Name="Run" /> @@ -4088,20 +3854,13 @@ </Type> <Type Name="System.Reflection.Emit.DynamicMethod"> <Member Name="#ctor(System.String,System.Type,System.Type[])" /> - <Member Status="ApiFxInternal" Name="#ctor(System.String,System.Type,System.Type[],System.Boolean)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="#ctor(System.String,System.Type,System.Type[],System.Boolean)" Condition="FEATURE_LEGACYNETCF" /> - <Member Status="ApiFxInternal" Name="#ctor(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Reflection.Module,System.Boolean)" Condition="not FEATURE_LEGACYNETCF"/> - <Member Name="#ctor(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Reflection.Module,System.Boolean)" Condition="FEATURE_LEGACYNETCF"/> - <Member Status="ApiFxInternal" Name="#ctor(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type,System.Boolean)" Condition="not FEATURE_LEGACYNETCF"/> - <Member Name="#ctor(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type,System.Boolean)" Condition="FEATURE_LEGACYNETCF"/> - <Member Status="ApiFxInternal" Name="#ctor(System.String,System.Type,System.Type[],System.Reflection.Module)" Condition="not FEATURE_LEGACYNETCF"/> - <Member Name="#ctor(System.String,System.Type,System.Type[],System.Reflection.Module)" Condition="FEATURE_LEGACYNETCF"/> - <Member Status="ApiFxInternal" Name="#ctor(System.String,System.Type,System.Type[],System.Reflection.Module,System.Boolean)" Condition="not FEATURE_LEGACYNETCF"/> - <Member Name="#ctor(System.String,System.Type,System.Type[],System.Reflection.Module,System.Boolean)" Condition="FEATURE_LEGACYNETCF"/> - <Member Status="ApiFxInternal" Name="#ctor(System.String,System.Type,System.Type[],System.Type)" Condition="not FEATURE_LEGACYNETCF"/> - <Member Name="#ctor(System.String,System.Type,System.Type[],System.Type)" Condition="FEATURE_LEGACYNETCF"/> - <Member Status="ApiFxInternal" Name="#ctor(System.String,System.Type,System.Type[],System.Type,System.Boolean)" Condition="not FEATURE_LEGACYNETCF"/> - <Member Name="#ctor(System.String,System.Type,System.Type[],System.Type,System.Boolean)" Condition="FEATURE_LEGACYNETCF"/> + <Member Name="#ctor(System.String,System.Type,System.Type[],System.Boolean)" /> + <Member Name="#ctor(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Reflection.Module,System.Boolean)" /> + <Member Name="#ctor(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type,System.Boolean)" /> + <Member Name="#ctor(System.String,System.Type,System.Type[],System.Reflection.Module)" /> + <Member Name="#ctor(System.String,System.Type,System.Type[],System.Reflection.Module,System.Boolean)" /> + <Member Name="#ctor(System.String,System.Type,System.Type[],System.Type)" /> + <Member Name="#ctor(System.String,System.Type,System.Type[],System.Type,System.Boolean)" /> <Member Name="CreateDelegate(System.Type)" /> <Member Name="CreateDelegate(System.Type,System.Object)" /> <Member Name="DefineParameter(System.Int32,System.Reflection.ParameterAttributes,System.String)" /> @@ -4434,7 +4193,6 @@ <Member MemberType="Property" Name="LocalType" /> </Type> <Type Name="System.Reflection.Emit.MethodBuilder"> - <Member Status="ApiFxInternal" Name="CreateMethodBody(System.Byte[],System.Int32)" /> <Member Name="DefineGenericParameters(System.String[])" /> <Member Name="DefineParameter(System.Int32,System.Reflection.ParameterAttributes,System.String)" /> <Member Name="Equals(System.Object)" /> @@ -4508,9 +4266,6 @@ <Member Name="DefineGlobalMethod(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][])" /> <Member Name="DefineGlobalMethod(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[])" /> <Member Name="DefineInitializedData(System.String,System.Byte[],System.Reflection.FieldAttributes)" /> - <Member Status="ApiFxInternal" Name="DefineManifestResource(System.String,System.IO.Stream,System.Reflection.ResourceAttributes)" /> - <Member Status="ApiFxInternal" Name="DefinePInvokeMethod(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet)" /> - <Member Status="ApiFxInternal" Name="DefinePInvokeMethod(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet)" /> <Member Name="DefineType(System.String)" /> <Member Name="DefineType(System.String,System.Reflection.TypeAttributes)" /> <Member Name="DefineType(System.String,System.Reflection.TypeAttributes,System.Type)" /> @@ -4519,8 +4274,6 @@ <Member Name="DefineType(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32)" /> <Member Name="DefineType(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[])" /> <Member Name="DefineUninitializedData(System.String,System.Int32,System.Reflection.FieldAttributes)" /> - <Member Status="ApiFxInternal" Name="DefineUnmanagedResource(System.Byte[])" /> - <Member Status="ApiFxInternal" Name="DefineUnmanagedResource(System.String)" /> <Member Name="get_FullyQualifiedName" /> <Member Name="GetArrayMethod(System.Type,System.String,System.Reflection.CallingConventions,System.Type,System.Type[])" /> <Member Name="GetArrayMethodToken(System.Type,System.String,System.Reflection.CallingConventions,System.Type,System.Type[])" /> @@ -4539,7 +4292,6 @@ <Member Name="IsTransient" /> <Member Name="SetCustomAttribute(System.Reflection.ConstructorInfo,System.Byte[])" /> <Member Name="SetCustomAttribute(System.Reflection.Emit.CustomAttributeBuilder)" /> - <Member Status="ApiFxInternal" Name="SetUserEntryPoint(System.Reflection.MethodInfo)" /> <Member MemberType="Property" Name="FullyQualifiedName" /> </Type> <Type Name="System.Reflection.Emit.OpCode"> @@ -5016,9 +4768,6 @@ <Member Name="DefineNestedType(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize)" /> <Member Name="DefineNestedType(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32)" /> <Member Name="DefineNestedType(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[])" /> - <Member Status="ApiFxInternal" Name="DefinePInvokeMethod(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet)" /> - <Member Status="ApiFxInternal" Name="DefinePInvokeMethod(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet)" /> - <Member Status="ApiFxInternal" Name="DefinePInvokeMethod(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet)" /> <Member Name="DefineProperty(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[])" /> <Member Name="DefineProperty(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][])" /> <Member Name="DefineProperty(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[])" /> @@ -5335,20 +5084,15 @@ <Member Name="get_IsStatic" /> <Member Name="get_IsVirtual" /> <Member Name="get_MethodHandle" /> - <Member Name="get_MethodImplementationFlags" /> - <!-- - <Member Name="get_IsSecurityCritical" /> - <Member Name="get_IsSecuritySafeCritical" /> - <Member Name="get_IsSecurityTransparent" /> - --> + <Member Name="get_MethodImplementationFlags" /> <Member Name="GetGenericArguments" /> <Member Status="ImplRoot" Name="GetMethodDesc" /> <Member Name="GetMethodFromHandle(System.RuntimeMethodHandle)" /> <Member Name="GetMethodFromHandle(System.RuntimeMethodHandle,System.RuntimeTypeHandle)" /> - <Member Name="GetMethodImplementationFlags" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="GetMethodImplementationFlags" /> <Member Name="GetParameters" /> <Member Name="Equals(System.Object)" /> - <Member Name="GetHashCode" /> + <Member Name="GetHashCode" /> <Member Name="Invoke(System.Object,System.Object[])" /> <Member Name="Invoke(System.Object,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object[],System.Globalization.CultureInfo)" /> <Member MemberType="Property" Name="Attributes" /> @@ -5394,7 +5138,7 @@ <Type Name="System.Reflection.MethodInfo"> <Member Name="#ctor" /> <Member Name="get_MemberType" /> - <Member Name="get_ReturnParameter" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="get_ReturnParameter" /> <Member Name="get_ReturnType" /> <Member Name="get_ReturnTypeCustomAttributes" /> <Member Name="GetBaseDefinition" /> @@ -5404,7 +5148,7 @@ <Member Name="GetHashCode" /> <Member Name="MakeGenericMethod(System.Type[])" /> <Member MemberType="Property" Name="MemberType" /> - <Member MemberType="Property" Name="ReturnParameter" Condition="FEATURE_LEGACYNETCF" /> + <Member MemberType="Property" Name="ReturnParameter" /> <Member MemberType="Property" Name="ReturnType" /> <Member MemberType="Property" Name="ReturnTypeCustomAttributes" /> </Type> @@ -5414,9 +5158,8 @@ <Type Name="System.Reflection.Module"> <Member Name="#ctor" /> <Member Name="get_Assembly" /> - <Member Name="get_CustomAttributes" /> - <Member Status="ApiFxInternal" Name="get_FullyQualifiedName" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="get_FullyQualifiedName" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="get_CustomAttributes" /> + <Member Name="get_FullyQualifiedName" /> <Member Name="get_MetadataToken" /> <Member Name="get_ModuleVersionId" /> <Member Name="get_Name" /> @@ -5435,8 +5178,8 @@ <Member Name="GetMethods" /> <Member Name="GetMethods(System.Reflection.BindingFlags)" /> <Member Name="GetType(System.String)" /> - <Member Name="GetType(System.String,System.Boolean)" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="GetType(System.String,System.Boolean,System.Boolean)" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="GetType(System.String,System.Boolean)" /> + <Member Name="GetType(System.String,System.Boolean,System.Boolean)" /> <Member Name="GetTypes" /> <Member Name="Equals(System.Object)" /> <Member Name="GetHashCode" /> @@ -5450,9 +5193,8 @@ <Member Name="ResolveType(System.Int32,System.Type[],System.Type[])" /> <Member Name="ToString" /> <Member MemberType="Property" Name="Assembly" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="FullyQualifiedName" Condition="not FEATURE_LEGACYNETCF" /> <Member MemberType="Property" Name="CustomAttributes" /> - <Member MemberType="Property" Name="FullyQualifiedName" Condition="FEATURE_LEGACYNETCF" /> + <Member MemberType="Property" Name="FullyQualifiedName" /> <Member MemberType="Property" Name="MetadataToken" /> <Member MemberType="Property" Name="ModuleVersionId" /> <Member MemberType="Property" Name="Name" /> @@ -5619,30 +5361,12 @@ <Member MemberType="Field" Name="value__" /> <Member MemberType="Field" Name="VisibilityMask" /> </Type> - <Type Name="System.Reflection.TypeDelegator"> + <Type Status="ImplRoot" Name="System.Reflection.TypeDelegator"> <Member Name="#ctor" /> <Member Name="#ctor(System.Type)" /> <Member Name="get_MetadataToken" /> <Member MemberType="Property" Name="MetadataToken" /> </Type> - <Type Name="System.ResolveEventArgs"> - <Member Name="#ctor(System.String)" /> - <Member Name="#ctor(System.String,System.Reflection.Assembly)" /> - <Member Name="get_Name" /> - <Member MemberType="Property" Name="Name" /> - <Member Name="get_RequestingAssembly" /> - <Member MemberType="Property" Name="RequestingAssembly" /> - </Type> - <Type Name="System.ResolveEventHandler" Condition="FEATURE_LEGACYNETCF"> - <Member Name="#ctor(System.Object,System.IntPtr)" /> - <Member Name="BeginInvoke(System.Object,System.ResolveEventArgs,System.AsyncCallback,System.Object)" /> - <Member Name="EndInvoke(System.IAsyncResult)" /> - <Member Name="Invoke(System.Object,System.ResolveEventArgs)" /> - </Type> - <Type Name="System.Resources.IResourceReader"> - <Member Name="Close" /> - <Member Name="GetEnumerator" /> - </Type> <Type Name="System.Resources.MissingManifestResourceException"> <Member Name="#ctor" /> <Member Name="#ctor(System.String)" /> @@ -5689,11 +5413,8 @@ <Member MemberType="Field" Name="Reader" /> <Member MemberType="Field" Name="Table" /> <Member Name="#ctor" /> - <Member Status="ApiFxInternal" Name="#ctor(System.IO.Stream)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="#ctor(System.IO.Stream)" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="#ctor(System.Resources.IResourceReader)" /> - <Member Status="ApiFxInternal" Name="#ctor(System.String)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="#ctor(System.String)" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="#ctor(System.IO.Stream)" /> + <Member Name="#ctor(System.String)" /> <Member Name="Close" /> <Member Name="Dispose" /> <Member Name="Dispose(System.Boolean)" /> @@ -5858,8 +5579,8 @@ <Member Name="RunClassConstructor(System.RuntimeTypeHandle)" /> <Member MemberType="Property" Name="OffsetToStringData" /> <Member Status="ImplRoot" Name="ExecuteBackoutCodeHelper(System.Object,System.Object,System.Boolean)" /> - <Member Status="ApiFxInternal" Name="PrepareConstrainedRegionsNoOP" /> - <Member Status="ApiFxInternal" Name="PrepareConstrainedRegions" /> + <Member Status="ImplRoot" Name="PrepareConstrainedRegionsNoOP" /> + <Member Status="ImplRoot" Name="PrepareConstrainedRegions" /> </Type> <Type Name="System.Runtime.CompilerServices.ConditionalWeakTable<TKey,TValue>"> <Member Name="#ctor" /> @@ -6170,7 +5891,6 @@ <Member Name="GetExceptionForHR(System.Int32,System.IntPtr)" /> <Member Name="GetFunctionPointerForDelegate(System.Delegate)" /> <Member Name="GetHRForException(System.Exception)" /> - <Member Status="ApiFxInternal" Name="GetHRForException_WinRT(System.Exception)" Condition="FEATURE_COMINTEROP" /> <Member Name="GetIUnknownForObject(System.Object)" /> <Member Name="GetLastWin32Error" /> <Member Name="GetHRForLastWin32Error" /> @@ -6202,7 +5922,6 @@ <Member Name="ReadIntPtr(System.IntPtr,System.Int32)" /> <Member Name="Release(System.IntPtr)" /> <Member Name="ReleaseComObject(System.Object)" /> - <Member Name="SecureStringToCoTaskMemUnicode(System.Security.SecureString)" Condition="FEATURE_LEGACYSURFACE"/> <Member Name="SetLastWin32Error(System.Int32)" /> <Member Name="SizeOf(System.Object)" /> <Member Name="SizeOf(System.Type)" /> @@ -6251,11 +5970,11 @@ <Member Name="PtrToStringBSTR(System.IntPtr)" /> <Member Name="PtrToStructure<T>(System.IntPtr)" /> <Member Name="PtrToStructure<T>(System.IntPtr,T)" /> - <Member Name="ReadByte(System.Object,System.Int32)" Condition="FEATURE_LEGACYSURFACE" /> - <Member Name="ReadInt16(System.Object,System.Int32)" Condition="FEATURE_LEGACYSURFACE" /> - <Member Name="ReadInt32(System.Object,System.Int32)" Condition="FEATURE_LEGACYSURFACE" /> - <Member Name="ReadInt64(System.Object,System.Int32)" Condition="FEATURE_LEGACYSURFACE" /> - <Member Name="ReadIntPtr(System.Object,System.Int32)" Condition="FEATURE_LEGACYSURFACE" /> + <Member Name="ReadByte(System.Object,System.Int32)" /> + <Member Name="ReadInt16(System.Object,System.Int32)" /> + <Member Name="ReadInt32(System.Object,System.Int32)" /> + <Member Name="ReadInt64(System.Object,System.Int32)" /> + <Member Name="ReadIntPtr(System.Object,System.Int32)" /> <Member Name="ReAllocCoTaskMem(System.IntPtr,System.Int32)" /> <Member Name="ReAllocHGlobal(System.IntPtr,System.IntPtr)" /> <Member Name="SizeOf<T>" /> @@ -6267,12 +5986,12 @@ <Member Name="StringToHGlobalUni(System.String)" /> <Member Name="StructureToPtr<T>(T,System.IntPtr,System.Boolean)" /> <Member Name="UnsafeAddrOfPinnedArrayElement<T>(T[],System.Int32)" /> - <Member Name="WriteByte(System.Object,System.Int32,System.Byte)" Condition="FEATURE_LEGACYSURFACE" /> - <Member Name="WriteInt16(System.Object,System.Int32,System.Char)" Condition="FEATURE_LEGACYSURFACE" /> - <Member Name="WriteInt16(System.Object,System.Int32,System.Int16)" Condition="FEATURE_LEGACYSURFACE" /> - <Member Name="WriteInt32(System.Object,System.Int32,System.Int32)" Condition="FEATURE_LEGACYSURFACE" /> - <Member Name="WriteInt64(System.Object,System.Int32,System.Int64)" Condition="FEATURE_LEGACYSURFACE" /> - <Member Name="WriteIntPtr(System.Object,System.Int32,System.IntPtr)" Condition="FEATURE_LEGACYSURFACE" /> + <Member Name="WriteByte(System.Object,System.Int32,System.Byte)" /> + <Member Name="WriteInt16(System.Object,System.Int32,System.Char)" /> + <Member Name="WriteInt16(System.Object,System.Int32,System.Int16)" /> + <Member Name="WriteInt32(System.Object,System.Int32,System.Int32)" /> + <Member Name="WriteInt64(System.Object,System.Int32,System.Int64)" /> + <Member Name="WriteIntPtr(System.Object,System.Int32,System.IntPtr)" /> <Member Name="ZeroFreeBSTR(System.IntPtr)" /> <Member Name="ZeroFreeCoTaskMemAnsi(System.IntPtr)" /> <Member Name="ZeroFreeGlobalAllocAnsi(System.IntPtr)" /> @@ -6346,46 +6065,10 @@ <Member MemberType="Property" Name="IsClosed" /> <Member MemberType="Property" Name="IsInvalid" /> </Type> - <Type Name="Microsoft.Win32.SafeHandles.CriticalHandleMinusOneIsInvalid"> - <Member Name="#ctor" /> - <Member Status="ApiRoot" Name="get_IsInvalid" /> - </Type> - <Type Name="Microsoft.Win32.SafeHandles.CriticalHandleZeroOrMinusOneIsInvalid"> - <Member Name="#ctor" /> - <Member Status="ApiRoot" Name="get_IsInvalid" /> - </Type> - <Type Status="ApiFxInternal" Name="Microsoft.Win32.SafeHandles.SafeHandleMinusOneIsInvalid" Condition="not FEATURE_LEGACYNETCF"> - <Member Name="#ctor(System.Boolean)" /> - <Member Status="ApiRoot" Name="get_IsInvalid" /> - </Type> - <Type Name="Microsoft.Win32.SafeHandles.SafeHandleMinusOneIsInvalid" Condition="FEATURE_LEGACYNETCF"> - <Member Name="#ctor(System.Boolean)" /> - <Member Status="ApiRoot" Name="get_IsInvalid" /> - </Type> - <Type Status="ApiFxInternal" Name="Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid" Condition="not FEATURE_LEGACYNETCF"> - <Member Name="#ctor(System.Boolean)" /> - <Member Status="ApiRoot" Name="get_IsInvalid" /> - </Type> - <Type Name="Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid" Condition="FEATURE_LEGACYNETCF"> - <Member Name="#ctor(System.Boolean)" /> - <Member Status="ApiRoot" Name="get_IsInvalid" /> - </Type> - <Type Name="Microsoft.Win32.SafeHandles.SafeRegistryHandle" Condition="FEATURE_WIN32_REGISTRY"> - <Member Name="#ctor(System.IntPtr,System.Boolean)" /> - <Member Name="ReleaseHandle" /> - </Type> - <Type Name="Microsoft.Win32.SafeHandles.SafeFileHandle"> - <Member Name="#ctor(System.IntPtr,System.Boolean)" /> - <Member Name="ReleaseHandle" /> - </Type> - <Type Status="ApiFxInternal" Name="Microsoft.Win32.SafeHandles.SafeWaitHandle" Condition="not FEATURE_LEGACYNETCF"> + <Type Name="Microsoft.Win32.SafeHandles.SafeWaitHandle"> <Member Name="#ctor(System.IntPtr,System.Boolean)" /> <Member Status="ApiRoot" Name="ReleaseHandle" /> </Type> - <Type Name="Microsoft.Win32.SafeHandles.SafeWaitHandle" Condition="FEATURE_LEGACYNETCF"> - <Member Name="#ctor(System.IntPtr,System.Boolean)" /> - <Member Status="ApiRoot" Name="ReleaseHandle" /> - </Type> <Type Name="System.Runtime.InteropServices.SEHException" > <Member Name="#ctor" /> <Member Name="#ctor(System.String)" /> @@ -6461,10 +6144,6 @@ </Type> <Type Name="System.RuntimeFieldHandle"> <Member Name="Equals(System.RuntimeFieldHandle)" /> - <Member Status="ApiFxInternal" Name="get_Value" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="get_Value" Condition="FEATURE_LEGACYNETCF" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="Value" Condition="not FEATURE_LEGACYNETCF" /> - <Member MemberType="Property" Name="Value" Condition="FEATURE_LEGACYNETCF" /> <Member Name="op_Equality(System.RuntimeFieldHandle,System.RuntimeFieldHandle)" /> <Member Name="op_Inequality(System.RuntimeFieldHandle,System.RuntimeFieldHandle)" /> </Type> @@ -6499,612 +6178,6 @@ <Type Name="System.Security.AllowPartiallyTrustedCallersAttribute"> <Member Name="#ctor" /> </Type> - <Type Name="System.Security.Cryptography.Aes" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor" /> - <Member Name="Create" /> - </Type> - <Type Name="System.Security.Cryptography.AsymmetricAlgorithm" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member MemberType="Field" Name="KeySizeValue" /> - <Member MemberType="Field" Name="LegalKeySizesValue" /> - <Member MemberType="Property" Name="KeyExchangeAlgorithm" /> - <Member MemberType="Property" Name="KeySize" /> - <Member MemberType="Property" Name="LegalKeySizes" /> - <Member MemberType="Property" Name="SignatureAlgorithm" /> - <Member Name="#ctor" /> - <Member Name="Clear" /> - <Member Name="Create" /> - <Member Name="Create(System.String)" /> - <Member Name="Dispose" /> - <Member Name="Dispose(System.Boolean)" /> - <Member Name="FromXmlString(System.String)" /> - <Member Name="get_KeyExchangeAlgorithm" /> - <Member Name="get_KeySize" /> - <Member Name="set_KeySize(System.Int32)" /> - <Member Name="get_LegalKeySizes" /> - <Member Name="get_SignatureAlgorithm" /> - <Member Name="ToXmlString(System.Boolean)" /> - </Type> - <Type Name="System.Security.Cryptography.AsymmetricKeyExchangeDeformatter" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member MemberType="Property" Name="Parameters" /> - <Member Name="#ctor" /> - <Member Name="DecryptKeyExchange(System.Byte[])" /> - <Member Name="get_Parameters" /> - <Member Name="SetKey(System.Security.Cryptography.AsymmetricAlgorithm)" Condition="FEATURE_LEGACYSURFACE" /> - <Member Name="set_Parameters(System.String)" /> - </Type> - <Type Name="System.Security.Cryptography.AsymmetricKeyExchangeFormatter" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member MemberType="Property" Name="Parameters" /> - <Member Name="#ctor" /> - <Member Name="CreateKeyExchange(System.Byte[])" /> - <Member Name="CreateKeyExchange(System.Byte[],System.Type)" /> - <Member Name="get_Parameters" /> - <Member Name="SetKey(System.Security.Cryptography.AsymmetricAlgorithm)" /> - </Type> - <Type Name="System.Security.Cryptography.AsymmetricSignatureDeformatter" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member Name="#ctor" /> - <Member Name="SetHashAlgorithm(System.String)" /> - <Member Name="SetKey(System.Security.Cryptography.AsymmetricAlgorithm)" /> - <Member Name="VerifySignature(System.Security.Cryptography.HashAlgorithm,System.Byte[])" /> - <Member Name="VerifySignature(System.Byte[],System.Byte[])" /> - </Type> - <Type Name="System.Security.Cryptography.AsymmetricSignatureFormatter" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member Name="#ctor" /> - <Member Name="CreateSignature(System.Byte[])" /> - <Member Name="CreateSignature(System.Security.Cryptography.HashAlgorithm)" /> - <Member Name="SetHashAlgorithm(System.String)" /> - <Member Name="SetKey(System.Security.Cryptography.AsymmetricAlgorithm)" /> - </Type> - <Type Name="System.Security.Cryptography.CipherMode" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member MemberType="Field" Name="CBC" /> - <Member MemberType="Field" Name="CTS" /> - <Member MemberType="Field" Name="ECB" /> - </Type> - <Type Name="System.Security.Cryptography.CryptoConfig" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="CreateFromName(System.String)" /> - </Type> - <Type Name="System.Security.Cryptography.CryptographicUnexpectedOperationException" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor(System.String)" /> - </Type> - <Type Name="System.Security.Cryptography.CryptoStream" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor(System.IO.Stream,System.Security.Cryptography.ICryptoTransform,System.Security.Cryptography.CryptoStreamMode)" /> - <Member Name="Clear" /> - <Member Name="Dispose(System.Boolean)" /> - <Member Name="Flush" /> - <Member Name="FlushAsync(System.Threading.CancellationToken)" /> - <Member Name="FlushFinalBlock" /> - <Member Name="Read(System.Byte[],System.Int32,System.Int32)" /> - <Member Name="ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)" /> - <Member Name="Seek(System.Int64,System.IO.SeekOrigin)" /> - <Member Name="SetLength(System.Int64)" /> - <Member Name="Write(System.Byte[],System.Int32,System.Int32)" /> - <Member Name="WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)" /> - <Member MemberType="Property" Name="CanRead" /> - <Member MemberType="Property" Name="CanSeek" /> - <Member MemberType="Property" Name="CanWrite" /> - <Member MemberType="Property" Name="HasFlushedFinalBlock" /> - <Member MemberType="Property" Name="Length" /> - <Member MemberType="Property" Name="Position" /> - <Member Name="get_CanRead" /> - <Member Name="get_CanSeek" /> - <Member Name="get_CanWrite" /> - <Member Name="get_HasFlushedFinalBlock" /> - <Member Name="get_Length" /> - <Member Name="get_Position" /> - <Member Name="set_Position(System.Int64)" /> - </Type> - <Type Name="System.Security.Cryptography.CryptoStreamMode" Condition="FEATURE_LEGACYSURFACE"> - <Member MemberType="Field" Name="Read" /> - <Member MemberType="Field" Name="Write" /> - </Type> - <Type Name="System.Security.Cryptography.CspKeyContainerInfo" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member Name="#ctor(System.Security.Cryptography.CspParameters)" /> - <Member MemberType="Property" Name="Accessible" /> - <Member MemberType="Property" Name="Exportable" /> - <Member MemberType="Property" Name="HardwareDevice" /> - <Member MemberType="Property" Name="KeyContainerName" /> - <Member MemberType="Property" Name="KeyNumber" /> - <Member MemberType="Property" Name="MachineKeyStore" /> - <Member MemberType="Property" Name="Protected" /> - <Member MemberType="Property" Name="ProviderName" /> - <Member MemberType="Property" Name="ProviderType" /> - <Member MemberType="Property" Name="RandomlyGenerated" /> - <Member MemberType="Property" Name="Removable" /> - <Member MemberType="Property" Name="UniqueKeyContainerName" /> - <Member Name="get_Accessible" /> - <Member Name="get_Exportable" /> - <Member Name="get_HardwareDevice" /> - <Member Name="get_KeyContainerName" /> - <Member Name="get_KeyNumber" /> - <Member Name="get_MachineKeyStore" /> - <Member Name="get_Protected" /> - <Member Name="get_ProviderName" /> - <Member Name="get_ProviderType" /> - <Member Name="get_RandomlyGenerated" /> - <Member Name="get_Removable" /> - <Member Name="get_UniqueKeyContainerName" /> - </Type> - <Type Name="System.Security.Cryptography.CspParameters" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member MemberType="Field" Name="KeyContainerName" /> - <Member MemberType="Field" Name="KeyNumber" /> - <Member MemberType="Field" Name="ProviderName" /> - <Member MemberType="Field" Name="ProviderType" /> - <Member MemberType="Property" Name="Flags" /> - <Member MemberType="Property" Name="KeyPassword" /> - <Member MemberType="Property" Name="ParentWindowHandle" /> - <Member Name="#ctor" /> - <Member Name="#ctor(System.Int32)" /> - <Member Name="#ctor(System.Int32,System.String)" /> - <Member Name="#ctor(System.Int32,System.String,System.String)" /> - <Member Name="get_Flags" /> - <Member Name="set_Flags(System.Security.Cryptography.CspProviderFlags)" /> - <Member Name="get_KeyPassword" /> - <Member Name="set_KeyPassword(System.Security.SecureString)" /> - <Member Name="get_ParentWindowHandle" /> - <Member Name="set_ParentWindowHandle(System.IntPtr)" /> - </Type> - <Type Name="System.Security.Cryptography.CspProviderFlags" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member MemberType="Field" Name="CreateEphemeralKey" /> - <Member MemberType="Field" Name="NoFlags" /> - <Member MemberType="Field" Name="NoPrompt" /> - <Member MemberType="Field" Name="UseArchivableKey" /> - <Member MemberType="Field" Name="UseDefaultKeyContainer" /> - <Member MemberType="Field" Name="UseExistingKey" /> - <Member MemberType="Field" Name="UseMachineKeyStore" /> - <Member MemberType="Field" Name="UseNonExportableKey" /> - <Member MemberType="Field" Name="UseUserProtectedKey" /> - <Member MemberType="Field" Name="value__" /> - </Type> - <Type Name="System.Security.Cryptography.ICspAsymmetricAlgorithm" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member MemberType="Property" Name="CspKeyContainerInfo" /> - <Member Name="ExportCspBlob(System.Boolean)" /> - <Member Name="get_CspKeyContainerInfo" /> - <Member Name="ImportCspBlob(System.Byte[])" /> - </Type> - <Type Name="System.Security.Cryptography.DeriveBytes" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor" /> - <Member Name="Dispose" /> - <Member Name="Dispose(System.Boolean)" /> - <Member Name="GetBytes(System.Int32)" /> - <Member Name="Reset" /> - </Type> - <Type Name="System.Security.Cryptography.HashAlgorithm" Condition="FEATURE_LEGACYSURFACE"> - <Member MemberType="Field" Name="HashSizeValue" /> - <Member MemberType="Field" Name="HashValue" /> - <Member MemberType="Field" Name="State" /> - <Member MemberType="Property" Name="CanReuseTransform" /> - <Member MemberType="Property" Name="CanTransformMultipleBlocks" /> - <Member MemberType="Property" Name="Hash" /> - <Member MemberType="Property" Name="HashSize" /> - <Member MemberType="Property" Name="InputBlockSize" /> - <Member MemberType="Property" Name="OutputBlockSize" /> - <Member Name="#ctor" /> - <Member Name="Clear" /> - <Member Name="ComputeHash(System.Byte[])" /> - <Member Name="ComputeHash(System.Byte[],System.Int32,System.Int32)" /> - <Member Name="ComputeHash(System.IO.Stream)" /> - <Member Name="Dispose" /> - <Member Name="Dispose(System.Boolean)" /> - <Member Name="get_CanReuseTransform" /> - <Member Name="get_CanTransformMultipleBlocks" /> - <Member Name="get_Hash" /> - <Member Name="get_HashSize" /> - <Member Name="get_InputBlockSize" /> - <Member Name="get_OutputBlockSize" /> - <Member Name="HashCore(System.Byte[],System.Int32,System.Int32)"/> - <Member Name="HashFinal"/> - <Member Name="Initialize"/> - <Member Name="TransformBlock(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)" /> - <Member Name="TransformFinalBlock(System.Byte[],System.Int32,System.Int32)" /> - </Type> - <Type Name="System.Security.Cryptography.HMAC" Condition="FEATURE_LEGACYSURFACE"> - <Member MemberType="Property" Name="BlockSizeValue" /> - <Member MemberType="Property" Name="HashName" /> - <Member MemberType="Property" Name="Key" /> - <Member Name="#ctor" /> - <Member Name="Dispose(System.Boolean)" /> - <Member Name="HashCore(System.Byte[],System.Int32,System.Int32)" /> - <Member Name="HashFinal" /> - <Member Name="Initialize" /> - <Member Name="get_HashName" /> - <Member Name="set_HashName(System.String)" /> - <Member Name="get_Key" /> - <Member Name="set_Key(System.Byte[])" /> - </Type> - <Type Name="System.Security.Cryptography.HMACSHA1" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor" /> - <Member Name="#ctor(System.Byte[])" /> - </Type> - <Type Name="System.Security.Cryptography.HMACSHA256" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor" /> - <Member Name="#ctor(System.Byte[])" /> - </Type> - <Type Name="System.Security.Cryptography.HMACSHA384" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor" /> - <Member Name="#ctor(System.Byte[])" /> - </Type> - <Type Name="System.Security.Cryptography.HMACSHA512" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor" /> - <Member Name="#ctor(System.Byte[])" /> - </Type> - <Type Name="System.Security.Cryptography.ICryptoTransform" Condition="FEATURE_LEGACYSURFACE"> - <Member MemberType="Property" Name="CanReuseTransform" /> - <Member MemberType="Property" Name="CanTransformMultipleBlocks" /> - <Member MemberType="Property" Name="InputBlockSize" /> - <Member MemberType="Property" Name="OutputBlockSize" /> - <Member Name="get_CanReuseTransform" /> - <Member Name="get_CanTransformMultipleBlocks" /> - <Member Name="get_InputBlockSize" /> - <Member Name="get_OutputBlockSize" /> - <Member Name="TransformBlock(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)" /> - <Member Name="TransformFinalBlock(System.Byte[],System.Int32,System.Int32)" /> - </Type> - <Type Name="System.Security.Cryptography.KeyedHashAlgorithm" Condition="FEATURE_LEGACYSURFACE"> - <Member MemberType="Field" Name="KeyValue" /> - <Member MemberType="Property" Name="Key" /> - <Member Name="#ctor" /> - <Member Name="Dispose(System.Boolean)" /> - <Member Name="get_Key" /> - <Member Name="set_Key(System.Byte[])" /> - </Type> - <Type Name="System.Security.Cryptography.KeyNumber" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member MemberType="Field" Name="Exchange" /> - <Member MemberType="Field" Name="Signature" /> - <Member MemberType="Field" Name="value__" /> - </Type> - <Type Name="System.Security.Cryptography.KeySizes" Condition="FEATURE_LEGACYSURFACE"> - <Member MemberType="Property" Name="MaxSize" /> - <Member MemberType="Property" Name="MinSize" /> - <Member MemberType="Property" Name="SkipSize" /> - <Member Name="#ctor(System.Int32,System.Int32,System.Int32)" /> - <Member Name="get_MaxSize" /> - <Member Name="get_MinSize" /> - <Member Name="get_SkipSize" /> - </Type> - <Type Name="System.Security.Cryptography.MaskGenerationMethod" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member Name="#ctor" /> - <Member Name="GenerateMask(System.Byte[],System.Int32)" /> - </Type> - <Type Name="System.Security.Cryptography.MD5" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor" /> - <Member Name="Create" /> - <Member Name="Create(System.String)" /> - </Type> - <Type Name="System.Security.Cryptography.PaddingMode" Condition="FEATURE_LEGACYSURFACE"> - <Member MemberType="Field" Name="None" /> - <Member MemberType="Field" Name="PKCS7" /> - <Member MemberType="Field" Name="Zeros" /> - </Type> - <Type Name="System.Security.Cryptography.PKCS1MaskGenerationMethod" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member MemberType="Property" Name="HashName" /> - <Member Name="#ctor" /> - <Member Name="GenerateMask(System.Byte[],System.Int32)" /> - <Member Name="get_HashName" /> - </Type> - <Type Name="System.Security.Cryptography.Rfc2898DeriveBytes" Condition="FEATURE_LEGACYSURFACE"> - <Member MemberType="Property" Name="IterationCount" /> - <Member MemberType="Property" Name="Salt" /> - <Member Name="#ctor(System.String,System.Byte[])" /> - <Member Name="#ctor(System.String,System.Byte[],System.Int32)" /> - <Member Name="#ctor(System.String,System.Int32)" /> - <Member Name="#ctor(System.String,System.Int32,System.Int32)" /> - <Member Name="#ctor(System.Byte[],System.Byte[],System.Int32)" /> - <Member Name="CryptDeriveKey(System.String,System.String,System.Int32,System.Byte[])" /> - <Member Name="Dispose(System.Boolean)" /> - <Member Name="GetBytes(System.Int32)" /> - <Member Name="Reset" /> - <Member Name="get_IterationCount" /> - <Member Name="set_IterationCount(System.Int32)" /> - <Member Name="get_Salt" /> - <Member Name="set_Salt(System.Byte[])" /> - </Type> - <Type Name="System.Security.Cryptography.RandomNumberGenerator" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor" /> - <Member Name="Create" /> - <Member Name="Dispose" /> - <Member Name="Dispose(System.Boolean)" /> - <Member Name="GetBytes(System.Byte[])" /> - </Type> - <Type Status="ApiFxInternal" Name="System.Security.Cryptography.Rijndael" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor" /> - </Type> - <Type Status="ApiFxInternal" Name="System.Security.Cryptography.RijndaelManaged" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor" /> - <Member Status="ApiRoot" Name="GenerateIV" /> - <Member Status="ApiRoot" Name="GenerateKey" /> - </Type> - <Type Name="System.Security.Cryptography.RNGCryptoServiceProvider" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor" /> - <Member Name="Dispose(System.Boolean)" /> - <Member Name="GetBytes(System.Byte[])" /> - </Type> - <Type Name="System.Security.Cryptography.RSA" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member Name="#ctor" /> - <Member Name="Create" /> - <Member Name="Create(System.String)" /> - <Member Name="DecryptValue(System.Byte[])" /> - <Member Name="EncryptValue(System.Byte[])" /> - <Member Name="FromXmlString(System.String)" /> - <Member Name="ToXmlString(System.Boolean)" /> - <Member Name="ExportParameters(System.Boolean)" /> - <Member Name="ImportParameters(System.Security.Cryptography.RSAParameters)" /> - </Type> - <Type Name="System.Security.Cryptography.RSACryptoServiceProvider" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member MemberType="Property" Name="PublicOnly" /> - <Member MemberType="Property" Name="CspKeyContainerInfo" /> - <Member MemberType="Property" Name="KeySize" /> - <Member MemberType="Property" Name="KeyExchangeAlgorithm" /> - <Member MemberType="Property" Name="SignatureAlgorithm" /> - <Member MemberType="Property" Name="UseMachineKeyStore" /> - <Member MemberType="Property" Name="PersistKeyInCsp" /> - <Member Name="#ctor" /> - <Member Name="#ctor(System.Int32)" /> - <Member Name="#ctor(System.Security.Cryptography.CspParameters)" /> - <Member Name="#ctor(System.Int32,System.Security.Cryptography.CspParameters)" /> - <Member Name="Dispose(System.Boolean)" /> - <Member Name="get_PublicOnly" /> - <Member Name="get_CspKeyContainerInfo" /> - <Member Name="get_KeySize" /> - <Member Name="get_KeyExchangeAlgorithm" /> - <Member Name="get_SignatureAlgorithm" /> - <Member Name="get_UseMachineKeyStore" /> - <Member Name="set_UseMachineKeyStore(System.Boolean)" /> - <Member Name="get_PersistKeyInCsp" /> - <Member Name="set_PersistKeyInCsp(System.Boolean)" /> - <Member Name="ExportParameters(System.Boolean)" /> - <Member Name="ExportCspBlob(System.Boolean)" /> - <Member Name="ImportParameters(System.Security.Cryptography.RSAParameters)" /> - <Member Name="ImportCspBlob(System.Byte[])" /> - <Member Name="SignData(System.IO.Stream,System.Object)" /> - <Member Name="SignData(System.Byte[],System.Object)" /> - <Member Name="SignData(System.Byte[],System.Int32,System.Int32,System.Object)" /> - <Member Name="VerifyData(System.Byte[],System.Object,System.Byte[])" /> - <Member Name="SignHash(System.Byte[],System.String)" /> - <Member Name="VerifyHash(System.Byte[],System.String,System.Byte[])" /> - <Member Name="Encrypt(System.Byte[],System.Boolean)" /> - <Member Name="Decrypt(System.Byte[],System.Boolean)" /> - <Member Name="DecryptValue(System.Byte[])" /> - <Member Name="EncryptValue(System.Byte[])" /> - </Type> - <Type Name="System.Security.Cryptography.RSAOAEPKeyExchangeFormatter" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member MemberType="Property" Name="Parameter" /> - <Member MemberType="Property" Name="Parameters" /> - <Member MemberType="Property" Name="Rng" /> - <Member Name="#ctor" /> - <Member Name="#ctor(System.Security.Cryptography.AsymmetricAlgorithm)" /> - <Member Name="get_Parameter" /> - <Member Name="set_Parameter(System.Byte[])" /> - <Member Name="get_Parameters" /> - <Member Name="get_Rng" /> - <Member Name="set_Rng(System.Security.Cryptography.RandomNumberGenerator)" /> - <Member Name="SetKey(System.Security.Cryptography.AsymmetricAlgorithm)" /> - <Member Name="CreateKeyExchange(System.Byte[])" /> - <Member Name="CreateKeyExchange(System.Byte[],System.Type)" /> - </Type> - <Type Name="System.Security.Cryptography.RSAOAEPKeyExchangeDeformatter" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member MemberType="Property" Name="Parameters" /> - <Member Name="#ctor" /> - <Member Name="#ctor(System.Security.Cryptography.AsymmetricAlgorithm)" /> - <Member Name="get_Parameters" /> - <Member Name="set_Parameters(System.String)" /> - <Member Name="DecryptKeyExchange(System.Byte[])" /> - <Member Name="SetKey(System.Security.Cryptography.AsymmetricAlgorithm)" /> - </Type> - <Type Name="System.Security.Cryptography.RSAParameters" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member MemberType="Field" Name="Exponent" /> - <Member MemberType="Field" Name="Modulus" /> - <Member MemberType="Field" Name="P" /> - <Member MemberType="Field" Name="Q" /> - <Member MemberType="Field" Name="DP" /> - <Member MemberType="Field" Name="DQ" /> - <Member MemberType="Field" Name="InverseQ" /> - <Member MemberType="Field" Name="D" /> - </Type> - <Type Name="System.Security.Cryptography.RSAPKCS1KeyExchangeDeformatter" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member MemberType="Property" Name="RNG" /> - <Member MemberType="Property" Name="Parameters" /> - <Member Name="#ctor" /> - <Member Name="#ctor(System.Security.Cryptography.AsymmetricAlgorithm)" /> - <Member Name="get_RNG" /> - <Member Name="set_RNG(System.Security.Cryptography.RandomNumberGenerator)" /> - <Member Name="get_Parameters" /> - <Member Name="set_Parameters(System.String)" /> - <Member Name="DecryptKeyExchange(System.Byte[])" /> - <Member Name="SetKey(System.Security.Cryptography.AsymmetricAlgorithm)" /> - </Type> - <Type Name="System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member MemberType="Property" Name="Parameters" /> - <Member MemberType="Property" Name="Rng" /> - <Member Name="#ctor" /> - <Member Name="#ctor(System.Security.Cryptography.AsymmetricAlgorithm)" /> - <Member Name="get_Parameters" /> - <Member Name="get_Rng" /> - <Member Name="set_Rng(System.Security.Cryptography.RandomNumberGenerator)" /> - <Member Name="SetKey(System.Security.Cryptography.AsymmetricAlgorithm)" /> - <Member Name="CreateKeyExchange(System.Byte[])" /> - <Member Name="CreateKeyExchange(System.Byte[],System.Type)" /> - </Type> - <Type Name="System.Security.Cryptography.RSAPKCS1SignatureDeformatter" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member Name="#ctor" /> - <Member Name="#ctor(System.Security.Cryptography.AsymmetricAlgorithm)" /> - <Member Name="SetKey(System.Security.Cryptography.AsymmetricAlgorithm)" /> - <Member Name="SetHashAlgorithm(System.String)" /> - <Member Name="VerifySignature(System.Byte[],System.Byte[])" /> - </Type> - <Type Name="System.Security.Cryptography.RSAPKCS1SignatureFormatter" Condition="FEATURE_LEGACYNETCFCRYPTO"> - <Member Name="#ctor" /> - <Member Name="#ctor(System.Security.Cryptography.AsymmetricAlgorithm)" /> - <Member Name="SetKey(System.Security.Cryptography.AsymmetricAlgorithm)" /> - <Member Name="SetHashAlgorithm(System.String)" /> - <Member Name="CreateSignature(System.Byte[])" /> - </Type> - <Type Name="System.Security.Cryptography.SHA1" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor" /> - <Member Name="Create" /> - </Type> - <Type Name="System.Security.Cryptography.SHA1Managed" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor" /> - <Member Name="HashCore(System.Byte[],System.Int32,System.Int32)" /> - <Member Name="HashFinal" /> - <Member Name="Initialize" /> - </Type> - <Type Name="System.Security.Cryptography.SHA256" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor" /> - <Member Name="Create" /> - </Type> - <Type Name="System.Security.Cryptography.SHA384" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor" /> - <Member Name="Create" /> - </Type> - <Type Name="System.Security.Cryptography.SHA512" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor" /> - <Member Name="Create" /> - </Type> - <Type Name="System.Security.Cryptography.SHA256Managed" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor" /> - <Member Name="HashCore(System.Byte[],System.Int32,System.Int32)" /> - <Member Name="HashFinal" /> - <Member Name="Initialize" /> - </Type> - <Type Name="System.Security.Cryptography.SymmetricAlgorithm" Condition="FEATURE_LEGACYSURFACE"> - <Member MemberType="Field" Name="BlockSizeValue" /> - <Member MemberType="Field" Name="FeedbackSizeValue" /> - <Member MemberType="Field" Name="IVValue" /> - <Member MemberType="Field" Name="KeySizeValue" /> - <Member MemberType="Field" Name="KeyValue" /> - <Member MemberType="Field" Name="LegalBlockSizesValue" /> - <Member MemberType="Field" Name="LegalKeySizesValue" /> - <Member MemberType="Field" Name="ModeValue" /> - <Member MemberType="Field" Name="PaddingValue" /> - <Member MemberType="Property" Name="BlockSize" /> - <Member MemberType="Property" Name="IV" /> - <Member MemberType="Property" Name="Key" /> - <Member MemberType="Property" Name="KeySize" /> - <Member MemberType="Property" Name="LegalBlockSizes" /> - <Member MemberType="Property" Name="LegalKeySizes" /> - <Member MemberType="Property" Name="Mode" /> - <Member MemberType="Property" Name="Padding" /> - <Member Name="#ctor" /> - <Member Name="Clear" /> - <Member Name="CreateDecryptor" /> - <Member Name="CreateDecryptor(System.Byte[],System.Byte[])" /> - <Member Name="CreateEncryptor" /> - <Member Name="CreateEncryptor(System.Byte[],System.Byte[])" /> - <Member Name="Dispose" /> - <Member Name="Dispose(System.Boolean)" /> - <Member Name="GenerateIV" /> - <Member Name="GenerateKey" /> - <Member Name="ValidKeySize(System.Int32)" /> - <Member Name="get_BlockSize" /> - <Member Name="set_BlockSize(System.Int32)" /> - <Member Name="get_IV" /> - <Member Name="set_IV(System.Byte[])" /> - <Member Name="get_Key" /> - <Member Name="set_Key(System.Byte[])" /> - <Member Name="get_KeySize" /> - <Member Name="set_KeySize(System.Int32)" /> - <Member Name="get_LegalBlockSizes" /> - <Member Name="get_LegalKeySizes" /> - <Member Name="get_Mode" /> - <Member Name="set_Mode(System.Security.Cryptography.CipherMode)" /> - <Member Name="get_Padding" /> - <Member Name="set_Padding(System.Security.Cryptography.PaddingMode)" /> - </Type> - <Type Name="System.Security.Cryptography.X509Certificates.X509Certificate" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor" /> - <Member Name="#ctor(System.Byte[])" /> - <Member Name="#ctor(System.Byte[],System.String)" /> - <Member Name="#ctor(System.Byte[],System.String,System.Security.Cryptography.X509Certificates.X509KeyStorageFlags)" /> - <Member Status="ApiFxInternal" Name="#ctor(System.String)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="#ctor(System.String)" Condition="FEATURE_LEGACYNETCF" /> - <Member Status="ApiFxInternal" Name="#ctor(System.String,System.String)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="#ctor(System.String,System.String)" Condition="FEATURE_LEGACYNETCF" /> - <Member Status="ApiFxInternal" Name="#ctor(System.String,System.String,System.Security.Cryptography.X509Certificates.X509KeyStorageFlags)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="#ctor(System.String,System.String,System.Security.Cryptography.X509Certificates.X509KeyStorageFlags)" Condition="FEATURE_LEGACYNETCF" /> - <Member Status="ApiFxInternal" Name="#ctor(System.IntPtr)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="#ctor(System.IntPtr)" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="#ctor(System.Security.Cryptography.X509Certificates.X509Certificate)" /> - <Member Status="ApiFxInternal" Name="CreateFromCertFile(System.String)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="CreateFromCertFile(System.String)" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="CreateHexString(System.Byte[])" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="Dispose" /> - <Member Name="Dispose(System.Boolean)" /> - <Member Name="Equals(System.Object)" /> - <Member Name="Equals(System.Security.Cryptography.X509Certificates.X509Certificate)" /> - <Member Name="Export(System.Security.Cryptography.X509Certificates.X509ContentType)" /> - <Member Name="Export(System.Security.Cryptography.X509Certificates.X509ContentType,System.String)" /> - <!-- SECURESTRING <Member Name="Export(System.Security.Cryptography.X509Certificates.X509ContentType,System.Security.SecureString)" />--> - <Member Name="FormatDate(System.DateTime)" /> - <Member Name="GetCertHash" /> - <Member Name="GetCertHashString" /> - <Member Name="GetEffectiveDateString" /> - <Member Name="GetExpirationDateString" /> - <Member Name="GetFormat" /> - <Member Name="GetHashCode" /> - <!--<Member Name="GetIssuerName" /> OBSOLETE --> - <Member Name="GetKeyAlgorithm" /> - <Member Name="GetKeyAlgorithmParameters" /> - <Member Name="GetKeyAlgorithmParametersString" /> - <!--<Member Name="GetName" /> OBSOLETE --> - <Member Name="GetPublicKey" /> - <Member Name="GetPublicKeyString" /> - <Member Name="GetRawCertData" /> - <Member Name="GetRawCertDataString" /> - <Member Name="GetSerialNumber" /> - <Member Name="GetSerialNumberString" /> - <Member Name="Import(System.Byte[])" /> - <Member Name="Import(System.Byte[],System.String,System.Security.Cryptography.X509Certificates.X509KeyStorageFlags)" /> - <!-- SECURESTRING <Member Name="Import(System.Byte[],System.Security.SecureString,System.Security.Cryptography.X509Certificates.X509KeyStorageFlags)" />--> - <Member Status="ApiFxInternal" Name="Import(System.String)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="Import(System.String)" Condition="FEATURE_LEGACYNETCF" /> - <Member Status="ApiFxInternal" Name="Import(System.String,System.String,System.Security.Cryptography.X509Certificates.X509KeyStorageFlags)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="Import(System.String,System.String,System.Security.Cryptography.X509Certificates.X509KeyStorageFlags)" Condition="FEATURE_LEGACYNETCF" /> - <!-- SECURESTRING <Member Name="Import(System.String,System.Security.SecureString,System.Security.Cryptography.X509Certificates.X509KeyStorageFlags)" />--> - <Member Name="ToString" /> - <Member Name="ToString(System.Boolean)" /> - <Member MemberType="Property" Name="CertContext" /> - <Member Status="ApiFxInternal" Name="get_Handle" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="get_Handle" Condition="FEATURE_LEGACYNETCF" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="Handle" Condition="not FEATURE_LEGACYNETCF" /> - <Member MemberType="Property" Name="Handle" Condition="FEATURE_LEGACYNETCF" /> - <Member MemberType="Property" Name="Issuer" /> - <Member MemberType="Property" Name="NotAfter" /> - <Member MemberType="Property" Name="NotBefore" /> - <Member MemberType="Property" Name="RawData" /> - <Member MemberType="Property" Name="SerialNumber" /> - <Member MemberType="Property" Name="Subject" /> - </Type> - <Type Name="System.Security.Cryptography.X509Certificates.X509ContentType" Condition="FEATURE_LEGACYSURFACE"> - <Member MemberType="Field" Name="Unknown" /> - <Member MemberType="Field" Name="Cert" /> - <Member MemberType="Field" Name="SerializedCert" /> - <Member MemberType="Field" Name="Pfx" /> - <Member MemberType="Field" Name="Pkcs12" /> - <Member MemberType="Field" Name="SerializedStore" /> - <Member MemberType="Field" Name="Pkcs7" /> - <Member MemberType="Field" Name="Authenticode" /> - </Type> - <Type Name="System.Security.Cryptography.X509Certificates.X509KeyStorageFlags" Condition="FEATURE_LEGACYSURFACE"> - <Member MemberType="Field" Name="DefaultKeySet" /> - <Member MemberType="Field" Name="UserKeySet" /> - <Member MemberType="Field" Name="MachineKeySet" /> - <Member MemberType="Field" Name="Exportable" /> - <Member MemberType="Field" Name="UserProtected" /> - <Member MemberType="Field" Name="PersistKeySet" /> - </Type> - <Type Name="System.Security.SecureString" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor" /> - <Member Name="#ctor(System.Char*,System.Int32)" /> - <Member Name="get_Length" /> - <Member Name="AppendChar(System.Char)" /> - <Member Name="Clear" /> - <Member Name="Copy" /> - <Member Name="Dispose" /> - <Member Name="IsReadOnly" /> - <Member Name="MakeReadOnly" /> - <Member Name="RemoveAt(System.Int32)" /> - <Member Name="InsertAt(System.Int32,System.Char)" /> - <Member Name="SetAt(System.Int32,System.Char)" /> - </Type> <Type Name="System.Security.SecurityException"> <Member Name="#ctor" /> <Member Name="#ctor(System.String)" /> @@ -7161,11 +6234,10 @@ <Member Status="ImplRoot" MemberType="Field" Name="m_stringLength" /> <Member MemberType="Field" Name="Empty" /> <Member Name="#ctor(System.Char*)" /> - <Member Status="ApiFxInternal" Name="#ctor(System.Char*,System.Int32,System.Int32)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="#ctor(System.Char*,System.Int32,System.Int32)" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="#ctor(System.Char*,System.Int32,System.Int32)" /> <Member Name="#ctor(System.Char,System.Int32)" /> <Member Name="#ctor(System.Char[])" /> - <Member Name="#ctor(System.Char[],System.Int32,System.Int32)" /> + <Member Name="#ctor(System.Char[],System.Int32,System.Int32)" /> <Member Name="#ctor(System.SByte*)" /> <Member Name="Compare(System.String,System.Int32,System.String,System.Int32,System.Int32)" /> <Member Name="Compare(System.String,System.Int32,System.String,System.Int32,System.Int32,System.Globalization.CultureInfo,System.Globalization.CompareOptions)" /> @@ -7353,17 +6425,14 @@ </Type> <Type Name="System.Text.Decoder"> <Member Name="#ctor" /> - <Member Status="ApiFxInternal" Name="Convert(System.Byte*,System.Int32,System.Char*,System.Int32,System.Boolean,System.Int32@,System.Int32@,System.Boolean@)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="Convert(System.Byte*,System.Int32,System.Char*,System.Int32,System.Boolean,System.Int32@,System.Int32@,System.Boolean@)" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="Convert(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Int32,System.Boolean,System.Int32@,System.Int32@,System.Boolean@)" /> + <Member Name="Convert(System.Byte*,System.Int32,System.Char*,System.Int32,System.Boolean,System.Int32@,System.Int32@,System.Boolean@)" /> + <Member Name="Convert(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Int32,System.Boolean,System.Int32@,System.Int32@,System.Boolean@)" /> <Member Name="get_Fallback" /> <Member Name="get_FallbackBuffer" /> - <Member Status="ApiFxInternal" Name="GetCharCount(System.Byte*,System.Int32,System.Boolean)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="GetCharCount(System.Byte*,System.Int32,System.Boolean)" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="GetCharCount(System.Byte*,System.Int32,System.Boolean)" /> <Member Name="GetCharCount(System.Byte[],System.Int32,System.Int32)" /> - <Member Name="GetCharCount(System.Byte[],System.Int32,System.Int32,System.Boolean)" /> - <Member Status="ApiFxInternal" Name="GetChars(System.Byte*,System.Int32,System.Char*,System.Int32,System.Boolean)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="GetChars(System.Byte*,System.Int32,System.Char*,System.Int32,System.Boolean)" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="GetCharCount(System.Byte[],System.Int32,System.Int32,System.Boolean)" /> + <Member Name="GetChars(System.Byte*,System.Int32,System.Char*,System.Int32,System.Boolean)" /> <Member Name="GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)" /> <Member Name="GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Boolean)" /> <Member Name="Reset" /> @@ -7401,14 +6470,6 @@ <Member MemberType="Property" Name="DefaultString" /> <Member MemberType="Property" Name="MaxCharCount" /> </Type> - <Type Status="ApiFxInternal" Name="System.Text.DecoderReplacementFallbackBuffer"> - <Member Status="ApiRoot" Name="#ctor(System.Text.DecoderReplacementFallback)" /> - <Member Status="ApiRoot" Name="Fallback(System.Byte[],System.Int32)" /> - <Member Status="ApiRoot" Name="get_Remaining" /> - <Member Status="ApiRoot" Name="GetNextChar" /> - <Member Status="ApiRoot" Name="Reset" /> - <Member Status="ApiRoot" MemberType="Property" Name="Remaining" /> - </Type> <Type Name="System.Text.DecoderExceptionFallback"> <Member Name="#ctor" /> <Member Name="CreateFallbackBuffer" /> @@ -7417,14 +6478,6 @@ <Member Name="GetHashCode" /> <Member MemberType="Property" Name="MaxCharCount" /> </Type> - <Type Status="ApiFxInternal" Name="System.Text.DecoderExceptionFallbackBuffer"> - <Member Status="ApiRoot" Name="#ctor" /> - <Member Status="ApiRoot" Name="Fallback(System.Byte[],System.Int32)" /> - <Member Status="ApiRoot" Name="get_Remaining" /> - <Member Status="ApiRoot" Name="GetNextChar" /> - <Member Status="ApiRoot" Name="Throw(System.Byte[],System.Int32)" /> - <Member Status="ApiRoot" MemberType="Property" Name="Remaining" /> - </Type> <Type Name="System.Text.DecoderFallbackException"> <Member Name="#ctor" /> <Member Name="#ctor(System.String)" /> @@ -7437,16 +6490,13 @@ </Type> <Type Name="System.Text.Encoder"> <Member Name="#ctor" /> - <Member Status="ApiFxInternal" Name="Convert(System.Char*,System.Int32,System.Byte*,System.Int32,System.Boolean,System.Int32@,System.Int32@,System.Boolean@)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="Convert(System.Char*,System.Int32,System.Byte*,System.Int32,System.Boolean,System.Int32@,System.Int32@,System.Boolean@)" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="Convert(System.Char*,System.Int32,System.Byte*,System.Int32,System.Boolean,System.Int32@,System.Int32@,System.Boolean@)" /> <Member Name="Convert(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Int32,System.Boolean,System.Int32@,System.Int32@,System.Boolean@)" /> <Member Name="get_Fallback" /> <Member Name="get_FallbackBuffer" /> - <Member Status="ApiFxInternal" Name="GetByteCount(System.Char*,System.Int32,System.Boolean)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="GetByteCount(System.Char*,System.Int32,System.Boolean)" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="GetByteCount(System.Char*,System.Int32,System.Boolean)" /> <Member Name="GetByteCount(System.Char[],System.Int32,System.Int32,System.Boolean)" /> - <Member Status="ApiFxInternal" Name="GetBytes(System.Char*,System.Int32,System.Byte*,System.Int32,System.Boolean)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="GetBytes(System.Char*,System.Int32,System.Byte*,System.Int32,System.Boolean)" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="GetBytes(System.Char*,System.Int32,System.Byte*,System.Int32,System.Boolean)" /> <Member Name="GetBytes(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Boolean)" /> <Member Name="Reset" /> <Member Name="set_Fallback(System.Text.EncoderFallback)" /> @@ -7484,16 +6534,6 @@ <Member MemberType="Property" Name="DefaultString" /> <Member MemberType="Property" Name="MaxCharCount" /> </Type> - <Type Status="ApiFxInternal" Name="System.Text.EncoderReplacementFallbackBuffer"> - <Member Status="ApiRoot" Name="#ctor(System.Text.EncoderReplacementFallback)" /> - <Member Status="ApiRoot" Name="Fallback(System.Char,System.Char,System.Int32)" /> - <Member Status="ApiRoot" Name="Fallback(System.Char,System.Int32)" /> - <Member Status="ApiRoot" Name="get_Remaining" /> - <Member Status="ApiRoot" Name="GetNextChar" /> - <Member Status="ApiRoot" Name="MovePrevious" /> - <Member Status="ApiRoot" Name="Reset" /> - <Member Status="ApiRoot" MemberType="Property" Name="Remaining" /> - </Type> <Type Name="System.Text.EncoderExceptionFallback"> <Member Name="#ctor" /> <Member Name="CreateFallbackBuffer" /> @@ -7502,15 +6542,6 @@ <Member Name="GetHashCode" /> <Member MemberType="Property" Name="MaxCharCount" /> </Type> - <Type Status="ApiFxInternal" Name="System.Text.EncoderExceptionFallbackBuffer"> - <Member Status="ApiRoot" Name="#ctor" /> - <Member Status="ApiRoot" Name="Fallback(System.Char,System.Char,System.Int32)" /> - <Member Status="ApiRoot" Name="Fallback(System.Char,System.Int32)" /> - <Member Status="ApiRoot" Name="get_Remaining" /> - <Member Status="ApiRoot" Name="GetNextChar" /> - <Member Status="ApiRoot" Name="MovePrevious" /> - <Member Status="ApiRoot" MemberType="Property" Name="Remaining" /> - </Type> <Type Name="System.Text.EncoderFallbackException"> <Member Name="#ctor" /> <Member Name="#ctor(System.String)" /> @@ -7808,7 +6839,7 @@ <Member Name="#ctor(System.String)" /> <Member Name="#ctor(System.String,System.Exception)" /> </Type> - <Type Name="System.Threading.Mutex" Condition="FEATURE_LEGACYNETCF"> + <Type Name="System.Threading.Mutex"> <Member Name="#ctor" /> <Member Name="#ctor(System.Boolean)" /> <Member Name="#ctor(System.Boolean,System.String)" /> @@ -7883,8 +6914,6 @@ <Member Name="OperationStarted"/> <Member Name="OperationCompleted"/> <Member Name="SetSynchronizationContext(System.Threading.SynchronizationContext)"/> - <Member Status="ApiFxInternal" Name="SetThreadStaticContext(System.Threading.SynchronizationContext)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="SetThreadStaticContext(System.Threading.SynchronizationContext)" Condition="FEATURE_LEGACYNETCF" /> <Member Name="get_Current"/> <Member Name="CreateCopy"/> <Member MemberType="Property" Name="Current"/> @@ -7898,7 +6927,6 @@ <Member Name="#ctor(System.Threading.ThreadStart)" /> <Member Name="#ctor(System.Threading.ParameterizedThreadStart)" /> <Member Name="MemoryBarrier" /> - <Member Name="Abort" Condition="FEATURE_LEGACYSURFACE" /> <Member Name="Finalize" /> <Member Name="get_CurrentCulture" /> <Member Name="get_CurrentThread" /> @@ -7939,7 +6967,6 @@ <Member Name="QueueUserWorkItem(System.Threading.WaitCallback,System.Object)" /> <Member Name="SetMaxThreads(System.Int32,System.Int32)" /> <Member Name="BindHandle(System.Runtime.InteropServices.SafeHandle)" /> - <Member Status="ApiFxInternal" Name="UnsafeQueueNativeOverlapped(System.Threading.NativeOverlapped*)" /> <Member Name="RegisterWaitForSingleObject(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.UInt32,System.Boolean)" /> <Member Name="RegisterWaitForSingleObject(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.Int32,System.Boolean)" /> <Member Name="RegisterWaitForSingleObject(System.Threading.WaitHandle,System.Threading.WaitOrTimerCallback,System.Object,System.Int64,System.Boolean)" /> @@ -7970,7 +6997,6 @@ </Type> <Type Name="System.Threading.Overlapped"> <Member Name="#ctor" /> - <Member Status="ApiFxInternal" Name="#ctor(System.Int32,System.Int32,System.IntPtr,System.IAsyncResult)" Condition="FEATURE_COMINTEROP" /> <Member MemberType="Property" Name="AsyncResult" /> <Member MemberType="Property" Name="OffsetLow" /> <Member MemberType="Property" Name="OffsetHigh" /> @@ -8051,22 +7077,18 @@ <Member Name="Close" /> <Member Name="Dispose" /> <Member Name="Dispose(System.Boolean)" /> - <Member Status="ApiFxInternal" Name="get_SafeWaitHandle" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="get_SafeWaitHandle" Condition="FEATURE_LEGACYNETCF" /> - <Member Status="ApiFxInternal" Name="set_SafeWaitHandle(Microsoft.Win32.SafeHandles.SafeWaitHandle)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="set_SafeWaitHandle(Microsoft.Win32.SafeHandles.SafeWaitHandle)" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="get_SafeWaitHandle" /> + <Member Name="set_SafeWaitHandle(Microsoft.Win32.SafeHandles.SafeWaitHandle)" /> <Member Name="WaitAny(System.Threading.WaitHandle[])" /> <Member Name="WaitAny(System.Threading.WaitHandle[],System.Int32)" /> <Member Name="WaitAny(System.Threading.WaitHandle[],System.TimeSpan)" /> <Member Name="WaitAll(System.Threading.WaitHandle[])" /> <Member Name="WaitAll(System.Threading.WaitHandle[],System.Int32)" /> <Member Name="WaitAll(System.Threading.WaitHandle[],System.TimeSpan)" /> - <Member Status="ApiFxInternal" Name="WaitAny(System.Threading.WaitHandle[],System.Int32,System.Boolean)" /> <Member Name="WaitOne" /> <Member Name="WaitOne(System.Int32)" /> <Member Name="WaitOne(System.TimeSpan)" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="SafeWaitHandle" Condition="not FEATURE_LEGACYNETCF" /> - <Member MemberType="Property" Name="SafeWaitHandle" Condition="FEATURE_LEGACYNETCF" /> + <Member MemberType="Property" Name="SafeWaitHandle" /> </Type> <Type Name="System.Threading.WaitHandleExtensions"> <Member Name="GetSafeWaitHandle(System.Threading.WaitHandle)" /> @@ -8194,11 +7216,11 @@ <Member MemberType="Property" Name="Local" /> <Member MemberType="Property" Name="Utc" /> </Type> - <Type Status="ApiFxInternal" Name="System.TimeZoneInfo+AdjustmentRule"> + <Type Name="System.TimeZoneInfo+AdjustmentRule"> <!-- CreateAdjustmentRule doesn't have a public contract, but tests and other callers can use Reflection to invoke it, so ensure it is left in mscorlib. --> <Member Status="ApiRoot" Name="CreateAdjustmentRule(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime)" /> </Type> - <Type Status="ApiFxInternal" Name="System.TimeZoneInfo+TransitionTime"> + <Type Name="System.TimeZoneInfo+TransitionTime"> </Type> <Type Name="System.Tuple"> <Member Name="Create<T1>(T1)" /> @@ -8339,24 +7361,19 @@ <Member Name="Equals(System.Object)" /> <Member Name="Equals(System.Type)" /> <Member Name="FindMembers(System.Reflection.MemberTypes,System.Reflection.BindingFlags,System.Reflection.MemberFilter,System.Object)" /> - <!-- - <Member Name="get_IsSecurityCritical" /> - <Member Name="get_IsSecuritySafeCritical" /> - <Member Name="get_IsSecurityTransparent" /> - --> <Member Name="get_Assembly" /> <Member Name="get_AssemblyQualifiedName" /> <Member Name="get_Attributes" /> <Member Name="get_BaseType" /> <Member Name="get_ContainsGenericParameters" /> <Member Name="get_DeclaringType" /> - <Member Name="get_DeclaringMethod" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="get_DeclaringMethod" /> <Member Name="get_DefaultBinder" /> <Member Name="get_FullName" /> - <Member Name="get_GenericParameterAttributes" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="get_GenericParameterPosition" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="get_GenericParameterAttributes" /> + <Member Name="get_GenericParameterPosition" /> <Member Name="get_GenericTypeArguments" /> - <Member Name="get_GUID" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="get_GUID" /> <Member Name="get_HasElementType" /> <Member Name="get_IsAbstract" /> <Member Name="get_IsAnsiClass" /> @@ -8420,8 +7437,8 @@ <Member Name="GetGenericParameterConstraints" /> <Member Name="GetGenericTypeDefinition" /> <Member Name="GetHashCode" /> - <Member Name="GetInterface(System.String,System.Boolean)" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="GetInterfaceMap(System.Type)" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="GetInterface(System.String,System.Boolean)" /> + <Member Name="GetInterfaceMap(System.Type)" /> <Member Name="GetInterfaces" /> <Member Name="GetMember(System.String)" /> <Member Name="GetMember(System.String,System.Reflection.BindingFlags)" /> @@ -8467,11 +7484,11 @@ <Member Name="IsSubclassOf(System.Type)" /> <Member Name="IsEquivalentTo(System.Type)" /> <Member Name="IsValueTypeImpl" /> - <Member Name="MakeArrayType" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="MakeArrayType(System.Int32)" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="MakeByRefType" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="MakeArrayType" /> + <Member Name="MakeArrayType(System.Int32)" /> + <Member Name="MakeByRefType" /> <Member Name="MakeGenericType(System.Type[])" /> - <Member Name="MakePointerType" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="MakePointerType" /> <Member Name="ToString" /> <Member MemberType="Property" Name="Assembly" /> <Member MemberType="Property" Name="AssemblyQualifiedName" /> @@ -8479,13 +7496,13 @@ <Member MemberType="Property" Name="BaseType" /> <Member MemberType="Property" Name="ContainsGenericParameters" /> <Member MemberType="Property" Name="DeclaringType" /> - <Member MemberType="Property" Name="DeclaringMethod" Condition="FEATURE_LEGACYNETCF" /> + <Member MemberType="Property" Name="DeclaringMethod" /> <Member MemberType="Property" Name="DefaultBinder" /> <Member MemberType="Property" Name="FullName" /> - <Member MemberType="Property" Name="GenericParameterAttributes" Condition="FEATURE_LEGACYNETCF" /> - <Member MemberType="Property" Name="GenericParameterPosition" Condition="FEATURE_LEGACYNETCF" /> + <Member MemberType="Property" Name="GenericParameterAttributes" /> + <Member MemberType="Property" Name="GenericParameterPosition" /> <Member MemberType="Property" Name="GenericTypeArguments" /> - <Member MemberType="Property" Name="GUID" Condition="FEATURE_LEGACYNETCF" /> + <Member MemberType="Property" Name="GUID" /> <Member MemberType="Property" Name="HasElementType" /> <Member MemberType="Property" Name="IsAbstract" /> <Member MemberType="Property" Name="IsAnsiClass" /> @@ -8797,45 +7814,6 @@ <Member MemberType="Property" Name="Version" /> </Type> -<!-- smosier added for security API --> - <Type Status="ApiFxInternal" Name="System.Security.SecurityManager"> - <Member Status="ImplRoot" Name="GetSpecialFlags(System.Security.PermissionSet,System.Security.PermissionSet)" /> <!-- EE --> - </Type> - <Type Status="ImplRoot" Name="System.Security.Permissions.HostProtectionAttribute"> - <Member Name="#ctor" /> - <Member Name="#ctor(System.Security.Permissions.SecurityAction)" /> - <Member Name="get_ExternalProcessMgmt" /> - <Member Name="get_ExternalThreading" /> - <Member Name="get_MayLeakOnAbort" /> - <Member Name="get_Resources" /> - <Member Name="get_SecurityInfrastructure" /> - <Member Name="get_SelfAffectingProcessMgmt" /> - <Member Name="get_SelfAffectingThreading" /> - <Member Name="get_SharedState" /> - <Member Name="get_Synchronization" /> - <Member Name="get_UI" /> - <Member Name="set_ExternalProcessMgmt(System.Boolean)" /> - <Member Name="set_ExternalThreading(System.Boolean)" /> - <Member Name="set_MayLeakOnAbort(System.Boolean)" /> - <Member Name="set_Resources(System.Security.Permissions.HostProtectionResource)" /> - <Member Name="set_SecurityInfrastructure(System.Boolean)" /> - <Member Name="set_SelfAffectingProcessMgmt(System.Boolean)" /> - <Member Name="set_SelfAffectingThreading(System.Boolean)" /> - <Member Name="set_SharedState(System.Boolean)" /> - <Member Name="set_Synchronization(System.Boolean)" /> - <Member Name="set_UI(System.Boolean)" /> - <Member MemberType="Property" Name="ExternalProcessMgmt" /> - <Member MemberType="Property" Name="ExternalThreading" /> - <Member MemberType="Property" Name="MayLeakOnAbort" /> - <Member MemberType="Property" Name="Resources" /> - <Member MemberType="Property" Name="SecurityInfrastructure" /> - <Member MemberType="Property" Name="SelfAffectingProcessMgmt" /> - <Member MemberType="Property" Name="SelfAffectingThreading" /> - <Member MemberType="Property" Name="SharedState" /> - <Member MemberType="Property" Name="Synchronization" /> - <Member MemberType="Property" Name="UI" /> - </Type> - <Type Status="ImplRoot" Name="System.Security.Permissions.HostProtectionResource" /> <Type Name="System.IO.BinaryReader"> <Member Name="#ctor(System.IO.Stream)" /> @@ -8903,75 +7881,6 @@ <Member Name="Write7BitEncodedInt(System.Int32)" /> <Member MemberType="Property" Name="BaseStream" /> </Type> - <Type Name="System.IO.Directory" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="CreateDirectory(System.String)" /> - <Member Name="Delete(System.String)" /> - <Member Name="Delete(System.String,System.Boolean)" /> - <Member Name="Exists(System.String)" /> - <Member Name="GetCreationTime(System.String)" /> - <Member Name="GetCurrentDirectory" /> - <Member Name="GetDirectories(System.String)" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="GetDirectories(System.String,System.String)" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="GetFiles(System.String)" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="GetFiles(System.String,System.String)" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="GetFileSystemEntries(System.String)" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="GetFileSystemEntries(System.String,System.String)" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="EnumerateDirectories(System.String)"/> - <Member Name="EnumerateDirectories(System.String,System.String)" /> - <Member Name="EnumerateDirectories(System.String,System.String,System.IO.SearchOption)" /> - <Member Name="GetDirectoryRoot(System.String)" /> - <Member Name="EnumerateFiles(System.String)" /> - <Member Name="EnumerateFiles(System.String,System.String)" /> - <Member Name="EnumerateFiles(System.String,System.String,System.IO.SearchOption)" /> - <Member Name="EnumerateFileSystemEntries(System.String)" /> - <Member Name="EnumerateFileSystemEntries(System.String,System.String)" /> - <Member Name="EnumerateFileSystemEntries(System.String,System.String,System.IO.SearchOption)" /> - <Member Name="GetLastAccessTime(System.String)" /> - <Member Name="GetLastWriteTime(System.String)" /> - <Member Name="Move(System.String,System.String)" /> - <Member Status="ApiFxInternal" Name="SetCurrentDirectory(System.String)" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="SetCurrentDirectory(System.String)" Condition="FEATURE_LEGACYNETCF" /> - <Member Status="ApiFxInternal" Name="UnsafeCreateDirectory(System.String)" /> - <Member Status="ApiFxInternal" Name="UnsafeDelete(System.String,System.Boolean)" /> - <Member Status="ApiFxInternal" Name="UnsafeExists(System.String)" /> - <Member Status="ApiFxInternal" Name="UnsafeGetCurrentDirectory" /> - <Member Status="ApiFxInternal" Name="UnsafeGetDirectories(System.String,System.String,System.IO.SearchOption)" /> - <Member Status="ApiFxInternal" Name="UnsafeGetFiles(System.String,System.String,System.IO.SearchOption)" /> - <Member Status="ApiFxInternal" Name="UnsafeMove(System.String,System.String)" /> - </Type> - <Type Name="System.IO.DirectoryInfo" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor(System.String)" /> - <Member Name="Create" /> - <Member Name="CreateSubdirectory(System.String)" /> - <Member Name="Delete" /> - <Member Name="Delete(System.Boolean)" /> - <Member Name="get_Exists" /> - <Member Name="get_Name" /> - <Member Name="get_Parent" /> - <Member Name="get_Root" /> - <Member Name="GetDirectories" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="GetDirectories(System.String)" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="GetFiles" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="GetFiles(System.String)" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="GetFileSystemInfos" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="GetFileSystemInfos(System.String)" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="EnumerateDirectories" /> - <Member Name="EnumerateDirectories(System.String)"/> - <Member Name="EnumerateDirectories(System.String,System.IO.SearchOption)"/> - <Member Name="EnumerateFiles"/> - <Member Name="EnumerateFiles(System.String)"/> - <Member Name="EnumerateFiles(System.String,System.IO.SearchOption)"/> - <Member Name="EnumerateFileSystemInfos"/> - <Member Name="EnumerateFileSystemInfos(System.String)"/> - <Member Name="EnumerateFileSystemInfos(System.String,System.IO.SearchOption)"/> - <Member Name="MoveTo(System.String)" /> - <Member Status="ApiFxInternal" Name="UnsafeCreateDirectoryInfo(System.String)" /> - <Member Name="ToString" /> - <Member MemberType="Property" Name="Exists" /> - <Member MemberType="Property" Name="Name" /> - <Member MemberType="Property" Name="Parent" /> - <Member MemberType="Property" Name="Root" /> - </Type> <Type Name="System.IO.DirectoryNotFoundException"> <Member Name="#ctor" /> <Member Name="#ctor(System.String)" /> @@ -8982,110 +7891,6 @@ <Member Name="#ctor(System.String)" /> <Member Name="#ctor(System.String,System.Exception)" /> </Type> - <Type Name="System.IO.File" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="AppendAllLines(System.String,System.Collections.Generic.IEnumerable<System.String>)"/> - <Member Name="AppendAllLines(System.String,System.Collections.Generic.IEnumerable<System.String>,System.Text.Encoding)" /> - <Member Name="AppendAllText(System.String,System.String)" /> - <Member Name="AppendAllText(System.String,System.String,System.Text.Encoding)" /> - <Member Name="AppendText(System.String)" /> - <Member Name="Copy(System.String,System.String)" /> - <Member Name="Copy(System.String,System.String,System.Boolean)" /> - <Member Name="Create(System.String)" /> - <Member Name="Create(System.String,System.Int32)" /> - <Member Name="CreateText(System.String)" /> - <Member Name="Delete(System.String)" /> - <Member Name="Exists(System.String)" /> - <Member Name="GetAttributes(System.String)"/> - <Member Name="GetCreationTime(System.String)" /> - <Member Name="GetLastAccessTime(System.String)" /> - <Member Name="GetLastWriteTime(System.String)" /> - <Member Name="Move(System.String,System.String)" /> - <Member Name="Open(System.String,System.IO.FileMode)" /> - <Member Name="Open(System.String,System.IO.FileMode,System.IO.FileAccess)" /> - <Member Name="Open(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)" /> - <Member Name="OpenRead(System.String)" /> - <Member Name="OpenText(System.String)" /> - <Member Name="OpenWrite(System.String)" /> - <Member Name="ReadAllBytes(System.String)" /> - <Member Name="ReadAllText(System.String)" /> - <Member Name="ReadAllText(System.String,System.Text.Encoding)" /> - <Member Name="ReadLines(System.String)" /> - <Member Name="ReadLines(System.String,System.Text.Encoding)" /> - <Member Status="ApiFxInternal" Name="UnsafeCopy(System.String,System.String,System.Boolean)" /> - <Member Status="ApiFxInternal" Name="UnsafeDelete(System.String)" /> - <Member Status="ApiFxInternal" Name="UnsafeExists(System.String)" /> - <Member Status="ApiFxInternal" Name="UnsafeMove(System.String,System.String)" /> - <Member Status="ApiFxInternal" Name="UnsafeReadAllBytes(System.String)" /> - <Member Status="ApiFxInternal" Name="UnsafeReadAllText(System.String)" /> - <Member Status="ApiFxInternal" Name="UnsafeWriteAllBytes(System.String,System.Byte[])" /> - <Member Status="ApiFxInternal" Name="UnsafeWriteAllText(System.String,System.String)" /> - <Member Name="SetAttributes(System.String,System.IO.FileAttributes)" /> - <Member Name="WriteAllBytes(System.String,System.Byte[])" /> - <Member Name="WriteAllLines(System.String,System.Collections.Generic.IEnumerable<System.String>)" /> - <Member Name="WriteAllLines(System.String,System.Collections.Generic.IEnumerable<System.String>,System.Text.Encoding)" /> - <Member Name="WriteAllText(System.String,System.String)" /> - <Member Name="WriteAllText(System.String,System.String,System.Text.Encoding)" /> - </Type> - <Type Name="System.IO.FileAccess" Condition="FEATURE_LEGACYSURFACE"> - <Member MemberType="Field" Name="Read" /> - <Member MemberType="Field" Name="ReadWrite" /> - <Member MemberType="Field" Name="value__" /> - <Member MemberType="Field" Name="Write" /> - </Type> - <Type Name="System.IO.FileAttributes" Condition="FEATURE_LEGACYSURFACE"> - <Member MemberType="Field" Name="Archive" /> - <Member MemberType="Field" Name="Compressed" /> - <Member MemberType="Field" Name="Device" /> - <Member MemberType="Field" Name="Directory" /> - <Member MemberType="Field" Name="Encrypted" /> - <Member MemberType="Field" Name="Hidden" /> - <Member MemberType="Field" Name="Normal" /> - <Member MemberType="Field" Name="NotContentIndexed" /> - <Member MemberType="Field" Name="Offline" /> - <Member MemberType="Field" Name="ReadOnly" /> - <Member MemberType="Field" Name="ReparsePoint" /> - <Member MemberType="Field" Name="SparseFile" /> - <Member MemberType="Field" Name="System" /> - <Member MemberType="Field" Name="Temporary" /> - <Member MemberType="Field" Name="value__" /> - </Type> - <Type Name="System.IO.FileInfo" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor(System.String)" /> - <Member Name="AppendText" /> - <Member Name="CopyTo(System.String)" /> - <Member Name="CopyTo(System.String,System.Boolean)" /> - <Member Name="Create" /> - <Member Name="CreateText" /> - <Member Name="Delete" /> - <Member Name="get_Directory" /> - <Member Name="get_DirectoryName" /> - <Member Name="get_Exists" /> - <Member Name="get_Length" /> - <Member Name="get_Name" /> - <Member Name="MoveTo(System.String)" /> - <Member Name="Open(System.IO.FileMode)" /> - <Member Name="Open(System.IO.FileMode,System.IO.FileAccess)" /> - <Member Name="Open(System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)" /> - <Member Name="OpenRead" /> - <Member Name="OpenText" /> - <Member Name="OpenWrite" /> - <Member Status="ApiFxInternal" Name="UnsafeCreateFileInfo(System.String)" /> - <Member Name="ToString" /> - <Member MemberType="Property" Name="Directory" /> - <Member MemberType="Property" Name="DirectoryName" /> - <Member MemberType="Property" Name="Exists" /> - <Member MemberType="Property" Name="Length" /> - <Member MemberType="Property" Name="Name" /> - </Type> - <Type Name="System.IO.FileMode" Condition="FEATURE_LEGACYSURFACE"> - <Member MemberType="Field" Name="Append" /> - <Member MemberType="Field" Name="Create" /> - <Member MemberType="Field" Name="CreateNew" /> - <Member MemberType="Field" Name="Open" /> - <Member MemberType="Field" Name="OpenOrCreate" /> - <Member MemberType="Field" Name="Truncate" /> - <Member MemberType="Field" Name="value__" /> - </Type> <Type Name="System.IO.FileNotFoundException"> <Member Name="#ctor" /> <Member Name="#ctor(System.String)" /> @@ -9096,83 +7901,6 @@ <Member MemberType="Property" Name="FileName" /> <Member Status="ImplRoot" Name="#ctor(System.String,System.String,System.Int32)" /> </Type> - <Type Status="ApiFxInternal" Name="System.IO.FileSecurityState" Condition="not FEATURE_LEGACYNETCFIOSECURITY"> - <Member Name="EnsureState" /> - <Member Name="get_Path" /> - <Member MemberType="Property" Name="Path" /> - </Type> - <Type Name="System.IO.FileShare" Condition="FEATURE_LEGACYSURFACE"> - <Member MemberType="Field" Name="None" /> - <Member MemberType="Field" Name="Read" /> - <Member MemberType="Field" Name="ReadWrite" /> - <Member MemberType="Field" Name="value__" /> - <Member MemberType="Field" Name="Write" /> - </Type> - <Type Name="System.IO.FileStream" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor(System.String,System.IO.FileMode)" /> - <Member Name="#ctor(System.String,System.IO.FileMode,System.IO.FileAccess)" /> - <Member Name="#ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)" /> - <Member Name="#ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32)" /> - <Member Name="#ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.Int32,System.Boolean)" /> - <Member Name="#ctor(Microsoft.Win32.SafeHandles.SafeFileHandle,System.IO.FileAccess)" /> - <Member Name="#ctor(Microsoft.Win32.SafeHandles.SafeFileHandle,System.IO.FileAccess,System.Int32)" /> - <Member Name="#ctor(Microsoft.Win32.SafeHandles.SafeFileHandle,System.IO.FileAccess,System.Int32,System.Boolean)" /> - <Member Name="BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)" /> - <Member Name="BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)" /> - <Member Name="Dispose(System.Boolean)" /> - <Member Name="EndRead(System.IAsyncResult)" /> - <Member Name="EndWrite(System.IAsyncResult)" /> - <Member Name="Finalize" /> - <Member Name="Flush" /> - <Member Name="Flush(System.Boolean)" /> - <Member Name="FlushAsync(System.Threading.CancellationToken)" /> - <Member Name="get_CanRead" /> - <Member Name="get_CanSeek" /> - <Member Name="get_CanWrite" /> - <Member Name="get_IsAsync" /> - <Member Name="get_Length" /> - <Member Name="get_Name" /> - <Member Name="get_Position" /> - <Member Name="get_SafeFileHandle" /> - <Member Name="Read(System.Byte[],System.Int32,System.Int32)" /> - <Member Name="ReadByte" /> - <Member Name="ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)" /> - <Member Name="Seek(System.Int64,System.IO.SeekOrigin)" /> - <Member Name="set_Position(System.Int64)" /> - <Member Name="SetLength(System.Int64)" /> - <Member Name="Write(System.Byte[],System.Int32,System.Int32)" /> - <Member Name="WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)" /> - <Member Name="WriteByte(System.Byte)" /> - <Member MemberType="Property" Name="CanRead" /> - <Member MemberType="Property" Name="CanSeek" /> - <Member MemberType="Property" Name="CanWrite" /> - <Member MemberType="Property" Name="Length" /> - <Member MemberType="Property" Name="Name" /> - <Member MemberType="Property" Name="Position" /> - </Type> - <Type Name="System.IO.FileSystemInfo" Condition="FEATURE_LEGACYSURFACE"> - <Member MemberType="Field" Name="FullPath" /> - <Member MemberType="Field" Name="OriginalPath" /> - <Member Name="#ctor" /> - <Member Name="Delete" /> - <Member Name="get_Attributes" /> - <Member Name="get_CreationTime" /> - <Member Name="get_Exists" /> - <Member Name="get_Extension" /> - <Member Name="get_FullName" /> - <Member Name="get_LastAccessTime" /> - <Member Name="get_LastWriteTime" /> - <Member Name="get_Name" /> - <Member Status="ApiFxInternal" Name="get_UnsafeGetFullName" /> - <Member Name="Refresh" /> - <Member Name="set_Attributes(System.IO.FileAttributes)" /> - <Member MemberType="Property" Name="Attributes" /> - <Member MemberType="Property" Name="Exists" /> - <Member MemberType="Property" Name="Extension" /> - <Member MemberType="Property" Name="FullName" /> - <Member MemberType="Property" Name="Name" /> - <Member Status="ApiFxInternal" MemberType="Property" Name="UnsafeGetFullName" /> - </Type> <Type Name="System.IO.IOException"> <Member Name="#ctor" /> <Member Name="#ctor(System.String)" /> @@ -9219,31 +7947,6 @@ <Member MemberType="Property" Name="Position" /> <Member Status="ApiFxInternal" Name="InternalGetOriginAndLength(System.Int32@,System.Int32@)" Condition="FEATURE_COMINTEROP" /> </Type> - <Type Name="System.IO.Path"> - <Member MemberType="Field" Name="AltDirectorySeparatorChar" /> - <Member MemberType="Field" Name="DirectorySeparatorChar" /> - <Member MemberType="Field" Name="PathSeparator" /> - <Member MemberType="Field" Name="VolumeSeparatorChar" /> - <Member Name="ChangeExtension(System.String,System.String)" /> - <Member Name="Combine(System.String,System.String)" /> - <Member Name="Combine(System.String,System.String,System.String)" /> - <Member Name="Combine(System.String[])" /> - <Member Name="GetDirectoryName(System.String)" /> - <Member Name="GetExtension(System.String)" /> - <Member Name="GetFileName(System.String)" /> - <Member Name="GetFileNameWithoutExtension(System.String)" /> - <Member Name="GetFullPath(System.String)" /> - <Member Name="GetInvalidPathChars" /> - <Member Name="GetInvalidFileNameChars" /> - <Member Name="GetPathRoot(System.String)" /> - <Member Name="GetRandomFileName" /> - <Member Name="GetTempFileName" /> - <Member Name="GetTempPath" /> - <Member Name="HasExtension(System.String)" /> - <Member Name="IsPathRooted(System.String)" /> - <Member Status="ApiFxInternal" Name="UnsafeGetFullPath(System.String)" /> - <Member Status="ApiFxInternal" Name="UnsafeGetTempFileName" /> - </Type> <Type Name="System.IO.PathTooLongException"> <Member Name="#ctor" /> <Member Name="#ctor(System.String)" /> @@ -9536,7 +8239,6 @@ <Member Name="#ctor(System.Byte*,System.Int64,System.Int64,System.IO.FileAccess)" /> <Member Name="#ctor(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64)" /> <Member Name="#ctor(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess)" /> - <Member Status="ApiFxInternal" Name="#ctor(System.Byte*,System.Int64,System.Int64,System.IO.FileAccess,System.Boolean)" /> <Member Name="Dispose(System.Boolean)" /> <Member Name="Flush" /> <Member Name="get_CanRead" /> @@ -9545,8 +8247,7 @@ <Member Name="get_Capacity" /> <Member Name="get_Length" /> <Member Name="get_Position" /> - <Member Status="ApiFxInternal" Name="get_PositionPointer" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="get_PositionPointer" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="get_PositionPointer" /> <Member Name="Initialize(System.Byte*,System.Int64,System.Int64,System.IO.FileAccess)" /> <Member Name="Initialize(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess)" /> <Member Name="Read(System.Byte[],System.Int32,System.Int32)" /> @@ -9562,133 +8263,8 @@ <Member MemberType="Property" Name="Capacity" /> <Member MemberType="Property" Name="Length" /> <Member MemberType="Property" Name="Position" /> - <Member MemberType="Property" Name="PositionPointer" Condition="FEATURE_LEGACYNETCF" /> + <Member MemberType="Property" Name="PositionPointer" /> </Type> - <Type Name="System.IO.IsolatedStorage.IsolatedStorageFile" Condition="FEATURE_ISOSTORE"> - <Member Name="Remove" /> - <Member Name="GetUserStoreForApplication" /> - <Member Name="GetUserStoreForSite" /> - <Member Name="DeleteFile(System.String)" /> - <Member Name="CreateDirectory(System.String)" /> - <Member Name="DeleteDirectory(System.String)" /> - <Member Name="GetFileNames" /> - <Member Name="GetFileNames(System.String)" /> - <Member Name="GetDirectoryNames" /> - <Member Name="GetDirectoryNames(System.String)" /> - <Member Name="FileExists(System.String)" /> - <Member Name="DirectoryExists(System.String)" /> - <Member Name="OpenFile(System.String,System.IO.FileMode)" /> - <Member Name="OpenFile(System.String,System.IO.FileMode,System.IO.FileAccess)" /> - <Member Name="OpenFile(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)" /> - <Member Name="CreateFile(System.String)" /> - <Member Name="Dispose" /> - <Member Name="IncreaseQuotaTo(System.Int64)" /> - <Member Name="GetCreationTime(System.String)" /> - <Member Name="GetLastAccessTime(System.String)" /> - <Member Name="GetLastWriteTime(System.String)" /> - <Member Name="CopyFile(System.String,System.String)" /> - <Member Name="CopyFile(System.String,System.String,System.Boolean)" /> - <Member Name="MoveFile(System.String,System.String)" /> - <Member Name="MoveDirectory(System.String,System.String)" /> - <Member MemberType="Property" Name="UsedSize" /> - <Member MemberType="Property" Name="Quota" /> - <Member MemberType="Property" Name="AvailableFreeSpace" /> - <Member MemberType="Property" Name="IsEnabled" /> - <Member Name="get_UsedSize" /> - <Member Name="get_AvailableFreeSpace" /> - <Member Name="get_Quota" /> - <Member Name="get_IsEnabled" /> - </Type> - <Type Status="ApiFxInternal" Name="System.IO.IsolatedStorage.IsolatedStorageFileIOHelperBase" Condition="FEATURE_ISOSTORE"> <!-- FEATURE_LEGACYNETCF --> - <Member Status="ApiFxInternal" Name="#ctor" /> - <Member Status="ApiFxInternal" Name="UnsafeMoveFile(System.String,System.String)" /> - </Type> - <Type Name="System.IO.IsolatedStorage.IsolatedStorageFileStream" Condition="FEATURE_ISOSTORE"> - <Member Name="#ctor(System.String,System.IO.FileMode,System.IO.IsolatedStorage.IsolatedStorageFile)" /> - <Member Name="#ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.IsolatedStorage.IsolatedStorageFile)" /> - <Member Name="#ctor(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.IO.IsolatedStorage.IsolatedStorageFile)" /> - <Member MemberType="Property" Name="CanRead" /> - <Member MemberType="Property" Name="CanSeek" /> - <Member MemberType="Property" Name="CanWrite" /> - <Member MemberType="Property" Name="Length" /> - <Member MemberType="Property" Name="Name" Condition="FEATURE_LEGACYNETCF" /> - <Member MemberType="Property" Name="Position" /> - <Member Name="get_CanRead" /> - <Member Name="get_CanSeek" /> - <Member Name="get_CanWrite" /> - <Member Name="get_Length" /> - <Member Name="get_Name" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="get_Position" /> - <Member Name="set_Position(System.Int64)" /> - <Member Name="BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)" /> - <Member Name="BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)" /> - <Member Name="Dispose(System.Boolean)" /> - <Member Name="EndRead(System.IAsyncResult)" /> - <Member Name="EndWrite(System.IAsyncResult)" /> - <Member Name="Flush" /> - <Member Name="Flush(System.Boolean)" /> - <Member Name="SetLength(System.Int64)" /> - <Member Name="Read(System.Byte[],System.Int32,System.Int32)" /> - <Member Name="ReadByte" /> - <Member Name="Seek(System.Int64,System.IO.SeekOrigin)" /> - <Member Name="Write(System.Byte[],System.Int32,System.Int32)" /> - <Member Name="WriteByte(System.Byte)" /> - </Type> - <Type Name="System.IO.IsolatedStorage.IsolatedStorageException" Condition="FEATURE_ISOSTORE"> - <Member Name="#ctor" /> - <Member Name="#ctor(System.String)" /> - <Member Name="#ctor(System.String,System.Exception)" /> - </Type> - <Type Status="ApiFxInternal" Name="System.IO.IsolatedStorage.IsolatedStorageSecurityOptions" Condition="FEATURE_ISOSTORE"/> - <Type Status="ApiFxInternal" Name="System.IO.IsolatedStorage.IsolatedStorageSecurityState" Condition="FEATURE_ISOSTORE"> - <Member Name="get_AvailableFreeSpace" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="set_AvailableFreeSpace(System.Int64)" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="get_AvailableFreeSpaceComputed" Condition="FEATURE_LEGACYNETCF"/> - <Member Name="set_AvailableFreeSpaceComputed(System.Boolean)" Condition="FEATURE_LEGACYNETCF"/> - <Member Name="get_Options" /> - <Member Name="get_Id" /> - <Member Name="set_Id(System.String)" /> - <Member Name="get_IsolatedStorageFolderName" Condition="FEATURE_LEGACYNETCF"/> - <Member Name="set_IsolatedStorageFolderName(System.String)" Condition="FEATURE_LEGACYNETCF"/> - <Member Name="get_Group" /> - <Member Name="set_Group(System.String)" /> - <Member Name="get_RootUserDirectory" /> - <Member Name="set_RootUserDirectory(System.String)" /> - <Member Name="get_UsedSize" /> - <Member Name="get_Quota" /> - <Member Name="set_Quota(System.Int64)" /> - <Member Name="CreateStateToGetRootUserDirectory" /> - <Member Name="CreateStateToGetGroupAndIdForApplication" /> - <Member Name="CreateStateToGetGroupAndIdForSite" /> - <Member Name="CreateStateToIncreaseQuotaForGroup(System.String,System.Int64,System.Int64)" /> - <Member Name="CreateStateToCheckSetInnerException" Condition="not FEATURE_LEGACYNETCF" /> - <Member Name="CreateStateToGetAvailableFreeSpace" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="CreateStateForIsolatedStorageFolderName" Condition="FEATURE_LEGACYNETCF" /> - <Member MemberType="Property" Name="AvailableFreeSpace" Condition="FEATURE_LEGACYNETCF" /> - <Member MemberType="Property" Name="AvailableFreeSpaceComputed" Condition="FEATURE_LEGACYNETCF"/> - <Member MemberType="Property" Name="IsolatedStorageFolderName" Condition="FEATURE_LEGACYNETCF"/> - <Member MemberType="Property" Name="Options" /> - <Member MemberType="Property" Name="Id" /> - <Member MemberType="Property" Name="Group" /> - <Member MemberType="Property" Name="RootUserDirectory" /> - <Member MemberType="Property" Name="UsedSize" /> - <Member MemberType="Property" Name="Quota" /> - <Member Status="ApiRoot" Name="EnsureState" /> - </Type> - <Type Status="ApiFxInternal" Name="System.IO.IsolatedStorage.IsolatedStorageGroup" Condition="FEATURE_ISOSTORE"> - <Member Name="get_Group" /> - <Member Name="get_UsedSize" /> - <Member Name="get_Quota" /> - <Member Name="get_Enabled" /> - <Member Name="set_Enabled(System.Boolean)" /> - <Member MemberType="Property" Name="Group" /> - <Member MemberType="Property" Name="UsedSize" /> - <Member MemberType="Property" Name="Quota" /> - <Member MemberType="Property" Name="Enabled" /> - <Member Name="Remove" /> - <Member Name="GetGroups" /> - <Member Name="RemoveAll" /> - </Type> <Type Name="System.Security.Permissions.SecurityAttribute"> <Member Name="#ctor(System.Security.Permissions.SecurityAction)" /> <Member Name="get_Action" /> @@ -10110,14 +8686,7 @@ <Type Status="ImplRoot" Name="System.DuplicateWaitObjectException" /> - <Type Status="ImplRoot" Name="System.IO.FileStreamAsyncResult" > - <Member MemberType="Field" Name="_handle" /> - <Member MemberType="Field" Name="_overlapped" Platform="Win" /> - <Member MemberType="Field" Name="_EndXxxCalled" /> - <Member MemberType="Field" Name="_numBytes" /> - <Member MemberType="Field" Name="_numBufferedBytes" /> - <Member MemberType="Field" Name="_isWrite" /> - </Type> + <Type Status="ImplRoot" Name="System.IO.Stream+SynchronousAsyncResult"> <Member Name="get_AsyncState" /> <Member Name="get_AsyncWaitHandle" /> @@ -10150,12 +8719,12 @@ <Type Status="ApiRoot" Name="System.Reflection.LocalVariableInfo"> <Member Name="#ctor" /> - <Member Name="get_IsPinned" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="get_LocalIndex" Condition="FEATURE_LEGACYNETCF" /> - <Member Name="get_LocalType" Condition="FEATURE_LEGACYNETCF" /> - <Member MemberType="Property" Name="IsPinned" Condition="FEATURE_LEGACYNETCF" /> - <Member MemberType="Property" Name="LocalIndex" Condition="FEATURE_LEGACYNETCF" /> - <Member MemberType="Property" Name="LocalType" Condition="FEATURE_LEGACYNETCF" /> + <Member Name="get_IsPinned" /> + <Member Name="get_LocalIndex" /> + <Member Name="get_LocalType" /> + <Member MemberType="Property" Name="IsPinned" /> + <Member MemberType="Property" Name="LocalIndex" /> + <Member MemberType="Property" Name="LocalType" /> </Type> <Type Status="ImplRoot" Name="System.Reflection.MetadataImport"> <Member Name="ThrowError(System.Int32)" /> <!-- EE --> @@ -10172,7 +8741,6 @@ <Member Name="op_Equality(System.Reflection.Emit.ExceptionHandler,System.Reflection.Emit.ExceptionHandler)" /> <Member Name="op_Inequality(System.Reflection.Emit.ExceptionHandler,System.Reflection.Emit.ExceptionHandler)" /> </Type> - <Type Status="ApiFxInternal" Name="System.Reflection.Pointer" /> <Type Name="System.Reflection.ReflectionTypeLoadException"> <Member Name="#ctor(System.Type[],System.Exception[])" /> <Member Name="#ctor(System.Type[],System.Exception[],System.String)" /> @@ -10181,7 +8749,7 @@ <Member Name="get_LoaderExceptions" /> <Member Name="get_Types" /> </Type> - <Type Name="System.Reflection.ResourceAttributes" Condition="FEATURE_LEGACYNETCF"> + <Type Name="System.Reflection.ResourceAttributes"> <Member MemberType="Field" Name="Private" /> <Member MemberType="Field" Name="Public" /> </Type> @@ -10705,14 +9273,6 @@ <Member Name="CheckHelper(System.Object,System.Security.PermissionSet,System.Security.PermissionSet,System.Security.CodeAccessPermission,System.Security.PermissionToken,System.RuntimeMethodHandleInternal,System.Reflection.RuntimeAssembly,System.Security.Permissions.SecurityAction)" /> <!-- EE --> <Member Name="CheckSetHelper(System.Object,System.Security.PermissionSet,System.Security.PermissionSet,System.Security.PermissionSet,System.RuntimeMethodHandleInternal,System.Reflection.RuntimeAssembly,System.Security.Permissions.SecurityAction)" /> <!-- EE --> </Type> - <Type Name="System.Security.Cryptography.CryptographicException" Condition="FEATURE_LEGACYSURFACE"> - <Member Name="#ctor" /> - <Member Name="#ctor(System.String)" /> - <Member Name="#ctor(System.String,System.String)" /> - <Member Name="#ctor(System.String,System.Exception)" /> - <Member Name="#ctor(System.Int32)" /> - <Member Name="ThrowCryptographicException(System.Int32)" /> <!-- EE --> - </Type> <Type Status="ImplRoot" Name="System.Security.DynamicSecurityMethodAttribute" /> <Type Status="ImplRoot" Name="System.Security.FrameSecurityDescriptor"> <Member MemberType="Field" Name="m_callerToken" Condition="not FEATURE_PAL" /> @@ -10794,9 +9354,6 @@ <Type Name="System.Security.UnverifiableCodeAttribute"> <Member Name="#ctor" /> </Type> - <Type Status="ApiFxInternal" Name="System.Security.SuppressUnmanagedCodeSecurityAttribute"> - <Member Name="#ctor"/> - </Type> <Type Name="System.Security.VerificationException" > <Member Name="#ctor" /> <Member Name="#ctor(System.String)" /> @@ -11622,9 +10179,6 @@ <Member MemberType="Field" Name="cAlternateFileName" /> <Member Name="#ctor" /> </Type> - <Type Status="ApiFxInternal" Name="Microsoft.Win32.Win32Native+SECURITY_ATTRIBUTES"> - <Member Status="ApiRoot" Name="#ctor" /> - </Type> <!-- PFX Types --> <!-- System.Threading.Tasks namespace --> <Type Name="System.Threading.Tasks.TaskScheduler"> @@ -12164,10 +10718,7 @@ </Type> <Type Name="System.Threading.ExecutionContext"> <Member Name="Capture" /> - <Member Status="ApiFxInternal" Name="IsFlowSuppressed" /> <Member Name="Run(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object)"/> - <Member Status="ApiFxInternal" Name="CreateCopy" /> - <Member Status="ApiFxInternal" Name="Dispose" /> </Type> <Type Name="System.Threading.CancellationToken"> <Member Name="#ctor(System.Boolean)"/> @@ -12344,6 +10895,10 @@ <Member Name="get_TraceLevel" /> </Type> <!--End of PFX types --> + <Type Name="System.Console"> + <Member Name="Write(System.String)" /> + <Member Name="WriteLine(System.String)" /> + <Member Name="WriteLine" /> + </Type> </Assembly> </ThinModel> - diff --git a/src/mscorlib/mscorlib.shared.sources.props b/src/mscorlib/mscorlib.shared.sources.props index 8b1bce3fc6..a2a9750780 100644 --- a/src/mscorlib/mscorlib.shared.sources.props +++ b/src/mscorlib/mscorlib.shared.sources.props @@ -325,13 +325,7 @@ <SystemSources Include="$(BclSourcesRoot)\System\TypeUnloadedException.cs" /> <SystemSources Include="$(BclSourcesRoot)\System\cominterfaces.cs" /> <SystemSources Include="$(BclSourcesRoot)\System\CompatibilitySwitches.cs" /> - <SystemSources Include="$(BclSourcesRoot)\System\Console.cs" /> - <SystemSources Include="$(BclSourcesRoot)\System\ConsoleCancelEventArgs.cs" /> - <SystemSources Include="$(BclSourcesRoot)\System\ConsoleColor.cs" /> - <SystemSources Include="$(BclSourcesRoot)\System\ConsoleKey.cs" /> - <SystemSources Include="$(BclSourcesRoot)\System\ConsoleKeyInfo.cs" /> - <SystemSources Include="$(BclSourcesRoot)\System\ConsoleModifiers.cs" /> - <SystemSources Include="$(BclSourcesRoot)\System\ConsoleSpecialKey.cs" /> + <SystemSources Condition="'$(FeatureCoreClr)'=='true'" Include="$(BclSourcesRoot)\System\LowLevelConsole.cs" /> <SystemSources Include="$(BclSourcesRoot)\System\ContextMarshalException.cs" /> <SystemSources Include="$(BclSourcesRoot)\System\Convert.cs" /> <SystemSources Include="$(BclSourcesRoot)\System\ContextBoundObject.cs" /> diff --git a/src/mscorlib/src/Microsoft/Win32/Win32Native.cs b/src/mscorlib/src/Microsoft/Win32/Win32Native.cs index abb2db9f6f..fd0791cef2 100644 --- a/src/mscorlib/src/Microsoft/Win32/Win32Native.cs +++ b/src/mscorlib/src/Microsoft/Win32/Win32Native.cs @@ -852,11 +852,14 @@ namespace Microsoft.Win32 { [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] internal static extern uint SysStringByteLen(IntPtr bstr); +#if FEATURE_LEGACYSURFACE [DllImport(Win32Native.OLEAUT32)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] internal static extern uint SysStringLen(SafeBSTRHandle bstr); #endif +#endif + [DllImport(KERNEL32)] internal static extern int GetACP(); @@ -1755,7 +1758,7 @@ namespace Microsoft.Win32 { // DPAPI // -#if FEATURE_COMINTEROP +#if FEATURE_LEGACYSURFACE // // RtlEncryptMemory and RtlDecryptMemory are declared in the internal header file crypt.h. // They were also recently declared in the public header file ntsecapi.h (in the Platform SDK as well as the current build of Server 2003). @@ -1777,7 +1780,7 @@ namespace Microsoft.Win32 { [In,Out] SafeBSTRHandle pDataIn, [In] uint cbDataIn, // multiple of RTL_ENCRYPT_MEMORY_SIZE [In] uint dwFlags); -#endif // FEATURE_COMINTEROP +#endif // FEATURE_LEGACYSURFACE #if FEATURE_CORECLR [DllImport(NTDLL, CharSet=CharSet.Unicode, SetLastError=true)] @@ -2416,11 +2419,30 @@ namespace Microsoft.Win32 { [return: MarshalAs(UnmanagedType.Bool)] internal extern static bool QueryUnbiasedInterruptTime(out ulong UnbiasedTime); +#if FEATURE_CORECLR #if FEATURE_PAL [DllImport(KERNEL32, EntryPoint = "PAL_Random")] [ResourceExposure(ResourceScope.None)] internal extern static bool Random(bool bStrong, [Out, MarshalAs(UnmanagedType.LPArray)] byte[] buffer, int length); +#else + internal const int PROV_RSA_FULL = 1; + internal const int CRYPT_VERIFYCONTEXT = unchecked((int)0xF0000000); + + [DllImport("advapi32", SetLastError = true, CharSet = CharSet.Unicode)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool CryptAcquireContext([Out] out IntPtr phProv, + string pszContainer, + string pszProvider, + int dwProvType, + int dwFlags); + + [DllImport("advapi32", SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + internal static extern bool CryptGenRandom(IntPtr hProv, + int dwLen, + [In, Out, MarshalAs(UnmanagedType.LPArray)] byte[] pbBuffer); +#endif #endif } } diff --git a/src/mscorlib/src/System/Collections/Hashtable.cs b/src/mscorlib/src/System/Collections/Hashtable.cs index 1c42128fde..49344c9465 100644 --- a/src/mscorlib/src/System/Collections/Hashtable.cs +++ b/src/mscorlib/src/System/Collections/Hashtable.cs @@ -23,7 +23,7 @@ namespace System.Collections { using System.Runtime.CompilerServices; using System.Runtime.ConstrainedExecution; using System.Diagnostics.Contracts; -#if FEATURE_RANDOMIZED_STRING_HASHING && !FEATURE_PAL +#if !FEATURE_CORECLR using System.Security.Cryptography; #endif @@ -943,7 +943,6 @@ namespace System.Collections { } #endif // !FEATURE_CORECLR #endif // FEATURE_RANDOMIZED_STRING_HASHING - return; } @@ -1806,8 +1805,12 @@ namespace System.Collections { private const int bufferSize = 1024; #if !FEATURE_PAL +#if FEATURE_CORECLR + private static IntPtr hCryptProv; +#else private static RandomNumberGenerator rng; #endif +#endif private static byte[] data; private static int currentIndex = bufferSize; private static readonly object lockObj = new Object(); @@ -1824,16 +1827,25 @@ namespace System.Collections { data = new byte[bufferSize]; Contract.Assert(bufferSize % 8 == 0, "We increment our current index by 8, so our buffer size must be a multiple of 8"); #if !FEATURE_PAL +#if FEATURE_CORECLR + Microsoft.Win32.Win32Native.CryptAcquireContext(out hCryptProv, null, null, + Microsoft.Win32.Win32Native.PROV_RSA_FULL, Microsoft.Win32.Win32Native.CRYPT_VERIFYCONTEXT); +#else rng = RandomNumberGenerator.Create(); #endif +#endif } #if FEATURE_PAL Microsoft.Win32.Win32Native.Random(true, data, data.Length); #else +#if FEATURE_CORECLR + Microsoft.Win32.Win32Native.CryptGenRandom(hCryptProv, data.Length, data); +#else rng.GetBytes(data); #endif +#endif currentIndex = 0; } diff --git a/src/mscorlib/src/System/Console.cs b/src/mscorlib/src/System/Console.cs deleted file mode 100644 index 3a0eb41c5b..0000000000 --- a/src/mscorlib/src/System/Console.cs +++ /dev/null @@ -1,2141 +0,0 @@ -// 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. - -/*============================================================================= -** -** -** -** Purpose: This class provides access to the standard input, standard output -** and standard error streams. -** -** -=============================================================================*/ -namespace System { - using System; - using System.IO; - using System.Text; - using System.Globalization; - using System.Security; - using System.Security.Permissions; - using Microsoft.Win32; - using System.Runtime.CompilerServices; - using System.Threading; - using System.Runtime.InteropServices; - using Microsoft.Win32.SafeHandles; - using System.Runtime.ConstrainedExecution; - using System.Runtime.Versioning; - using System.Diagnostics.Contracts; - using System.Diagnostics.CodeAnalysis; - using System.Collections.Generic; - - // Provides static fields for console input & output. Use - // Console.In for input from the standard input stream (stdin), - // Console.Out for output to stdout, and Console.Error - // for output to stderr. If any of those console streams are - // redirected from the command line, these streams will be redirected. - // A program can also redirect its own output or input with the - // SetIn, SetOut, and SetError methods. - // - // The distinction between Console.Out & Console.Error is useful - // for programs that redirect output to a file or a pipe. Note that - // stdout & stderr can be output to different files at the same - // time from the DOS command line: - // - // someProgram 1> out 2> err - // - //Contains only static data. Serializable attribute not required. - public static class Console - { - private const int DefaultConsoleBufferSize = 256; - private const short AltVKCode = 0x12; - - private const int NumberLockVKCode = 0x90; // virtual key code - private const int CapsLockVKCode = 0x14; - - // Beep range - see MSDN. - private const int MinBeepFrequency = 37; - private const int MaxBeepFrequency = 32767; - - // MSDN says console titles can be up to 64 KB in length. - // But I get an exception if I use buffer lengths longer than - // ~24500 Unicode characters. Oh well. - private const int MaxConsoleTitleLength = 24500; - -#if !FEATURE_CORECLR - private static readonly UnicodeEncoding StdConUnicodeEncoding = new UnicodeEncoding(false, false); -#endif // !FEATURE_CORECLR - - private static volatile TextReader _in; - private static volatile TextWriter _out; - private static volatile TextWriter _error; - - private static volatile ConsoleCancelEventHandler _cancelCallbacks; - private static volatile ControlCHooker _hooker; - - // ReadLine & Read can't use this because they need to use ReadFile - // to be able to handle redirected input. We have to accept that - // we will lose repeated keystrokes when someone switches from - // calling ReadKey to calling Read or ReadLine. Those methods should - // ideally flush this cache as well. - [System.Security.SecurityCritical] // auto-generated - private static Win32Native.InputRecord _cachedInputRecord; - - // For ResetColor - private static volatile bool _haveReadDefaultColors; - private static volatile byte _defaultColors; -#if FEATURE_CODEPAGES_FILE // if no codepages file then locked into default - private static volatile bool _isOutTextWriterRedirected = false; - private static volatile bool _isErrorTextWriterRedirected = false; -#endif - private static volatile Encoding _inputEncoding = null; - private static volatile Encoding _outputEncoding = null; - -#if !FEATURE_CORECLR - private static volatile bool _stdInRedirectQueried = false; - private static volatile bool _stdOutRedirectQueried = false; - private static volatile bool _stdErrRedirectQueried = false; - - private static bool _isStdInRedirected; - private static bool _isStdOutRedirected; - private static bool _isStdErrRedirected; -#endif // !FEATURE_CORECLR - - // Private object for locking instead of locking on a public type for SQL reliability work. - // Use this for internal synchronization during initialization, wiring up events, or for short, non-blocking OS calls. - private static volatile Object s_InternalSyncObject; - private static Object InternalSyncObject { - get { - Contract.Ensures(Contract.Result<Object>() != null); - if (s_InternalSyncObject == null) { - Object o = new Object(); -#pragma warning disable 0420 - Interlocked.CompareExchange<Object>(ref s_InternalSyncObject, o, null); -#pragma warning restore 0420 - } - return s_InternalSyncObject; - } - } - - // Use this for blocking in Console.ReadKey, which needs to protect itself in case multiple threads call it simultaneously. - // Use a ReadKey-specific lock though, to allow other fields to be initialized on this type. - private static volatile Object s_ReadKeySyncObject; - private static Object ReadKeySyncObject - { - get - { - Contract.Ensures(Contract.Result<Object>() != null); - if (s_ReadKeySyncObject == null) - { - Object o = new Object(); -#pragma warning disable 0420 - Interlocked.CompareExchange<Object>(ref s_ReadKeySyncObject, o, null); -#pragma warning restore 0420 - } - return s_ReadKeySyncObject; - } - } - - // About reliability: I'm not using SafeHandle here. We don't - // need to close these handles, and we don't allow the user to close - // them so we don't have many of the security problems inherent in - // something like file handles. Additionally, in a host like SQL - // Server, we won't have a console. - private static volatile IntPtr _consoleInputHandle; - private static volatile IntPtr _consoleOutputHandle; - - private static IntPtr ConsoleInputHandle { - [System.Security.SecurityCritical] // auto-generated - get { - if (_consoleInputHandle == IntPtr.Zero) { - _consoleInputHandle = Win32Native.GetStdHandle(Win32Native.STD_INPUT_HANDLE); - } - return _consoleInputHandle; - } - } - - private static IntPtr ConsoleOutputHandle { - [System.Security.SecurityCritical] // auto-generated - get { - if (_consoleOutputHandle == IntPtr.Zero) { - _consoleOutputHandle = Win32Native.GetStdHandle(Win32Native.STD_OUTPUT_HANDLE); - } - return _consoleOutputHandle; - } - } - - -#if !FEATURE_CORECLR - [System.Security.SecuritySafeCritical] - private static bool IsHandleRedirected(IntPtr ioHandle) { - - // Need this to use GetFileType: - SafeFileHandle safeIOHandle = new SafeFileHandle(ioHandle, false); - - // If handle is not to a character device, we must be redirected: - int fileType = Win32Native.GetFileType(safeIOHandle); - if ((fileType & Win32Native.FILE_TYPE_CHAR) != Win32Native.FILE_TYPE_CHAR) - return true; - - // We are on a char device. - // If GetConsoleMode succeeds, we are NOT redirected. - int mode; - bool success = Win32Native.GetConsoleMode(ioHandle, out mode); - return !success; - } - - - public static bool IsInputRedirected { - [System.Security.SecuritySafeCritical] - get { - - if (_stdInRedirectQueried) - return _isStdInRedirected; - - lock (InternalSyncObject) { - - if (_stdInRedirectQueried) - return _isStdInRedirected; - - _isStdInRedirected = IsHandleRedirected(ConsoleInputHandle); - _stdInRedirectQueried = true; - - return _isStdInRedirected; - } - } - } // public static bool IsInputRedirected - - - public static bool IsOutputRedirected { - [System.Security.SecuritySafeCritical] - get { - - if (_stdOutRedirectQueried) - return _isStdOutRedirected; - - lock (InternalSyncObject) { - - if (_stdOutRedirectQueried) - return _isStdOutRedirected; - - _isStdOutRedirected = IsHandleRedirected(ConsoleOutputHandle); - _stdOutRedirectQueried = true; - - return _isStdOutRedirected; - } - } - } // public static bool IsOutputRedirected - - - public static bool IsErrorRedirected { - [System.Security.SecuritySafeCritical] - get { - - if (_stdErrRedirectQueried) - return _isStdErrRedirected; - - lock (InternalSyncObject) { - - if (_stdErrRedirectQueried) - return _isStdErrRedirected; - - IntPtr errHndle = Win32Native.GetStdHandle(Win32Native.STD_ERROR_HANDLE); - _isStdErrRedirected = IsHandleRedirected(errHndle); - _stdErrRedirectQueried = true; - - return _isStdErrRedirected; - } - } - } // public static bool IsErrorRedirected -#endif // !FEATURE_CORECLR - - public static TextReader In { - [System.Security.SecuritySafeCritical] // auto-generated - [HostProtection(UI=true)] - get { - Contract.Ensures(Contract.Result<TextReader>() != null); - // Because most applications don't use stdin, we can delay - // initialize it slightly better startup performance. - if (_in == null) { - lock(InternalSyncObject) { - if (_in == null) { - // Set up Console.In - Stream s = OpenStandardInput(DefaultConsoleBufferSize); - TextReader tr; - if (s == Stream.Null) - tr = StreamReader.Null; - else { - // Hopefully Encoding.GetEncoding doesn't load as many classes now. -#if FEATURE_CORECLR - Encoding enc = Encoding.UTF8; -#else // FEATURE_CORECLR - Encoding enc = InputEncoding; -#endif // FEATURE_CORECLR - tr = TextReader.Synchronized(new StreamReader(s, enc, false, DefaultConsoleBufferSize, true)); - } - System.Threading.Thread.MemoryBarrier(); - _in = tr; - } - } - } - return _in; - } - } - - public static TextWriter Out { - [HostProtection(UI=true)] - get { - Contract.Ensures(Contract.Result<TextWriter>() != null); - // Hopefully this is inlineable. - if (_out == null) - InitializeStdOutError(true); - return _out; - } - } - - public static TextWriter Error { - [HostProtection(UI=true)] - get { - Contract.Ensures(Contract.Result<TextWriter>() != null); - // Hopefully this is inlineable. - if (_error == null) - InitializeStdOutError(false); - return _error; - } - } - - // For console apps, the console handles are set to values like 3, 7, - // and 11 OR if you've been created via CreateProcess, possibly -1 - // or 0. -1 is definitely invalid, while 0 is probably invalid. - // Also note each handle can independently be invalid or good. - // For Windows apps, the console handles are set to values like 3, 7, - // and 11 but are invalid handles - you may not write to them. However, - // you can still spawn a Windows app via CreateProcess and read stdout - // and stderr. - // So, we always need to check each handle independently for validity - // by trying to write or read to it, unless it is -1. - - // We do not do a security check here, under the assumption that this - // cannot create a security hole, but only waste a user's time or - // cause a possible denial of service attack. - [System.Security.SecuritySafeCritical] // auto-generated - private static void InitializeStdOutError(bool stdout) - { - // Set up Console.Out or Console.Error. - lock(InternalSyncObject) { - if (stdout && _out != null) - return; - else if (!stdout && _error != null) - return; - - TextWriter writer = null; - Stream s; - if (stdout) - s = OpenStandardOutput(DefaultConsoleBufferSize); - else - s = OpenStandardError(DefaultConsoleBufferSize); - - if (s == Stream.Null) { -#if _DEBUG - if (CheckOutputDebug()) - writer = MakeDebugOutputTextWriter((stdout) ? "Console.Out: " : "Console.Error: "); - else -#endif // _DEBUG - writer = TextWriter.Synchronized(StreamWriter.Null); - } - else { -#if FEATURE_CORECLR - Encoding encoding = Encoding.UTF8; -#else // FEATURE_CORECLR - Encoding encoding = OutputEncoding; -#endif // FEATURE_CORECLR - StreamWriter stdxxx = new StreamWriter(s, encoding, DefaultConsoleBufferSize, true); - stdxxx.HaveWrittenPreamble = true; - stdxxx.AutoFlush = true; - writer = TextWriter.Synchronized(stdxxx); - } - if (stdout) - _out = writer; - else - _error = writer; - Contract.Assert((stdout && _out != null) || (!stdout && _error != null), "Didn't set Console::_out or _error appropriately!"); - } - } - - // This is ONLY used in debug builds. If you have a registry key set, - // it will redirect Console.Out & Error on console-less applications to - // your debugger's output window. -#if _DEBUG - [System.Security.SecuritySafeCritical] // auto-generated - private static bool CheckOutputDebug() - { -#if FEATURE_WIN32_REGISTRY - - new System.Security.Permissions.RegistryPermission(RegistryPermissionAccess.Read | RegistryPermissionAccess.Write, "HKEY_LOCAL_MACHINE").Assert(); - RegistryKey rk = Registry.LocalMachine; - using (rk = rk.OpenSubKey("Software\\Microsoft\\.NETFramework", false)) { - if (rk != null) { - Object obj = rk.GetValue("ConsoleSpewToDebugger", 0); - if (obj != null && ((int)obj) != 0) { - return true; - } - } - } - return false; -#else // FEATURE_WIN32_REGISTRY - return false; -#endif // FEATURE_WIN32_REGISTRY - } -#endif // _DEBUG - - -#if _DEBUG - private static TextWriter MakeDebugOutputTextWriter(String streamLabel) - { - TextWriter output = new __DebugOutputTextWriter(streamLabel); - output.WriteLine("Output redirected to debugger from a bit bucket."); - return TextWriter.Synchronized(output); - } -#endif // _DEBUG - - -#if !FEATURE_CORECLR - // We cannot simply compare the encoding to Encoding.Unicode bacasue it incorporates BOM - // and we do not care about BOM. Instead, we compare by class, codepage and little-endianess only: - private static bool IsStandardConsoleUnicodeEncoding(Encoding encoding) { - - UnicodeEncoding enc = encoding as UnicodeEncoding; - if (null == enc) - return false; - - return (StdConUnicodeEncoding.CodePage == enc.CodePage) - && (StdConUnicodeEncoding.bigEndian == enc.bigEndian); - } - - private static bool GetUseFileAPIs(int handleType) { - - switch(handleType) { - - case Win32Native.STD_INPUT_HANDLE: - return !IsStandardConsoleUnicodeEncoding(InputEncoding) || IsInputRedirected; - - case Win32Native.STD_OUTPUT_HANDLE: - return !IsStandardConsoleUnicodeEncoding(OutputEncoding) || IsOutputRedirected; - - case Win32Native.STD_ERROR_HANDLE: - return !IsStandardConsoleUnicodeEncoding(OutputEncoding) || IsErrorRedirected; - - default: - // This can never happen. - Contract.Assert(false, "Unexpected handleType value (" + handleType + ")"); - return true; - } - } -#endif // !FEATURE_CORECLR - - // This method is only exposed via methods to get at the console. - // We won't use any security checks here. - #if FEATURE_CORECLR - [System.Security.SecurityCritical] // auto-generated - #else - [System.Security.SecuritySafeCritical] - #endif - private static Stream GetStandardFile(int stdHandleName, FileAccess access, int bufferSize) { - // We shouldn't close the handle for stdout, etc, or we'll break - // unmanaged code in the process that will print to console. - // We should have a better way of marking this on SafeHandle. - IntPtr handle = Win32Native.GetStdHandle(stdHandleName); - SafeFileHandle sh = new SafeFileHandle(handle, false); - - // If someone launches a managed process via CreateProcess, stdout - // stderr, & stdin could independently be set to INVALID_HANDLE_VALUE. - // Additionally they might use 0 as an invalid handle. - if (sh.IsInvalid) { - // Minor perf optimization - get it out of the finalizer queue. - sh.SetHandleAsInvalid(); - return Stream.Null; - } - - // Check whether we can read or write to this handle. - if (stdHandleName != Win32Native.STD_INPUT_HANDLE && !ConsoleHandleIsWritable(sh)) { - //BCLDebug.ConsoleError("Console::ConsoleHandleIsValid for std handle "+stdHandleName+" failed, setting it to a null stream"); - return Stream.Null; - } - - #if !FEATURE_CORECLR - bool useFileAPIs = GetUseFileAPIs(stdHandleName); - #else - const bool useFileAPIs = true; - #endif // !FEATURE_CORECLR - - //BCLDebug.ConsoleError("Console::GetStandardFile for std handle "+stdHandleName+" succeeded, returning handle number "+handle.ToString()); - Stream console = new __ConsoleStream(sh, access, useFileAPIs); - // Do not buffer console streams, or we can get into situations where - // we end up blocking waiting for you to hit enter twice. It was - // redundant. - return console; - } - - // Checks whether stdout or stderr are writable. Do NOT pass - // stdin here. -#if FEATURE_CORECLR - [System.Security.SecurityCritical] // auto-generated -#else - [System.Security.SecuritySafeCritical] -#endif - private static unsafe bool ConsoleHandleIsWritable(SafeFileHandle outErrHandle) { - // Do NOT call this method on stdin! - - // Windows apps may have non-null valid looking handle values for - // stdin, stdout and stderr, but they may not be readable or - // writable. Verify this by calling WriteFile in the - // appropriate modes. - // This must handle console-less Windows apps. - - int bytesWritten; - byte junkByte = 0x41; - int r = Win32Native.WriteFile(outErrHandle, &junkByte, 0, out bytesWritten, IntPtr.Zero); - // In Win32 apps w/ no console, bResult should be 0 for failure. - return r != 0; - } - - - public static Encoding InputEncoding { - [System.Security.SecuritySafeCritical] // auto-generated - get { - - Contract.Ensures(Contract.Result<Encoding>() != null); - - if (null != _inputEncoding) - return _inputEncoding; - - lock(InternalSyncObject) { - - if (null != _inputEncoding) - return _inputEncoding; - - uint cp = Win32Native.GetConsoleCP(); - _inputEncoding = Encoding.GetEncoding((int) cp); - return _inputEncoding; - } - } -#if FEATURE_CODEPAGES_FILE // if no codepages file then locked into default - [System.Security.SecuritySafeCritical] // auto-generated - set { - - if (value == null) - throw new ArgumentNullException("value"); - - Contract.EndContractBlock(); - - new UIPermission(UIPermissionWindow.SafeTopLevelWindows).Demand(); - - lock(InternalSyncObject) { - - if (!IsStandardConsoleUnicodeEncoding(value)) { - - uint cp = (uint) value.CodePage; - bool r = Win32Native.SetConsoleCP(cp); - if (!r) - __Error.WinIOError(); - } - - _inputEncoding = (Encoding) value.Clone(); - - // We need to reinitialize Console.In in the next call to _in - // This will discard the current StreamReader, potentially - // losing buffered data - _in = null; - } - } // set -#endif // FEATURE_CODEPAGES_FILE - } // public static Encoding InputEncoding - - public static Encoding OutputEncoding { - [System.Security.SecuritySafeCritical] // auto-generated - get { - - Contract.Ensures(Contract.Result<Encoding>() != null); - - if (null != _outputEncoding) - return _outputEncoding; - - lock(InternalSyncObject) { - - if (null != _outputEncoding) - return _outputEncoding; - - uint cp = Win32Native.GetConsoleOutputCP(); - _outputEncoding = Encoding.GetEncoding((int) cp); - return _outputEncoding; - } - } -#if FEATURE_CODEPAGES_FILE // if no codepages file then locked into default - [System.Security.SecuritySafeCritical] // auto-generated - set { - if (value == null) - throw new ArgumentNullException("value"); - Contract.EndContractBlock(); - - new UIPermission(UIPermissionWindow.SafeTopLevelWindows).Demand(); - - lock(InternalSyncObject) { - // Before changing the code page we need to flush the data - // if Out hasn't been redirected. Also, have the next call to - // _out reinitialize the console code page. - - if (_out != null && !_isOutTextWriterRedirected) { - _out.Flush(); - _out = null; - } - if (_error != null && !_isErrorTextWriterRedirected) { - _error.Flush(); - _error = null; - } - - if (!IsStandardConsoleUnicodeEncoding(value)) { - - uint cp = (uint) value.CodePage; - bool r = Win32Native.SetConsoleOutputCP(cp); - if (!r) - __Error.WinIOError(); - } - - _outputEncoding = (Encoding) value.Clone(); - } - } // set -#endif // FEATURE_CODEPAGES_FILE - } // public static Encoding OutputEncoding - - [HostProtection(UI=true)] - public static void Beep() - { - Beep(800, 200); - } - - [System.Security.SecuritySafeCritical] // auto-generated - [HostProtection(UI=true)] - public static void Beep(int frequency, int duration) - { - if (frequency < MinBeepFrequency || frequency > MaxBeepFrequency) - throw new ArgumentOutOfRangeException("frequency", frequency, Environment.GetResourceString("ArgumentOutOfRange_BeepFrequency", MinBeepFrequency, MaxBeepFrequency)); - if (duration <= 0) - throw new ArgumentOutOfRangeException("duration", duration, Environment.GetResourceString("ArgumentOutOfRange_NeedPosNum")); - - // Note that Beep over Remote Desktop connections does not currently - Contract.EndContractBlock(); - // work. Ignore any failures here. - Win32Native.Beep(frequency, duration); - } - - [System.Security.SecuritySafeCritical] // auto-generated - public static void Clear() - { - Win32Native.COORD coordScreen = new Win32Native.COORD(); - Win32Native.CONSOLE_SCREEN_BUFFER_INFO csbi; - bool success; - int conSize; - - IntPtr hConsole = ConsoleOutputHandle; - if (hConsole == Win32Native.INVALID_HANDLE_VALUE) - throw new IOException(Environment.GetResourceString("IO.IO_NoConsole")); - - // get the number of character cells in the current buffer - // Go through my helper method for fetching a screen buffer info - // to correctly handle default console colors. - csbi = GetBufferInfo(); - conSize = csbi.dwSize.X * csbi.dwSize.Y; - - // fill the entire screen with blanks - - int numCellsWritten = 0; - success = Win32Native.FillConsoleOutputCharacter(hConsole, ' ', - conSize, coordScreen, out numCellsWritten); - if (!success) - __Error.WinIOError(); - - // now set the buffer's attributes accordingly - - numCellsWritten = 0; - success = Win32Native.FillConsoleOutputAttribute(hConsole, csbi.wAttributes, - conSize, coordScreen, out numCellsWritten); - if (!success) - __Error.WinIOError(); - - // put the cursor at (0, 0) - - success = Win32Native.SetConsoleCursorPosition(hConsole, coordScreen); - if (!success) - __Error.WinIOError(); - } - - [System.Security.SecurityCritical] // auto-generated - private static Win32Native.Color ConsoleColorToColorAttribute(ConsoleColor color, bool isBackground) - { - if ((((int)color) & ~0xf) != 0) - throw new ArgumentException(Environment.GetResourceString("Arg_InvalidConsoleColor")); - Contract.EndContractBlock(); - - Win32Native.Color c = (Win32Native.Color) color; - - // Make these background colors instead of foreground - if (isBackground) - c = (Win32Native.Color) ((int)c << 4); - return c; - } - - [System.Security.SecurityCritical] // auto-generated - private static ConsoleColor ColorAttributeToConsoleColor(Win32Native.Color c) - { - // Turn background colors into foreground colors. - if ((c & Win32Native.Color.BackgroundMask) != 0) - c = (Win32Native.Color) (((int)c) >> 4); - - return (ConsoleColor) c; - } - - public static ConsoleColor BackgroundColor { - [System.Security.SecuritySafeCritical] // auto-generated - get { - bool succeeded; - Win32Native.CONSOLE_SCREEN_BUFFER_INFO csbi = GetBufferInfo(false, out succeeded); - - // For code that may be used from Windows app w/ no console - if (!succeeded) - return ConsoleColor.Black; - - Win32Native.Color c = (Win32Native.Color) csbi.wAttributes & Win32Native.Color.BackgroundMask; - return ColorAttributeToConsoleColor(c); - } - [System.Security.SecuritySafeCritical] // auto-generated - set { - new UIPermission(UIPermissionWindow.SafeTopLevelWindows).Demand(); - - Win32Native.Color c = ConsoleColorToColorAttribute(value, true); - - bool succeeded; - Win32Native.CONSOLE_SCREEN_BUFFER_INFO csbi = GetBufferInfo(false, out succeeded); - // For code that may be used from Windows app w/ no console - if (!succeeded) - return; - - Contract.Assert(_haveReadDefaultColors, "Setting the foreground color before we've read the default foreground color!"); - - short attrs = csbi.wAttributes; - attrs &= ~((short)Win32Native.Color.BackgroundMask); - // C#'s bitwise-or sign-extends to 32 bits. - attrs = (short) (((uint) (ushort) attrs) | ((uint) (ushort) c)); - // Ignore errors here - there are some scenarios for running code that wants - // to print in colors to the console in a Windows application. - Win32Native.SetConsoleTextAttribute(ConsoleOutputHandle, attrs); - } - } // public static ConsoleColor BackgroundColor - - public static ConsoleColor ForegroundColor { - [System.Security.SecuritySafeCritical] // auto-generated - get { - bool succeeded; - Win32Native.CONSOLE_SCREEN_BUFFER_INFO csbi = GetBufferInfo(false, out succeeded); - - // For code that may be used from Windows app w/ no console - if (!succeeded) - return ConsoleColor.Gray; - - Win32Native.Color c = (Win32Native.Color) csbi.wAttributes & Win32Native.Color.ForegroundMask; - return ColorAttributeToConsoleColor(c); - } - [System.Security.SecuritySafeCritical] // auto-generated - set { - new UIPermission(UIPermissionWindow.SafeTopLevelWindows).Demand(); - - Win32Native.Color c = ConsoleColorToColorAttribute(value, false); - - bool succeeded; - Win32Native.CONSOLE_SCREEN_BUFFER_INFO csbi = GetBufferInfo(false, out succeeded); - // For code that may be used from Windows app w/ no console - if (!succeeded) - return; - - Contract.Assert(_haveReadDefaultColors, "Setting the foreground color before we've read the default foreground color!"); - - short attrs = csbi.wAttributes; - attrs &= ~((short)Win32Native.Color.ForegroundMask); - // C#'s bitwise-or sign-extends to 32 bits. - attrs = (short) (((uint) (ushort) attrs) | ((uint) (ushort) c)); - // Ignore errors here - there are some scenarios for running code that wants - // to print in colors to the console in a Windows application. - Win32Native.SetConsoleTextAttribute(ConsoleOutputHandle, attrs); - } - } // public static ConsoleColor ForegroundColor - - [System.Security.SecuritySafeCritical] // auto-generated - public static void ResetColor() - { - new UIPermission(UIPermissionWindow.SafeTopLevelWindows).Demand(); - - bool succeeded; - Win32Native.CONSOLE_SCREEN_BUFFER_INFO csbi = GetBufferInfo(false, out succeeded); - // For code that may be used from Windows app w/ no console - if (!succeeded) - return; - - Contract.Assert(_haveReadDefaultColors, "Setting the foreground color before we've read the default foreground color!"); - - short defaultAttrs = (short) (ushort) _defaultColors; - // Ignore errors here - there are some scenarios for running code that wants - // to print in colors to the console in a Windows application. - Win32Native.SetConsoleTextAttribute(ConsoleOutputHandle, defaultAttrs); - } - - public static void MoveBufferArea(int sourceLeft, int sourceTop, - int sourceWidth, int sourceHeight, int targetLeft, int targetTop) - { - MoveBufferArea(sourceLeft, sourceTop, sourceWidth, sourceHeight, targetLeft, targetTop, ' ', ConsoleColor.Black, BackgroundColor); - } - - [System.Security.SecuritySafeCritical] // auto-generated - public unsafe static void MoveBufferArea(int sourceLeft, int sourceTop, - int sourceWidth, int sourceHeight, int targetLeft, int targetTop, - char sourceChar, ConsoleColor sourceForeColor, - ConsoleColor sourceBackColor) - { - if (sourceForeColor < ConsoleColor.Black || sourceForeColor > ConsoleColor.White) - throw new ArgumentException(Environment.GetResourceString("Arg_InvalidConsoleColor"), "sourceForeColor"); - if (sourceBackColor < ConsoleColor.Black || sourceBackColor > ConsoleColor.White) - throw new ArgumentException(Environment.GetResourceString("Arg_InvalidConsoleColor"), "sourceBackColor"); - Contract.EndContractBlock(); - - Win32Native.CONSOLE_SCREEN_BUFFER_INFO csbi = GetBufferInfo(); - Win32Native.COORD bufferSize = csbi.dwSize; - if (sourceLeft < 0 || sourceLeft > bufferSize.X) - throw new ArgumentOutOfRangeException("sourceLeft", sourceLeft, Environment.GetResourceString("ArgumentOutOfRange_ConsoleBufferBoundaries")); - if (sourceTop < 0 || sourceTop > bufferSize.Y) - throw new ArgumentOutOfRangeException("sourceTop", sourceTop, Environment.GetResourceString("ArgumentOutOfRange_ConsoleBufferBoundaries")); - if (sourceWidth < 0 || sourceWidth > bufferSize.X - sourceLeft) - throw new ArgumentOutOfRangeException("sourceWidth", sourceWidth, Environment.GetResourceString("ArgumentOutOfRange_ConsoleBufferBoundaries")); - if (sourceHeight < 0 || sourceTop > bufferSize.Y - sourceHeight) - throw new ArgumentOutOfRangeException("sourceHeight", sourceHeight, Environment.GetResourceString("ArgumentOutOfRange_ConsoleBufferBoundaries")); - - // Note: if the target range is partially in and partially out - // of the buffer, then we let the OS clip it for us. - if (targetLeft < 0 || targetLeft > bufferSize.X) - throw new ArgumentOutOfRangeException("targetLeft", targetLeft, Environment.GetResourceString("ArgumentOutOfRange_ConsoleBufferBoundaries")); - if (targetTop < 0 || targetTop > bufferSize.Y) - throw new ArgumentOutOfRangeException("targetTop", targetTop, Environment.GetResourceString("ArgumentOutOfRange_ConsoleBufferBoundaries")); - - // If we're not doing any work, bail out now (Windows will return - // an error otherwise) - if (sourceWidth == 0 || sourceHeight == 0) - return; - - new UIPermission(UIPermissionWindow.SafeTopLevelWindows).Demand(); - - // Read data from the original location, blank it out, then write - // it to the new location. This will handle overlapping source and - // destination regions correctly. - - // See the "Reading and Writing Blocks of Characters and Attributes" - // sample for help - - // Read the old data - Win32Native.CHAR_INFO[] data = new Win32Native.CHAR_INFO[sourceWidth * sourceHeight]; - bufferSize.X = (short) sourceWidth; - bufferSize.Y = (short) sourceHeight; - Win32Native.COORD bufferCoord = new Win32Native.COORD(); - Win32Native.SMALL_RECT readRegion = new Win32Native.SMALL_RECT(); - readRegion.Left = (short) sourceLeft; - readRegion.Right = (short) (sourceLeft + sourceWidth - 1); - readRegion.Top = (short) sourceTop; - readRegion.Bottom = (short) (sourceTop + sourceHeight - 1); - - bool r; - fixed(Win32Native.CHAR_INFO* pCharInfo = data) - r = Win32Native.ReadConsoleOutput(ConsoleOutputHandle, pCharInfo, bufferSize, bufferCoord, ref readRegion); - if (!r) - __Error.WinIOError(); - - // Overwrite old section - // I don't have a good function to blank out a rectangle. - Win32Native.COORD writeCoord = new Win32Native.COORD(); - writeCoord.X = (short) sourceLeft; - Win32Native.Color c = ConsoleColorToColorAttribute(sourceBackColor, true); - c |= ConsoleColorToColorAttribute(sourceForeColor, false); - short attr = (short) c; - int numWritten; - for(int i = sourceTop; i<sourceTop + sourceHeight; i++) { - writeCoord.Y = (short) i; - r = Win32Native.FillConsoleOutputCharacter(ConsoleOutputHandle, sourceChar, sourceWidth, writeCoord, out numWritten); - Contract.Assert(numWritten == sourceWidth, "FillConsoleOutputCharacter wrote the wrong number of chars!"); - if (!r) - __Error.WinIOError(); - - r = Win32Native.FillConsoleOutputAttribute(ConsoleOutputHandle, attr, sourceWidth, writeCoord, out numWritten); - if (!r) - __Error.WinIOError(); - } - - // Write text to new location - Win32Native.SMALL_RECT writeRegion = new Win32Native.SMALL_RECT(); - writeRegion.Left = (short) targetLeft; - writeRegion.Right = (short) (targetLeft + sourceWidth); - writeRegion.Top = (short) targetTop; - writeRegion.Bottom = (short) (targetTop + sourceHeight); - - fixed(Win32Native.CHAR_INFO* pCharInfo = data) - r = Win32Native.WriteConsoleOutput(ConsoleOutputHandle, pCharInfo, bufferSize, bufferCoord, ref writeRegion); - } // MoveBufferArea - - [System.Security.SecurityCritical] // auto-generated - private static Win32Native.CONSOLE_SCREEN_BUFFER_INFO GetBufferInfo() - { - bool junk; - return GetBufferInfo(true, out junk); - } - - // For apps that don't have a console (like Windows apps), they might - // run other code that includes color console output. Allow a mechanism - // where that code won't throw an exception for simple errors. - [System.Security.SecuritySafeCritical] // auto-generated - private static Win32Native.CONSOLE_SCREEN_BUFFER_INFO GetBufferInfo(bool throwOnNoConsole, out bool succeeded) - { - succeeded = false; - Win32Native.CONSOLE_SCREEN_BUFFER_INFO csbi; - bool success; - - IntPtr hConsole = ConsoleOutputHandle; - if (hConsole == Win32Native.INVALID_HANDLE_VALUE) { - if (!throwOnNoConsole) - return new Win32Native.CONSOLE_SCREEN_BUFFER_INFO(); - else - throw new IOException(Environment.GetResourceString("IO.IO_NoConsole")); - } - - // Note that if stdout is redirected to a file, the console handle - // may be a file. If this fails, try stderr and stdin. - success = Win32Native.GetConsoleScreenBufferInfo(hConsole, out csbi); - if (!success) { - success = Win32Native.GetConsoleScreenBufferInfo(Win32Native.GetStdHandle(Win32Native.STD_ERROR_HANDLE), out csbi); - if (!success) - success = Win32Native.GetConsoleScreenBufferInfo(Win32Native.GetStdHandle(Win32Native.STD_INPUT_HANDLE), out csbi); - - if (!success) { - int errorCode = Marshal.GetLastWin32Error(); - if (errorCode == Win32Native.ERROR_INVALID_HANDLE && !throwOnNoConsole) - return new Win32Native.CONSOLE_SCREEN_BUFFER_INFO(); - __Error.WinIOError(errorCode, null); - } - } - - if (!_haveReadDefaultColors) { - // Fetch the default foreground and background color for the - // ResetColor method. - Contract.Assert((int)Win32Native.Color.ColorMask == 0xff, "Make sure one byte is large enough to store a Console color value!"); - _defaultColors = (byte) (csbi.wAttributes & (short) Win32Native.Color.ColorMask); - _haveReadDefaultColors = true; - } - - succeeded = true; - return csbi; - } - - public static int BufferHeight { - [System.Security.SecuritySafeCritical] // auto-generated - get { - Win32Native.CONSOLE_SCREEN_BUFFER_INFO csbi = GetBufferInfo(); - return csbi.dwSize.Y; - } - set { - SetBufferSize(BufferWidth, value); - } - } - - public static int BufferWidth { - [System.Security.SecuritySafeCritical] // auto-generated - get { - Win32Native.CONSOLE_SCREEN_BUFFER_INFO csbi = GetBufferInfo(); - return csbi.dwSize.X; - } - set { - SetBufferSize(value, BufferHeight); - } - } - - [System.Security.SecuritySafeCritical] // auto-generated - public static void SetBufferSize(int width, int height) - { - new UIPermission(UIPermissionWindow.SafeTopLevelWindows).Demand(); - - // Ensure the new size is not smaller than the console window - Win32Native.CONSOLE_SCREEN_BUFFER_INFO csbi = GetBufferInfo(); - Win32Native.SMALL_RECT srWindow = csbi.srWindow; - if (width < srWindow.Right + 1 || width >= Int16.MaxValue) - throw new ArgumentOutOfRangeException("width", width, Environment.GetResourceString("ArgumentOutOfRange_ConsoleBufferLessThanWindowSize")); - if (height < srWindow.Bottom + 1 || height >= Int16.MaxValue) - throw new ArgumentOutOfRangeException("height", height, Environment.GetResourceString("ArgumentOutOfRange_ConsoleBufferLessThanWindowSize")); - - Win32Native.COORD size = new Win32Native.COORD(); - size.X = (short) width; - size.Y = (short) height; - bool r = Win32Native.SetConsoleScreenBufferSize(ConsoleOutputHandle, size); - if (!r) - __Error.WinIOError(); - } - - - public static int WindowHeight { - [System.Security.SecuritySafeCritical] // auto-generated - get { - Win32Native.CONSOLE_SCREEN_BUFFER_INFO csbi = GetBufferInfo(); - return csbi.srWindow.Bottom - csbi.srWindow.Top + 1; - } - set { - SetWindowSize(WindowWidth, value); - } - } - - public static int WindowWidth { - [System.Security.SecuritySafeCritical] // auto-generated - get { - Win32Native.CONSOLE_SCREEN_BUFFER_INFO csbi = GetBufferInfo(); - return csbi.srWindow.Right - csbi.srWindow.Left + 1; - } - set { - SetWindowSize(value, WindowHeight); - } - } - - [System.Security.SecuritySafeCritical] // auto-generated - public static unsafe void SetWindowSize(int width, int height) - { - if (width <= 0) - throw new ArgumentOutOfRangeException("width", width, Environment.GetResourceString("ArgumentOutOfRange_NeedPosNum")); - if (height <= 0) - throw new ArgumentOutOfRangeException("height", height, Environment.GetResourceString("ArgumentOutOfRange_NeedPosNum")); - Contract.EndContractBlock(); - - new UIPermission(UIPermissionWindow.SafeTopLevelWindows).Demand(); - - // Get the position of the current console window - Win32Native.CONSOLE_SCREEN_BUFFER_INFO csbi = GetBufferInfo(); - bool r; - - // If the buffer is smaller than this new window size, resize the - // buffer to be large enough. Include window position. - bool resizeBuffer = false; - Win32Native.COORD size = new Win32Native.COORD(); - size.X = csbi.dwSize.X; - size.Y = csbi.dwSize.Y; - if (csbi.dwSize.X < csbi.srWindow.Left + width) { - if (csbi.srWindow.Left >= Int16.MaxValue - width) - throw new ArgumentOutOfRangeException("width", Environment.GetResourceString("ArgumentOutOfRange_ConsoleWindowBufferSize")); - size.X = (short) (csbi.srWindow.Left + width); - resizeBuffer = true; - } - if (csbi.dwSize.Y < csbi.srWindow.Top + height) { - if (csbi.srWindow.Top >= Int16.MaxValue - height) - throw new ArgumentOutOfRangeException("height", Environment.GetResourceString("ArgumentOutOfRange_ConsoleWindowBufferSize")); - size.Y = (short) (csbi.srWindow.Top + height); - resizeBuffer = true; - } - if (resizeBuffer) { - r = Win32Native.SetConsoleScreenBufferSize(ConsoleOutputHandle, size); - if (!r) - __Error.WinIOError(); - } - - Win32Native.SMALL_RECT srWindow = csbi.srWindow; - // Preserve the position, but change the size. - srWindow.Bottom = (short) (srWindow.Top + height - 1); - srWindow.Right = (short) (srWindow.Left + width - 1); - - r = Win32Native.SetConsoleWindowInfo(ConsoleOutputHandle, true, &srWindow); - if (!r) { - int errorCode = Marshal.GetLastWin32Error(); - - // If we resized the buffer, un-resize it. - if (resizeBuffer) { - Win32Native.SetConsoleScreenBufferSize(ConsoleOutputHandle, csbi.dwSize); - } - - // Try to give a better error message here - Win32Native.COORD bounds = Win32Native.GetLargestConsoleWindowSize(ConsoleOutputHandle); - if (width > bounds.X) - throw new ArgumentOutOfRangeException("width", width, Environment.GetResourceString("ArgumentOutOfRange_ConsoleWindowSize_Size", bounds.X)); - if (height > bounds.Y) - throw new ArgumentOutOfRangeException("height", height, Environment.GetResourceString("ArgumentOutOfRange_ConsoleWindowSize_Size", bounds.Y)); - - __Error.WinIOError(errorCode, String.Empty); - } - } // public static unsafe void SetWindowSize(int width, int height) - - public static int LargestWindowWidth { - [System.Security.SecuritySafeCritical] // auto-generated - get { - // Note this varies based on current screen resolution and - // current console font. Do not cache this value. - Win32Native.COORD bounds = Win32Native.GetLargestConsoleWindowSize(ConsoleOutputHandle); - return bounds.X; - } - } - - public static int LargestWindowHeight { - [System.Security.SecuritySafeCritical] // auto-generated - get { - // Note this varies based on current screen resolution and - // current console font. Do not cache this value. - Win32Native.COORD bounds = Win32Native.GetLargestConsoleWindowSize(ConsoleOutputHandle); - return bounds.Y; - } - } - - public static int WindowLeft { - [System.Security.SecuritySafeCritical] // auto-generated - get { - Win32Native.CONSOLE_SCREEN_BUFFER_INFO csbi = GetBufferInfo(); - return csbi.srWindow.Left; - } - set { - SetWindowPosition(value, WindowTop); - } - } - - public static int WindowTop { - [System.Security.SecuritySafeCritical] // auto-generated - get { - Win32Native.CONSOLE_SCREEN_BUFFER_INFO csbi = GetBufferInfo(); - return csbi.srWindow.Top; - } - set { - SetWindowPosition(WindowLeft, value); - } - } - - [System.Security.SecuritySafeCritical] // auto-generated - public static unsafe void SetWindowPosition(int left, int top) - { - new UIPermission(UIPermissionWindow.SafeTopLevelWindows).Demand(); - - // Get the size of the current console window - Win32Native.CONSOLE_SCREEN_BUFFER_INFO csbi = GetBufferInfo(); - - Win32Native.SMALL_RECT srWindow = csbi.srWindow; - - // Check for arithmetic underflows & overflows. - int newRight = left + srWindow.Right - srWindow.Left + 1; - if (left < 0 || newRight > csbi.dwSize.X || newRight < 0) - throw new ArgumentOutOfRangeException("left", left, Environment.GetResourceString("ArgumentOutOfRange_ConsoleWindowPos")); - int newBottom = top + srWindow.Bottom - srWindow.Top + 1; - if (top < 0 || newBottom > csbi.dwSize.Y || newBottom < 0) - throw new ArgumentOutOfRangeException("top", top, Environment.GetResourceString("ArgumentOutOfRange_ConsoleWindowPos")); - - // Preserve the size, but move the position. - srWindow.Bottom -= (short) (srWindow.Top - top); - srWindow.Right -= (short) (srWindow.Left - left); - srWindow.Left = (short) left; - srWindow.Top = (short) top; - - bool r = Win32Native.SetConsoleWindowInfo(ConsoleOutputHandle, true, &srWindow); - if (!r) - __Error.WinIOError(); - } - - public static int CursorLeft { - [System.Security.SecuritySafeCritical] // auto-generated - get { - Win32Native.CONSOLE_SCREEN_BUFFER_INFO csbi = GetBufferInfo(); - return csbi.dwCursorPosition.X; - } - set { - SetCursorPosition(value, CursorTop); - } - } - - public static int CursorTop { - [System.Security.SecuritySafeCritical] // auto-generated - get { - Win32Native.CONSOLE_SCREEN_BUFFER_INFO csbi = GetBufferInfo(); - return csbi.dwCursorPosition.Y; - } - set { - SetCursorPosition(CursorLeft, value); - } - } - - [System.Security.SecuritySafeCritical] // auto-generated - public static void SetCursorPosition(int left, int top) - { - // Note on argument checking - the upper bounds are NOT correct - // here! But it looks slightly expensive to compute them. Let - // Windows calculate them, then we'll give a nice error message. - if (left < 0 || left >= Int16.MaxValue) - throw new ArgumentOutOfRangeException("left", left, Environment.GetResourceString("ArgumentOutOfRange_ConsoleBufferBoundaries")); - if (top < 0 || top >= Int16.MaxValue) - throw new ArgumentOutOfRangeException("top", top, Environment.GetResourceString("ArgumentOutOfRange_ConsoleBufferBoundaries")); - Contract.EndContractBlock(); - - new UIPermission(UIPermissionWindow.SafeTopLevelWindows).Demand(); - - IntPtr hConsole = ConsoleOutputHandle; - Win32Native.COORD coords = new Win32Native.COORD(); - coords.X = (short) left; - coords.Y = (short) top; - bool r = Win32Native.SetConsoleCursorPosition(hConsole, coords); - if (!r) { - // Give a nice error message for out of range sizes - int errorCode = Marshal.GetLastWin32Error(); - Win32Native.CONSOLE_SCREEN_BUFFER_INFO csbi = GetBufferInfo(); - if (left < 0 || left >= csbi.dwSize.X) - throw new ArgumentOutOfRangeException("left", left, Environment.GetResourceString("ArgumentOutOfRange_ConsoleBufferBoundaries")); - if (top < 0 || top >= csbi.dwSize.Y) - throw new ArgumentOutOfRangeException("top", top, Environment.GetResourceString("ArgumentOutOfRange_ConsoleBufferBoundaries")); - - __Error.WinIOError(errorCode, String.Empty); - } - } - - public static int CursorSize { - [System.Security.SecuritySafeCritical] // auto-generated - get { - Win32Native.CONSOLE_CURSOR_INFO cci; - IntPtr hConsole = ConsoleOutputHandle; - bool r = Win32Native.GetConsoleCursorInfo(hConsole, out cci); - if (!r) - __Error.WinIOError(); - - return cci.dwSize; - } - [System.Security.SecuritySafeCritical] // auto-generated - set { - // Value should be a percentage from [1, 100]. - if (value < 1 || value > 100) - throw new ArgumentOutOfRangeException("value", value, Environment.GetResourceString("ArgumentOutOfRange_CursorSize")); - Contract.EndContractBlock(); - - new UIPermission(UIPermissionWindow.SafeTopLevelWindows).Demand(); - - Win32Native.CONSOLE_CURSOR_INFO cci; - IntPtr hConsole = ConsoleOutputHandle; - bool r = Win32Native.GetConsoleCursorInfo(hConsole, out cci); - if (!r) - __Error.WinIOError(); - - cci.dwSize = value; - r = Win32Native.SetConsoleCursorInfo(hConsole, ref cci); - if (!r) - __Error.WinIOError(); - } - } - - public static bool CursorVisible { - [System.Security.SecuritySafeCritical] // auto-generated - get { - Win32Native.CONSOLE_CURSOR_INFO cci; - IntPtr hConsole = ConsoleOutputHandle; - bool r = Win32Native.GetConsoleCursorInfo(hConsole, out cci); - if (!r) - __Error.WinIOError(); - - return cci.bVisible; - } - [System.Security.SecuritySafeCritical] // auto-generated - set { - new UIPermission(UIPermissionWindow.SafeTopLevelWindows).Demand(); - - Win32Native.CONSOLE_CURSOR_INFO cci; - IntPtr hConsole = ConsoleOutputHandle; - bool r = Win32Native.GetConsoleCursorInfo(hConsole, out cci); - if (!r) - __Error.WinIOError(); - - cci.bVisible = value; - r = Win32Native.SetConsoleCursorInfo(hConsole, ref cci); - if (!r) - __Error.WinIOError(); - } - } - - [System.Security.SecurityCritical] - [DllImport(JitHelpers.QCall, CharSet = CharSet.Ansi)] - [SuppressUnmanagedCodeSecurity] - private static extern Int32 GetTitleNative(StringHandleOnStack outTitle, out Int32 outTitleLength); - - public static String Title { - [System.Security.SecuritySafeCritical] // auto-generated - get { - string title = null; - int titleLength = -1; - Int32 r = GetTitleNative(JitHelpers.GetStringHandleOnStack(ref title), out titleLength); - - if (0 != r) { - __Error.WinIOError(r, String.Empty); - } - - if (titleLength > MaxConsoleTitleLength) - throw new InvalidOperationException(Environment.GetResourceString("ArgumentOutOfRange_ConsoleTitleTooLong")); - - Contract.Assert(title.Length == titleLength); - - return title; - } - - [System.Security.SecuritySafeCritical] // auto-generated - set { - if (value == null) - throw new ArgumentNullException("value"); - if (value.Length > MaxConsoleTitleLength) - throw new ArgumentOutOfRangeException("value", Environment.GetResourceString("ArgumentOutOfRange_ConsoleTitleTooLong")); - Contract.EndContractBlock(); - - new UIPermission(UIPermissionWindow.SafeTopLevelWindows).Demand(); - - if (!Win32Native.SetConsoleTitle(value)) - __Error.WinIOError(); - } - } - - [Flags] - internal enum ControlKeyState - { - RightAltPressed = 0x0001, - LeftAltPressed = 0x0002, - RightCtrlPressed = 0x0004, - LeftCtrlPressed = 0x0008, - ShiftPressed = 0x0010, - NumLockOn = 0x0020, - ScrollLockOn = 0x0040, - CapsLockOn = 0x0080, - EnhancedKey = 0x0100 - } - - [HostProtection(UI=true)] - public static ConsoleKeyInfo ReadKey() - { - return ReadKey(false); - } - - // For tracking Alt+NumPad unicode key sequence. When you press Alt key down - // and press a numpad unicode decimal sequence and then release Alt key, the - // desired effect is to translate the sequence into one Unicode KeyPress. - // We need to keep track of the Alt+NumPad sequence and surface the final - // unicode char alone when the Alt key is released. - [System.Security.SecurityCritical] // auto-generated - private static bool IsAltKeyDown(Win32Native.InputRecord ir) { - return (((ControlKeyState) ir.keyEvent.controlKeyState) - & (ControlKeyState.LeftAltPressed | ControlKeyState.RightAltPressed)) != 0; - } - - // Skip non key events. Generally we want to surface only KeyDown event - // and suppress KeyUp event from the same Key press but there are cases - // where the assumption of KeyDown-KeyUp pairing for a given key press - // is invalid. For example in IME Unicode keyboard input, we often see - // only KeyUp until the key is released. - [System.Security.SecurityCritical] // auto-generated - private static bool IsKeyDownEvent(Win32Native.InputRecord ir) { - return (ir.eventType == Win32Native.KEY_EVENT && ir.keyEvent.keyDown); - } - - [System.Security.SecurityCritical] // auto-generated - private static bool IsModKey(Win32Native.InputRecord ir) { - // We should also skip over Shift, Control, and Alt, as well as caps lock. - // Apparently we don't need to check for 0xA0 through 0xA5, which are keys like - // Left Control & Right Control. See the ConsoleKey enum for these values. - short keyCode = ir.keyEvent.virtualKeyCode; - return ((keyCode >= 0x10 && keyCode <= 0x12) - || keyCode == 0x14 || keyCode == 0x90 || keyCode == 0x91); - } - - [System.Security.SecuritySafeCritical] // auto-generated - [HostProtection(UI=true)] - public static ConsoleKeyInfo ReadKey(bool intercept) - { - Win32Native.InputRecord ir; - int numEventsRead = -1; - bool r; - - lock (ReadKeySyncObject) { - if (_cachedInputRecord.eventType == Win32Native.KEY_EVENT) { - // We had a previous keystroke with repeated characters. - ir = _cachedInputRecord; - if (_cachedInputRecord.keyEvent.repeatCount == 0) - _cachedInputRecord.eventType = -1; - else { - _cachedInputRecord.keyEvent.repeatCount--; - } - // We will return one key from this method, so we decrement the - // repeatCount here, leaving the cachedInputRecord in the "queue". - - } else { // We did NOT have a previous keystroke with repeated characters: - - while (true) { - r = Win32Native.ReadConsoleInput(ConsoleInputHandle, out ir, 1, out numEventsRead); - if (!r || numEventsRead == 0) { - // This will fail when stdin is redirected from a file or pipe. - // We could theoretically call Console.Read here, but I - // think we might do some things incorrectly then. - throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_ConsoleReadKeyOnFile")); - } - - short keyCode = ir.keyEvent.virtualKeyCode; - - // First check for non-keyboard events & discard them. Generally we tap into only KeyDown events and ignore the KeyUp events - // but it is possible that we are dealing with a Alt+NumPad unicode key sequence, the final unicode char is revealed only when - // the Alt key is released (i.e when the sequence is complete). To avoid noise, when the Alt key is down, we should eat up - // any intermediate key strokes (from NumPad) that collectively forms the Unicode character. - - if (!IsKeyDownEvent(ir)) { - // Unicode IME input comes through as KeyUp event with no accompanying KeyDown. - if (keyCode != AltVKCode) - continue; - } - - char ch = (char) ir.keyEvent.uChar; - - // In a Alt+NumPad unicode sequence, when the alt key is released uChar will represent the final unicode character, we need to - // surface this. VirtualKeyCode for this event will be Alt from the Alt-Up key event. This is probably not the right code, - // especially when we don't expose ConsoleKey.Alt, so this will end up being the hex value (0x12). VK_PACKET comes very - // close to being useful and something that we could look into using for this purpose... - - if (ch == 0) { - // Skip mod keys. - if (IsModKey(ir)) - continue; - } - - // When Alt is down, it is possible that we are in the middle of a Alt+NumPad unicode sequence. - // Escape any intermediate NumPad keys whether NumLock is on or not (notepad behavior) - ConsoleKey key = (ConsoleKey) keyCode; - if (IsAltKeyDown(ir) && ((key >= ConsoleKey.NumPad0 && key <= ConsoleKey.NumPad9) - || (key == ConsoleKey.Clear) || (key == ConsoleKey.Insert) - || (key >= ConsoleKey.PageUp && key <= ConsoleKey.DownArrow))) { - continue; - } - - if (ir.keyEvent.repeatCount > 1) { - ir.keyEvent.repeatCount--; - _cachedInputRecord = ir; - } - break; - } - } // we did NOT have a previous keystroke with repeated characters. - } // lock(ReadKeySyncObject) - - ControlKeyState state = (ControlKeyState) ir.keyEvent.controlKeyState; - bool shift = (state & ControlKeyState.ShiftPressed) != 0; - bool alt = (state & (ControlKeyState.LeftAltPressed | ControlKeyState.RightAltPressed)) != 0; - bool control = (state & (ControlKeyState.LeftCtrlPressed | ControlKeyState.RightCtrlPressed)) != 0; - - ConsoleKeyInfo info = new ConsoleKeyInfo((char)ir.keyEvent.uChar, (ConsoleKey) ir.keyEvent.virtualKeyCode, shift, alt, control); - - if (!intercept) - Console.Write(ir.keyEvent.uChar); - return info; - } // public static ConsoleKeyInfo ReadKey(bool intercept) - - public static bool KeyAvailable { - [System.Security.SecuritySafeCritical] // auto-generated - [HostProtection(UI=true)] - get { - if (_cachedInputRecord.eventType == Win32Native.KEY_EVENT) - return true; - - Win32Native.InputRecord ir = new Win32Native.InputRecord(); - int numEventsRead = 0; - while (true) { - bool r = Win32Native.PeekConsoleInput(ConsoleInputHandle, out ir, 1, out numEventsRead); - if (!r) { - int errorCode = Marshal.GetLastWin32Error(); - if (errorCode == Win32Native.ERROR_INVALID_HANDLE) - throw new InvalidOperationException(Environment.GetResourceString("InvalidOperation_ConsoleKeyAvailableOnFile")); - __Error.WinIOError(errorCode, "stdin"); - } - - if (numEventsRead == 0) - return false; - - // Skip non key-down && mod key events. - if (!IsKeyDownEvent(ir) || IsModKey(ir)) { - // Unicode IME input comes through as KeyUp event with no accompanying KeyDown - - // Exempt Alt keyUp for possible Alt+NumPad unicode sequence. - //short keyCode = ir.keyEvent.virtualKeyCode; - //if (!IsKeyDownEvent(ir) && (keyCode == AltVKCode)) - // return true; - - r = Win32Native.ReadConsoleInput(ConsoleInputHandle, out ir, 1, out numEventsRead); - - if (!r) - __Error.WinIOError(); - } - else { - return true; - } - } - } // get - } // public static bool KeyAvailable - - public static bool NumberLock { - [System.Security.SecuritySafeCritical] // auto-generated - get { - short s = Win32Native.GetKeyState(NumberLockVKCode); - return (s & 1) == 1; - } - } - - public static bool CapsLock { - [System.Security.SecuritySafeCritical] // auto-generated - get { - short s = Win32Native.GetKeyState(CapsLockVKCode); - return (s & 1) == 1; - } - } - - public static bool TreatControlCAsInput { - [System.Security.SecuritySafeCritical] // auto-generated - get { - IntPtr handle = ConsoleInputHandle; - if (handle == Win32Native.INVALID_HANDLE_VALUE) - throw new IOException(Environment.GetResourceString("IO.IO_NoConsole")); - int mode = 0; - bool r = Win32Native.GetConsoleMode(handle, out mode); - if (!r) - __Error.WinIOError(); - return (mode & Win32Native.ENABLE_PROCESSED_INPUT) == 0; - } - [System.Security.SecuritySafeCritical] // auto-generated - set { - new UIPermission(UIPermissionWindow.SafeTopLevelWindows).Demand(); - - IntPtr handle = ConsoleInputHandle; - if (handle == Win32Native.INVALID_HANDLE_VALUE) - throw new IOException(Environment.GetResourceString("IO.IO_NoConsole")); - - int mode = 0; - bool r = Win32Native.GetConsoleMode(handle, out mode); - if (value) - mode &= ~Win32Native.ENABLE_PROCESSED_INPUT; - else - mode |= Win32Native.ENABLE_PROCESSED_INPUT; - r = Win32Native.SetConsoleMode(handle, mode); - - if (!r) - __Error.WinIOError(); - } - } - - // During an appdomain unload, we must call into the OS and remove - // our delegate from the OS's list of console control handlers. If - // we don't do this, the OS will call back on a delegate that no - // longer exists. So, subclass CriticalFinalizableObject. - // This problem would theoretically exist during process exit for a - // single appdomain too, so using a critical finalizer is probably - // better than the appdomain unload event (I'm not sure we call that - // in the default appdomain during process exit). - internal sealed class ControlCHooker : CriticalFinalizerObject - { - private bool _hooked; - [System.Security.SecurityCritical] // auto-generated - private Win32Native.ConsoleCtrlHandlerRoutine _handler; - - [System.Security.SecurityCritical] // auto-generated - internal ControlCHooker() - { - _handler = new Win32Native.ConsoleCtrlHandlerRoutine(BreakEvent); - } - - ~ControlCHooker() - { - Unhook(); - } - - [System.Security.SecuritySafeCritical] // auto-generated - internal void Hook() - { - if (!_hooked) { - bool r = Win32Native.SetConsoleCtrlHandler(_handler, true); - if (!r) - __Error.WinIOError(); - _hooked = true; - } - } - - [System.Security.SecuritySafeCritical] // auto-generated - [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] - internal void Unhook() - { - if (_hooked) { - bool r = Win32Native.SetConsoleCtrlHandler(_handler, false); - if (!r) - __Error.WinIOError(); - _hooked = false; - } - } - } // internal sealed class ControlCHooker - - // A class with data so ControlC handlers can be called on a Threadpool thread. - private sealed class ControlCDelegateData { - internal ConsoleSpecialKey ControlKey; - internal bool Cancel; - internal bool DelegateStarted; - internal ManualResetEvent CompletionEvent; - internal ConsoleCancelEventHandler CancelCallbacks; - internal ControlCDelegateData(ConsoleSpecialKey controlKey, ConsoleCancelEventHandler cancelCallbacks) { - this.ControlKey = controlKey; - this.CancelCallbacks = cancelCallbacks; - this.CompletionEvent = new ManualResetEvent(false); - // this.Cancel defaults to false - // this.DelegateStarted defaults to false - } - } - - // Returns true if we've "handled" the break request, false if - // we want to terminate the process (or at least let the next - // control handler function have a chance). - private static bool BreakEvent(int controlType) { - - // The thread that this gets called back on has a very small stack on 64 bit systems. There is - // not enough space to handle a managed exception being caught and thrown. So, queue up a work - // item on another thread for the actual event callback. - - if (controlType == Win32Native.CTRL_C_EVENT || - controlType == Win32Native.CTRL_BREAK_EVENT) { - - // To avoid the race condition between remove handler and raising the event - ConsoleCancelEventHandler cancelCallbacks = Console._cancelCallbacks; - if (cancelCallbacks == null) { - return false; - } - - // Create the delegate - ConsoleSpecialKey controlKey = (controlType == 0) ? ConsoleSpecialKey.ControlC : ConsoleSpecialKey.ControlBreak; - ControlCDelegateData delegateData = new ControlCDelegateData(controlKey, cancelCallbacks); - WaitCallback controlCCallback = new WaitCallback(ControlCDelegate); - - // Queue the delegate - if (!ThreadPool.QueueUserWorkItem(controlCCallback, delegateData)) { - Contract.Assert(false, "ThreadPool.QueueUserWorkItem returned false without throwing. Unable to execute ControlC handler"); - return false; - } - // Block until the delegate is done. We need to be robust in the face of the work item not executing - // but we also want to get control back immediately after it is done and we don't want to give the - // handler a fixed time limit in case it needs to display UI. Wait on the event twice, once with a - // timout and a second time without if we are sure that the handler actually started. - TimeSpan controlCWaitTime = new TimeSpan(0, 0, 30); // 30 seconds - delegateData.CompletionEvent.WaitOne(controlCWaitTime, false); - if (!delegateData.DelegateStarted) { - Contract.Assert(false, "ThreadPool.QueueUserWorkItem did not execute the handler within 30 seconds."); - return false; - } - delegateData.CompletionEvent.WaitOne(); - delegateData.CompletionEvent.Close(); - return delegateData.Cancel; - - } - return false; - } - - // This is the worker delegate that is called on the Threadpool thread to fire the actual events. It must guarantee that it - // signals the caller on the ControlC thread so that it does not block indefinitely. - private static void ControlCDelegate(object data) { - ControlCDelegateData controlCData = (ControlCDelegateData)data; - try { - controlCData.DelegateStarted = true; - ConsoleCancelEventArgs args = new ConsoleCancelEventArgs(controlCData.ControlKey); - controlCData.CancelCallbacks(null, args); - controlCData.Cancel = args.Cancel; - } - finally { - controlCData.CompletionEvent.Set(); - } - } - - // Note: hooking this event allows you to prevent Control-C from - // killing a console app, which is somewhat surprising for users. - // Some permission seems appropriate. We chose UI permission for lack - // of a better one. However, we also applied host protection - // permission here as well, for self-affecting process management. - // This allows hosts to prevent people from adding a handler for - // this event. - public static event ConsoleCancelEventHandler CancelKeyPress { - [System.Security.SecuritySafeCritical] // auto-generated - add { - new UIPermission(UIPermissionWindow.SafeTopLevelWindows).Demand(); - - lock(InternalSyncObject) { - // Add this delegate to the pile. - _cancelCallbacks += value; - - // If we haven't registered our control-C handler, do it. - if (_hooker == null) { - _hooker = new ControlCHooker(); - _hooker.Hook(); - } - } - } - [System.Security.SecuritySafeCritical] // auto-generated - remove { - new UIPermission(UIPermissionWindow.SafeTopLevelWindows).Demand(); - - lock(InternalSyncObject) { - // If count was 0, call SetConsoleCtrlEvent to remove cb. - _cancelCallbacks -= value; - Contract.Assert(_cancelCallbacks == null || _cancelCallbacks.GetInvocationList().Length > 0, "Teach Console::CancelKeyPress to handle a non-null but empty list of callbacks"); - if (_hooker != null && _cancelCallbacks == null) - _hooker.Unhook(); - } - } - } - - [HostProtection(UI=true)] - public static Stream OpenStandardError() { - return OpenStandardError(DefaultConsoleBufferSize); - } - - #if FEATURE_CORECLR - [System.Security.SecurityCritical] // auto-generated - #endif - [HostProtection(UI=true)] - public static Stream OpenStandardError(int bufferSize) { - if (bufferSize < 0) - throw new ArgumentOutOfRangeException("bufferSize", Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegNum")); - Contract.EndContractBlock(); - return GetStandardFile(Win32Native.STD_ERROR_HANDLE, - FileAccess.Write, bufferSize); - } - - [HostProtection(UI=true)] - public static Stream OpenStandardInput() { - return OpenStandardInput(DefaultConsoleBufferSize); - } - - #if FEATURE_CORECLR - [System.Security.SecurityCritical] // auto-generated - #endif - [HostProtection(UI=true)] - public static Stream OpenStandardInput(int bufferSize) { - if (bufferSize < 0) - throw new ArgumentOutOfRangeException("bufferSize", Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegNum")); - Contract.EndContractBlock(); - return GetStandardFile(Win32Native.STD_INPUT_HANDLE, - FileAccess.Read, bufferSize); - } - - [HostProtection(UI=true)] - public static Stream OpenStandardOutput() { - return OpenStandardOutput(DefaultConsoleBufferSize); - } - - #if FEATURE_CORECLR - [System.Security.SecurityCritical] // auto-generated - #endif - [HostProtection(UI=true)] - public static Stream OpenStandardOutput(int bufferSize) { - if (bufferSize < 0) - throw new ArgumentOutOfRangeException("bufferSize", Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegNum")); - Contract.EndContractBlock(); - return GetStandardFile(Win32Native.STD_OUTPUT_HANDLE, - FileAccess.Write, bufferSize); - } - - #if FEATURE_CORECLR - [System.Security.SecurityCritical] // auto-generated - #else - [System.Security.SecuritySafeCritical] - #endif - [HostProtection(UI=true)] - public static void SetIn(TextReader newIn) { - if (newIn == null) - throw new ArgumentNullException("newIn"); - Contract.EndContractBlock(); -#pragma warning disable 618 - new SecurityPermission(SecurityPermissionFlag.UnmanagedCode).Demand(); -#pragma warning restore 618 - - newIn = TextReader.Synchronized(newIn); - lock(InternalSyncObject) { - _in = newIn; - } - } - - #if FEATURE_CORECLR - [System.Security.SecurityCritical] // auto-generated - #else - [System.Security.SecuritySafeCritical] - #endif - [HostProtection(UI=true)] - public static void SetOut(TextWriter newOut) { - if (newOut == null) - throw new ArgumentNullException("newOut"); - Contract.EndContractBlock(); -#pragma warning disable 618 - new SecurityPermission(SecurityPermissionFlag.UnmanagedCode).Demand(); -#pragma warning restore 618 -#if FEATURE_CODEPAGES_FILE // if no codepages file then we are locked into default codepage and this field is not used - _isOutTextWriterRedirected = true; -#endif - newOut = TextWriter.Synchronized(newOut); - lock(InternalSyncObject) { - _out = newOut; - } - } - - #if FEATURE_CORECLR - [System.Security.SecurityCritical] // auto-generated - #else - [System.Security.SecuritySafeCritical] - #endif - [HostProtection(UI=true)] - public static void SetError(TextWriter newError) { - if (newError == null) - throw new ArgumentNullException("newError"); - Contract.EndContractBlock(); -#pragma warning disable 618 - new SecurityPermission(SecurityPermissionFlag.UnmanagedCode).Demand(); -#pragma warning restore 618 -#if FEATURE_CODEPAGES_FILE // if no codepages file then we are locked into default codepage and this field is not used - _isErrorTextWriterRedirected = true; -#endif - newError = TextWriter.Synchronized(newError); - lock(InternalSyncObject) { - _error = newError; - } - } - - // - // Give a hint to the code generator to not inline the common console methods. The console methods are - // not performance critical. It is unnecessary code bloat to have them inlined. - // - // Moreover, simple repros for codegen bugs are often console-based. It is tedious to manually filter out - // the inlined console writelines from them. - // - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static int Read() - { - return In.Read(); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static String ReadLine() - { - return In.ReadLine(); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void WriteLine() - { - Out.WriteLine(); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void WriteLine(bool value) - { - Out.WriteLine(value); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void WriteLine(char value) - { - Out.WriteLine(value); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void WriteLine(char[] buffer) - { - Out.WriteLine(buffer); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void WriteLine(char[] buffer, int index, int count) - { - Out.WriteLine(buffer, index, count); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void WriteLine(decimal value) - { - Out.WriteLine(value); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void WriteLine(double value) - { - Out.WriteLine(value); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void WriteLine(float value) - { - Out.WriteLine(value); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void WriteLine(int value) - { - Out.WriteLine(value); - } - - [HostProtection(UI=true)] - [CLSCompliant(false)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void WriteLine(uint value) - { - Out.WriteLine(value); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void WriteLine(long value) - { - Out.WriteLine(value); - } - - [HostProtection(UI=true)] - [CLSCompliant(false)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void WriteLine(ulong value) - { - Out.WriteLine(value); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void WriteLine(Object value) - { - Out.WriteLine(value); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void WriteLine(String value) - { - Out.WriteLine(value); - } - - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void WriteLine(String format, Object arg0) - { - Out.WriteLine(format, arg0); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void WriteLine(String format, Object arg0, Object arg1) - { - Out.WriteLine(format, arg0, arg1); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void WriteLine(String format, Object arg0, Object arg1, Object arg2) - { - Out.WriteLine(format, arg0, arg1, arg2); - } - - [HostProtection(UI=true)] - [CLSCompliant(false)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void WriteLine(String format, Object arg0, Object arg1, Object arg2,Object arg3, __arglist) - { - Object[] objArgs; - int argCount; - - ArgIterator args = new ArgIterator(__arglist); - - //+4 to account for the 4 hard-coded arguments at the beginning of the list. - argCount = args.GetRemainingCount() + 4; - - objArgs = new Object[argCount]; - - //Handle the hard-coded arguments - objArgs[0] = arg0; - objArgs[1] = arg1; - objArgs[2] = arg2; - objArgs[3] = arg3; - - //Walk all of the args in the variable part of the argument list. - for (int i=4; i<argCount; i++) { - objArgs[i] = TypedReference.ToObject(args.GetNextArg()); - } - - Out.WriteLine(format, objArgs); - } - - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void WriteLine(String format, params Object[] arg) - { - if (arg == null) // avoid ArgumentNullException from String.Format - Out.WriteLine(format, null, null); // faster than Out.WriteLine(format, (Object)arg); - else - Out.WriteLine(format, arg); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void Write(String format, Object arg0) - { - Out.Write(format, arg0); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void Write(String format, Object arg0, Object arg1) - { - Out.Write(format, arg0, arg1); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void Write(String format, Object arg0, Object arg1, Object arg2) - { - Out.Write(format, arg0, arg1, arg2); - } - - [HostProtection(UI=true)] - [CLSCompliant(false)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void Write(String format, Object arg0, Object arg1, Object arg2, Object arg3, __arglist) - { - Object[] objArgs; - int argCount; - - ArgIterator args = new ArgIterator(__arglist); - - //+4 to account for the 4 hard-coded arguments at the beginning of the list. - argCount = args.GetRemainingCount() + 4; - - objArgs = new Object[argCount]; - - //Handle the hard-coded arguments - objArgs[0] = arg0; - objArgs[1] = arg1; - objArgs[2] = arg2; - objArgs[3] = arg3; - - //Walk all of the args in the variable part of the argument list. - for (int i=4; i<argCount; i++) { - objArgs[i] = TypedReference.ToObject(args.GetNextArg()); - } - - Out.Write(format, objArgs); - } - - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void Write(String format, params Object[] arg) - { - if (arg == null) // avoid ArgumentNullException from String.Format - Out.Write(format, null, null); // faster than Out.Write(format, (Object)arg); - else - Out.Write(format, arg); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void Write(bool value) - { - Out.Write(value); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void Write(char value) - { - Out.Write(value); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void Write(char[] buffer) - { - Out.Write(buffer); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void Write(char[] buffer, int index, int count) - { - Out.Write(buffer, index, count); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void Write(double value) - { - Out.Write (value); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void Write(decimal value) - { - Out.Write (value); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void Write(float value) - { - Out.Write (value); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void Write(int value) - { - Out.Write (value); - } - - [HostProtection(UI=true)] - [CLSCompliant(false)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void Write(uint value) - { - Out.Write (value); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void Write(long value) - { - Out.Write (value); - } - - [HostProtection(UI=true)] - [CLSCompliant(false)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void Write(ulong value) - { - Out.Write (value); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void Write(Object value) - { - Out.Write (value); - } - - [HostProtection(UI=true)] - [MethodImplAttribute(MethodImplOptions.NoInlining)] - public static void Write(String value) - { - Out.Write (value); - } - - } // public static class Console -} // namespace System diff --git a/src/mscorlib/src/System/ConsoleCancelEventArgs.cs b/src/mscorlib/src/System/ConsoleCancelEventArgs.cs deleted file mode 100644 index 30deabb73d..0000000000 --- a/src/mscorlib/src/System/ConsoleCancelEventArgs.cs +++ /dev/null @@ -1,47 +0,0 @@ -// 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. - -/*============================================================================= -** -** -** -** Purpose: This class provides support goop for hooking Control-C and -** Control-Break, then preventing Control-C from interrupting the -** process. -** -** -=============================================================================*/ -namespace System { - using System; - using System.Diagnostics.Contracts; - - public delegate void ConsoleCancelEventHandler(Object sender, ConsoleCancelEventArgs e); - - - [Serializable] - public sealed class ConsoleCancelEventArgs : EventArgs - { - private ConsoleSpecialKey _type; - private bool _cancel; // Whether to cancel the CancelKeyPress event - - internal ConsoleCancelEventArgs(ConsoleSpecialKey type) - { - _type = type; - _cancel = false; - } - - // Whether to cancel the break event. By setting this to true, the - // Control-C will not kill the process. - public bool Cancel { - get { return _cancel; } - set { - _cancel = value; - } - } - - public ConsoleSpecialKey SpecialKey { - get { return _type; } - } - } -} diff --git a/src/mscorlib/src/System/ConsoleColor.cs b/src/mscorlib/src/System/ConsoleColor.cs deleted file mode 100644 index b001d2dfa4..0000000000 --- a/src/mscorlib/src/System/ConsoleColor.cs +++ /dev/null @@ -1,36 +0,0 @@ -// 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. - -/*============================================================================= -** -** -** -** Purpose: This enumeration represents the colors that can be used for -** console text foreground and background colors. -** -** -=============================================================================*/ - -namespace System { - [Serializable] - public enum ConsoleColor - { - Black = 0, - DarkBlue = 1, - DarkGreen = 2, - DarkCyan = 3, - DarkRed = 4, - DarkMagenta = 5, - DarkYellow = 6, - Gray = 7, - DarkGray = 8, - Blue = 9, - Green = 10, - Cyan = 11, - Red = 12, - Magenta = 13, - Yellow = 14, - White = 15 - } -} diff --git a/src/mscorlib/src/System/ConsoleKey.cs b/src/mscorlib/src/System/ConsoleKey.cs deleted file mode 100644 index 131e443e09..0000000000 --- a/src/mscorlib/src/System/ConsoleKey.cs +++ /dev/null @@ -1,207 +0,0 @@ -// 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. - -/*============================================================================= -** -** -** -** Purpose: This enumeration represents characters returned from a keyboard. -** The list is derived from a list of Windows virtual key codes, -** and is very similar to the Windows Forms Keys class. -** -** -=============================================================================*/ - -namespace System { - - [Serializable] - public enum ConsoleKey - { - Backspace = 0x8, - Tab = 0x9, - // 0xA, // Reserved - // 0xB, // Reserved - Clear = 0xC, - Enter = 0xD, - // 0E-0F, // Undefined - // SHIFT = 0x10, - // CONTROL = 0x11, - // Alt = 0x12, - Pause = 0x13, - // CAPSLOCK = 0x14, - // Kana = 0x15, // Ime Mode - // Hangul = 0x15, // Ime Mode - // 0x16, // Undefined - // Junja = 0x17, // Ime Mode - // Final = 0x18, // Ime Mode - // Hanja = 0x19, // Ime Mode - // Kanji = 0x19, // Ime Mode - // 0x1A, // Undefined - Escape = 0x1B, - // Convert = 0x1C, // Ime Mode - // NonConvert = 0x1D, // Ime Mode - // Accept = 0x1E, // Ime Mode - // ModeChange = 0x1F, // Ime Mode - Spacebar = 0x20, - PageUp = 0x21, - PageDown = 0x22, - End = 0x23, - Home = 0x24, - LeftArrow = 0x25, - UpArrow = 0x26, - RightArrow = 0x27, - DownArrow = 0x28, - Select = 0x29, - Print = 0x2A, - Execute = 0x2B, - PrintScreen = 0x2C, - Insert = 0x2D, - Delete = 0x2E, - Help = 0x2F, - D0 = 0x30, // 0 through 9 - D1 = 0x31, - D2 = 0x32, - D3 = 0x33, - D4 = 0x34, - D5 = 0x35, - D6 = 0x36, - D7 = 0x37, - D8 = 0x38, - D9 = 0x39, - // 3A-40 , // Undefined - A = 0x41, - B = 0x42, - C = 0x43, - D = 0x44, - E = 0x45, - F = 0x46, - G = 0x47, - H = 0x48, - I = 0x49, - J = 0x4A, - K = 0x4B, - L = 0x4C, - M = 0x4D, - N = 0x4E, - O = 0x4F, - P = 0x50, - Q = 0x51, - R = 0x52, - S = 0x53, - T = 0x54, - U = 0x55, - V = 0x56, - W = 0x57, - X = 0x58, - Y = 0x59, - Z = 0x5A, - LeftWindows = 0x5B, // Microsoft Natural keyboard - RightWindows = 0x5C, // Microsoft Natural keyboard - Applications = 0x5D, // Microsoft Natural keyboard - // 5E , // Reserved - Sleep = 0x5F, // Computer Sleep Key - NumPad0 = 0x60, - NumPad1 = 0x61, - NumPad2 = 0x62, - NumPad3 = 0x63, - NumPad4 = 0x64, - NumPad5 = 0x65, - NumPad6 = 0x66, - NumPad7 = 0x67, - NumPad8 = 0x68, - NumPad9 = 0x69, - Multiply = 0x6A, - Add = 0x6B, - Separator = 0x6C, - Subtract = 0x6D, - Decimal = 0x6E, - Divide = 0x6F, - F1 = 0x70, - F2 = 0x71, - F3 = 0x72, - F4 = 0x73, - F5 = 0x74, - F6 = 0x75, - F7 = 0x76, - F8 = 0x77, - F9 = 0x78, - F10 = 0x79, - F11 = 0x7A, - F12 = 0x7B, - F13 = 0x7C, - F14 = 0x7D, - F15 = 0x7E, - F16 = 0x7F, - F17 = 0x80, - F18 = 0x81, - F19 = 0x82, - F20 = 0x83, - F21 = 0x84, - F22 = 0x85, - F23 = 0x86, - F24 = 0x87, - // 88-8F, // Undefined - // NumberLock = 0x90, - // ScrollLock = 0x91, - // 0x92, // OEM Specific - // 97-9F , // Undefined - // LeftShift = 0xA0, - // RightShift = 0xA1, - // LeftControl = 0xA2, - // RightControl = 0xA3, - // LeftAlt = 0xA4, - // RightAlt = 0xA5, - BrowserBack = 0xA6, // Windows 2000/XP - BrowserForward = 0xA7, // Windows 2000/XP - BrowserRefresh = 0xA8, // Windows 2000/XP - BrowserStop = 0xA9, // Windows 2000/XP - BrowserSearch = 0xAA, // Windows 2000/XP - BrowserFavorites = 0xAB, // Windows 2000/XP - BrowserHome = 0xAC, // Windows 2000/XP - VolumeMute = 0xAD, // Windows 2000/XP - VolumeDown = 0xAE, // Windows 2000/XP - VolumeUp = 0xAF, // Windows 2000/XP - MediaNext = 0xB0, // Windows 2000/XP - MediaPrevious = 0xB1, // Windows 2000/XP - MediaStop = 0xB2, // Windows 2000/XP - MediaPlay = 0xB3, // Windows 2000/XP - LaunchMail = 0xB4, // Windows 2000/XP - LaunchMediaSelect = 0xB5, // Windows 2000/XP - LaunchApp1 = 0xB6, // Windows 2000/XP - LaunchApp2 = 0xB7, // Windows 2000/XP - // B8-B9, // Reserved - Oem1 = 0xBA, // Misc characters, varies by keyboard. For US standard, ;: - OemPlus = 0xBB, // Misc characters, varies by keyboard. For US standard, + - OemComma = 0xBC, // Misc characters, varies by keyboard. For US standard, , - OemMinus = 0xBD, // Misc characters, varies by keyboard. For US standard, - - OemPeriod = 0xBE, // Misc characters, varies by keyboard. For US standard, . - Oem2 = 0xBF, // Misc characters, varies by keyboard. For US standard, /? - Oem3 = 0xC0, // Misc characters, varies by keyboard. For US standard, `~ - // 0xC1, // Reserved - // D8-DA, // Unassigned - Oem4 = 0xDB, // Misc characters, varies by keyboard. For US standard, [{ - Oem5 = 0xDC, // Misc characters, varies by keyboard. For US standard, \| - Oem6 = 0xDD, // Misc characters, varies by keyboard. For US standard, ]} - Oem7 = 0xDE, // Misc characters, varies by keyboard. For US standard, - Oem8 = 0xDF, // Used for miscellaneous characters; it can vary by keyboard - // 0xE0, // Reserved - // 0xE1, // OEM specific - Oem102 = 0xE2, // Win2K/XP: Either angle or backslash on RT 102-key keyboard - // 0xE3, // OEM specific - Process = 0xE5, // Windows: IME Process Key - // 0xE6, // OEM specific - Packet = 0xE7, // Win2K/XP: Used to pass Unicode chars as if keystrokes - // 0xE8, // Unassigned - // 0xE9, // OEM specific - Attention = 0xF6, - CrSel = 0xF7, - ExSel = 0xF8, - EraseEndOfFile = 0xF9, - Play = 0xFA, - Zoom = 0xFB, - NoName = 0xFC, // Reserved - Pa1 = 0xFD, - OemClear = 0xFE, - } -} diff --git a/src/mscorlib/src/System/ConsoleKeyInfo.cs b/src/mscorlib/src/System/ConsoleKeyInfo.cs deleted file mode 100644 index 06985171ce..0000000000 --- a/src/mscorlib/src/System/ConsoleKeyInfo.cs +++ /dev/null @@ -1,81 +0,0 @@ -// 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. -/*============================================================================= -** -** -** -** Purpose: This value type represents a single key press, with modifier keys -** like Alt, Control, and Shift. -** -** -=============================================================================*/ -using System.Diagnostics.Contracts; -namespace System { - [Serializable] - public struct ConsoleKeyInfo { - private char _keyChar; - private ConsoleKey _key; - private ConsoleModifiers _mods; - - public ConsoleKeyInfo(char keyChar, ConsoleKey key, bool shift, bool alt, bool control) { - // Limit ConsoleKey values to 0 to 255, but don't check whether the - // key is a valid value in our ConsoleKey enum. There are a few - // values in that enum that we didn't define, and reserved keys - // that might start showing up on keyboards in a few years. - if (((int)key) < 0 || ((int)key) > 255) - throw new ArgumentOutOfRangeException("key", Environment.GetResourceString("ArgumentOutOfRange_ConsoleKey")); - Contract.EndContractBlock(); - - _keyChar = keyChar; - _key = key; - _mods = 0; - if (shift) - _mods |= ConsoleModifiers.Shift; - if (alt) - _mods |= ConsoleModifiers.Alt; - if (control) - _mods |= ConsoleModifiers.Control; - } - - public char KeyChar { - get { return _keyChar; } - } - - public ConsoleKey Key { - get { return _key; } - } - - public ConsoleModifiers Modifiers { - get { return _mods; } - } - - public override bool Equals(Object value) - { - if (value is ConsoleKeyInfo) - return Equals((ConsoleKeyInfo)value); - else - return false; - } - - public bool Equals(ConsoleKeyInfo obj) - { - return obj._keyChar == _keyChar && obj._key == _key && obj._mods == _mods; - } - - public static bool operator ==(ConsoleKeyInfo a, ConsoleKeyInfo b) - { - return a.Equals(b); - } - - public static bool operator !=(ConsoleKeyInfo a, ConsoleKeyInfo b) - { - return !(a == b); - } - - public override int GetHashCode() - { - return (int)_keyChar | (int) _mods; - } - } -} diff --git a/src/mscorlib/src/System/ConsoleModifiers.cs b/src/mscorlib/src/System/ConsoleModifiers.cs deleted file mode 100644 index 4850c7be0f..0000000000 --- a/src/mscorlib/src/System/ConsoleModifiers.cs +++ /dev/null @@ -1,24 +0,0 @@ -// 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. - -/*============================================================================= -** -** -** -** Purpose: This enumeration represents the keys Alt, Shift, and Control -** which modify the meaning of another key when pressed. -** -** -=============================================================================*/ - -namespace System { -[Serializable] -[Flags] - public enum ConsoleModifiers - { - Alt = 1, - Shift = 2, - Control = 4 - } -} diff --git a/src/mscorlib/src/System/ConsoleSpecialKey.cs b/src/mscorlib/src/System/ConsoleSpecialKey.cs deleted file mode 100644 index af4d7e409f..0000000000 --- a/src/mscorlib/src/System/ConsoleSpecialKey.cs +++ /dev/null @@ -1,27 +0,0 @@ -// 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. - -/*============================================================================= -** -** -** -** Purpose: This enumeration represents how a process can be interrupted with -** a cancel request from the user, like Control-C and Control-Break. -** We may eventually add in a small number of other cases. -** -** -=============================================================================*/ - -using System.Runtime.InteropServices; - -namespace System { - [Serializable] - - public enum ConsoleSpecialKey - { - // We realize this is incomplete, and may add values in the future. - ControlC = 0, - ControlBreak = 1, - } -} diff --git a/src/mscorlib/src/System/IO/Path.cs b/src/mscorlib/src/System/IO/Path.cs index a1f50eaafc..509e27be25 100644 --- a/src/mscorlib/src/System/IO/Path.cs +++ b/src/mscorlib/src/System/IO/Path.cs @@ -920,7 +920,8 @@ namespace System.IO { return true; } - + +#if !FEATURE_CORECLR // Returns a cryptographically strong random 8.3 string that can be // used as either a folder name or a file name. #if FEATURE_PAL @@ -996,7 +997,8 @@ namespace System.IO { if (r==0) __Error.WinIOError(); return sb.ToString(); } - +#endif // FEATURE_CORECLR + // Tests if a path includes a file extension. The result is // true if the characters that follow the last directory // separator ('\\' or '/') or volume separator (':') in the path include diff --git a/src/mscorlib/src/System/LowLevelConsole.cs b/src/mscorlib/src/System/LowLevelConsole.cs new file mode 100644 index 0000000000..3aba3db4d1 --- /dev/null +++ b/src/mscorlib/src/System/LowLevelConsole.cs @@ -0,0 +1,50 @@ +// 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 System.Text; +using System.Security; +using Microsoft.Win32; +using Microsoft.Win32.SafeHandles; + +namespace System +{ + // + // Simple limited console class for internal printf-style debugging in mscorlib + // and low-level tests that just want to depend on mscorlib. + // + + public static class Console + { + [SecurityCritical] + static SafeFileHandle _outputHandle; + + [SecuritySafeCritical] + static Console() + { + _outputHandle = new SafeFileHandle(Win32Native.GetStdHandle(Win32Native.STD_OUTPUT_HANDLE), false); + } + + [SecuritySafeCritical] + public static unsafe void Write(string s) + { + byte[] bytes = Encoding.UTF8.GetBytes(s); + + fixed (byte * pBytes = bytes) + { + int bytesWritten; + Win32Native.WriteFile(_outputHandle, pBytes, bytes.Length, out bytesWritten, IntPtr.Zero); + } + } + + public static void WriteLine(string s) + { + Write(s + Environment.NewLine); + } + + public static void WriteLine() + { + Write(Environment.NewLine); + } + } +} diff --git a/src/mscorlib/src/System/Security/PermissionSet.cs b/src/mscorlib/src/System/Security/PermissionSet.cs index dc72cc1f3a..c16bbc2cd2 100644 --- a/src/mscorlib/src/System/Security/PermissionSet.cs +++ b/src/mscorlib/src/System/Security/PermissionSet.cs @@ -63,7 +63,7 @@ namespace System.Security { private static void DEBUG_PRINTSTACK(Exception e) { #if _DEBUG - if (debug) Console.Error.WriteLine((e).StackTrace); + if (debug) Console.WriteLine((e).StackTrace); #endif } |