summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJan Kotas <jkotas@microsoft.com>2016-03-15 19:46:34 -0700
committerJan Kotas <jkotas@microsoft.com>2016-03-15 19:46:34 -0700
commitffc7372713170e09a9f80d4cd8d6bb238378a34b (patch)
tree482babd939c7339c70d0b19c9dcb814567ab21e2 /src
parentb09f46863aca0e94f8bb57dcc2905d3667498140 (diff)
downloadcoreclr-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.proj1
-rw-r--r--src/coreclr/dirs.proj1
-rw-r--r--src/mscorlib/model.xml1701
-rw-r--r--src/mscorlib/mscorlib.shared.sources.props8
-rw-r--r--src/mscorlib/src/Microsoft/Win32/Win32Native.cs26
-rw-r--r--src/mscorlib/src/System/Collections/Hashtable.cs16
-rw-r--r--src/mscorlib/src/System/Console.cs2141
-rw-r--r--src/mscorlib/src/System/ConsoleCancelEventArgs.cs47
-rw-r--r--src/mscorlib/src/System/ConsoleColor.cs36
-rw-r--r--src/mscorlib/src/System/ConsoleKey.cs207
-rw-r--r--src/mscorlib/src/System/ConsoleKeyInfo.cs81
-rw-r--r--src/mscorlib/src/System/ConsoleModifiers.cs24
-rw-r--r--src/mscorlib/src/System/ConsoleSpecialKey.cs27
-rw-r--r--src/mscorlib/src/System/IO/Path.cs6
-rw-r--r--src/mscorlib/src/System/LowLevelConsole.cs50
-rw-r--r--src/mscorlib/src/System/Security/PermissionSet.cs2
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&lt;T&gt;" />
<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&lt;System.String&gt;)" />
- <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&lt;K,T&gt;)" />
<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&lt;T&gt;" Condition="FEATURE_LEGACYNETCF">
- <Member Name="Subscribe(System.IObserver&lt;T&gt;)" Condition="FEATURE_LEGACYNETCF" />
+ <Type Name="System.IObservable&lt;T&gt;">
+ <Member Name="Subscribe(System.IObserver&lt;T&gt;)"/>
</Type>
- <Type Name="System.IObserver&lt;T&gt;" 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&lt;T&gt;">
+ <Member Name="OnCompleted"/>
+ <Member Name="OnError(System.Exception)"/>
+ <Member Name="OnNext(T)"/>
</Type>
<Type Name="System.IProgress&lt;T&gt;">
<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&lt;T&gt;">
<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&lt;System.Reflection.Emit.CustomAttributeBuilder&gt;)" />
<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&lt;TKey,TValue&gt;">
<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&lt;T&gt;(System.IntPtr)" />
<Member Name="PtrToStructure&lt;T&gt;(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&lt;T&gt;" />
@@ -6267,12 +5986,12 @@
<Member Name="StringToHGlobalUni(System.String)" />
<Member Name="StructureToPtr&lt;T&gt;(T,System.IntPtr,System.Boolean)" />
<Member Name="UnsafeAddrOfPinnedArrayElement&lt;T&gt;(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&lt;T1&gt;(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&lt;System.String&gt;)"/>
- <Member Name="AppendAllLines(System.String,System.Collections.Generic.IEnumerable&lt;System.String&gt;,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&lt;System.String&gt;)" />
- <Member Name="WriteAllLines(System.String,System.Collections.Generic.IEnumerable&lt;System.String&gt;,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
}