Repository: advanced-threat-research/DotDumper Branch: main Commit: 82ab3750f81b Files: 193 Total size: 4.6 MB Directory structure: gitextract_4_7p2e3s/ ├── DotDumper/ │ ├── ArgumentHandler.cs │ ├── Config.cs │ ├── DotDumper.csproj │ ├── Helpers/ │ │ ├── ArgumentHelper.cs │ │ ├── AssemblyMapper.cs │ │ ├── Hashes.cs │ │ ├── LogEntryHelper.cs │ │ ├── MissedAssemblyDumper.cs │ │ ├── RaceConditionHandler.cs │ │ ├── Serialise.cs │ │ └── StagnationHandler.cs │ ├── HookHandlers/ │ │ ├── Activator/ │ │ │ └── ActivatorHooks.cs │ │ ├── Assembly/ │ │ │ └── AssemblyHooks.cs │ │ ├── Console/ │ │ │ └── ConsoleHooks.cs │ │ ├── Convert/ │ │ │ └── ConvertHooks.cs │ │ ├── Directory/ │ │ │ └── DirectoryHooks.cs │ │ ├── Environment/ │ │ │ └── EnvironmentHooks.cs │ │ ├── File/ │ │ │ └── FileHooks.cs │ │ ├── GenericHookHelper.cs │ │ ├── MethodBase/ │ │ │ └── MethodBaseHooks.cs │ │ ├── Path/ │ │ │ └── PathHooks.cs │ │ ├── Process/ │ │ │ └── ProcessHooks.cs │ │ ├── ResourceManager/ │ │ │ └── ResourceManagerHooks.cs │ │ ├── Thread/ │ │ │ └── ThreadHooks.cs │ │ └── Type/ │ │ ├── TypeHooks.cs │ │ └── TypeHooksHelper.cs │ ├── Hooks/ │ │ ├── Hook.cs │ │ ├── HookManager.cs │ │ ├── InteropFunctions.cs │ │ ├── OriginalManagedFunctions.cs │ │ └── OriginalUnmanagedFunctions.cs │ ├── Logger.cs │ ├── Models/ │ │ ├── Argument.cs │ │ ├── AssemblyObject.cs │ │ ├── Hash.cs │ │ ├── LogEntry.cs │ │ └── UnmanagedMethodInfo.cs │ ├── Pipes/ │ │ └── PipeManager.cs │ ├── Program.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── app.config │ ├── bin/ │ │ └── Debug/ │ │ ├── DotDumper.exe.config │ │ ├── DotDumper.pdb │ │ ├── System.Buffers.xml │ │ ├── System.Memory.xml │ │ ├── System.Numerics.Vectors.xml │ │ ├── System.Runtime.CompilerServices.Unsafe.xml │ │ └── System.Security.Cryptography.Pkcs.xml │ ├── obj/ │ │ ├── Debug/ │ │ │ ├── .NETFramework,Version=v4.7.2.AssemblyAttributes.cs │ │ │ ├── .NETFramework,Version=v4.8.AssemblyAttributes.cs │ │ │ ├── DesignTimeResolveAssemblyReferences.cache │ │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ │ ├── DotDumper.csproj.AssemblyReference.cache │ │ │ ├── DotDumper.csproj.CopyComplete │ │ │ ├── DotDumper.csproj.CoreCompileInputs.cache │ │ │ ├── DotDumper.csproj.FileListAbsolute.txt │ │ │ └── DotDumper.pdb │ │ └── x64/ │ │ └── Debug/ │ │ ├── .NETFramework,Version=v4.7.2.AssemblyAttributes.cs │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── DotDumper.csproj.AssemblyReference.cache │ │ ├── DotDumper.csproj.CoreCompileInputs.cache │ │ ├── DotDumper.csproj.FileListAbsolute.txt │ │ └── DotDumper.pdb │ └── packages.config ├── DotDumper.sln ├── LICENSE ├── README.md └── packages/ ├── PeNet.2.9.9/ │ ├── .signature.p7s │ └── PeNet.2.9.9.nupkg ├── PeNet.Asn1.2.0.0/ │ ├── .signature.p7s │ └── PeNet.Asn1.2.0.0.nupkg ├── System.Buffers.4.5.1/ │ ├── .signature.p7s │ ├── LICENSE.TXT │ ├── System.Buffers.4.5.1.nupkg │ ├── THIRD-PARTY-NOTICES.TXT │ ├── lib/ │ │ ├── net461/ │ │ │ └── System.Buffers.xml │ │ ├── netcoreapp2.0/ │ │ │ └── _._ │ │ ├── netstandard1.1/ │ │ │ └── System.Buffers.xml │ │ ├── netstandard2.0/ │ │ │ └── System.Buffers.xml │ │ └── uap10.0.16299/ │ │ └── _._ │ ├── ref/ │ │ ├── net45/ │ │ │ └── System.Buffers.xml │ │ ├── netcoreapp2.0/ │ │ │ └── _._ │ │ ├── netstandard1.1/ │ │ │ └── System.Buffers.xml │ │ ├── netstandard2.0/ │ │ │ └── System.Buffers.xml │ │ └── uap10.0.16299/ │ │ └── _._ │ ├── useSharedDesignerContext.txt │ └── version.txt ├── System.Diagnostics.Process.4.3.0/ │ ├── .signature.p7s │ ├── System.Diagnostics.Process.4.3.0.nupkg │ ├── ThirdPartyNotices.txt │ ├── dotnet_library_license.txt │ ├── lib/ │ │ ├── MonoAndroid10/ │ │ │ └── _._ │ │ ├── MonoTouch10/ │ │ │ └── _._ │ │ ├── xamarinios10/ │ │ │ └── _._ │ │ ├── xamarinmac20/ │ │ │ └── _._ │ │ ├── xamarintvos10/ │ │ │ └── _._ │ │ └── xamarinwatchos10/ │ │ └── _._ │ ├── ref/ │ │ ├── MonoAndroid10/ │ │ │ └── _._ │ │ ├── MonoTouch10/ │ │ │ └── _._ │ │ ├── netstandard1.3/ │ │ │ ├── System.Diagnostics.Process.xml │ │ │ ├── de/ │ │ │ │ └── System.Diagnostics.Process.xml │ │ │ ├── es/ │ │ │ │ └── System.Diagnostics.Process.xml │ │ │ ├── fr/ │ │ │ │ └── System.Diagnostics.Process.xml │ │ │ ├── it/ │ │ │ │ └── System.Diagnostics.Process.xml │ │ │ ├── ja/ │ │ │ │ └── System.Diagnostics.Process.xml │ │ │ ├── ko/ │ │ │ │ └── System.Diagnostics.Process.xml │ │ │ ├── ru/ │ │ │ │ └── System.Diagnostics.Process.xml │ │ │ ├── zh-hans/ │ │ │ │ └── System.Diagnostics.Process.xml │ │ │ └── zh-hant/ │ │ │ └── System.Diagnostics.Process.xml │ │ ├── netstandard1.4/ │ │ │ ├── System.Diagnostics.Process.xml │ │ │ ├── de/ │ │ │ │ └── System.Diagnostics.Process.xml │ │ │ ├── es/ │ │ │ │ └── System.Diagnostics.Process.xml │ │ │ ├── fr/ │ │ │ │ └── System.Diagnostics.Process.xml │ │ │ ├── it/ │ │ │ │ └── System.Diagnostics.Process.xml │ │ │ ├── ja/ │ │ │ │ └── System.Diagnostics.Process.xml │ │ │ ├── ko/ │ │ │ │ └── System.Diagnostics.Process.xml │ │ │ ├── ru/ │ │ │ │ └── System.Diagnostics.Process.xml │ │ │ ├── zh-hans/ │ │ │ │ └── System.Diagnostics.Process.xml │ │ │ └── zh-hant/ │ │ │ └── System.Diagnostics.Process.xml │ │ ├── xamarinios10/ │ │ │ └── _._ │ │ ├── xamarinmac20/ │ │ │ └── _._ │ │ ├── xamarintvos10/ │ │ │ └── _._ │ │ └── xamarinwatchos10/ │ │ └── _._ │ └── runtimes/ │ └── win7/ │ └── lib/ │ └── netcore50/ │ └── _._ ├── System.Memory.4.5.5/ │ ├── .signature.p7s │ ├── LICENSE.TXT │ ├── System.Memory.4.5.5.nupkg │ ├── THIRD-PARTY-NOTICES.TXT │ ├── lib/ │ │ ├── net461/ │ │ │ └── System.Memory.xml │ │ ├── netcoreapp2.1/ │ │ │ └── _._ │ │ ├── netstandard1.1/ │ │ │ └── System.Memory.xml │ │ └── netstandard2.0/ │ │ └── System.Memory.xml │ ├── ref/ │ │ └── netcoreapp2.1/ │ │ └── _._ │ ├── useSharedDesignerContext.txt │ └── version.txt ├── System.Numerics.Vectors.4.5.0/ │ ├── .signature.p7s │ ├── LICENSE.TXT │ ├── System.Numerics.Vectors.4.5.0.nupkg │ ├── THIRD-PARTY-NOTICES.TXT │ ├── lib/ │ │ ├── MonoAndroid10/ │ │ │ └── _._ │ │ ├── MonoTouch10/ │ │ │ └── _._ │ │ ├── net46/ │ │ │ └── System.Numerics.Vectors.xml │ │ ├── netcoreapp2.0/ │ │ │ └── _._ │ │ ├── netstandard1.0/ │ │ │ └── System.Numerics.Vectors.xml │ │ ├── netstandard2.0/ │ │ │ └── System.Numerics.Vectors.xml │ │ ├── portable-net45+win8+wp8+wpa81/ │ │ │ └── System.Numerics.Vectors.xml │ │ ├── uap10.0.16299/ │ │ │ └── _._ │ │ ├── xamarinios10/ │ │ │ └── _._ │ │ ├── xamarinmac20/ │ │ │ └── _._ │ │ ├── xamarintvos10/ │ │ │ └── _._ │ │ └── xamarinwatchos10/ │ │ └── _._ │ ├── ref/ │ │ ├── MonoAndroid10/ │ │ │ └── _._ │ │ ├── MonoTouch10/ │ │ │ └── _._ │ │ ├── net45/ │ │ │ └── System.Numerics.Vectors.xml │ │ ├── net46/ │ │ │ └── System.Numerics.Vectors.xml │ │ ├── netcoreapp2.0/ │ │ │ └── _._ │ │ ├── netstandard1.0/ │ │ │ └── System.Numerics.Vectors.xml │ │ ├── netstandard2.0/ │ │ │ └── System.Numerics.Vectors.xml │ │ ├── uap10.0.16299/ │ │ │ └── _._ │ │ ├── xamarinios10/ │ │ │ └── _._ │ │ ├── xamarinmac20/ │ │ │ └── _._ │ │ ├── xamarintvos10/ │ │ │ └── _._ │ │ └── xamarinwatchos10/ │ │ └── _._ │ ├── useSharedDesignerContext.txt │ └── version.txt ├── System.Runtime.CompilerServices.Unsafe.6.0.0/ │ ├── .signature.p7s │ ├── LICENSE.TXT │ ├── System.Runtime.CompilerServices.Unsafe.6.0.0.nupkg │ ├── THIRD-PARTY-NOTICES.TXT │ ├── buildTransitive/ │ │ ├── netcoreapp2.0/ │ │ │ └── System.Runtime.CompilerServices.Unsafe.targets │ │ └── netcoreapp3.1/ │ │ └── _._ │ ├── lib/ │ │ ├── net461/ │ │ │ └── System.Runtime.CompilerServices.Unsafe.xml │ │ ├── net6.0/ │ │ │ └── System.Runtime.CompilerServices.Unsafe.xml │ │ ├── netcoreapp3.1/ │ │ │ └── System.Runtime.CompilerServices.Unsafe.xml │ │ └── netstandard2.0/ │ │ └── System.Runtime.CompilerServices.Unsafe.xml │ └── useSharedDesignerContext.txt └── System.Security.Cryptography.Pkcs.6.0.1/ ├── .signature.p7s ├── LICENSE.TXT ├── System.Security.Cryptography.Pkcs.6.0.1.nupkg ├── THIRD-PARTY-NOTICES.TXT ├── buildTransitive/ │ ├── netcoreapp2.0/ │ │ └── System.Security.Cryptography.Pkcs.targets │ └── netcoreapp3.1/ │ └── _._ ├── lib/ │ ├── net461/ │ │ └── System.Security.Cryptography.Pkcs.xml │ ├── net6.0/ │ │ └── System.Security.Cryptography.Pkcs.xml │ ├── netcoreapp3.1/ │ │ └── System.Security.Cryptography.Pkcs.xml │ ├── netstandard2.0/ │ │ └── System.Security.Cryptography.Pkcs.xml │ └── netstandard2.1/ │ └── System.Security.Cryptography.Pkcs.xml ├── runtimes/ │ └── win/ │ └── lib/ │ ├── net461/ │ │ └── System.Security.Cryptography.Pkcs.xml │ ├── net6.0/ │ │ └── System.Security.Cryptography.Pkcs.xml │ ├── netcoreapp3.1/ │ │ └── System.Security.Cryptography.Pkcs.xml │ ├── netstandard2.0/ │ │ └── System.Security.Cryptography.Pkcs.xml │ └── netstandard2.1/ │ └── System.Security.Cryptography.Pkcs.xml └── useSharedDesignerContext.txt ================================================ FILE CONTENTS ================================================ ================================================ FILE: DotDumper/ArgumentHandler.cs ================================================ using System; using System.IO; using System.Reflection; namespace DotDumper { /// /// This class handles user-provided arguments by parsing them, and updating the fields in the Config class when need be. At last, a check is performed to ensure that the required arguments are provided. /// class ArgumentHandler { #region Argument markers and descriptions /// /// The marker for the sample path (equals "-file") /// public const string SamplePathMarker = "-file"; /// /// The description for the sample path /// public const string SamplePathDescription = "The complete path to the file to launch. This is the only mandatory argument, if the provided file has\n\t\tan entry point. Note that providing only a single CLI argument with the file's location also works!"; /// /// The marker for the logging folder name (equals "-log") /// public const string LoggingFolderNameMarker = "-log"; /// /// The description of the logging folder name /// public const string LoggingFolderNameDescription = "The name of the folder to place artifacts in, which will be placed within the same folder as DotDumper.\n\t\tIf this argument is missing, the sample's file name will be used."; /// /// The marker for the deprecated function inclusion/exclusion /// public const string DeprecatedFunctionMarker = "-deprecated"; /// /// The description for the deprecated function inclusion/exclusion /// public const string DeprecatedFunctionDescription = "Hook deprecated functions, needs to be true or false. The default value is true"; /// /// The marker for the argument which decides if the loaded hooks should be displayed /// public const string LogHooksMarker = "-displayHooks"; /// /// The description for the logging of all loaded hooks /// public const string LogHooksDescription = "Print all hooked functions upon startup, needs to be true or false. The default value is true"; /// /// The race condition marker, which indicates an overwrite of the delay on the race condition timer /// public const string RaceConditionDueTimeMarker = "-raceTime"; /// /// The decription of the race condition delay argument /// public const string RaceConditionDueTimeDescription = "The amount of milliseconds that are between the hook and re-hook of Invoke-related functions.\n\t\tThe default value is 20"; /// /// Decides if the entry point of the binary should be ignored /// public const string OverrideEntryPointMarker = "-overrideEntry"; /// /// The description of the override functionality /// public const string OverrideEntryPointDescription = "Defines if the default entry point should be overridden, needs to be true or false. The default value\n\t\tis false. The use of -fqcn and -functionName is mandatory with this argument, whereas -args and\n\t\t-argc are optional (though both -args and -argc need to be used together when they are used)."; /// /// The marker for the fully qualified class name (including the namespace) /// public const string DllFullyQualifiedClassNameMarker = "-fqcn"; /// /// The description of the fully qualified class name (including the namespace) /// public const string DllFullyQualifiedClassDescription = "The fully qualified class, including namespace, to find the function in. Only used when overriding\n\t\tthe entry point. Needs to be used together with -functionName."; /// /// The marker for the function name /// public const string DllFunctionNameMarker = "-functionName"; /// /// The description for the function name's description /// public const string DllFunctionNameDescription = "The function name to call, excluding types and parameters, within the fully qualified class.\n\t\tOnly used when overriding the entry point. Needs to be used together with -fqcn."; /// /// The marker for the arguments /// public const string PayloadArgumentsMarker = "-args"; /// /// The description for the arguments /// public const string PayloadArgumentsDescription = "The arguments for the function, providing the type and value at once, split by a pipe,\n\t\tsuch as int|7, double|3.14, or string|myValue\n\t\tThe following types are supported: bool, byte, sbyte, char, decimal, double, float, int, uint, long,\n\t\tulong, short, ushort, string, as well as arrays of each of those types. Arrays are indicated using \"[]\"\n\t\tdirectly after the type, such as \"string[]\". The values are to be split using commas.\n\t\tAn example: string[]|string1,string2,string3\n\t\tNull is also possible, but note that this value (or lack thereof) should not be capitalised.\n\t\tNeeds to be used together with -argc."; /// /// The index of the first argument in the provided array of DotDumper arguments by the user /// private static int PayloadArgumentsIndex = -1; /// /// The marker for the argument count /// public const string PayloadArgumentCountMarker = "-argc"; /// /// The description for the argument count /// public const string PayloadArgumentCountDescription = "The number of arguments that are provided, as an integer. Needs to be used together with -args."; /// /// The amount of arguments, as provided by the user /// private static int PayloadArgumentCount = -1; /// /// The marker to decide if sleep calls should be skipped /// public const string SleepSkipMarker = "-sleepSkip"; /// /// The description for the sleep skip functionality /// public const string SleepSkipDescription = "Defines if Thread.Sleep calls need to be skipped, needs to be true or false. The default value is true."; /// /// The marker to decide if logs should be printed to the console /// public const string ConsolePrintingMarker = "-console"; /// /// The description for the optional console logging functionality /// public const string ConsolePrintingDescription = "Defines if the logging should be printed to the console window or not. The default value is true."; /// /// The help marker /// public const string HelpMarker = "-help"; /// /// The description of the help marker /// public const string HelpDescription = "Prints the help menu. This cannot be used in combination with other options, as they will be ignored."; #endregion /// /// A helper function to combine a marker and a description, including the required newlines and tabs /// /// The marker to combine with the description /// The description to combine with the marker /// The combined marker and description private static string CombineMarkerAndDescription(string marker, string description) { return marker + "\n" + "\t\t" + description + "\n"; } /// /// A helper function to get the complete help message as a single string /// /// The complete help message private static string GetHelpMessage() { //Initialises the program's version, and a note that all arguments are case sensitive string help = Program.VERSION + "\n" + "Note that all arguments are cases sensitive!\n"; //Adds all the markers and their descriptions into the help message help += CombineMarkerAndDescription(SamplePathMarker, SamplePathDescription); help += CombineMarkerAndDescription(LoggingFolderNameMarker, LoggingFolderNameDescription); help += CombineMarkerAndDescription(DeprecatedFunctionMarker, DeprecatedFunctionDescription); help += CombineMarkerAndDescription(LogHooksMarker, LogHooksDescription); help += CombineMarkerAndDescription(RaceConditionDueTimeMarker, RaceConditionDueTimeDescription); help += CombineMarkerAndDescription(OverrideEntryPointMarker, OverrideEntryPointDescription); help += CombineMarkerAndDescription(DllFullyQualifiedClassNameMarker, DllFullyQualifiedClassDescription); help += CombineMarkerAndDescription(DllFunctionNameMarker, DllFunctionNameDescription); help += CombineMarkerAndDescription(PayloadArgumentsMarker, PayloadArgumentsDescription); help += CombineMarkerAndDescription(PayloadArgumentCountMarker, PayloadArgumentCountDescription); help += CombineMarkerAndDescription(SleepSkipMarker, SleepSkipDescription); help += CombineMarkerAndDescription(ConsolePrintingMarker, ConsolePrintingDescription); help += CombineMarkerAndDescription(HelpMarker, HelpDescription); //Adds the well known message to keep the console open, if it wasn't launched via a terminal help += "\nPress any key to exit..."; //Return the complete message return help; } /// /// Checks if the help marker is used as an argument at any point, or if the given array is null or empty. If any of the mentioned conditions is met, the help menu is printed, after which DotDumper will await for the user to press any key, leading to DotDumper's shutdown. /// /// The args array to check for the help parameter private static void CheckHelp(string[] args) { //Declare the variable which will incidate if the help marker has been found bool help = false; //If the provided argument is null or empty, the help menu must be shown, as one at least needs to provide a file to DotDumper if (args == null || args.Length == 0) { help = true; } else { //If it is not null nor empty, iterate over all arguments for (int i = 0; i < args.Length; i++) { //Check if the current argument equals the helpmarker if (args[i].Equals(HelpMarker)) { //Set the help variable to true help = true; //Break the loop, as the help marker has been found break; } } } //If the help variable is true if (help) { //Get and write the help message Console.WriteLine(GetHelpMessage()); //Wait for any user input Console.ReadKey(); //Exit Environment.Exit(0); } //If the variable is false, nothing has to be done } /// /// Checks (in the listed order) if the given value is a file in the current directory, the directory of DotDumper, or if it is a full path. /// /// The (partial) path and file name of the target file private static void CheckFile(string value) { //Check if the sample is located in the current working directory string filePath = Directory.GetCurrentDirectory() + @"\" + value; if (File.Exists(filePath)) { Config.SamplePath = filePath; } //Check if the sample is located in the same folder as DotDumper filePath = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + @"\" + value; if (File.Exists(filePath)) { Config.SamplePath = filePath; } //Check if a full path is given, but only after the two other defined directions have been checked, as the Assembly object can only be loaded with a full path, not a relative one if (File.Exists(value)) { Config.SamplePath = value; } //Only throw the exception if the sample path hasn't been set (meaning the sample hasn't been found) if (Config.SamplePath == null) { //Throw an error if none of the above options results in a match with a file on the user's file system throw new Exception("The provided sample path at \"" + value + "\" does not exist, and cannot be found in the current working directory nor in DotDumper's folder!"); } } /// /// Parses the arguments and sets the config fields that need to be updated based on the arguments. The checks afterwards ensure that only correct combinations of arguments are allowed, or an error is thrown. /// /// public static void ParseArguments(string[] args) { //Check if the help marker is provided. If so, this function does not return CheckHelp(args); /* * Ensure that a single argument leading to the path is possible, when the size of args equals 1, * it is to be redefined as an array with the size of two, where the first argument is "-file" */ try { //Only attempt this if there is a single argument if (args.Length == 1) { //Call the check file function, which throws an exception if it fails CheckFile(args[0]); /* * If this code is reached, the function call above was successful, otherwise I'd throw an exception. * Because of that, the normal CLI parsing can continue if the string array is set again, with the file * path marker as the first argument, and its value as the second, as if it were done manually */ args = new string[] { SamplePathMarker, args[0] }; } } catch (Exception) { /* * The sole argument was not equal to the file path marker. There is no need to handle this error, other than * ignoring it. */ } //Open the try block to handle wrong argument exceptions try { //Declare i prior to the loop, as it is also used outside of the loop in some cases int i; for (i = 0; i < args.Length; i++) { //Get the current argument, in lower case string arg = args[i]; //Check if the next index exists, as the marker is always accompanied by at least one argument if (NextIndexExists(args, i)) { //Get the value of the next index, which is known to exist at this point string value = args[i + 1]; //Handle all marker options (aside from the help one, which was handled before the try block) if (IsEqual(arg, SamplePathMarker)) { CheckFile(value); } else if (IsEqual(arg, LoggingFolderNameMarker)) { Config.LoggerFolder = value; } else if (IsEqual(arg, DeprecatedFunctionMarker)) { try { Config.IncludeDeprecatedFunctions = Convert.ToBoolean(value); } catch (Exception) { throw new Exception("The boolean to determine if deprecated functions should also be hooked is not a valid boolean: \"" + value + "\"!"); } } else if (IsEqual(arg, LogHooksMarker)) { try { Config.LogHooks = Convert.ToBoolean(value); } catch (Exception) { throw new Exception("The boolean to determine if the hooks should be logged is not a valid boolean: \"" + value + "\"!"); } } else if (IsEqual(arg, RaceConditionDueTimeMarker)) { try { int raceConditionTime = Convert.ToInt32(value); if (raceConditionTime <= 0) { throw new Exception(); } Config.RaceConditionDueTime = raceConditionTime; } catch (Exception) { throw new Exception("The integer to determine the duration of the time the timer should wait before rehooking invoke related functions is not a valid integer with a size of more than zero: \"" + value + "\"!"); } } else if (IsEqual(arg, OverrideEntryPointMarker)) { try { Config.OverrideEntryPoint = Convert.ToBoolean(value); } catch (Exception) { throw new Exception("The boolean to determine if a user-specified entry point should be used is not a valid boolean: \"" + value + "\"!"); } } else if (IsEqual(arg, DllFullyQualifiedClassNameMarker)) { Config.DllFullyQualifiedClassName = value; } else if (IsEqual(arg, DllFunctionNameMarker)) { Config.DllFunctionName = value; } else if (IsEqual(arg, PayloadArgumentsMarker)) { PayloadArgumentsIndex = i + 1; } else if (IsEqual(arg, PayloadArgumentCountMarker)) { try { int argCount = Convert.ToInt32(value); if (argCount <= 0) { throw new Exception(); } PayloadArgumentCount = argCount; } catch (Exception) { throw new Exception("The integer that indicates the amount of arguments the function requires is not a valid integer that is bigger than one: \"" + value + "\"!"); } } else if (IsEqual(arg, SleepSkipMarker)) { try { Config.SleepSkip = Convert.ToBoolean(value); } catch (Exception) { throw new Exception("The boolean to determine if sleep calls need to be skipped is not a valid boolean: \"" + value + "\"!"); } } else if (IsEqual(arg, ConsolePrintingMarker)) { try { Config.PrintLogsToConsole = Convert.ToBoolean(value); } catch (Exception) { throw new Exception("The boolean to determine if logs need to be printed to the console window is not a valid boolean: \"" + value + "\"!"); } } } } #region Mandatory value checks //If no sample was provided, an error is thrown if (Config.SamplePath == null) { throw new Exception("No file has been provided! Use \"" + SamplePathMarker + "\" to specify the file, or use \"" + HelpMarker + "\" to show the help menu!"); } //If the name of the logger folder is not provided, the name of the given sample is used. The sample exists and is not null, as previous checks already ensured that if (Config.LoggerFolder == null) { SetLoggerFolderName(); } #endregion #region Optional value checks //If the entry point should be overridden if (Config.OverrideEntryPoint == true) { //The fully qualified class name needs to be present if (Config.DllFullyQualifiedClassName == null) { throw new Exception("The default entry point is to be overridden, but the fully qualified class name that is to be used, is null!"); } //As well as the function name if (Config.DllFunctionName == null) { throw new Exception("The default entry point is to be overridden, but the function name that is to be used, is null!"); } //Arguments are optional, and can also be used for an entry point, which is why they are outside this if-block } //If the index and count are not equal to their initial value of -1, it means that they were both provided if (PayloadArgumentsIndex > 0 && PayloadArgumentCount > 0) { //Given that they are both provided, they need to be handled SetDllArguments(args, PayloadArgumentsIndex, PayloadArgumentCount); } else //In case one or both of these values is still equal to -1 { //If the payload count is missing, an error is thrown if (PayloadArgumentCount > 0) { throw new Exception("No argument count was found, even though arguments were specified!"); } else if (PayloadArgumentsIndex > 0) //If the payload count is more than zero, it means that the index is missing, for which an error needs to be thrown { throw new Exception("No arguments were found, even though an argument count was specified!"); } } #endregion } catch (Exception ex) //Any thrown exception is caught, printed to the standard output, after which DotDumper waits for any key to exit { Console.WriteLine("[ERROR] " + ex.Message + "\n\nPress any key to exit..."); Console.ReadKey(); Environment.Exit(0); } } /// /// Sets the logger folder name to the given file name, appending "_DotDumper" to it until the folder does not exist /// private static void SetLoggerFolderName() { string loggerFolder = Path.GetFileNameWithoutExtension(Config.SamplePath); while (true) { if (Directory.Exists(loggerFolder) == false && File.Exists(loggerFolder) == false) { break; } else { loggerFolder += "_DotDumper"; } } Config.LoggerFolder = loggerFolder; } /// /// Tries to fetch the next index from the array, based on the provided array and index /// /// The array to use /// The index to check if there is a next element /// True if a next element exists, false if not private static bool NextIndexExists(string[] args, int index) { try { string element = args[index + 1]; return true; } catch (Exception) { return false; } } /// /// Sets the DllArguments field in the config, based on the provided parameters. /// /// The complete set of parameters that DotDumper received /// The index at which the first argument is found /// The amount of arguments that are provided by the user private static void SetDllArguments(string[] args, int payloadArgumentsIndex, int payloadArgumentCount) { //The object array that will contain all arguments object[] dllArgs = new object[payloadArgumentCount]; //The string array that contains the split array for each of the provided types string[] arrayValues; //Iterate as many times as there are arguments for (int i = 0; i < payloadArgumentCount; i++) { //Get the index to fetch data from the args array int index = payloadArgumentsIndex + i; //Get and split the data string[] splitted = args[index].Split('|'); //If there are more or less than two fields, something is wrong, thus an error is thrown if (splitted.Length != 2) { throw new Exception("The provided type-value combination is invalid: \"" + args[index] + "\"!"); } //Get the type from the array, as a lowercase string (so a typo wont influence the outcome here) string type = splitted[0].ToLowerInvariant(); //Get the value of the given argument string value = splitted[1]; //Handle any type of supported variables switch (type) { case "bool": dllArgs[i] = Convert.ToBoolean(value); break; case "bool[]": arrayValues = HandleArray(value); bool[] bools = new bool[arrayValues.Length]; for (int count = 0; count < arrayValues.Length; count++) { bools[count] = Convert.ToBoolean(arrayValues[count]); } dllArgs[i] = bools; break; case "byte": dllArgs[i] = Convert.ToByte(value); break; case "byte[]": arrayValues = HandleArray(value); byte[] bytes = new byte[arrayValues.Length]; for (int count = 0; count < arrayValues.Length; count++) { bytes[count] = Convert.ToByte(arrayValues[count]); } dllArgs[i] = bytes; break; case "sbyte": dllArgs[i] = Convert.ToSByte(value); break; case "sbyte[]": arrayValues = HandleArray(value); sbyte[] sbytes = new sbyte[arrayValues.Length]; for (int count = 0; count < arrayValues.Length; count++) { sbytes[count] = Convert.ToSByte(arrayValues[count]); } dllArgs[i] = sbytes; break; case "char": dllArgs[i] = Convert.ToChar(value); break; case "char[]": arrayValues = HandleArray(value); char[] chars = new char[arrayValues.Length]; for (int count = 0; count < arrayValues.Length; count++) { chars[count] = Convert.ToChar(arrayValues[count]); } dllArgs[i] = chars; break; case "decimal": dllArgs[i] = Convert.ToDecimal(value); break; case "decimal[]": arrayValues = HandleArray(value); decimal[] decimals = new decimal[arrayValues.Length]; for (int count = 0; count < arrayValues.Length; count++) { decimals[count] = Convert.ToDecimal(arrayValues[count]); } dllArgs[i] = decimals; break; case "double": dllArgs[i] = Convert.ToDouble(value); break; case "double[]": arrayValues = HandleArray(value); double[] doubles = new double[arrayValues.Length]; for (int count = 0; count < arrayValues.Length; count++) { doubles[count] = Convert.ToDouble(arrayValues[count]); } dllArgs[i] = doubles; break; case "float": dllArgs[i] = Convert.ToSingle(value); break; case "float[]": arrayValues = HandleArray(value); float[] floats = new float[arrayValues.Length]; for (int count = 0; count < arrayValues.Length; count++) { floats[count] = Convert.ToSingle(arrayValues[count]); } dllArgs[i] = floats; break; case "int": dllArgs[i] = Convert.ToInt32(value); break; case "int[]": arrayValues = HandleArray(value); int[] integers = new int[arrayValues.Length]; for (int count = 0; count < arrayValues.Length; count++) { integers[count] = Convert.ToInt32(arrayValues[count]); } dllArgs[i] = integers; break; case "uint": dllArgs[i] = Convert.ToUInt32(value); break; case "uint[]": arrayValues = HandleArray(value); uint[] unsignedIntegers = new uint[arrayValues.Length]; for (int count = 0; count < arrayValues.Length; count++) { unsignedIntegers[count] = Convert.ToUInt32(arrayValues[count]); } dllArgs[i] = unsignedIntegers; break; case "long": dllArgs[i] = Convert.ToInt64(value); break; case "long[]": arrayValues = HandleArray(value); long[] longs = new long[arrayValues.Length]; for (int count = 0; count < arrayValues.Length; count++) { longs[count] = Convert.ToInt64(arrayValues[count]); } dllArgs[i] = longs; break; case "ulong": dllArgs[i] = Convert.ToUInt64(value); break; case "ulong[]": arrayValues = HandleArray(value); ulong[] unsignedLongs = new ulong[arrayValues.Length]; for (int count = 0; count < arrayValues.Length; count++) { unsignedLongs[count] = Convert.ToUInt64(arrayValues[count]); } dllArgs[i] = unsignedLongs; break; case "short": dllArgs[i] = Convert.ToInt16(value); break; case "short[]": arrayValues = HandleArray(value); short[] shorts = new short[arrayValues.Length]; for (int count = 0; count < arrayValues.Length; count++) { shorts[count] = Convert.ToInt16(arrayValues[count]); } dllArgs[i] = shorts; break; case "ushort": dllArgs[i] = Convert.ToUInt16(value); break; case "ushort[]": arrayValues = HandleArray(value); ushort[] unsignedShorts = new ushort[arrayValues.Length]; for (int count = 0; count < arrayValues.Length; count++) { unsignedShorts[count] = Convert.ToUInt16(arrayValues[count]); } dllArgs[i] = unsignedShorts; break; case "string": dllArgs[i] = value; break; case "string[]": dllArgs[i] = HandleArray(value); break; case "null": dllArgs[i] = null; break; default: throw new Exception("The given type is not supported: \"" + type + "\""); } } //Once all arguments have been parsed without errors, the field in the Config class is set, and the function returns Config.DllArguments = dllArgs; } /// /// A helper function to split an array. This function is created to be able to quickly replace the split value if need be /// /// The value to split, using a comma as the splitter /// The split string as a string array private static string[] HandleArray(string value) { return value.Split(','); } /// /// A helper function to check if two given strings are equal, regardless of the used casing in either string /// /// The first string to compare /// The second string to compare /// True if the strings are equal (regardless of the used casing), false if not private static bool IsEqual(string string1, string string2) { if (string1.Equals(string2, StringComparison.InvariantCultureIgnoreCase)) { return true; } return false; } } } ================================================ FILE: DotDumper/Config.cs ================================================ namespace DotDumper { /// /// This class contains the default configuration values. Fields are overwritten with user-provided arguments if present. /// class Config { /// /// The complete path to the sample that is to be executed. The default value is null. /// public static string SamplePath = null; /// /// The name of the folder that is to be used to place all artifacts in. This folder always resides within DotDumper.exe's folder. The default value is null. /// public static string LoggerFolder = null; /// /// True if deprecated functions should also be hooked (when a hook is present for such a function that is), false if not. The default value is true. /// public static bool IncludeDeprecatedFunctions = true; /// /// True if the hooks should be printed in string form during DotDumper's startup, false if not. The default value is true. /// public static bool LogHooks = true; /// /// The amount of milliseconds that the timer waits before calling the callback function for the rehook. The default value is 20. /// public static int RaceConditionDueTime = 20; /// /// Defines if the entry point (if present) should be overriden. A sample without an entrypoint should still be overridden! The default value is false. /// public static bool OverrideEntryPoint = false; /// /// The fully qualified class name, including the namespace(s). The default value is null. /// public static string DllFullyQualifiedClassName = null; /// /// The name of the public function in the given fully qualified class name. The default value is null. /// public static string DllFunctionName = null; /// /// The provided arguments for the given function (or the entry point). The default value is null. /// public static object[] DllArguments = null; /// /// True if calls to Thread.Sleep should be skipped, false if not. The default value is true. /// public static bool SleepSkip = true; /// /// True if the logs should be printed to the console, false if not. The default value is true. /// public static bool PrintLogsToConsole = true; } } ================================================ FILE: DotDumper/DotDumper.csproj ================================================  Debug AnyCPU {97B3A6FF-A6EC-488A-8206-9820DC1F109B} Exe DotDumper DotDumper v4.8 512 true true AnyCPU true full false bin\Debug\ DEBUG;TRACE prompt 4 true AnyCPU pdbonly true bin\Release\ TRACE prompt 4 true true bin\x64\Debug\ DEBUG;TRACE full x64 prompt MinimumRecommendedRules.ruleset true true bin\x64\Release\ TRACE true pdbonly x64 prompt MinimumRecommendedRules.ruleset true true DotDumper.ico ..\packages\PeNet.2.9.9\lib\net48\PeNet.dll ..\packages\PeNet.Asn1.2.0.0\lib\net48\PeNet.Asn1.dll ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll ..\packages\System.Diagnostics.Process.4.3.0\lib\net461\System.Diagnostics.Process.dll True True ..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll ..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll ..\packages\System.Security.Cryptography.Pkcs.6.0.1\lib\net461\System.Security.Cryptography.Pkcs.dll ================================================ FILE: DotDumper/Helpers/ArgumentHelper.cs ================================================ using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Reflection; using DotDumper.HookHandlers; using DotDumper.Models; namespace DotDumper.Helpers { /// /// This class is used to save and handle arguments from functions /// class ArgumentHelper { /// /// Verifies if a given hash object occurs in the given list of hashes. Existance of the same hash is based on the included SHA-256 hash in the hash object, regardless of the casing. As such, two different objects based on the same file will be seen as duplicates in the same way as the same object will be seen as a duplicate when it is provided as an argument whilst also being in the list. /// /// The list of hashes, which will be used to check if the given hash is present in this list /// The hash to check if it is present in the given list /// True if the list contains the hash, false if not public static bool ContainsHash(List hashes, Hash hash) { //Iterate over all given hashes foreach (Hash currentHash in hashes) { //If the currently iterated hash equals the given hash, regardless of the casing if (currentHash.Sha256.Equals(hash.Sha256, StringComparison.InvariantCultureIgnoreCase)) { //Return true return true; } } //If no matches were found while the iteration completed, return false return false; } /// /// This function saves the value of the given object. The way it is saved depends on the type and the size of the given object. Anything larger than 100 bytes is written to disk. Values are represented in textual form when possible, but some types (i.e. an Assembly object) is always saved to disk, regardless of its size. /// /// The object to save /// A tuple with a string (the textual representation of the given input, which can be a reference to a file), and a list of hashes (which can be empty) for all files that were saved to the disk. This list can be empty, but will never be null public static Tuple> SaveValue(object input) { List relatedFileHashes = new List(); string value = ""; if (input is bool || input is byte || input is sbyte || input is char || input is decimal || input is double || input is float || input is int || input is uint || input is long || input is ulong || input is short || input is ushort || input is string) { if (input.ToString().Length > 100) { //Save the file Tuple result = GenericHookHelper.SaveFile(input.ToString()); if (ContainsHash(relatedFileHashes, result.Item2) == false) { relatedFileHashes.Add(result.Item2); } value += ""; } else { value += input; } } else if (input is Assembly) { Assembly assembly = (Assembly)input; byte[] rawAssembly = GenericHookHelper.GetAsByteArray(assembly); //Save the file, which returns the path to the file, where the file name is the SHA-256 hash of the given content Tuple result = GenericHookHelper.SaveFile(rawAssembly); if (ContainsHash(relatedFileHashes, result.Item2) == false) { relatedFileHashes.Add(result.Item2); } if (MissedAssemblyDumper.AssemblyHashes.Contains(result.Item2.Sha256) == false) { MissedAssemblyDumper.AssemblyHashes.Add(result.Item2.Sha256); } value = ""; } else if (input is IList) { Tuple> result = HandleCollection(input); value = result.Item1; foreach (Hash hash in result.Item2) { if (ContainsHash(relatedFileHashes, hash) == false) { relatedFileHashes.Add(hash); } } } else if (input == null) { value = "null"; } else { value = input.ToString(); } return Tuple.Create(value, relatedFileHashes); } /// /// Creats an argument object, based on the given input and the name of the argument /// /// The value of the argument, of which the type is derrived /// The name of the argument /// An argument object that corresponds with the given arguments public static Argument Create(object input, string argumentName) { Tuple> result = SaveValue(input); string argType = "null"; string argValue = "null"; if (input != null) { argType = input.GetType().FullName; } if (result.Item1 != null) { argValue = result.Item1; } return new Argument(argType, argumentName, argValue, result.Item2); } /// /// Creates a list of argument objects based on the given method, along with their values /// /// The method to fetch the arguments from /// The values of the parameters (in order of the method's parameters) /// A list of argument objects based on the two given arguments public static List Create(MethodBase method, object[] parameterValues) { List arguments = new List(); if (method != null && parameterValues != null) { ParameterInfo[] parameterInfos = method.GetParameters(); for (int i = 0; i < parameterInfos.Length; i++) { object parameter; if (parameterValues.Length <= i) { parameter = null; } else { parameter = parameterValues[i]; } string type = "null"; string name = "null"; if (parameterInfos[i] != null) { type = parameterInfos[i].ParameterType.FullName; name = parameterInfos[i].Name; } Tuple> result = SaveValue(parameter); string value = "null"; if (result.Item1 != null) { value = result.Item1; } Argument argument = new Argument(type, name, value, result.Item2); arguments.Add(argument); } } return arguments; } /// /// Handles a collection, either by converting it into a string, or by saving it to the disk and returning the location as if it were the value, together with a brief explanation). /// /// The collection to handle /// The handled collection in the form of a string (as Item1 in the tuple), as well as a list of file hashes of related files (if any, as Item2 in the tuple) private static Tuple> HandleCollection(object collection) { //Initialise the list of related files List files = new List(); //Initialise the data variable string data = ""; //Any type of collection with a length of more than 100 indices is saved to disk, as converting and printing large arrays can consume a lot of time if (((IList)collection).Count > 100) { //Save the file, which returns a tuple with the path to the file, and a hash object with the MD-5, SHA-1, and SHA-256 hash of the file, where the file name is the SHA-256 hash of the given content Tuple result = GenericHookHelper.SaveFile((byte[])collection); //Add it to the list of files if (ContainsHash(files, result.Item2) == false) { files.Add(result.Item2); } //Inform the user that the data is stored in a file data += "DotDumper::" + result.Item2.Sha256 + " "; //Note: the last two characters are removed once the function returns } else //Handle collections that are less than 100 indices in size { //If the type is an object collection, it needs to be handled in a specific way if (collection is object[] || collection is IList) { if (collection is IList) { collection = ((IList)collection).ToArray(); } if (((object[])collection).Length == 0) { data += "DotDumper::empty "; //Note: the last two characters are removed once the function returns } else { foreach (object subParameter in (object[])collection) { if (subParameter is object[] || subParameter is IList) { //Recursive call if the array contains an array Tuple> result = HandleCollection(subParameter); //Get the data from the tuple, and append it to this one data += result.Item1; //Add all file hashes to the current file list foreach (Hash hash in result.Item2) { if (ContainsHash(files, hash) == false) { files.Add(hash); } } } else if (subParameter == null) { data += "null"; } else { string subParameterType = subParameter.GetType().FullName; data += subParameterType + " " + subParameter; } data += ", "; } } } else { foreach (var subParameter in (IList)collection) { if (subParameter == null) { data += "null"; } else { data += subParameter; } data += ", "; } } } //Remove the last comma and space, after which a curly bracket is appended data = data.Substring(0, data.Length - 2); //Return the value as a tuple return Tuple.Create(data, files); } } } ================================================ FILE: DotDumper/Helpers/AssemblyMapper.cs ================================================ using System; using System.Collections.Generic; using System.Reflection; using DotDumper.HookHandlers; using DotDumper.Hooks; using DotDumper.Models; namespace DotDumper.Helpers { /// /// This class is used to map a (line of a) stack trace to an assembly object /// class AssemblyMapper { /// /// Gets the function's signature as a string, formatted as "Full.Class.Path.With.Function(ArgumentType argumentName)". An example is "System.Reflection.Assembly.Load(Byte[] rawAssembly)". /// /// The hook's full name as a string, i.e. "System.Reflection.Assembly.Load(Byte[] rawAssembly)" private static string GetMethod(MethodInfo method) { string output = method.DeclaringType + "." + method.Name + "("; foreach (ParameterInfo parameterInfo in method.GetParameters()) { output += parameterInfo.ParameterType.Name + " " + parameterInfo.Name + ", "; } if (method.GetParameters().Length > 0) { output = output.Substring(0, output.Length - 2); } output += ")"; return output; } /// /// Creates the mapping as a dictionary where the keys equal a function signature as a string, and an assembly object as the value. Hooks are set prior to returning from this function! /// /// The mapping to use when matching a (line of a) stack trace public static Dictionary CreateMapping() { HookManager.UnHookAll(); Dictionary mapping = new Dictionary(); Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies(); foreach (Assembly assembly in assemblies) { //Omit framework related objects, as well as DotDumper itself if (assembly.GlobalAssemblyCache || assembly.GetName().FullName.ToLowerInvariant().Contains("dotdumper")) { continue; } Type[] types = assembly.GetTypes(); foreach (Type type in types) { //Gets all declared (omitting inherited functions to avoid duplicates) public, non-public, normal, and static functions MethodInfo[] methodInfos = type.GetMethods(BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); foreach (MethodInfo methodInfo in methodInfos) { if (methodInfo.DeclaringType.Assembly == assembly) { string functionSignature = GetMethod(methodInfo); if (mapping.ContainsKey(functionSignature) == false) { mapping.Add(functionSignature, assembly); } } } } } HookManager.HookAll(); return mapping; } /// /// Get the assembly object where the referenced function of the stack trace line resides. If it is not found, null is returned! /// /// The raw stack trace line to match /// The assembly object if it can be found, null if it cannot be found public static Assembly ProcessStackTraceLine(string stackTraceLine) { //Create the mapping, ensuring it is as up to date as possible Dictionary mapping = CreateMapping(); //Remove leading and trailing whitespace stackTraceLine = stackTraceLine.Trim(); //Skip "at " from the line in the beginning stackTraceLine = stackTraceLine.Substring(3); //Declare the corresponding Assembly object Assembly assembly = null; //Get the Assembly object from the mapping, which returns null if it is not present mapping.TryGetValue(stackTraceLine, out assembly); //Return the Assembly object (or null, if it couldn't be found) return assembly; } /// /// Process a list of stack traces to get a list of assembly objects (concatenated as a string in their simple form) that are used, in the same order, excluding duplicates. A duplicate is when two stack trace lines originate from the same assembly object. /// /// The stack trace lines to use /// A string representation of the linked assembly objects, excluding duplicates, in the same order as the given list public static string ProcessStackTraceOld(List stackTraceLines) { string output = ""; string lastItem = ""; foreach (string stackTraceLine in stackTraceLines) { Assembly assembly = ProcessStackTraceLine(stackTraceLine); string currentItem; if (assembly != null) { currentItem = assembly.FullName; } else { currentItem = "[DotDumper or DotNet Framework related assembly]"; } if (currentItem.Equals(lastItem, StringComparison.InvariantCultureIgnoreCase) == false) { output += currentItem + "\n"; lastItem = currentItem; } } return output; } /// /// Process a list of stack traces to get a list of assembly objects (concatenated as a string in their simple form) that are used, in the same order, excluding duplicates. A duplicate is when two stack trace lines originate from the same assembly object. /// /// The stack trace lines to use /// A string representation of the linked assembly objects, excluding duplicates, in the same order as the given list public static Tuple> ProcessStackTrace(List stackTraceLines) { List assemblyObjects = new List(); Assembly originatingAssembly = null; foreach (string stackTraceLine in stackTraceLines) { Assembly assembly = ProcessStackTraceLine(stackTraceLine); //Default values, if the assembly is part of the GAC or if it refers to DotDumper string name = "[DotDumper or DotNet Framework related assembly]"; string hash = "[none]"; //If the response from the function is not null, an object matches if (assembly != null) { //Set the hash and the name for the given assembly object hash = Hashes.Sha256(GenericHookHelper.GetAsByteArray(assembly)); name = assembly.GetName().Name; //Set the originating assembly as the first non-GAC non-DotDumper assembly if (originatingAssembly == null) { originatingAssembly = assembly; } } //Check if this object is not the same as the last in the list if (assemblyObjects.Count == 0) { AssemblyObject assemblyObject = new AssemblyObject(hash, name); assemblyObjects.Add(assemblyObject); } else { if (assemblyObjects[assemblyObjects.Count - 1].Hash.Equals(hash, StringComparison.InvariantCultureIgnoreCase) == false) { AssemblyObject assemblyObject = new AssemblyObject(hash, name); assemblyObjects.Add(assemblyObject); } } } return Tuple.Create(originatingAssembly, assemblyObjects); } /// /// Checks if a the most recent call of a given list of strack trace lines is coming from a stage of a sample, or from DotDumper, or a GAC module /// /// The stack trace to use /// True if the most recent call is coming from a sample stage, false if it is coming from DotDumper, or a GAC module public static bool IsComingFromSample(List stackTraceLines) { /* * Get the last call from the trace, as this is the origin of the hook location. Use the last call from the trace to check if it matches any key in the mapping */ Assembly assembly = ProcessStackTraceLine(stackTraceLines[0]); if (assembly == null) { //Null means it didn't match a binary, since it is part of the framework's core, or DotDumper internally return false; } { //Not null means it matched with one of the binaries return true; } } } } ================================================ FILE: DotDumper/Helpers/Hashes.cs ================================================ using System.Linq; using System.Security.Cryptography; using DotDumper.Hooks; using PeNet; namespace DotDumper.Helpers { /// /// This class contains functions to hash a byte array, after which the hash is returned as a string /// class Hashes { /// /// Calculates the MD-5 hash of the given byte array /// /// The data to hash /// The MD-5 hash as a string public static string Md5(byte[] data) { MD5 md5 = MD5.Create(); return CalculateHash(md5, data); } /// /// Calculates the SHA-1 hash of the given byte array /// /// The data to hash /// The SHA-1 hash as a string public static string Sha1(byte[] data) { SHA1 sha1 = SHA1.Create(); return CalculateHash(sha1, data); } /// /// Calculates the SHA-256 hash of the given byte array /// /// The data to hash /// The SHA-256 hash as a string public static string Sha256(byte[] data) { SHA256 sha256 = SHA256.Create(); return CalculateHash(sha256, data); } /// /// Calculates the SHA-384 hash of the given byte array /// /// The data to hash /// The SHA-384 hash as a string public static string Sha384(byte[] data) { SHA384 sha384 = SHA384.Create(); return CalculateHash(sha384, data); } /// /// Calculates the SHA-512 hash of the given byte array /// /// The data to hash /// The SHA-512 hash as a string public static string Sha512(byte[] data) { SHA512 sha512 = SHA512.Create(); return CalculateHash(sha512, data); } /// /// Calculates the TypeRef hash of the given byte array. Hooks are set prior to returning from this function! /// /// The data to hash /// The TypeRef hash as a string, or an empty string in case an error occurs (i.e. the input is not a valid PE file which targets the DotNet Framework) public static string TypeRef(byte[] data) { HookManager.UnHookAll(); if (PeFile.TryParse(data, out PeFile peFile) == false) { return ""; } if (peFile.IsDotNet == false) { return ""; } string typeRefHash = peFile.TypeRefHash; if (typeRefHash == null) { typeRefHash = ""; } HookManager.HookAll(); return typeRefHash; } /// /// Calculates the import hash of the given byte array. Hooks are set prior to returning from this function! /// /// The data to hash /// The import hash as a string, or an empty string in case an error occurs (i.e. the input is not a valid PE file) public static string ImportHash(byte[] data) { HookManager.UnHookAll(); if (PeFile.TryParse(data, out PeFile peFile) == false) { return ""; } string importHash = peFile.ImpHash; if (importHash == null) { importHash = ""; } HookManager.HookAll(); return importHash; } /// /// Calculates the authenticode hash (SHA-256 based) of the given byte array. Hooks are set prior to returning from this function! /// /// The data to hash /// The authenticode hash (SHA-256 based) as a string, or an empty string in case an error occurs (i.e. the input is not a valid PE) public static string AuthenticodeSha256(byte[] data) { return Authenticode(data, SHA256.Create()); } /// /// Calculates the authenticode hash (based on the provided hash algorithm) of the given byte array. Hooks are set prior to returning from this function! /// /// The data to hash /// The hashing algorithm to use /// The authenticode hash (based on the provided hash algorithm), or an empty string in case an error occurs (i.e. the input is not a valid PE file) private static string Authenticode(byte[] data, HashAlgorithm hashAlgorithm) { HookManager.UnHookAll(); if (PeFile.TryParse(data, out PeFile peFile) == false) { return ""; } string authenticode = peFile.Authenticode.ComputeAuthenticodeHashFromPeFile(hashAlgorithm).ToList().ToHexString(); if (authenticode == null || authenticode.Length < 2) { authenticode = authenticode.Substring(2); } else { authenticode = ""; } HookManager.HookAll(); return authenticode; } /// /// This function calculates the hash of the given data, using the given hashing algorithm /// /// The hashing algorithm to use /// The data to hash /// The hash of the data as a string, based on the given hash algorithm private static string CalculateHash(HashAlgorithm hashAlgorithm, byte[] data) { string hash = ""; if (data == null || hashAlgorithm == null) { return hash; } byte[] rawHash = hashAlgorithm.ComputeHash(data); for (int i = 0; i < rawHash.Length; i++) { hash += rawHash[i].ToString("x2"); } return hash; } } } ================================================ FILE: DotDumper/Helpers/LogEntryHelper.cs ================================================ using System; using System.Collections.Generic; using System.Reflection; using DotDumper.HookHandlers; using DotDumper.Hooks; using DotDumper.Models; namespace DotDumper.Helpers { /// /// This class is used to create DotDumper.Model.LogEntry objects based on as few parameters as possible /// class LogEntryHelper { /// /// Creates a log entry object based on the given exception, with the given stack trace offset from the caller's position /// /// The amount of layers away from the original call flow, based on the caller's position /// The exception to base the log entry object on /// A log entry based on the given values public static LogEntry Create(int stackTraceOffset, Exception ex) { stackTraceOffset++; LogEntry entry = Create(stackTraceOffset, ex.TargetSite, null, ex); return entry; } /// /// Creates a log entry for an unmanaged function, along with its argument and return values /// /// The unmanaged methodinfo object, corresponding to the original function that was hooked /// An array of objects with the values of the function's arguments /// The value of the function's return value /// A log entry based on the given values public static LogEntry Create(UnmanagedMethodInfo unmanagedMethodInfo, object[] parameterValues, object returnValue) { MethodInfo methodInfo = HookManager.GetMethodInfo(typeof(InteropFunctions), unmanagedMethodInfo.MethodName, unmanagedMethodInfo.ParameterTypes); //A negative value for the stack trace, as the wrong value is obtained since this call is invoked based on async information that is shared via the unmanaged function hooks that share via a named pipe return Create(-1, methodInfo, parameterValues, returnValue); } /// /// Creates a log entry based on the given stack trace offset (from the caller's position), method, the method values, and the return value of said method /// /// The amount of layers away from the original call flow, based on the caller's position. A value less than 0 is used to indicate that the stack trace is to be ignored (done for unmanaged function hooks, as the function is obtained from a different location than the actual call comes from) /// The method that is of importance to log /// The values of said method's parameters /// The return value of the function (use null if it's a void) /// A log entry based on the given values public static LogEntry Create(int stackTraceOffset, MethodBase method, object[] parameterValues, object returnValue) { //Gets a list of arguments based on the given function List functionArguments = ArgumentHelper.Create(method, parameterValues); //Initialises a list of related files List relatedFileHashes = new List(); //Iterate over all extracted arguments foreach (Argument argument in functionArguments) { //Iterate over all hashes foreach (Hash hash in argument.RelatedFileHashes) { //If there is no such hash in the list, add it. Otherwise, ignore it if (ArgumentHelper.ContainsHash(relatedFileHashes, hash) == false) { relatedFileHashes.Add(hash); } } } //Declare and initialise the stack trace variable List stackTrace = new List(); /* * If the value is negative, its a hook for an unmanaged function and the only obtainable stack trace is useless. If it is zero or higher, its a managed hook */ if (stackTraceOffset >= 0) { //Increment the stack trace offset, since this is another function deep into the trace stackTraceOffset++; //Get the stack trace stackTrace = GenericHookHelper.GetStackTraceRaw(stackTraceOffset); } //Get the assembly and assembly object information based on the stack trace Tuple> result = AssemblyMapper.ProcessStackTrace(stackTrace); //Declare the originating assembly variable Assembly originatingAssembly = null; /* * If the first tuple item (being the Assembly object) is null, the call is coming from either the DotNet Framework, or from DotDumper's code base. * If the value is not-null, it is assigned. */ if (result.Item1 == null) { HookManager.UnHookAll(); originatingAssembly = Assembly.GetAssembly(typeof(Program)); HookManager.HookAll(); } else { originatingAssembly = result.Item1; } //Get the name from the originating assembly string originatingAssemblyName = originatingAssembly.GetName().Name; //Get the raw assembly as an unboxed byte array byte[] rawAssembly = GenericHookHelper.GetAsByteArray(originatingAssembly); //Get the hashes based on the given raw assembly byte array string md5 = Hashes.Md5(rawAssembly); string sha1 = Hashes.Sha1(rawAssembly); string sha256 = Hashes.Sha256(rawAssembly); string sha384 = Hashes.Sha384(rawAssembly); string sha512 = Hashes.Sha512(rawAssembly); string typeRef = Hashes.TypeRef(rawAssembly); string importHash = Hashes.ImportHash(rawAssembly); string authenticodeSha256 = Hashes.AuthenticodeSha256(rawAssembly); //Create a hash object to store the values in Hash originatingAssemblyHash = new Hash(md5, sha1, sha256, sha384, sha512, typeRef, importHash, authenticodeSha256); //Get the originating assembly version string originatingAssemblyVersion = originatingAssembly.GetName().Version.ToString(); //Get the originating assembly resource names List originatingAssemblyResourceNames = new List(originatingAssembly.GetManifestResourceNames()); //Get the call order, which is the second item from the tuple List assemblyCallOrder = result.Item2; //Declare and assign a value to the parent assembly hash string string parentAssemblyHash = "[none]"; //Iterate over all assembly objects in the call order foreach (AssemblyObject assemblyObject in assemblyCallOrder) { //If the hash is not equal to none nor to the current originating hash, it is set as the parent if (assemblyObject.Hash.Equals("[none]", StringComparison.InvariantCultureIgnoreCase) == false && assemblyObject.Hash.Equals(originatingAssemblyHash.Sha256, StringComparison.InvariantCultureIgnoreCase) == false) { parentAssemblyHash = assemblyObject.Hash; //There is no need to continue the iteration, since only the first parent is stored (and the rest is visible in the call order) break; } } //Get the function name string functionName = Serialise.Method(method); //The return value is stored in an argument object, with a hardcoded name Argument returnValueArg = ArgumentHelper.Create(returnValue, "ReturnValue"); //The return value can also be related to a file foreach (Hash hash in returnValueArg.RelatedFileHashes) { //Iterate over all the hashes, and add the ones that aren't in the list yet if (ArgumentHelper.ContainsHash(relatedFileHashes, hash) == false) { relatedFileHashes.Add(hash); } } //Return a new LogEntry object based on all the gathered information return new LogEntry(originatingAssemblyName, originatingAssemblyHash, originatingAssemblyVersion, originatingAssemblyResourceNames, parentAssemblyHash, relatedFileHashes, functionName, functionArguments, returnValueArg, stackTrace, assemblyCallOrder); } } } ================================================ FILE: DotDumper/Helpers/MissedAssemblyDumper.cs ================================================ using System; using System.Collections.Generic; using System.Reflection; using DotDumper.HookHandlers; using DotDumper.Hooks; using DotDumper.Models; namespace DotDumper.Helpers { /// /// This class is used to dump missed assembly objects from memory to the disk /// class MissedAssemblyDumper { /// /// A list which contains the (partial) names of the assemblies to exclude during periodic dumping /// public static List ExcludedAssemblies { get; set; } /// /// SHA-256 hashes of raw Assembly objects (their byte[] representation) that have been written to the disk during the execution of this run of DotDumper /// public static List AssemblyHashes { get; set; } /// /// The static constructor of the class ensures the class scoped list is always initialised prior to its usage /// static MissedAssemblyDumper() { //Initialise the lists AssemblyHashes = new List(); ExcludedAssemblies = new List(); //Populate the list ExcludedAssemblies.Add("dotdumper"); ExcludedAssemblies.Add("penet"); ExcludedAssemblies.Add("system.memory"); ExcludedAssemblies.Add("system.runtime.compilerservices.unsafe"); ExcludedAssemblies.Add("system.numerics.vectors"); ExcludedAssemblies.Add("microsoft.generatedcode"); } /// /// Dumps all loaded assemblies that haven't been dumped before and are not part of the Global Assembly Cache (GAC). This function removes all hooks, dumps the missing data, after which all hooks are set again. /// public static void Dump() { //Temporarily remove all hooks HookManager.UnHookAll(); //If the original assembly is not null, it can be added to the list of hashes, this avoids the sample to show up as a "missed" assembly object if (GenericHookHelper.OriginalAssembly != null) { //Get the raw bytes byte[] sample = GenericHookHelper.GetAsByteArray(GenericHookHelper.OriginalAssembly); //Unhook all hooks, as these are set after the previous call HookManager.UnHookAll(); //Get the SHA-256 hash string sampleSha256 = Hashes.Sha256(sample); //Check if the list does not contain this item if (AssemblyHashes.Contains(sampleSha256) == false) { //Add the hash to the list AssemblyHashes.Add(sampleSha256); } } //Declare and initialise the list for the saved assemblies List savedAssemblies = new List(); //Get all the assemblies in the current domain Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies(); //Iterate over all assemblies within the current domain foreach (Assembly assembly in assemblies) { //Omit DotDumper itself, as well as used (DotNet Framework related) libraries if (ExcludeAssembly(assembly)) { continue; } try { //Get the raw bytes of the assembly byte[] rawAssembly = GenericHookHelper.GetAsByteArray(assembly); //Unhook all hooks, as these are set via the previous call HookManager.UnHookAll(); //Get the SHA-256 hash of the given assembly object's bytes string sha256 = Hashes.Sha256(rawAssembly); //Only save assemblies that haven't been saved before during this run if (AssemblyHashes.Contains(sha256) == false) { //Save the file, and store the SHA-256 hash in the list of processed assembly objects, and store the Hash object in the saved assemblies list Tuple result = GenericHookHelper.SaveFile(rawAssembly); HookManager.UnHookAll(); savedAssemblies.Add(result.Item2); AssemblyHashes.Add(result.Item2.Sha256); } } catch (Exception) { //Ignore errors when trying to save an assembly object in its raw form. In some cases, DotNet Framework related assembly objects cause errors when attempting to save them, i.e. when they are dynamically generated } } //If at least 1 assembly has been saved (and was thus missed), this should be logged if (savedAssemblies.Count > 0) { //Create a nearly empty log entry object with the relevant information LogEntry entry = new LogEntry(null, null, null, null, null, savedAssemblies, "periodic assembly dumping", null, null, null, null); //Log the entry to all relevant logs GenericHookHelper._Logger.Log(entry, false, false); } //Set all hooks prior to returning to the caller HookManager.HookAll(); } /// /// Checks if the given assembly is to be excluded or not. It will be if either of the following is true: the given assembly object is null, the given assembly is part of the global assembly cache, or if the fullname matches (in full or partially) the name of any of the names in the exclusion list. /// /// The assembly to check for /// True if the assembly is to be excluded, false if not private static bool ExcludeAssembly(Assembly assembly) { //If the given assembly object is null, it is to be excluded if (assembly == null) { return true; } //Excludes the assembly if it's part of the global assembly cache if (assembly.GlobalAssemblyCache) { return true; } //Get the assembly name in lower case string assemblyName = assembly.GetName().FullName.ToLowerInvariant(); //Iterate over all excluded assembly names foreach (string excludedName in ExcludedAssemblies) { //If the current assembly name (in lower case) contains the excluded name (also in lower case), it is to be skipped if (assemblyName.Contains(excludedName.ToLowerInvariant())) { return true; } } //The assembly is not to be skipped if its not meeting any of the skip criteria return false; } } } ================================================ FILE: DotDumper/Helpers/RaceConditionHandler.cs ================================================ using System.Threading; using DotDumper.Hooks; using System; using System.Collections.Generic; namespace DotDumper.Helpers { /// /// This class handles the race condition that allows to rehook invoke related functions during their execution /// class RaceConditionHandler { /// /// The dictionary that contains all timers (as multiple can be created via multiple threads), where a GUID is the key, and the timer object is the value /// private static readonly Dictionary timers = new Dictionary(); /// /// This function unhooks the given hook based on its name, after which it waits 20 milliseconds. It then calls the timer callback function, which rehooks the given hook. The timer callback is only called once, after which the Timer object is destroyed. /// /// The function to unhook and rehook public static void StartTimer(string hookName) { //Create a string with the GUID and the hook name, split by a pipe string data = hookName + "|" + Guid.NewGuid().ToString(); //Unhook the hook HookManager.UnHookByHookName(hookName); //Create a timer object which calls the callback function once, after a 20 ms delay, using the data string as an argument Timer timer = new Timer(TimerCallback, data, Config.RaceConditionDueTime, Timeout.Infinite); //Timeout.Infinite (aka -1) means no repeated calls, see https://docs.microsoft.com/en-us/dotnet/api/system.threading.timeout.infinite //Add the timer to the dictionary timers.Add(data, timer); } /// /// The callback function for the timer that rehooks the unhooked function /// /// The function argument has to be an argument, but it is actually a string array in this case. The format should be "my-guid|hookName" private static void TimerCallback(object o) { //Split the string into the GUID and function name respectively string[] array = ((string)o).Split('|'); //Set the hook again HookManager.HookByHookName(array[0]); //Get the GUID string guid = array[1]; //Remove the GUID from the dictionary timers.Remove(guid); } } } ================================================ FILE: DotDumper/Helpers/Serialise.cs ================================================ using System.IO; using System.Reflection; using System.Web.Script.Serialization; using System.Xml.Serialization; using DotDumper.Hooks; namespace DotDumper.Helpers { /// /// This class is used to convert a given object to JSON using the built-in JavaScriptSerializer object /// class Serialise { /// /// Converts the given object into its JSON equivalent /// /// The object to obtain the JSON equivalent from /// The JSON equivalent of the given object public static string ToJson(object input) { //If the input is null, return null in string format if (input == null) { return "null"; } //Remove all hooks HookManager.UnHookAll(); //Initialise a serialiser object JavaScriptSerializer serialiser = new JavaScriptSerializer(); //Serialise the input string result = serialiser.Serialize(input); //Restore all hooks HookManager.HookAll(); //Return the result return result; } /// /// Converts the given object into its XML equivalent /// /// The object to obtain the XML equivalent from /// The XML equivalent of the given object public static string ToXml(object input) { //If the input is null, return null in string format if (input == null) { return "null"; } //Remove all hooks HookManager.UnHookAll(); //Initialise the serialiser objects StringWriter stringWriter = new StringWriter(); XmlSerializer serialiser = new XmlSerializer(input.GetType()); //Serialise the input serialiser.Serialize(stringWriter, input); string result = stringWriter.ToString(); //Restore all hooks HookManager.HookAll(); //Return the result return result; } /// /// Gets the given method as a string, formatted as "Full.ReturnType Full.Class.Path.With.Function(Complete.Argument.Type argumentName)". An example is "System.Reflection.Assembly System.Reflection.Assembly.Load(System.Byte[] rawAssembly)". /// /// The method's full name as a string, i.e. "System.Reflection.Assembly System.Reflection.Assembly.Load(System.Byte[] rawAssembly)" public static string Method(MethodBase method) { //Declare and initialise the output variable string output = ""; //If the input is null, the output is set to null in string form, which is then returned if (method == null) { return "null"; } //If the method is a MethodInfo instance (rather than the MethodBase object that is expected in the function's argument), which is possible as the MethodInfo object inherits the MethodBase class, the return type is accessible, and is subsequently used in the output if (method is MethodInfo) { output += ((MethodInfo)method).ReturnType.FullName + " "; } //Get the declaring type, the functino name, and open the arguments bracket output += method.DeclaringType + "." + method.Name + "("; //Iterate over all parameters foreach (ParameterInfo parameterInfo in method.GetParameters()) { //Get the parameter type and name, and include a comma for the potential following argument output += parameterInfo.ParameterType + " " + parameterInfo.Name + ", "; } //If there is at least 1 argument, and all argumguments have been iterated over if (method.GetParameters().Length > 0) { //The last two characters are to be removed, which equal the comma and a space, as there is no following argument output = output.Substring(0, output.Length - 2); } //The closing bracket is then added output += ")"; //And finally the output is returned return output; } } } ================================================ FILE: DotDumper/Helpers/StagnationHandler.cs ================================================ using System; using DotDumper.HookHandlers; using DotDumper.Hooks; using DotDumper.Models; namespace DotDumper.Helpers { /// /// A class which contains the stagnation timer's callback function. This function is called with an interval that is defined upon the timer's creation (see program.cs in the project's root). /// If a third interval of the given time span passes without an increase logged messages, the callback function ensures that DotDumper is shut down. This is done to escape situations where /// process injection took place (often with native functions) and DotDumper erroneously waits for the function to return (even though it wont until the malware stops its own execution). /// When using a sandbox, this cuts down the runtime to the point where it only runs if DotDumper is actually active, thus saving time. /// class StagnationHandler { /// /// The amount of logs that were logged by the logger /// private static int _Count = 0; /// /// The stage of the handler, where 0 is the start, and 2 is the moment to trigger the termination clause. The stage is increased with 1 every time the callback function is called and the amount of logs (as saved in count) is equal to the amount of logs the logger saved. /// private static int _Stage = 0; /// /// The stagnation handler timer's callback function, which is called at every interval of the timer /// /// Optional parameters, as specified by the interface, but not used by this instance of the timer public static void TimerCallback(object o) { //If the logging count and the current count are equal, raise the stage variable. The condition where the logging is empty is not a real case, as the reflective loading of the sample already creates a single log. if (GenericHookHelper._Logger.Count == _Count) { _Stage++; } else //If the values are not equal, the local count variable is made equal to the amount of logs that were written, and the stage is set back to 0 { _Count = GenericHookHelper._Logger.Count; _Stage = 0; } //If the stage is equal to, or more than, two, it means that the timer has called this callback twice without the creation of a single log if (_Stage >= 2) { //If the DEBUG variable set to false, it means it is running in a normal environment if (Program.DEBUG == false) { //Remove all hooks HookManager.UnHookAll(); //Create a new exception with a message Exception ex = new Exception("DotDumper stagnated, and is shutting down!"); //Create a new log entry with the exception LogEntry entry = LogEntryHelper.Create(0, ex); //Log the entry GenericHookHelper._Logger.Log(entry, true, true); //Remove all hooks HookManager.UnHookAll(); //Set the time a year ahead, forcing the sandbox to time out SetTime(); //Exit normally, which is called directly as all hooks are removed Environment.Exit(0); } } } /// /// Sets the system date and time to a year in the future, forcing the sandbox to time out of its runtime /// public static void SetTime() { //Declares and initialises the SystemTime structure with a future time InteropFunctions.SystemTime updatedTime = new InteropFunctions.SystemTime { Year = (ushort)(2200), Month = (ushort)12, Day = (ushort)30, Hour = (ushort)12, Minute = (ushort)00, Second = (ushort)0 }; //Set the time to next year, forcing the sandbox to time out InteropFunctions.SetSystemTime(ref updatedTime); } } } ================================================ FILE: DotDumper/HookHandlers/Activator/ActivatorHooks.cs ================================================ using System; using System.Configuration.Assemblies; using System.Globalization; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Remoting; using System.Security.Policy; using DotDumper.Hooks; namespace DotDumper.HookHandlers { class ActivatorHooks { [MethodImpl(MethodImplOptions.NoInlining)] public static ObjectHandle CreateComInstanceFromHookStringStringByteArrayAssemblyHashAlgorithm(string assemblyName, string typeName, byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm) { //Declare the local variable to store the object in ObjectHandle result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookByHookName("CreateComInstanceFromHookStringStringByteArrayAssemblyHashAlgorithm"); //Call the original function result = Activator.CreateComInstanceFrom(assemblyName, typeName, hashValue, hashAlgorithm); HookManager.HookByHookName("CreateComInstanceFromHookStringStringByteArrayAssemblyHashAlgorithm"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateComInstanceFromStringStringByteArrayAssemblyHashAlgorithm(), new object[] { assemblyName, typeName, hashValue, hashAlgorithm }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static ObjectHandle CreateComInstanceFromHookStringString(string assemblyName, string typeName) { //Declare the local variable to store the object in ObjectHandle result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Within the DotNet framework, another CreateComInstance function is used, which is also hooked. To avoid duplicate entries in the logging, both are unhooked and rehooked HookManager.UnHookByHookName("CreateComInstanceFromHookStringString"); HookManager.UnHookByHookName("CreateComInstanceFromHookStringStringByteArrayAssemblyHashAlgorithm"); //Call the original function result = Activator.CreateComInstanceFrom(assemblyName, typeName); HookManager.HookByHookName("CreateComInstanceFromHookStringString"); HookManager.HookByHookName("CreateComInstanceFromHookStringStringByteArrayAssemblyHashAlgorithm"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateComInstanceFromStringString(), new object[] { assemblyName, typeName }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static object CreateInstanceHookType(Type type) { //Declare the local variable to store the object in object result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Double unhook due to DotNet internal wrappers, thereby avoiding double logging HookManager.UnHookByHookName("CreateInstanceHookType"); HookManager.UnHookByHookName("CreateInstanceHookTypeBool"); //Call the original function result = Activator.CreateInstance(type); HookManager.HookByHookName("CreateInstanceHookType"); HookManager.HookByHookName("CreateInstanceHookTypeBool"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceTypeBool(), new object[] { type }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static object CreateInstanceHookTypeBool(Type type, bool nonPublic) { //Declare the local variable to store the object in object result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookByHookName("CreateInstanceHookTypeBool"); //Call the original function result = Activator.CreateInstance(type, nonPublic); HookManager.HookByHookName("CreateInstanceHookTypeBool"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceTypeBool(), new object[] { type, nonPublic }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static ObjectHandle CreateInstanceHookActivationContext(ActivationContext activationContext) { //Declare the local variable to store the object in ObjectHandle result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookByHookName("CreateInstanceHookActivationContext"); //Call the original function result = Activator.CreateInstance(activationContext); HookManager.HookByHookName("CreateInstanceHookActivationContext"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceActivationContext(), new object[] { activationContext }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static object CreateInstanceHookTypeObjectArray(Type type, params object[] args) { //Declare the local variable to store the object in object result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Double unhook due to internal calling of the function to an overload HookManager.UnHookByHookName("CreateInstanceHookTypeObjectArray"); HookManager.UnHookByHookName("CreateInstanceHookTypeBindingFlagsBinderObjectArrayCultureInfoObjectArray"); //Call the original function result = Activator.CreateInstance(type, args); HookManager.HookByHookName("CreateInstanceHookTypeObjectArray"); HookManager.HookByHookName("CreateInstanceHookTypeBindingFlagsBinderObjectArrayCultureInfoObjectArray"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceActivationContext(), new object[] { type, args }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static object CreateInstanceHookStringString(string assemblyName, string typeName) { //Declare the local variable to store the object in object result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookByHookName("CreateInstanceHookTypeBindingFlagsBinderObjectArrayCultureInfoObjectArray"); //Call the original function result = Activator.CreateInstance(assemblyName, typeName); HookManager.HookByHookName("CreateInstanceHookTypeBindingFlagsBinderObjectArrayCultureInfoObjectArray"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceStringString(), new object[] { assemblyName, typeName }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static object CreateInstanceHookTypeBindingFlagsBinderObjectArrayCultureInfo(Type type, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture) { //Declare the local variable to store the object in object result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Double unhook due to an internal wrapper within the DotNet framework HookManager.UnHookByHookName("CreateInstanceHookTypeBindingFlagsBinderObjectArrayCultureInfo"); HookManager.UnHookByHookName("CreateInstanceHookTypeBindingFlagsBinderObjectArrayCultureInfoObjectArray"); //Call the original function result = Activator.CreateInstance(type, bindingAttr, binder, args, culture); HookManager.HookByHookName("CreateInstanceHookTypeBindingFlagsBinderObjectArrayCultureInfo"); HookManager.HookByHookName("CreateInstanceHookTypeBindingFlagsBinderObjectArrayCultureInfoObjectArray"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceActivationContext(), new object[] { type, bindingAttr, binder, args, culture }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static object CreateInstanceHookTypeBindingFlagsBinderObjectArrayCultureInfoObjectArray(Type type, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes) { //Declare the local variable to store the object in object result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookByHookName("CreateInstanceHookTypeBindingFlagsBinderObjectArrayCultureInfoObjectArray"); //Call the original function result = Activator.CreateInstance(type, bindingAttr, binder, args, culture, activationAttributes); HookManager.HookByHookName("CreateInstanceHookTypeBindingFlagsBinderObjectArrayCultureInfoObjectArray"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceActivationContext(), new object[] { type, bindingAttr, binder, args, culture, activationAttributes }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static ObjectHandle CreateInstanceHookStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray(string assemblyName, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes) { //Declare the local variable to store the object in ObjectHandle result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookByHookName("CreateInstanceHookStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray"); //Call the original function result = Activator.CreateInstance(assemblyName, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes); HookManager.HookByHookName("CreateInstanceHookStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray(), new object[] { assemblyName, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static ObjectHandle CreateInstanceHookActivationContextStringArray(ActivationContext activationContext, string[] activationCustomData) { //Declare the local variable to store the object in ObjectHandle result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookByHookName("CreateInstanceHookActivationContextStringArray"); //Call the original function result = Activator.CreateInstance(activationContext, activationCustomData); HookManager.HookByHookName("CreateInstanceHookActivationContextStringArray"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceActivationContextStringArray(), new object[] { activationContext, activationCustomData }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static ObjectHandle CreateInstanceHookStringStringObjectArray(string assemblyName, string typeName, object[] activationAttributes) { //Declare the local variable to store the object in ObjectHandle result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookByHookName("CreateInstanceHookStringStringObjectArray"); //Call the original function result = Activator.CreateInstance(assemblyName, typeName, activationAttributes); HookManager.HookByHookName("CreateInstanceHookStringStringObjectArray"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceStringStringObjectArray(), new object[] { assemblyName, typeName, activationAttributes }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static ObjectHandle CreateInstanceHookAppDomainStringString(AppDomain domain, string assemblyName, string typeName) { //Declare the local variable to store the object in ObjectHandle result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookByHookName("CreateInstanceHookAppDomainStringString"); //Call the original function result = Activator.CreateInstance(domain, assemblyName, typeName); HookManager.HookByHookName("CreateInstanceHookAppDomainStringString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceAppDomainStringString(), new object[] { domain, assemblyName, typeName }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static ObjectHandle CreateInstanceHookStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence(string assemblyName, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes, Evidence securityInfo) { //Declare the local variable to store the object in ObjectHandle result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookByHookName("CreateInstanceHookStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence"); //Call the original function result = Activator.CreateInstance(assemblyName, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes, securityInfo); HookManager.HookByHookName("CreateInstanceHookStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence(), new object[] { assemblyName, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes, securityInfo }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static ObjectHandle CreateInstanceHookAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray(AppDomain domain, string assemblyName, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes) { //Declare the local variable to store the object in ObjectHandle result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookByHookName("CreateInstanceHookAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray"); //Call the original function result = Activator.CreateInstance(domain, assemblyName, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes); HookManager.HookByHookName("CreateInstanceHookAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray(), new object[] { domain, assemblyName, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static ObjectHandle CreateInstanceHookAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence(AppDomain domain, string assemblyName, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes, Evidence securityAttributes) { //Declare the local variable to store the object in ObjectHandle result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookByHookName("CreateInstanceHookAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence"); //Call the original function result = Activator.CreateInstance(domain, assemblyName, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes, securityAttributes); HookManager.HookByHookName("CreateInstanceHookAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence(), new object[] { domain, assemblyName, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes, securityAttributes }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static ObjectHandle CreateInstanceFromHookAppDomainStringString(AppDomain domain, string assemblyFile, string typeName) { //Declare the local variable to store the object in ObjectHandle result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookByHookName("CreateInstanceFromHookAppDomainStringString"); //Call the original function result = Activator.CreateInstanceFrom(domain, assemblyFile, typeName); HookManager.HookByHookName("CreateInstanceFromHookAppDomainStringString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceFromAppDomainStringString(), new object[] { domain, assemblyFile, typeName }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static ObjectHandle CreateInstanceFromHookStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence(string assemblyFile, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes, Evidence securityInfo) { //Declare the local variable to store the object in ObjectHandle result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookByHookName("CreateInstanceFromHookStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence"); //Call the original function result = Activator.CreateInstanceFrom(assemblyFile, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes, securityInfo); HookManager.HookByHookName("CreateInstanceFromHookStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceFromStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence(), new object[] { assemblyFile, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes, securityInfo }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static ObjectHandle CreateInstanceFromHookAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray(AppDomain domain, string assemblyFile, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes) { //Declare the local variable to store the object in ObjectHandle result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookByHookName("CreateInstanceFromHookAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray"); //Call the original function result = Activator.CreateInstanceFrom(domain, assemblyFile, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes); HookManager.HookByHookName("CreateInstanceFromHookAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceFromAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray(), new object[] { domain, assemblyFile, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static ObjectHandle CreateInstanceFromHookAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence(AppDomain domain, string assemblyFile, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes, Evidence securityAttributes) { //Declare the local variable to store the object in ObjectHandle result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookByHookName("CreateInstanceFromHookAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence"); //Call the original function result = Activator.CreateInstanceFrom(domain, assemblyFile, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes, securityAttributes); HookManager.HookByHookName("CreateInstanceFromHookAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceFromAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence(), new object[] { domain, assemblyFile, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes, securityAttributes }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static ObjectHandle CreateInstanceFromHookStringString(string assemblyFile, string typeName) { //Declare the local variable to store the object in ObjectHandle result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Multi unhooking due to DotNet wrapper calls HookManager.UnHookByHookName("CreateInstanceFromHookStringString"); HookManager.UnHookByHookName("CreateInstanceFromHookStringStringObjectArray"); HookManager.UnHookByHookName("CreateInstanceFromHookStringStringBoolBindingFlagsBinderObjectArrayCultureInfoObjectArray"); //Call the original function result = Activator.CreateInstanceFrom(assemblyFile, typeName); HookManager.HookByHookName("CreateInstanceFromHookStringString"); HookManager.HookByHookName("CreateInstanceFromHookStringStringObjectArray"); HookManager.HookByHookName("CreateInstanceFromHookStringStringBoolBindingFlagsBinderObjectArrayCultureInfoObjectArray"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceFromStringString(), new object[] { assemblyFile, typeName }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static ObjectHandle CreateInstanceFromHookStringStringObjectArray(string assemblyFile, string typeName, object[] activationAttributes) { //Declare the local variable to store the object in ObjectHandle result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookByHookName("CreateInstanceFromHookStringStringObjectArray"); HookManager.UnHookByHookName("CreateInstanceFromHookStringStringBoolBindingFlagsBinderObjectArrayCultureInfoObjectArray"); //Call the original function result = Activator.CreateInstanceFrom(assemblyFile, typeName, activationAttributes); HookManager.HookByHookName("CreateInstanceFromHookStringStringObjectArray"); HookManager.HookByHookName("CreateInstanceFromHookStringStringBoolBindingFlagsBinderObjectArrayCultureInfoObjectArray"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceFromAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence(), new object[] { assemblyFile, typeName, activationAttributes }, result); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static ObjectHandle CreateInstanceFromHookStringStringBoolBindingFlagsBinderObjectArrayCultureInfoObjectArray(string assemblyFile, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes) { //Declare the local variable to store the object in ObjectHandle result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Multi unhook due to internal wrappers in the DotNet framework HookManager.UnHookByHookName("CreateInstanceFromHookStringStringBoolBindingFlagsBinderObjectArrayCultureInfoObjectArray"); //Call the original function result = Activator.CreateInstanceFrom(assemblyFile, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes); HookManager.HookByHookName("CreateInstanceFromHookStringStringBoolBindingFlagsBinderObjectArrayCultureInfoObjectArray"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ActivatorCreateInstanceFromAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence(), new object[] { assemblyFile, typeName, ignoreCase, bindingAttr, binder, args, culture, activationAttributes }, result); } //Return the process object to the caller return result; } } } ================================================ FILE: DotDumper/HookHandlers/Assembly/AssemblyHooks.cs ================================================ using System.Configuration.Assemblies; using System.Reflection; using System.Runtime.CompilerServices; using System.Security; using System.Security.Policy; using DotDumper.Hooks; namespace DotDumper.HookHandlers { class AssemblyHooks { [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly GetEntryAssemblyHook() { return GenericHookHelper.OriginalAssembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly GetExecutingAssemblyHook() { return GenericHookHelper.OriginalAssembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly LoadHookByteArray(byte[] rawAssembly) { //Declare the local variable to store the assembly in Assembly assembly; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("LoadHookByteArray"); //Call the original function assembly = Assembly.Load(rawAssembly); //Restore the hook HookManager.HookByHookName("LoadHookByteArray"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.AssemblyLoadByteArray(), new object[] { rawAssembly }, assembly); } //Return the assembly to the caller return assembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly LoadHookString(string assemblyString) { //Declare the local variable to store the assembly in Assembly assembly; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("LoadHookString"); //Call the original function assembly = Assembly.Load(assemblyString); //Restore the hook HookManager.HookByHookName("LoadHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.AssemblyLoadString(), new object[] { assemblyString }, assembly); } //Return the assembly to the caller return assembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly LoadHookStringEvidence(string assemblyString, Evidence assemblySecurity) { //Declare the local variable to store the assembly in Assembly assembly; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("LoadHookStringEvidence"); //Call the original function assembly = Assembly.Load(assemblyString, assemblySecurity); //Restore the hook HookManager.HookByHookName("LoadHookStringEvidence"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.AssemblyLoadStringEvidence(), new object[] { assemblyString, assemblySecurity }, assembly); } //Return the assembly to the caller return assembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly LoadHookByteArrayByteArrayEvidence(byte[] rawAssembly, byte[] rawSymbolStore, Evidence securityEvidence) { //Declare the local variable to store the assembly in Assembly assembly; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("LoadHookByteArrayByteArrayEvidence"); //Call the original function assembly = Assembly.Load(rawAssembly, rawSymbolStore, securityEvidence); //Restore the hook HookManager.HookByHookName("LoadHookByteArrayByteArrayEvidence"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.AssemblyLoadByteArrayByteArrayEvidence(), new object[] { rawAssembly, rawSymbolStore, securityEvidence }, assembly); } //Return the assembly to the caller return assembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly LoadHookAssemblyName(AssemblyName assemblyRef) { //Declare the local variable to store the assembly in Assembly assembly; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("LoadHookAssemblyName"); //Call the original function assembly = Assembly.Load(assemblyRef); //Restore the hook HookManager.HookByHookName("LoadHookAssemblyName"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.AssemblyLoadAssemblyName(), new object[] { assemblyRef }, assembly); } //Return the assembly to the caller return assembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly LoadHookAssemblyNameEvidence(AssemblyName assemblyRef, Evidence assemblySecurity) { //Declare the local variable to store the assembly in Assembly assembly; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("LoadHookAssemblyNameEvidence"); //Call the original function assembly = Assembly.Load(assemblyRef, assemblySecurity); //Restore the hook HookManager.HookByHookName("LoadHookAssemblyNameEvidence"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.AssemblyLoadAssemblyNameEvidence(), new object[] { assemblyRef, assemblySecurity }, assembly); } //Return the assembly to the caller return assembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly LoadHookByteArrayByteArraySecurityContextSource(byte[] rawAssembly, byte[] rawSymbolStore, SecurityContextSource securityContextSource) { //Declare the local variable to store the assembly in Assembly assembly; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("LoadHookByteArrayByteArraySecurityContextSource"); //Call the original function assembly = Assembly.Load(rawAssembly, rawSymbolStore, securityContextSource); //Restore the hook HookManager.HookByHookName("LoadHookByteArrayByteArraySecurityContextSource"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.AssemblyLoadByteArrayByteArraySecurityContextSource(), new object[] { rawAssembly, rawSymbolStore, securityContextSource }, assembly); } //Return the assembly to the caller return assembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly LoadHookByteArrayByteArray(byte[] rawAssembly, byte[] rawSymbolStore) { //Declare the local variable to store the assembly in Assembly assembly; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("LoadHookByteArrayByteArray"); //Call the original function assembly = Assembly.Load(rawAssembly, rawSymbolStore); //Restore the hook HookManager.HookByHookName("LoadHookByteArrayByteArray"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.AssemblyLoadByteArrayByteArray(), new object[] { rawAssembly, rawSymbolStore }, assembly); } //Return the assembly to the caller return assembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly LoadFileHookString(string path) { //Declare the local variable to store the assembly in Assembly assembly; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("LoadFileHookString"); //Call the original function assembly = Assembly.LoadFile(path); //Restore the hook HookManager.HookByHookName("LoadFileHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.AssemblyLoadFileString(), new object[] { path }, assembly); } //Return the assembly to the caller return assembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly LoadFileHookStringEvidence(string path, Evidence securityEvidence) { //Declare the local variable to store the assembly in Assembly assembly; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("LoadFileHookStringEvidence"); //Call the original function assembly = Assembly.LoadFile(path, securityEvidence); //Restore the hook HookManager.HookByHookName("LoadFileHookStringEvidence"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.AssemblyLoadFileStringEvidence(), new object[] { path, securityEvidence }, assembly); } //Return the assembly to the caller return assembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly LoadFromHookString(string assemblyFile) { //Declare the local variable to store the assembly in Assembly assembly; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("LoadFromHookString"); //Call the original function assembly = Assembly.LoadFrom(assemblyFile); //Restore the hook HookManager.HookByHookName("LoadFromHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.AssemblyLoadFromString(), new object[] { assemblyFile }, assembly); } //Return the assembly to the caller return assembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly LoadFromHookStringEvidence(string assemblyFile, Evidence securityEvidence) { //Declare the local variable to store the assembly in Assembly assembly; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("LoadFromHookStringEvidence"); //Call the original function assembly = Assembly.LoadFrom(assemblyFile, securityEvidence); //Restore the hook HookManager.HookByHookName("LoadFromHookStringEvidence"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.AssemblyLoadFromStringEvidence(), new object[] { assemblyFile, securityEvidence }, assembly); } //Return the assembly to the caller return assembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly LoadFromHookStringEvidenceByteArrayAssemblyHashAlgorithm(string assemblyFile, Evidence securityEvidence, byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm) { //Declare the local variable to store the assembly in Assembly assembly; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("LoadFromHookStringEvidenceByteArrayAssemblyHashAlgorithm"); //Call the original function assembly = Assembly.LoadFrom(assemblyFile, securityEvidence, hashValue, hashAlgorithm); //Restore the hook HookManager.HookByHookName("LoadFromHookStringEvidenceByteArrayAssemblyHashAlgorithm"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.AssemblyLoadFromStringEvidenceByteArrayAssemblyHashAlgorithm(), new object[] { assemblyFile, securityEvidence, hashValue, hashAlgorithm }, assembly); } //Return the assembly to the caller return assembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly LoadFromHookStringByteArrayAssemblyHashAlgorithm(string assemblyFile, byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm) { //Declare the local variable to store the assembly in Assembly assembly; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("LoadFromHookStringByteArrayAssemblyHashAlgorithm"); //Call the original function assembly = Assembly.LoadFrom(assemblyFile, hashValue, hashAlgorithm); //Restore the hook HookManager.HookByHookName("LoadFromHookStringByteArrayAssemblyHashAlgorithm"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.AssemblyLoadFromStringByteArrayAssemblyHashAlgorithm(), new object[] { assemblyFile, hashValue, hashAlgorithm }, assembly); } //Return the assembly to the caller return assembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly LoadWithPartialNameHookStringEvidence(string partialName, Evidence securityEvidence) { //Declare the local variable to store the assembly in Assembly assembly; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("LoadWithPartialNameHookStringEvidence"); //Call the original function assembly = Assembly.LoadWithPartialName(partialName, securityEvidence); //Restore the hook HookManager.HookByHookName("LoadWithPartialNameHookStringEvidence"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.AssemblyLoadWithPartialNameStringEvidence(), new object[] { partialName, securityEvidence }, assembly); } //Return the assembly to the caller return assembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly LoadWithPartialNameHookString(string partialName) { //Declare the local variable to store the assembly in Assembly assembly; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("LoadWithPartialNameHookString"); //Call the original function assembly = Assembly.LoadWithPartialName(partialName); //Restore the hook HookManager.HookByHookName("LoadWithPartialNameHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.AssemblyLoadWithPartialNameString(), new object[] { partialName }, assembly); } //Return the assembly to the caller return assembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly ReflectionOnlyLoadHookString(string assemblyString) { //Declare the local variable to store the assembly in Assembly assembly; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("ReflectionOnlyLoadHookString"); //Call the original function assembly = Assembly.ReflectionOnlyLoad(assemblyString); //Restore the hook HookManager.HookByHookName("ReflectionOnlyLoadHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.AssemblyReflectionOnlyLoadString(), new object[] { assemblyString }, assembly); } //Return the assembly to the caller return assembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly ReflectionOnlyLoadHookByteArray(byte[] rawAssembly) { //Declare the local variable to store the assembly in Assembly assembly; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("ReflectionOnlyLoadHookByteArray"); //Call the original function assembly = Assembly.ReflectionOnlyLoad(rawAssembly); //Restore the hook HookManager.HookByHookName("ReflectionOnlyLoadHookByteArray"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.AssemblyReflectionOnlyLoadByteArray(), new object[] { rawAssembly }, assembly); } //Return the assembly to the caller return assembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly ReflectionOnlyLoadFromHookString(string assemblyFile) { //Declare the local variable to store the assembly in Assembly assembly; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("ReflectionOnlyLoadFromHookString"); //Call the original function assembly = Assembly.ReflectionOnlyLoadFrom(assemblyFile); //Restore the hook HookManager.HookByHookName("ReflectionOnlyLoadFromHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.AssemblyReflectionOnlyLoadFromString(), new object[] { assemblyFile }, assembly); } //Return the assembly to the caller return assembly; } [MethodImpl(MethodImplOptions.NoInlining)] public static Assembly UnsafeLoadFromHookString(string assemblyFile) { //Declare the local variable to store the assembly in Assembly assembly; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("UnsafeLoadFromHookString"); //Call the original function assembly = Assembly.UnsafeLoadFrom(assemblyFile); //Restore the hook HookManager.HookByHookName("UnsafeLoadFromHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.AssemblyUnsafeLoadFromString(), new object[] { assemblyFile }, assembly); } //Return the assembly to the caller return assembly; } } } ================================================ FILE: DotDumper/HookHandlers/Console/ConsoleHooks.cs ================================================ using System; using System.Runtime.CompilerServices; using DotDumper.Hooks; namespace DotDumper.HookHandlers { class ConsoleHooks { [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteHookString(string value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteString(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteHookObject(object value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteObject(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteHookUlong(ulong value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteUlong(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteHookLong(long value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteLong(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteHookInt(int value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteInt(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteHookUint(uint value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteUint(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteHookBool(bool value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteBool(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteHookChar(char value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteChar(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteHookDecimal(decimal value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteDecimal(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteHookFloat(float value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteFloat(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteHookDouble(double value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteDouble(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteHookStringObject(string format, object arg0) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteStringObject(), new object[] { format, arg0 }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteHookStringObjectObject(string format, object arg0, object arg1) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteStringObjectObject(), new object[] { format, arg0, arg1 }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteHookStringObjectObjectObject(string format, object arg0, object arg1, object arg2) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteStringObjectObjectObject(), new object[] { format, arg0, arg1, arg2 }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteHookStringObjectObjectObjectObject(string format, object arg0, object arg1, object arg2, object arg3) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteStringObjectObjectObjectObject(), new object[] { format, arg0, arg1, arg2, arg3 }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteHookStringObjectArray(string format, params object[] arg) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteStringObjectArray(), new object[] { format, arg }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteHookCharArray(char[] buffer) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteCharArray(), new object[] { buffer }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteHookCharArrayIntInt(char[] buffer, int index, int count) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteCharArrayIntInt(), new object[] { buffer, index, count }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteLineHookString(string value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteString(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteLineHookObject(object value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteLineObject(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteLineHookUlong(ulong value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteLineUlong(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteLineHookLong(long value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteLineLong(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteLineHookInt(int value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteLineInt(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteLineHookUint(uint value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteLineUint(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteLineHookBool(bool value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteLineBool(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteLineHookChar(char value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteLineChar(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteLineHookDecimal(decimal value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteLineDecimal(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteLineHookFloat(float value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteLineFloat(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteLineHookDouble(double value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteLineDouble(), new object[] { value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteLineHookStringObject(string format, object arg0) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteLineStringObject(), new object[] { format, arg0 }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteLineHookStringObjectObject(string format, object arg0, object arg1) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteLineStringObjectObject(), new object[] { format, arg0, arg1 }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteLineHookStringObjectObjectObject(string format, object arg0, object arg1, object arg2) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteLineStringObjectObjectObject(), new object[] { format, arg0, arg1, arg2 }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteLineHookStringObjectObjectObjectObject(string format, object arg0, object arg1, object arg2, object arg3) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteLineStringObjectObjectObjectObject(), new object[] { format, arg0, arg1, arg2, arg3 }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteLineHookStringObjectArray(string format, params object[] arg) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteLineStringObjectArray(), new object[] { format, arg }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteLineHookCharArray(char[] buffer) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteLineCharArray(), new object[] { buffer }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteLineHookCharArrayIntInt(char[] buffer, int index, int count) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteLineCharArrayIntInt(), new object[] { buffer, index, count }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteLineHook() { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { Console.WriteLine(); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConsoleWriteLine(), new object[] { }, null); } } } } ================================================ FILE: DotDumper/HookHandlers/Convert/ConvertHooks.cs ================================================ using System; using System.Runtime.CompilerServices; using DotDumper.Hooks; namespace DotDumper.HookHandlers { class ConvertHooks { [MethodImpl(MethodImplOptions.NoInlining)] public static byte[] FromBase64StringString(string s) { //Declare the local variable to store the object in byte[] output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("FromBase64StringString"); //Call the original function output = Convert.FromBase64String(s); //Restore the hook HookManager.HookByHookName("FromBase64StringString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConvertFromBase64StringString(), new object[] { s }, output); } //Return the process object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static byte[] FromBase64CharArrayCharyArrayIntInt(char[] inArray, int offset, int length) { //Declare the local variable to store the object in byte[] output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("FromBase64CharArrayCharyArrayIntInt"); //Call the original function output = Convert.FromBase64CharArray(inArray, offset, length); //Restore the hook HookManager.HookByHookName("FromBase64CharArrayCharyArrayIntInt"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ConvertFromBase64CharArrayCharArrayIntInt(), new object[] { inArray, offset, length }, output); } //Return the process object to the caller return output; } } } ================================================ FILE: DotDumper/HookHandlers/Directory/DirectoryHooks.cs ================================================ namespace DotDumper.HookHandlers { class DirectoryHooks { } } ================================================ FILE: DotDumper/HookHandlers/Environment/EnvironmentHooks.cs ================================================ using System; using System.Runtime.CompilerServices; using System.Collections; using static System.Environment; using DotDumper.Hooks; namespace DotDumper.HookHandlers { class EnvironmentHooks { [MethodImpl(MethodImplOptions.NoInlining)] public static void ExitHookInt(int exitCode) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.EnvironmentExitInt(), new object[] { exitCode }, null); //Disable the placed hook HookManager.UnHookByHookName("ExitHookInt"); //Call the original function Environment.Exit(exitCode); //Restore the hook HookManager.HookByHookName("ExitHookInt"); } } [MethodImpl(MethodImplOptions.NoInlining)] public static string ExpandEnvironmentVariablesHookString(string name) { //Declare the local variable to store the object in string output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("ExpandEnvironmentVariablesHookString"); //Call the original function output = Environment.ExpandEnvironmentVariables(name); //Restore the hook HookManager.HookByHookName("ExpandEnvironmentVariablesHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.EnvironmentExpandEnvironmentVariablesString(), new object[] { name }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static void FailFastHookStringException(string message, Exception exception) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.EnvironmentFailFastStringException(), new object[] { message, exception }, null); //Disable the placed hook HookManager.UnHookByHookName("FailFastHookStringException"); //Call the original function Environment.FailFast(message, exception); //Restore the hook HookManager.HookByHookName("FailFastHookStringException"); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void FailFastHookString(string message) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.EnvironmentFailFastString(), new object[] { message }, null); //Disable the placed hook HookManager.UnHookByHookName("FailFastHookString"); //Call the original function Environment.FailFast(message); //Restore the hook HookManager.HookByHookName("FailFastHookString"); } } [MethodImpl(MethodImplOptions.NoInlining)] public static string[] GetCommandLineArgsHook() { //Declare the local variable to store the object in string[] output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("GetCommandLineArgsHook"); //Call the original function //TODO obtain provided CLI arguments, if any, otherwise return an empty array, as this would return the CLI arguments of DotDumper itself //output = Environment.GetCommandLineArgs(); output = new string[0]; //Restore the hook HookManager.HookByHookName("GetCommandLineArgsHook"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.EnvironmentGetCommandLineArgs(), new object[] { }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static string GetEnvironmentVariableHookStringEnvironmentVariableTarget(string variable, EnvironmentVariableTarget target) { //Declare the local variable to store the object in string output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("GetEnvironmentVariableHookStringEnvironmentVariableTarget"); //Call the original function output = Environment.GetEnvironmentVariable(variable, target); //Restore the hook HookManager.HookByHookName("GetEnvironmentVariableHookStringEnvironmentVariableTarget"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.EnvironmentGetEnvironmentVariableStringEnvironmentVariableTarget(), new object[] { variable, target }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static string GetEnvironmentVariablesHookString(string variable) { //Declare the local variable to store the object in string output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("GetEnvironmentVariablesHookString"); //Call the original function output = Environment.GetEnvironmentVariable(variable); //Restore the hook HookManager.HookByHookName("GetEnvironmentVariablesHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.EnvironmentGetEnvironmentVariableString(), new object[] { variable }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static IDictionary GetEnvironmentVariablesHookEnvironmentVariableTarget(EnvironmentVariableTarget target) { //Declare the local variable to store the object in IDictionary output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("GetEnvironmentVariablesHookEnvironmentVariableTarget"); //Call the original function output = Environment.GetEnvironmentVariables(target); //Restore the hook HookManager.HookByHookName("GetEnvironmentVariablesHookEnvironmentVariableTarget"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.EnvironmentGetEnvironmentVariablesEnvironmentVariableTarget(), new object[] { target }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static IDictionary GetEnvironmentVariablesHook() { //Declare the local variable to store the object in IDictionary output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("GetEnvironmentVariablesHook"); //Call the original function output = Environment.GetEnvironmentVariables(); //Restore the hook HookManager.HookByHookName("GetEnvironmentVariablesHook"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.EnvironmentGetEnvironmentVariables(), new object[] { }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static string GetFolderPathHookSpecialFolderSpecialFolderOption(SpecialFolder folder, SpecialFolderOption option) { //Declare the local variable to store the object in string output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("GetFolderPathHookSpecialFolderSpecialFolderOption"); //Call the original function output = Environment.GetFolderPath(folder, option); //Restore the hook HookManager.HookByHookName("GetFolderPathHookSpecialFolderSpecialFolderOption"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.EnvironmentGetFolderPathSpecialFolderSpecialFolderOption(), new object[] { folder, option }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static string GetFolderPathHookSpecialFolder(SpecialFolder folder) { //Declare the local variable to store the object in string output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("GetFolderPathHookSpecialFolder"); //Call the original function output = Environment.GetFolderPath(folder); //Restore the hook HookManager.HookByHookName("GetFolderPathHookSpecialFolder"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.EnvironmentGetFolderPathSpecialFolder(), new object[] { folder }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static string[] GetLogicalDrivesHook() { //Declare the local variable to store the object in string[] output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("GetLogicalDrivesHook"); //Call the original function output = Environment.GetLogicalDrives(); //Restore the hook HookManager.HookByHookName("GetLogicalDrivesHook"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.EnvironmentGetLogicalDrives(), new object[] { }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static void SetEnvironmentVariableHookStringStringEnvironmentVariableTarget(string variable, string value, EnvironmentVariableTarget target) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("SetEnvironmentVariableHookStringStringEnvironmentVariableTarget"); //Call the original function Environment.SetEnvironmentVariable(variable, value, target); //Restore the hook HookManager.HookByHookName("SetEnvironmentVariableHookStringStringEnvironmentVariableTarget"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.EnvironmentSetEnvironmentVariableStringStringEnvironmentVariableTarget(), new object[] { variable, value, target }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void SetEnvironmentVariableHookStringString(string variable, string value) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("SetEnvironmentVariableHookStringStringEnvironmentVariableTarget"); //Call the original function Environment.SetEnvironmentVariable(variable, value); //Restore the hook HookManager.HookByHookName("SetEnvironmentVariableHookStringStringEnvironmentVariableTarget"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.EnvironmentSetEnvironmentVariableStringString(), new object[] { variable, value }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static string GetResourceFromDefaultHookString(string key) { object result = null; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookAll(); //Call the original function result = OriginalManagedFunctions.EnvironmentGetResourceFromDefaultString().Invoke(null, new object[] { key }); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.EnvironmentGetResourceFromDefaultString(), new object[] { key }, result); //Restore the hook HookManager.HookAll(); } return (string)result; } } } ================================================ FILE: DotDumper/HookHandlers/File/FileHooks.cs ================================================ using System.Collections.Generic; using System.IO; using System.Runtime.CompilerServices; using System.Security.AccessControl; using System.Text; using DotDumper.Hooks; namespace DotDumper.HookHandlers { class FileHooks { [MethodImpl(MethodImplOptions.NoInlining)] public static void AppendAllLinesHookStringIenumerableString(string path, IEnumerable contents) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("FileAppendAllLinesHookStringIenumerableString"); //Call the original function File.AppendAllLines(path, contents); //Restore the hook HookManager.HookByHookName("FileAppendAllLinesHookStringIenumerableString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileAppendAllLinesStringIenumerableString(), new object[] { path, contents }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void AppendAllLinesHookStringIenumerableStringEncoding(string path, IEnumerable contents, Encoding encoding) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("FileAppendAllLinesHookStringIenumerableStringEncoding"); //Call the original function File.AppendAllLines(path, contents, encoding); //Restore the hook HookManager.HookByHookName("FileAppendAllLinesHookStringIenumerableStringEncoding"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileAppendAllLinesStringIenumerableString(), new object[] { path, contents, encoding }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void AppendAllTextHookStringStringEncoding(string path, string contents, Encoding encoding) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("FileAppendAllTextHookStringStringEncoding"); //Call the original function File.AppendAllText(path, contents, encoding); //Restore the hook HookManager.HookByHookName("FileAppendAllTextHookStringStringEncoding"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileAppendAllTextStringStringEncoding(), new object[] { path, contents, encoding }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void AppendAllTextHookStringString(string path, string contents) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("FileAppendAllTextHookStringString"); //Call the original function File.AppendAllText(path, contents); //Restore the hook HookManager.HookByHookName("FileAppendAllTextHookStringString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileAppendAllTextStringString(), new object[] { path, contents }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static StreamWriter AppendTextHookString(string path) { //Declare the local variable to store the object in StreamWriter stream; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("FileAppendTextHookString"); //Call the original function stream = File.AppendText(path); //Restore the hook HookManager.HookByHookName("FileAppendTextHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileAppendTextString(), new object[] { path }, stream); } //Return the object to the caller return stream; } [MethodImpl(MethodImplOptions.NoInlining)] public static void CopyHookStringString(string sourceFileName, string destFileName) { //Declare the local variable to store the object in //StreamWriter stream; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("CopyHookStringString"); //Call the original function File.Copy(sourceFileName, destFileName); //Restore the hook HookManager.HookByHookName("CopyHookStringString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileCopyStringString(), new object[] { sourceFileName, destFileName }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void CopyHookStringStringBoolean(string sourceFileName, string destFileName, bool overwrite) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("CopyHookStringStringBoolean"); //Call the original function File.Copy(sourceFileName, destFileName, overwrite); //Restore the hook HookManager.HookByHookName("CopyHookStringStringBoolean"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileCopyStringStringBoolean(), new object[] { sourceFileName, destFileName, overwrite }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static FileStream CreateHookString(string path) { //Declare the local variable to store the object in FileStream stream; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("CreateHookString"); //Call the original function stream = File.Create(path); //Restore the hook HookManager.HookByHookName("CreateHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileCreateString(), new object[] { path }, stream); } //Return the object to the caller return stream; } [MethodImpl(MethodImplOptions.NoInlining)] public static FileStream CreateHookStringInt(string path, int bufferSize) { //Declare the local variable to store the object in FileStream stream; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("CreateHookStringInt"); //Call the original function stream = File.Create(path, bufferSize); //Restore the hook HookManager.HookByHookName("CreateHookStringInt"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileCreateStringInt(), new object[] { path, bufferSize }, stream); } //Return the object to the caller return stream; } [MethodImpl(MethodImplOptions.NoInlining)] public static FileStream CreateHookStringIntFileOptions(string path, int bufferSize, FileOptions fileOptions) { //Declare the local variable to store the object in FileStream stream; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("CreateHookStringIntFileOptions"); //Call the original function stream = File.Create(path, bufferSize, fileOptions); //Restore the hook HookManager.HookByHookName("CreateHookStringIntFileOptions"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileCreateStringIntFileOptions(), new object[] { path, bufferSize, fileOptions }, stream); } //Return the object to the caller return stream; } [MethodImpl(MethodImplOptions.NoInlining)] public static FileStream CreateHookStringIntFileOptionsFileSecurity(string path, int bufferSize, FileOptions fileOptions, FileSecurity fileSecurity) { //Declare the local variable to store the object in FileStream stream; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("CreateHookStringIntFileOptionsFileSecurity"); //Call the original function stream = File.Create(path, bufferSize, fileOptions, fileSecurity); //Restore the hook HookManager.HookByHookName("CreateHookStringIntFileOptionsFileSecurity"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileCreateStringIntFileOptionsFileSecurity(), new object[] { path, bufferSize, fileOptions, fileSecurity }, stream); } //Return the object to the caller return stream; } [MethodImpl(MethodImplOptions.NoInlining)] public static StreamWriter CreateTextHookString(string path) { //Declare the local variable to store the object in StreamWriter stream; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("CreateTextHookString"); //Call the original function stream = File.CreateText(path); //Restore the hook HookManager.HookByHookName("CreateTextHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileCreateTextString(), new object[] { path }, stream); } //Return the object to the caller return stream; } [MethodImpl(MethodImplOptions.NoInlining)] public static void DecryptHookString(string path) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("DecryptHookString"); //Call the original function File.Decrypt(path); //Restore the hook HookManager.HookByHookName("DecryptHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileDecryptString(), new object[] { path }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void DeleteHookString(string path) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("DeleteHookString"); //Call the original function File.Delete(path); //Restore the hook HookManager.HookByHookName("DeleteHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileDeleteString(), new object[] { path }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void EncryptHookString(string path) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("EncryptHookString"); //Call the original function File.Encrypt(path); //Restore the hook HookManager.HookByHookName("EncryptHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileEncryptString(), new object[] { path }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static bool ExiststHookString(string path) { //Declare the local variable to store the object in bool result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("ExiststHookString"); //Call the original function result = File.Exists(path); //Restore the hook HookManager.HookByHookName("ExiststHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.FileExiststString(), new object[] { path }, result); } //Return the result to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static void MoveHookStringString(string sourceFileName, string destFileName) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("MoveHookStringString"); //Call the original function File.Move(sourceFileName, destFileName); //Restore the hook HookManager.HookByHookName("MoveHookStringString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileMoveStringString(), new object[] { sourceFileName, destFileName }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static FileStream OpenHookStringFileModeFileAccessFileShare(string path, FileMode mode, FileAccess access, FileShare share) { //Declare the local variable to store the object in FileStream stream; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("OpenHookStringFileModeFileAccessFileShare"); //Call the original function stream = File.Open(path, mode, access, share); //Restore the hook HookManager.HookByHookName("OpenHookStringFileModeFileAccessFileShare"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileOpenStringFileModeFileAccessFileShare(), new object[] { path, mode, access, share }, stream); } //Return the object to the caller return stream; } [MethodImpl(MethodImplOptions.NoInlining)] public static FileStream OpenHookStringFileModeFileAccess(string path, FileMode mode, FileAccess access) { //Declare the local variable to store the object in FileStream stream; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("OpenHookStringFileModeFileAccess"); //Call the original function stream = File.Open(path, mode, access); //Restore the hook HookManager.HookByHookName("OpenHookStringFileModeFileAccess"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileOpenStringFileModeFileAccess(), new object[] { path, mode, access }, stream); } //Return the object to the caller return stream; } [MethodImpl(MethodImplOptions.NoInlining)] public static FileStream OpenHookStringFileMode(string path, FileMode mode) { //Declare the local variable to store the object in FileStream stream; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("OpenHookStringFileMode"); //Call the original function stream = File.Open(path, mode); //Restore the hook HookManager.HookByHookName("OpenHookStringFileMode"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileOpenStringFileMode(), new object[] { path, mode }, stream); } //Return the object to the caller return stream; } [MethodImpl(MethodImplOptions.NoInlining)] public static StreamReader OpenTextHookString(string path) { //Declare the local variable to store the object in StreamReader stream; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("OpenTextHookString"); //Call the original function stream = File.OpenText(path); //Restore the hook HookManager.HookByHookName("OpenTextHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileOpenTextString(), new object[] { path }, stream); } //Return the object to the caller return stream; } [MethodImpl(MethodImplOptions.NoInlining)] public static FileStream OpenWriteHookString(string path) { //Declare the local variable to store the object in FileStream stream; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("OpenWriteHookString"); //Call the original function stream = File.OpenWrite(path); //Restore the hook HookManager.HookByHookName("OpenWriteHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileOpenWriteString(), new object[] { path }, stream); } //Return the object to the caller return stream; } [MethodImpl(MethodImplOptions.NoInlining)] public static string[] ReadAllLinesHookString(string path) { //Declare the local variable to store the object in string[] lines; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("ReadAllLinesHookString"); //Call the original function lines = File.ReadAllLines(path); //Restore the hook HookManager.HookByHookName("ReadAllLinesHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileReadAllLinesString(), new object[] { path }, lines); } //Return the object to the caller return lines; } [MethodImpl(MethodImplOptions.NoInlining)] public static string[] ReadAllLinesHookStringEncoding(string path, Encoding encoding) { //Declare the local variable to store the object in string[] lines; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("ReadAllLinesHookStringEncoding"); //Call the original function lines = File.ReadAllLines(path, encoding); //Restore the hook HookManager.HookByHookName("ReadAllLinesHookStringEncoding"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileReadAllLinesStringEncoding(), new object[] { path, encoding }, lines); } //Return the object to the caller return lines; } [MethodImpl(MethodImplOptions.NoInlining)] public static string ReadAllTextHookStringEncoding(string path, Encoding encoding) { //Declare the local variable to store the object in string text; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("ReadAllTextHookStringEncoding"); //Call the original function text = File.ReadAllText(path, encoding); //Restore the hook HookManager.HookByHookName("ReadAllTextHookStringEncoding"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileReadAllTextStringEncoding(), new object[] { path, encoding }, text); } //Return the object to the caller return text; } [MethodImpl(MethodImplOptions.NoInlining)] public static string ReadAllTextHookString(string path) { //Declare the local variable to store the object in string text; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("ReadAllTextHookString"); //Call the original function text = File.ReadAllText(path); //Restore the hook HookManager.HookByHookName("ReadAllTextHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileReadAllTextString(), new object[] { path }, text); } //Return the object to the caller return text; } [MethodImpl(MethodImplOptions.NoInlining)] public static IEnumerable ReadLinesHookString(string path) { //Declare the local variable to store the object in IEnumerable lines; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("ReadLinesHookString"); //Call the original function lines = File.ReadLines(path); //Restore the hook HookManager.HookByHookName("ReadLinesHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileReadLinesString(), new object[] { path }, lines); } //Return the object to the caller return lines; } [MethodImpl(MethodImplOptions.NoInlining)] public static IEnumerable ReadLinesHookStringEncoding(string path, Encoding encoding) { //Declare the local variable to store the object in IEnumerable lines; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("ReadLinesHookStringEncoding"); //Call the original function lines = File.ReadLines(path, encoding); //Restore the hook HookManager.HookByHookName("ReadLinesHookStringEncoding"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileReadLinesStringEncoding(), new object[] { path, encoding }, lines); } //Return the object to the caller return lines; } [MethodImpl(MethodImplOptions.NoInlining)] public static void ReplaceHookStringStringString(string sourceFileName, string destinationFileName, string destinationBackupFileName) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("ReplaceHookStringStringString"); //Call the original function File.Replace(sourceFileName, destinationFileName, destinationBackupFileName); //Restore the hook HookManager.HookByHookName("ReplaceHookStringStringString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileReplaceStringStringString(), new object[] { sourceFileName, destinationFileName, destinationBackupFileName }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void ReplaceHookStringStringStringBoolean(string sourceFileName, string destinationFileName, string destinationBackupFileName, bool ignoreMetadataErrors) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("ReplaceHookStringStringStringBoolean"); //Call the original function File.Replace(sourceFileName, destinationFileName, destinationBackupFileName, ignoreMetadataErrors); //Restore the hook HookManager.HookByHookName("ReplaceHookStringStringStringBoolean"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileReplaceStringStringStringBoolean(), new object[] { sourceFileName, destinationFileName, destinationBackupFileName, ignoreMetadataErrors }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void SetAccessControlHookStringFileSecurity(string path, FileSecurity fileSecurity) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("SetAccessControlHookStringFileSecurity"); //Call the original function File.SetAccessControl(path, fileSecurity); //Restore the hook HookManager.HookByHookName("SetAccessControlHookStringFileSecurity"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileSetAccessControlStringFileSecurity(), new object[] { path, fileSecurity }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void SetAttributesHookStringFileAttributes(string path, FileAttributes fileAttributes) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("SetAttributesHookStringFileAttributes"); //Call the original function File.SetAttributes(path, fileAttributes); //Restore the hook HookManager.HookByHookName("SetAttributesHookStringFileAttributes"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileSetAttributesStringFileAttributes(), new object[] { path, fileAttributes }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteAllBytesHookStringByteArray(string path, byte[] bytes) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("WriteAllBytesHookStringByteArray"); //Call the original function File.WriteAllBytes(path, bytes); //Restore the hook HookManager.HookByHookName("WriteAllBytesHookStringByteArray"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileWriteAllBytesStringByteArray(), new object[] { path, bytes }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteAllLinesHookStringStringArray(string path, string[] lines) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("WriteAllLinesHookStringStringArray"); //Call the original function File.WriteAllLines(path, lines); //Restore the hook HookManager.HookByHookName("WriteAllLinesHookStringStringArray"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileWriteAllLinesStringStringArray(), new object[] { path, lines }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteAllLinesHookStringStringArrayEncoding(string path, string[] lines, Encoding encoding) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("WriteAllLinesHookStringStringArrayEncoding"); //Call the original function File.WriteAllLines(path, lines, encoding); //Restore the hook HookManager.HookByHookName("WriteAllLinesHookStringStringArrayEncoding"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileWriteAllLinesStringStringArrayEncoding(), new object[] { path, lines, encoding }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteAllLinesHookStringIenumerableString(string path, IEnumerable contents) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("WriteAllLinesHookStringIenumerableString"); //Call the original function File.WriteAllLines(path, contents); //Restore the hook HookManager.HookByHookName("WriteAllLinesHookStringIenumerableString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileWriteAllLinesStringIenumerableString(), new object[] { path, contents }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteAllLinesHookStringIenumerableStringEncoding(string path, IEnumerable contents, Encoding encoding) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("WriteAllLinesHookStringIenumerableStringEncoding"); //Call the original function File.WriteAllLines(path, contents, encoding); //Restore the hook HookManager.HookByHookName("WriteAllLinesHookStringIenumerableStringEncoding"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileWriteAllLinesStringIenumerableStringEncoding(), new object[] { path, contents, encoding }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteAllTextHookStringString(string path, string contents) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("WriteAllTextHookStringString"); //Call the original function File.WriteAllText(path, contents); //Restore the hook HookManager.HookByHookName("WriteAllTextHookStringString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileWriteAllTextStringString(), new object[] { path, contents }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void WriteAllTextHookStringStringEncoding(string path, string contents, Encoding encoding) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("WriteAllTextHookStringStringEncoding"); //Call the original function File.WriteAllText(path, contents, encoding); //Restore the hook HookManager.HookByHookName("WriteAllTextHookStringStringEncoding"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileWriteAllTextStringStringEncoding(), new object[] { path, contents, encoding }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static byte[] ReadAllBytesHookString(string path) { //Declare the local variable to store the object in byte[] bytes; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("ReadAllBytesHookString"); //Call the original function bytes = File.ReadAllBytes(path); //Restore the hook HookManager.HookByHookName("ReadAllBytesHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.FileReadAllBytesString(), new object[] { path }, bytes); } //Return the object to the caller return bytes; } } } ================================================ FILE: DotDumper/HookHandlers/GenericHookHelper.cs ================================================ using System; using System.Collections.Generic; using System.Reflection; using System.Security.Policy; using System.Text; using System.Threading; using System.IO; using DotDumper.Helpers; using DotDumper.Hooks; namespace DotDumper.HookHandlers { /// /// This class provides helper functions that are used by multiple hook classes, thereby avoiding duplicate code blocks. /// class GenericHookHelper { /// /// The synchornisation object to ensure that multi-threaded malware does not cause two hooks to call the logger at the same time /// public static readonly object SyncLock = new object(); /// /// The original sample that was loaded by DotDumper /// public static Assembly OriginalAssembly; /// /// The logger object to log data /// public static Logger _Logger; /// /// Gets the stack trace that leads to this function call, the amount of offset lines from the start. The removal is done to exclude hook related functions to end up in the trace, as that would clutter the overview. /// /// The amount of lines to skip, equal to the amount of functions that are entered from the hook prior to this function (including the hook itself) /// The stack trace to the call in the original code public static string GetStackTraceAndAssemblyMapping(int offset) { //Increment the offset, as the trace is requested in this function, which is another line/layer deep offset++; //Initialise the variable where the result will be stored string result = "---StackTrace information---\n"; //Get the trace, split by lines List stackTraceLines = GetStackTraceRaw(offset); //Add all lines from the given offset to the result variable, including a newline for each added line for (int i = 0; i < stackTraceLines.Count; i++) { result += stackTraceLines[i] + "\n"; } result += "----------------------------\n\n"; //Get the assembly call order from the mapper result += "-----Assembly call order-----\n"; result += AssemblyMapper.ProcessStackTrace(stackTraceLines); result += "-----------------------------\n\n"; //Return the result return result; } /// /// Gets the stack trace, based on the given offset /// /// the number of calls since the original function has been called /// A list of strings that make up the stack trace. All hooks will be set prior to this function's return public static List GetStackTraceRaw(int offset) { HookManager.UnHookAll(); List stackTraceLines = new List(); //Increment the offset, as the trace is requested in this function, which is another line/layer deep offset++; //Increment the offset by two as the stacktrace itself is two additional layers deep when requesting it offset += 2; //Initialise and simplify newlines in the stacktrace string rawStackTrace = Environment.StackTrace.Replace("\r\n", "\n"); //Get the trace for each string[] lines = rawStackTrace.Split(new char[] { '\n' }); //If the given offset is too big or less than zero, ignore the value and simply return the complete stacktrace if (offset >= lines.Length || offset < 0) { offset = 0; } //Add all lines from the given offset to the result variable, including a newline for each added line for (int i = offset; i < lines.Length; i++) { stackTraceLines.Add(lines[i]); } HookManager.HookAll(); //Return the result return stackTraceLines; } /// /// Saves the given data in the logger folder as a file, with the given file name (not starting with a backslash). If such a file already exists, it is overwritten without warning! This function is only to be used after the hooks are set, as all hooks are set prior to returning. /// /// The name of the file to save /// The data to save /// The complete path to the newly saved file public static string SaveFile(string fileName, byte[] data) { //Call Directory.CreateDirectory by unhooking the hooks, and hooking them afterwards DirectoryCreateDirectory(_Logger.Folder); //Create the full path, using the logging folder as the base string path = _Logger.Folder + @"\" + fileName; //Write all bytes using File.WriteAllBytes to the given path FileWriteAllBytes(path, data); //Return the full path of the newly saved file return path; } /// /// Saves the given data in the logger folder as a file, using the SHA-256 hash of the data as the file name (not starting with a backslash). If the file already exists, it is overwritten without warning! This function is only to be used after the hooks are set, as all hooks are set prior to returning. /// /// The data to save /// A tuple, with the complete path to the newly saved file, and a hash object with the MD-5, SHA-1, and SHA-256 hash of the newly saved file public static Tuple SaveFile(byte[] data) { string md5 = Hashes.Md5(data); string sha1 = Hashes.Sha1(data); string sha256 = Hashes.Sha256(data); string sha384 = Hashes.Sha384(data); string sha512 = Hashes.Sha512(data); string typeRef = Hashes.TypeRef(data); string importHash = Hashes.ImportHash(data); string authenticodeSha256 = Hashes.AuthenticodeSha256(data); string path = SaveFile(sha256, data); return Tuple.Create(path, new Models.Hash(md5, sha1, sha256, sha384, sha512, typeRef, importHash, authenticodeSha256)); } /// /// Saves the given string in the logger folder as a file, using the SHA-256 hash of the data as the file name (not starting with a backslash). If the file already exists, it is overwritten without warning! This function is only to be used after the hooks are set, as all hooks are set prior to returning. /// /// The data to save /// The complete path to the newly saved file public static Tuple SaveFile(string data) { byte[] rawData = Encoding.Default.GetBytes(data); return SaveFile(rawData); } /// /// Removes all hooks, calls File.ReadAllBytes(string path) with the given path, and sets all hooks. The result of the function call is returned. /// /// The path to read the data from /// The data that has been read from the given path public static byte[] FileReadAllBytes(string path) { HookManager.UnHookAll(); byte[] data = File.ReadAllBytes(path); HookManager.HookAll(); return data; } /// /// Removes all hooks, calls File.AppendAllText(string path, string contents) with the given path and contents, and sets all hooks. /// /// The path to append the contents to /// The text to append public static void FileAppendAllText(string path, string contents) { HookManager.UnHookAll(); File.AppendAllText(path, contents); HookManager.HookAll(); } /// /// Removes all hooks, calls File.WriteAllBytes(string path, byte[] bytes) with the given path and bytes, and sets all hooks. /// /// The path to write all bytes to /// The bytes to write public static void FileWriteAllBytes(string path, byte[] bytes) { HookManager.UnHookAll(); File.WriteAllBytes(path, bytes); HookManager.HookAll(); } /// /// Removes all hooks, calls Path.GetFileName(string path) with the given path, sets all hooks, and returns the file name /// /// The path to get the file name from /// The file name of the file at the given path public static string PathGetFileName(string path) { HookManager.UnHookAll(); string fileName = Path.GetFileName(path); HookManager.HookAll(); return fileName; } /// /// Removes the hook named "SleepHookInt", calls Thread.Sleep(int milliseconds) with the given milliseconds, and sets the hook named "SleepHookInt". /// /// The amount of milliseconds to sleep public static void ThreadSleep(int milliseconds) { HookManager.UnHookByHookName("SleepHookInt"); Thread.Sleep(milliseconds); HookManager.HookByHookName("SleepHookInt"); } /// /// Removes all hooks, calls Directory.CreateDirectory(string folder) with the given folder, and sets all hooks. /// /// The folder to create /// The relevant DirectoryInfo object public static DirectoryInfo DirectoryCreateDirectory(string folder) { HookManager.UnHookAll(); DirectoryInfo directoryInfo = Directory.CreateDirectory(folder); HookManager.HookAll(); return directoryInfo; } /// /// Removes all hooks, calls Console.WriteLine(string value) with the given value, and sets all hooks /// /// The value to write to the standard output public static void ConsoleWriteLine(string value) { HookManager.UnHookAll(); Console.WriteLine(value); HookManager.HookAll(); } /// /// Gets the raw data of the given Assembly object. This function removes all hooks, after which the raw data is obtained reflectively. All hooks are then set. /// /// The Assembly object to get the raw data from /// The raw bytes of the given Assembly object public static byte[] GetAsByteArray(Assembly assembly) { HookManager.UnHookAll(); //Taken from https://stackoverflow.com/a/46209735 Hash hash = new Hash(assembly); byte[] rawAssembly = (byte[])hash.GetType().GetMethod("GetRawData", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(hash, new object[0]); HookManager.HookAll(); return rawAssembly; } } } ================================================ FILE: DotDumper/HookHandlers/MethodBase/MethodBaseHooks.cs ================================================ using System.Reflection; using System.Runtime.CompilerServices; using DotDumper.Helpers; namespace DotDumper.HookHandlers { class MethodBaseHooks { [MethodImpl(MethodImplOptions.NoInlining)] public static object InvokeHookObjectObjectArray(MethodBase methodBase, object obj, object[] parameters) { //Declare the local variable to store the assembly object in object result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { int stackTraceOffset = 1; //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(stackTraceOffset, methodBase, parameters, null); } //Start the timer to induce the race condition RaceConditionHandler.StartTimer("InvokeHookObjectObjectArray"); //Call the original function result = methodBase.Invoke(obj, parameters); //Return the process object to the caller return result; } } } ================================================ FILE: DotDumper/HookHandlers/Path/PathHooks.cs ================================================ using System.IO; using System.Runtime.CompilerServices; using DotDumper.Hooks; namespace DotDumper.HookHandlers { class PathHooks { [MethodImpl(MethodImplOptions.NoInlining)] public static string ChangeExtensionHookStringString(string path, string extension) { //Declare the local variable to store the object in string output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("ChangeExtensionHookStringString"); //Call the original function output = Path.ChangeExtension(path, extension); //Restore the hook HookManager.HookByHookName("ChangeExtensionHookStringString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.PathChangeExtensionStringString(), new object[] { path, extension }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static string CombineHookStringString(string path1, string path2) { //Declare the local variable to store the object in string output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("CombineHookStringString"); //Call the original function output = Path.Combine(path1, path2); //Restore the hook HookManager.HookByHookName("CombineHookStringString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.PathCombineStringString(), new object[] { path1, path2 }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static string CombineHookStringStringString(string path1, string path2, string path3) { //Declare the local variable to store the object in string output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("CombineHookStringStringString"); //Call the original function output = Path.Combine(path1, path2, path3); //Restore the hook HookManager.HookByHookName("CombineHookStringStringString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.PathCombineStringStringString(), new object[] { path1, path2, path3 }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static string CombineHookStringStringStringString(string path1, string path2, string path3, string path4) { //Declare the local variable to store the object in string output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("CombineHookStringStringStringString"); //Call the original function output = Path.Combine(path1, path2, path3, path4); //Restore the hook HookManager.HookByHookName("CombineHookStringStringStringString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.PathCombineStringStringStringString(), new object[] { path1, path2, path3, path4 }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static string CombineHookStringArray(string[] paths) { //Declare the local variable to store the object in string output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("CombineHookStringArray"); //Call the original function output = Path.Combine(paths); //Restore the hook HookManager.HookByHookName("CombineHookStringArray"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.PathCombineStringArray(), new object[] { paths }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static string GetDirectoryNameHookString(string path) { //Declare the local variable to store the object in string output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("GetDirectoryNameHookString"); //Call the original function output = Path.GetDirectoryName(path); //Restore the hook HookManager.HookByHookName("GetDirectoryNameHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.PathGetDirectoryNameString(), new object[] { path }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static string GetExtensionHookString(string path) { //Declare the local variable to store the object in string output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("GetExtensionHookString"); //Call the original function output = Path.GetExtension(path); //Restore the hook HookManager.HookByHookName("GetExtensionHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.PathGetExtensionString(), new object[] { path }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static string GetFileNameHookString(string path) { //Declare the local variable to store the object in string output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("GetFileNameHookString"); //Call the original function output = Path.GetFileName(path); //Restore the hook HookManager.HookByHookName("GetFileNameHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.PathGetFileNameString(), new object[] { path }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static string GetFileNameWithoutExtensionHookString(string path) { //Declare the local variable to store the object in string output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("GetFileNameWithoutExtensionHookString"); //Call the original function output = Path.GetFileNameWithoutExtension(path); //Restore the hook HookManager.HookByHookName("GetFileNameWithoutExtensionHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.PathGetFileNameWithoutExtensionString(), new object[] { path }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static string GetFullPathHookString(string path) { //Declare the local variable to store the object in string output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("GetFullPathHookString"); //Call the original function output = Path.GetFullPath(path); //Restore the hook HookManager.HookByHookName("GetFullPathHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.PathGetFullPathString(), new object[] { path }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static string GetPathRootHookString(string path) { //Declare the local variable to store the object in string output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("GetPathRootHookString"); //Call the original function output = Path.GetPathRoot(path); //Restore the hook HookManager.HookByHookName("GetPathRootHookString"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.PathGetPathRootString(), new object[] { path }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static string GetRandomFileNameHook() { //Declare the local variable to store the object in string output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("GetRandomFileNameHook"); //Call the original function output = Path.GetRandomFileName(); //Restore the hook HookManager.HookByHookName("GetRandomFileNameHook"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.PathGetRandomFileName(), new object[] { }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static string GetTempFileNameHook() { //Declare the local variable to store the object in string output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("GetTempFileNameHook"); //Call the original function output = Path.GetTempFileName(); //Restore the hook HookManager.HookByHookName("GetTempFileNameHook"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.PathGetTempFileName(), new object[] { }, output); } //Return the object to the caller return output; } [MethodImpl(MethodImplOptions.NoInlining)] public static string GetTempPathHook() { //Declare the local variable to store the object in string output; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hook HookManager.UnHookByHookName("GetTempPathHook"); //Call the original function output = Path.GetTempPath(); //Restore the hook HookManager.HookByHookName("GetTempPathHook"); //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.PathGetTempPath(), new object[] { }, output); } //Return the object to the caller return output; } } } ================================================ FILE: DotDumper/HookHandlers/Process/ProcessHooks.cs ================================================ using System.Diagnostics; using System.Runtime.CompilerServices; using System.Security; using DotDumper.Hooks; namespace DotDumper.HookHandlers { class ProcessHooks { [MethodImpl(MethodImplOptions.NoInlining)] public static Process GetCurrentProcessHook() { //Declare the local variable to store the process object in Process process; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hooks HookManager.UnHookAll(); //Call the original function process = Process.GetCurrentProcess(); //Restore the hooks HookManager.HookAll(); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ProcessGetCurrentProcess(), new object[] { }, process); } //Return the process object to the caller return process; } [MethodImpl(MethodImplOptions.NoInlining)] public static Process GetProcessByIdHookIntString(int processId, string machineName) { //Declare the local variable to store the process object in Process process; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hooks HookManager.UnHookAll(); //Call the original function process = Process.GetProcessById(processId, machineName); //Restore the hooks HookManager.HookAll(); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ProcessGetProcessByIdIntString(), new object[] { processId, machineName }, process); } //Return the process object to the caller return process; } [MethodImpl(MethodImplOptions.NoInlining)] public static Process GetProcessByIdHookInt(int processId) { //Declare the local variable to store the process object in Process process; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hooks HookManager.UnHookAll(); //Call the original function process = Process.GetProcessById(processId); //Restore the hooks HookManager.HookAll(); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ProcessGetProcessByIdInt(), new object[] { processId }, process); } //Return the process object to the caller return process; } [MethodImpl(MethodImplOptions.NoInlining)] public static Process[] GetProcessesHook() { //Declare the local variable to store the process objects in Process[] processes; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hooks HookManager.UnHookAll(); //Call the original function processes = Process.GetProcesses(); //Restore the hooks HookManager.HookAll(); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ProcessGetProcesses(), new object[] { }, processes); } //Return the process object to the caller return processes; } [MethodImpl(MethodImplOptions.NoInlining)] public static Process[] GetProcessesHookString(string machineName) { //Declare the local variable to store the process objects in Process[] processes; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hooks HookManager.UnHookAll(); //Call the original function processes = Process.GetProcesses(machineName); //Restore the hooks HookManager.HookAll(); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ProcessGetProcessesString(), new object[] { machineName }, processes); } //Return the process object to the caller return processes; } [MethodImpl(MethodImplOptions.NoInlining)] public static Process[] GetProcessesByNameHookString(string processName) { //Declare the local variable to store the process objects in Process[] processes; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hooks HookManager.UnHookAll(); //Call the original function processes = Process.GetProcessesByName(processName); //Restore the hooks HookManager.HookAll(); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ProcessGetProcessesByNameString(), new object[] { processName }, processes); } //Return the process object to the caller return processes; } [MethodImpl(MethodImplOptions.NoInlining)] public static Process[] GetProcessesByNameHookStringString(string processName, string machineName) { //Declare the local variable to store the process objects in Process[] processes; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hooks HookManager.UnHookAll(); //Call the original function processes = Process.GetProcessesByName(processName, machineName); //Restore the hooks HookManager.HookAll(); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ProcessGetProcessesByNameStringString(), new object[] { processName, machineName }, processes); } //Return the process object to the caller return processes; } [MethodImpl(MethodImplOptions.NoInlining)] public static Process ProcessStartHookStringString(string fileName, string arguments) { //Declare the local variable to store the process object in Process process; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hooks HookManager.UnHookAll(); //Call the original function process = Process.Start(fileName, arguments); //Restore the hooks HookManager.HookAll(); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ProcessStartStringString(), new object[] { fileName, arguments }, process); } //Return the process object to the caller return process; } [MethodImpl(MethodImplOptions.NoInlining)] public static Process ProcessStartHookProcessStartInfo(ProcessStartInfo startInfo) { //Declare the local variable to store the process object in Process process; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hooks HookManager.UnHookAll(); //Call the original function process = Process.Start(startInfo); //Restore the hooks HookManager.HookAll(); GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ProcessStartProcessStartInfo(), new object[] { startInfo }, process); } //Return the process object to the caller return process; } [MethodImpl(MethodImplOptions.NoInlining)] public static Process ProcessStartHookString(string fileName) { //Declare the local variable to store the process object in Process process; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hooks HookManager.UnHookAll(); //Call the original function process = Process.Start(fileName); //Restore the hooks HookManager.HookAll(); GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ProcessStartString(), new object[] { fileName }, process); } //Return the process object to the caller return process; } [MethodImpl(MethodImplOptions.NoInlining)] public static Process ProcessStartHookStringStringStringSecureStringString(string fileName, string arguments, string userName, SecureString password, string domain) { //Declare the local variable to store the process object in Process process; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hooks HookManager.UnHookAll(); //Call the original function process = Process.Start(fileName, arguments, userName, password, domain); //Restore the hooks HookManager.HookAll(); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ProcessStartStringStringStringSecureStringString(), new object[] { fileName, arguments, userName, password, domain }, process); } //Return the process object to the caller return process; } [MethodImpl(MethodImplOptions.NoInlining)] public static Process ProcessStartHookStringStringSecureStringString(string fileName, string userName, SecureString password, string domain) { //Declare the local variable to store the process object in Process process; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Disable the placed hooks HookManager.UnHookAll(); //Call the original function process = Process.Start(fileName, userName, password, domain); //Restore the hooks HookManager.HookAll(); //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ProcessStartStringStringSecureStringString(), new object[] { fileName, userName, password, domain }, process); } //Return the process object to the caller return process; } } } ================================================ FILE: DotDumper/HookHandlers/ResourceManager/ResourceManagerHooks.cs ================================================ using System; using System.Globalization; using System.IO; using System.Reflection; using System.Resources; using System.Runtime.CompilerServices; using DotDumper.Hooks; namespace DotDumper.HookHandlers { class ResourceManagerHooks { [MethodImpl(MethodImplOptions.NoInlining)] public static object GetObjectHookString(ResourceManager resourceManager, string name) { //Declare the local variable to store the result in object result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookAll(); result = null; try { result = resourceManager.GetObject(name); } catch (Exception) { } if (result == null) { result = BruteObjectGet(name); } //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ResourceManagerGetObjectString(), new object[] { name }, result); HookManager.HookAll(); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static object GetObjectHookStringCultureInfo(ResourceManager resourceManager, string name, CultureInfo cultureInfo) { //Declare the local variable to store the result in object result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookAll(); result = null; try { result = resourceManager.GetObject(name, cultureInfo); } catch (Exception) { } if (result == null) { result = BruteObjectGet(name); } //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ResourceManagerGetObjectStringCultureInfo(), new object[] { name, cultureInfo }, result); HookManager.HookAll(); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static string GetStringHookString(ResourceManager resourceManager, string name) { //Declare the local variable to store the result in string result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookAll(); result = null; try { result = resourceManager.GetString(name); } catch (Exception) { } if (result == null) { result = BruteStringGet(name); } //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ResourceManagerGetStringString(), new object[] { name }, result); HookManager.HookAll(); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static string GetStringHookStringCultureInfo(ResourceManager resourceManager, string name, CultureInfo cultureInfo) { //Declare the local variable to store the result in string result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookAll(); result = null; try { result = resourceManager.GetString(name, cultureInfo); } catch (Exception) { } if (result == null) { result = BruteStringGet(name); } //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ResourceManagerGetStringStringCultureInfo(), new object[] { name, cultureInfo }, result); HookManager.HookAll(); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static UnmanagedMemoryStream GetStreamHookString(ResourceManager resourceManager, string name) { //Declare the local variable to store the result in UnmanagedMemoryStream result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookAll(); result = null; try { result = resourceManager.GetStream(name); } catch (Exception) { } if (result == null) { result = BruteStreamGet(name); } //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ResourceManagerGetStreamString(), new object[] { name }, result); HookManager.HookAll(); } //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static UnmanagedMemoryStream GetStreamHookStringCultureInfo(ResourceManager resourceManager, string name, CultureInfo cultureInfo) { //Declare the local variable to store the result in UnmanagedMemoryStream result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { HookManager.UnHookAll(); result = null; try { result = resourceManager.GetStream(name, cultureInfo); } catch (Exception) { } if (result == null) { result = BruteStreamGet(name); } //Write the aggregated data to the log and the console GenericHookHelper._Logger.LogSampleCall(1, OriginalManagedFunctions.ResourceManagerGetStreamStringCultureInfo(), new object[] { name, cultureInfo }, result); HookManager.HookAll(); } //Return the process object to the caller return result; } private static string BruteStringGet(string resourceName) { string result = null; Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies(); foreach (Assembly assembly in assemblies) { string[] resourceNames = assembly.GetManifestResourceNames(); foreach (string resource in resourceNames) { try { ResourceManager resourceManager = new ResourceManager(resourceName, assembly); result = resourceManager.GetString(resourceName); if (result != null) { return result; } } catch (Exception) { //Ignore exceptions, as this function returns null if the resource cannot be found } } } return result; } private static object BruteObjectGet(string resourceName) { object result = null; Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies(); foreach (Assembly assembly in assemblies) { string[] resourceNames = assembly.GetManifestResourceNames(); foreach (string resource in resourceNames) { try { ResourceManager resourceManager = new ResourceManager(resourceName, assembly); result = resourceManager.GetObject(resourceName); if (result != null) { return result; } } catch (Exception) { //Ignore exceptions, as this function returns null if the resource cannot be found } } } return result; } private static UnmanagedMemoryStream BruteStreamGet(string resourceName) { UnmanagedMemoryStream result = null; Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies(); foreach (Assembly assembly in assemblies) { string[] resourceNames = assembly.GetManifestResourceNames(); foreach (string resource in resourceNames) { try { ResourceManager resourceManager = new ResourceManager(resourceName, assembly); result = resourceManager.GetStream(resourceName, null); if (result != null) { return result; } } catch (Exception) { //Ignore exceptions, as this function returns null if the resource cannot be found } } } return result; } } } ================================================ FILE: DotDumper/HookHandlers/Thread/ThreadHooks.cs ================================================ using System; using System.Runtime.CompilerServices; using System.Threading; using DotDumper.Hooks; namespace DotDumper.HookHandlers { class ThreadHooks { [MethodImpl(MethodImplOptions.NoInlining)] public static void SleepHookInt(int millisecondsTimeout) { //Avoids cluttering the log if (millisecondsTimeout <= 1) { return; } //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //If sleep is to be skipped, the function is never called if (Config.SleepSkip == false) { //Disable the placed hook HookManager.UnHookAll(); //Call the original function Thread.Sleep(millisecondsTimeout); //Restore the hook HookManager.HookAll(); } //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ThreadSleepInt(), new object[] { millisecondsTimeout }, null); } } [MethodImpl(MethodImplOptions.NoInlining)] public static void SleepHookTimeSpan(TimeSpan timeout) { //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //If sleep is to be skipped, the function is never called if (Config.SleepSkip == false) { //Disable the placed hook HookManager.UnHookAll(); //Call the original function Thread.Sleep(timeout); //Restore the hook HookManager.HookAll(); } //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(1, OriginalManagedFunctions.ThreadSleepTimeSpan(), new object[] { timeout }, null); } } } } ================================================ FILE: DotDumper/HookHandlers/Type/TypeHooks.cs ================================================ using System; using System.Globalization; using System.Reflection; using System.Runtime.CompilerServices; using DotDumper.Helpers; namespace DotDumper.HookHandlers { class TypeHooks { [MethodImpl(MethodImplOptions.NoInlining)] public static object InvokeMemberHookStringBindingFlagsBinderObjectObjectArrayCultureInfo(Type type, string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, CultureInfo culture) { //Declare the local variable to store the object in object result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Sets the title for the log string functionName = "Type.InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, CultureInfo culture)"; //Process the given data via the helper class TypeHooksHelper.InvokeMemberHandler(functionName, type, name, invokeAttr, binder, target, args, culture); } //Start the timer to induce the race condition RaceConditionHandler.StartTimer("InvokeMemberHookStringBindingFlagsBinderObjectObjectArrayCultureInfo"); //Call the original function result = type.InvokeMember(name, invokeAttr, binder, target, args, culture); //Return the process object to the caller return result; } [MethodImpl(MethodImplOptions.NoInlining)] public static object InvokeMemberHookStringBindingFlagsBinderObjectObjectArray(Type type, string name, BindingFlags invokeAttr, Binder binder, object target, object[] args) { //Declare the local variable to store the object in object result; //Enable the thread safe lock, as a launched program can be multi-threaded lock (GenericHookHelper.SyncLock) { //Sets the title for the log string functionName = "Type.InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args)"; //Process the given data via the helper class TypeHooksHelper.InvokeMemberHandler(functionName, type, name, invokeAttr, binder, target, args, null); } //Start the timer to induce the race condition RaceConditionHandler.StartTimer("InvokeMemberHookStringBindingFlagsBinderObjectObjectArray"); //Call the original function result = type.InvokeMember(name, invokeAttr, binder, target, args); //Return the process object to the caller return result; } } } ================================================ FILE: DotDumper/HookHandlers/Type/TypeHooksHelper.cs ================================================ using System; using System.Globalization; using System.Reflection; using DotDumper.Helpers; using DotDumper.Hooks; using DotDumper.Models; namespace DotDumper.HookHandlers { class TypeHooksHelper { public static void InvokeMemberHandler(string functionName, Type type, string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, CultureInfo culture) { MethodInfo methodInfo = GetMethodInfo(type, name, args); LogEntry entry = null; if (methodInfo == null) { string fullName = type.FullName + "." + name; if (culture == null) { methodInfo = OriginalManagedFunctions.TypeInvokeMemberStringBindingFlagsBinderObjectObjectArray(); } else { methodInfo = OriginalManagedFunctions.TypeInvokeMemberStringBindingFlagsBinderObjectObjectArrayCultureInfo(); } } else { entry = LogEntryHelper.Create(2, methodInfo, args, null); } //Write the aggregated data to the log and the console GenericHookHelper._Logger.Log(entry, false, true); } private static MethodInfo GetMethodInfo(Type type, string name, object[] args) { MethodInfo method = null; foreach (MethodInfo methodInfo in type.GetMethods(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance)) { if (methodInfo.Name.Equals(name, StringComparison.InvariantCultureIgnoreCase)) { ParameterInfo[] parameterInfos = methodInfo.GetParameters(); int argsLength = -1; if (args == null) { argsLength = 0; } else { argsLength = args.Length; } if (parameterInfos.Length == argsLength) { bool match = true; if (argsLength > 0) { for (int i = 0; i < args.Length; i++) { if (parameterInfos[i].ParameterType != args[i].GetType()) { match = false; } } } if (match) { method = methodInfo; return method; } } } } return method; } } } ================================================ FILE: DotDumper/Hooks/Hook.cs ================================================ using System; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using DotDumper.Helpers; using DotDumper.Models; namespace DotDumper.Hooks { /// /// The original hook code has been taken from a forum post of the first of May 2017 by Michael 'donrevan' Pekar on UnknownCheats. The code is also available in this GitHub Gist. The code is licensed under the MIT license. Changes have been made by Max 'Libra' Kersten based on the original code in the linked posts. /// class Hook { /// /// This summary is taken from MSDN. Changes the protection on a region of committed pages in the virtual address space of the calling process. /// /// The address of the starting page of the region of pages whose access protection attributes are to be changed. All pages in the specified region must be within the same reserved region allocated when calling the VirtualAlloc or VirtualAllocEx function using MEM_RESERVE. The pages cannot span adjacent reserved regions that were allocated by separate calls to VirtualAlloc or VirtualAllocEx using MEM_RESERVE. /// The size of the region whose access protection attributes are to be changed, in bytes. The region of affected pages includes all pages containing one or more bytes in the range from the lpAddress parameter to (lpAddress+dwSize). This means that a 2-byte range straddling a page boundary causes the protection attributes of both pages to be changed. /// The memory protection option. This parameter can be one of the memory protection constants. For mapped views, this value must be compatible with the access protection specified when the view was mapped(see MapViewOfFile, MapViewOfFileEx, and MapViewOfFileExNuma). /// A pointer to a variable that receives the previous access protection value of the first page in the specified region of pages. If this parameter is NULL or does not point to a valid variable, the function fails. /// If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError. [DllImport("kernel32.dll", SetLastError = true)] internal static extern bool VirtualProtect(IntPtr address, uint size, uint newProtect, out uint oldProtect); /// /// A constant to resemble the RWX memory protection constant /// private const int PAGE_READ_WRITE_EXECUTE = 0x40; /// /// The amount of bytes that the jump to the hook requires on the x86 architecture /// private const uint HOOK_SIZE_X86 = 7; /// /// The amount of bytes that the jump to the hook requires on the x86_64 architecture /// private const uint HOOK_SIZE_X64 = 12; /// /// The bytes of the original method that are overwritten with the hook jump /// private byte[] originalBytes; /// /// The original method that is hooked /// public string OriginalMethod { get; private set; } /// /// The method which is called instead of the original method /// public string HookMethod { get; private set; } /// /// The method which is called instead of the original MethodInfo's name /// public string CompactHookMethod { get; private set; } /// /// The pointer to the original method /// private IntPtr OriginalMethodPointer { get; set; } /// /// The pointer to the hook /// private IntPtr HookMethodPointer { get; set; } /// /// Creates a hook object, which requires two non-null MethodInfo objects. The hook is not set upon the creation of this object. To set and remove a hook, use the SetHook and UnHook methods in this class respectively. /// /// The original method, which is to be replaced by the hookMethod /// The hook to replace the originalMethod public Hook(MethodInfo originalMethod, MethodInfo hookMethod) { //Checks if either of the arguments are null, throwing an error if one or more conditions are true if (originalMethod == null || hookMethod == null) { throw new ArgumentException("Both the original and hook need to be valid methods"); } //Sets the original bytes variable to null, meaning the original method is not hooked originalBytes = null; //Prepares the method for execution within a constrained execution region RuntimeHelpers.PrepareMethod(originalMethod.MethodHandle); RuntimeHelpers.PrepareMethod(hookMethod.MethodHandle); //Sets the variables in the class for later use OriginalMethod = Serialise.Method(originalMethod); OriginalMethodPointer = originalMethod.MethodHandle.GetFunctionPointer(); HookMethod = Serialise.Method(hookMethod); HookMethodPointer = hookMethod.MethodHandle.GetFunctionPointer(); CompactHookMethod = hookMethod.Name; } /// /// Creates a hook object, which requires two non-null UnmanagedMethodInfo objects. The hook is not set upon the creation of this object. To set and remove a hook, use the SetHook and UnHook methods in this class respectively. /// /// The original method, which is to be replaced by the hookMethod /// The hook to replace the originalMethod public Hook(UnmanagedMethodInfo originalMethod, UnmanagedMethodInfo hookMethod) { //Checks if either of the arguments are null, throwing an error if one or more conditions are true if (originalMethod == null || hookMethod == null) { throw new ArgumentException("Some provided hook arguments are invalid!"); } //Sets the original bytes variable to null, meaning the original method is not hooked originalBytes = null; //Sets the variables in the class for later use OriginalMethod = originalMethod.FullMethodName; OriginalMethodPointer = originalMethod.Pointer; HookMethod = hookMethod.FullMethodName; HookMethodPointer = hookMethod.Pointer; CompactHookMethod = hookMethod.MethodName; } /// /// Creates a hook object, which requires a non-null UnmanagedMethodInfo object and a non-null MethodInfo object. The hook is not set upon the creation of this object. To set and remove a hook, use the SetHook and UnHook methods in this class respectively. /// /// The original method, which is to be replaced by the hookMethod /// The hook to replace the originalMethod public Hook(UnmanagedMethodInfo originalMethod, MethodInfo hookMethod) { //Checks if either of the arguments are null, throwing an error if one or more conditions are true if (originalMethod == null || hookMethod == null) { throw new ArgumentException("Some provided hook arguments are invalid!"); } //Sets the original bytes variable to null, meaning the original method is not hooked originalBytes = null; //Prepares the method for execution within a constrained execution region RuntimeHelpers.PrepareMethod(hookMethod.MethodHandle); //Sets the variables in the class for later use OriginalMethod = originalMethod.FullMethodName; OriginalMethodPointer = originalMethod.Pointer; HookMethod = Serialise.Method(hookMethod); HookMethodPointer = hookMethod.MethodHandle.GetFunctionPointer(); CompactHookMethod = hookMethod.Name; } /// /// Creates a hook object, which requires a non-null MethodInfo object and a non-null UnmanagedMethodInfo object. The hook is not set upon the creation of this object. To set and remove a hook, use the SetHook and UnHook methods in this class respectively. /// /// The original method, which is to be replaced by the hookMethod /// The hook to replace the originalMethod public Hook(MethodInfo originalMethod, UnmanagedMethodInfo hookMethod) { //Checks if either of the arguments are null, throwing an error if one or more conditions are true if (originalMethod == null || hookMethod == null) { throw new ArgumentException("Some provided hook arguments are invalid!"); } //Sets the original bytes variable to null, meaning the original method is not hooked originalBytes = null; //Prepares the method for execution within a constrained execution region RuntimeHelpers.PrepareMethod(originalMethod.MethodHandle); //Sets the variables in the class for later use OriginalMethod = Serialise.Method(originalMethod); OriginalMethodPointer = originalMethod.MethodHandle.GetFunctionPointer(); HookMethod = hookMethod.FullMethodName; HookMethodPointer = hookMethod.Pointer; CompactHookMethod = hookMethod.MethodName; } /// /// Sets the detour for the original method, redirecting it to the previously provided hook. If the original method is not hooked, this method simply returns. /// public void Enable() { /** * The overwritten instructions of the original method are saved in a byte array, so they can be restored later on. * Upon the creation of this object, and upon unhooking, this byte array is set to null. As such, any case where * this byte array is not null, is a case where the hook is already in-place. To avoid overwriting the saved data * with a hooked version, this method returns early. */ if (originalBytes != null) { return; } //Declare the variable that is used to store the previous memory protection value in, as returned by the Interop VirtualProtect call, as the memory segment needs to be writable to write the hook uint oldProt; //Declare the variable that is used to store the size of the hook in uint hookSize; //Depending on the architecture, the hook size differs if (IntPtr.Size == 8) { hookSize = HOOK_SIZE_X64; } else { hookSize = HOOK_SIZE_X86; } //Initialise the byte array to store the original data in using the architeture specific size originalBytes = new byte[hookSize]; /** * Ensure that the hook can be writen to the start of the original function in memory, by making the area from the start of the original method * plus the size of the hook executable, readable, and writable */ VirtualProtect(OriginalMethodPointer, hookSize, PAGE_READ_WRITE_EXECUTE, out oldProt); //Starts the unsafe code block where the hook is set unsafe { //Declares a byte pointer based on the original method byte* ptr = (byte*)OriginalMethodPointer; /** * Copies the original bytes into the byte array in this class. The data in this array is used to restore * the overwritten memory upon unhooking */ for (int i = 0; i < hookSize; ++i) { originalBytes[i] = ptr[i]; } /** * Depending on the architecture, the assembly instructions that need to be written to force the jump to the hook differ. * The location of the hook is writting into the accumulating register (EAX on x86, RAX on x86_64), after which an * unconditional jump to that location is taken. When the original function is called, the hook is called via the jump. * The hook itself can perform the required and desired actions, after which it simply returns, which transfers the * control back to the caller. */ if (IntPtr.Size == 8) { /** * Writes the following x86_64 assembly instructions at the start of the original function: * movabs rax, addr * jmp rax */ *(ptr) = 0x48; *(ptr + 1) = 0xb8; *(IntPtr*)(ptr + 2) = HookMethodPointer; *(ptr + 10) = 0xff; *(ptr + 11) = 0xe0; } else { /** * Writes the following x86 assembly instructions at the start of the original function: * mov eax, addr * jmp eax */ *(ptr) = 0xb8; *(IntPtr*)(ptr + 1) = HookMethodPointer; *(ptr + 5) = 0xff; *(ptr + 6) = 0xe0; } } //Restores the memory permissions for the memory segment to the original value VirtualProtect(OriginalMethodPointer, hookSize, oldProt, out oldProt); } /// /// Unhooks the hook of the original method, allowing calls of the original method to work as usual. If the original method has not been hooked, this call simply returns. /// public void Disable() { /** * The overwritten instructions of the original method are saved in a byte array, so they can be restored later on. * Upon the creation of this object, and upon unhooking, this byte array is set to null. As such, any case where * this byte array is null, is a case where the hook is not in-place. If no hook is set, it cannot be removed either. * Therefore, this method simply returns if it is called without having a hook in-place. */ if (originalBytes == null) { return; } //Declare the variable that is used to store the previous memory protection value in, as returned by the Interop VirtualProtect call, as the memory segment needs to be writable to write the hook uint oldProt; //The amount of the original bytes uint codeSize = (uint)originalBytes.Length; /** * Ensure that the hook can be writen to the start of the original function in memory, by making the area from the start of the original method * plus the size of the hook executable, readable, and writable */ VirtualProtect(OriginalMethodPointer, codeSize, PAGE_READ_WRITE_EXECUTE, out oldProt); //Starts the unsafe code block where the hook is removed unsafe { //Declares a byte pointer based on the original method byte* ptr = (byte*)OriginalMethodPointer; /** * Copies the original bytes from the byte array to the original method, on their original place, thus removing the hook */ for (var i = 0; i < codeSize; ++i) { ptr[i] = originalBytes[i]; } } //Restores the memory permissions for the memory segment to the original value VirtualProtect(OriginalMethodPointer, codeSize, oldProt, out oldProt); //The function has been unhooked, meaning the original bytes need to be nulled again, to avoid a faulty (un)hook function to continue when called in the wrong order originalBytes = null; } /// /// Compares the given method with this instance's hook, based on a string representation of the function's signature, ignoring casing /// /// The method to compare the hook with /// True if the two methods are equal in , false if not public bool CompareHook(MethodInfo method) { return CompareHook(Serialise.Method(method)); } /// /// Compares the given method with this instance's hook, based on a string representation of the function's signature, ignoring casing /// /// The method to compare the hook with /// True if the two methods are equal in , false if not public bool CompareHook(string method) { return method.Equals(HookMethod, StringComparison.CurrentCultureIgnoreCase); } /// /// Compares the given method with this instance's original method, based on a string representation of the function's signature, ignoring casing /// /// The method to compare the original method with /// True if the two methods are equal, false if not public bool CompareOriginal(MethodInfo method) { return CompareOriginal(Serialise.Method(method)); } /// /// Compares the given method with this instance's original method, based on a string representation of the function's signature, ignoring casing /// /// The method to compare the original method with /// True if the two methods are equal, false if not public bool CompareOriginal(string method) { return method.Equals(OriginalMethod, StringComparison.CurrentCultureIgnoreCase); } } } ================================================ FILE: DotDumper/Hooks/HookManager.cs ================================================ using System; using System.Collections.Generic; using System.IO; using System.Reflection; using DotDumper.HookHandlers; using DotDumper.Models; namespace DotDumper.Hooks { /// /// The HookManager is used to create all hook objects, which are stored in a private static list. Additionally, this class contains methods to set and remove hooks for a given hook, or for all hooks /// class HookManager { /// /// The list where all initialised hooks are stored. Hooks should be added via the AddHook function, rather than directly via the Add function of this list /// private static List Hooks = new List(); /// /// Adds a hook to the list of hooks, unless the string representation (disregarding the casing) of the original method or the hook is already present in the list. If this is the case, a warning will be printed via the logger. /// /// The method to hook /// The hook to execute when the original method is called private static void AddHook(MethodInfo original, MethodInfo hook) { AddHook(new Hook(original, hook)); } private static void AddHook(UnmanagedMethodInfo original, UnmanagedMethodInfo hook) { AddHook(new Hook(original, hook)); } private static void AddHook(UnmanagedMethodInfo original, MethodInfo hook) { AddHook(new Hook(original, hook)); } private static void AddHook(MethodInfo original, UnmanagedMethodInfo hook) { AddHook(new Hook(original, hook)); } private static void AddHook(Hook hook) { bool toAdd = true; foreach (Hook currentHook in Hooks) { if (currentHook.CompareOriginal(hook.OriginalMethod)) { string message = "A hook for \"" + currentHook.OriginalMethod + "\" is already present in the set hooks!\n" + "\tThe hook that is already placed is named \"" + currentHook.HookMethod + "\"\n" + "\tThe hook that was attempted to be added is named \"" + hook.HookMethod + "\"\n" + "\n"; Console.WriteLine(message); toAdd = false; break; } if (currentHook.CompareHook(hook.HookMethod)) { string message = "The hook function \"" + currentHook.HookMethod + "\" is already used in a different hook!\n" + "\tThe original function that is hooked is named \"" + currentHook.OriginalMethod + "\"\n" + "\tThe original function that was attempted to be added is named \"" + hook.OriginalMethod + "\"\n" + "\n"; Console.WriteLine(message); toAdd = false; break; } } if (toAdd) { Hooks.Add(hook); } } /// /// Initialises all hook objects without setting the hooks. One can select the inclusion of deprecated functions with the first argument, whereas the second argument defines if the set hooks should be logged. /// public static void Initialise() { if (Config.IncludeDeprecatedFunctions) { #region Deprecated Assembly hooks //Deprecated! AddHook(OriginalManagedFunctions.AssemblyLoadStringEvidence(), GetMethodInfo(typeof(AssemblyHooks), "LoadHookStringEvidence", null)); //Deprecated! AddHook(OriginalManagedFunctions.AssemblyLoadAssemblyNameEvidence(), GetMethodInfo(typeof(AssemblyHooks), "LoadHookAssemblyNameEvidence", null)); //Deprecated! AddHook(OriginalManagedFunctions.AssemblyLoadByteArrayByteArrayEvidence(), GetMethodInfo(typeof(AssemblyHooks), "LoadHookByteArrayByteArrayEvidence", null)); //Deprecated! AddHook(OriginalManagedFunctions.AssemblyLoadFileStringEvidence(), GetMethodInfo(typeof(AssemblyHooks), "LoadFileHookStringEvidence", null)); //Deprecated! AddHook(OriginalManagedFunctions.AssemblyLoadFromStringEvidence(), GetMethodInfo(typeof(AssemblyHooks), "LoadFromHookStringEvidence", null)); //Deprecated! AddHook(OriginalManagedFunctions.AssemblyLoadFromStringEvidenceByteArrayAssemblyHashAlgorithm(), GetMethodInfo(typeof(AssemblyHooks), "LoadFromHookStringEvidenceByteArrayAssemblyHashAlgorithm", null)); //Deprecated! AddHook(OriginalManagedFunctions.AssemblyLoadWithPartialNameString(), GetMethodInfo(typeof(AssemblyHooks), "LoadWithPartialNameHookString", null)); //Deprecated! AddHook(OriginalManagedFunctions.AssemblyLoadWithPartialNameStringEvidence(), GetMethodInfo(typeof(AssemblyHooks), "LoadWithPartialNameHookStringEvidence", null)); #endregion #region Deprecated Activator hooks //Deprecated! AddHook(OriginalManagedFunctions.ActivatorCreateInstanceStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceHookStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence", null)); //Deprecated! AddHook(OriginalManagedFunctions.ActivatorCreateInstanceAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceHookAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence", null)); //Deprecated! AddHook(OriginalManagedFunctions.ActivatorCreateInstanceFromStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceFromHookStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence", null)); //Deprecated! AddHook(OriginalManagedFunctions.ActivatorCreateInstanceFromAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceFromHookAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence", null)); #endregion } #region Assembly hooks AddHook(OriginalManagedFunctions.AssemblyGetEntryAssembly(), GetMethodInfo(typeof(AssemblyHooks), "GetEntryAssemblyHook", null)); AddHook(OriginalManagedFunctions.AssemblyGetExecutingAssembly(), GetMethodInfo(typeof(AssemblyHooks), "GetExecutingAssemblyHook", null)); AddHook(OriginalManagedFunctions.AssemblyLoadByteArray(), GetMethodInfo(typeof(AssemblyHooks), "LoadHookByteArray", null)); AddHook(OriginalManagedFunctions.AssemblyLoadAssemblyName(), GetMethodInfo(typeof(AssemblyHooks), "LoadHookAssemblyName", null)); AddHook(OriginalManagedFunctions.AssemblyLoadString(), GetMethodInfo(typeof(AssemblyHooks), "LoadHookString", null)); AddHook(OriginalManagedFunctions.AssemblyLoadByteArrayByteArraySecurityContextSource(), GetMethodInfo(typeof(AssemblyHooks), "LoadHookByteArrayByteArraySecurityContextSource", null)); AddHook(OriginalManagedFunctions.AssemblyLoadByteArrayByteArray(), GetMethodInfo(typeof(AssemblyHooks), "LoadHookByteArrayByteArray", null)); AddHook(OriginalManagedFunctions.AssemblyLoadFileString(), GetMethodInfo(typeof(AssemblyHooks), "LoadFileHookString", null)); AddHook(OriginalManagedFunctions.AssemblyLoadFromString(), GetMethodInfo(typeof(AssemblyHooks), "LoadFromHookString", null)); AddHook(OriginalManagedFunctions.AssemblyLoadFromStringByteArrayAssemblyHashAlgorithm(), GetMethodInfo(typeof(AssemblyHooks), "LoadFromHookStringByteArrayAssemblyHashAlgorithm", null)); AddHook(OriginalManagedFunctions.AssemblyReflectionOnlyLoadString(), GetMethodInfo(typeof(AssemblyHooks), "ReflectionOnlyLoadHookString", null)); AddHook(OriginalManagedFunctions.AssemblyReflectionOnlyLoadByteArray(), GetMethodInfo(typeof(AssemblyHooks), "ReflectionOnlyLoadHookByteArray", null)); AddHook(OriginalManagedFunctions.AssemblyReflectionOnlyLoadFromString(), GetMethodInfo(typeof(AssemblyHooks), "ReflectionOnlyLoadFromHookString", null)); AddHook(OriginalManagedFunctions.AssemblyUnsafeLoadFromString(), GetMethodInfo(typeof(AssemblyHooks), "UnsafeLoadFromHookString", null)); #endregion #region Convert hooks AddHook(OriginalManagedFunctions.ConvertFromBase64StringString(), GetMethodInfo(typeof(ConvertHooks), "FromBase64StringString", null)); AddHook(OriginalManagedFunctions.ConvertFromBase64CharArrayCharArrayIntInt(), GetMethodInfo(typeof(ConvertHooks), "FromBase64CharArrayCharyArrayIntInt", null)); #endregion #region Process hooks AddHook(OriginalManagedFunctions.ProcessGetCurrentProcess(), GetMethodInfo(typeof(ProcessHooks), "GetCurrentProcessHook", null)); AddHook(OriginalManagedFunctions.ProcessGetProcessByIdIntString(), GetMethodInfo(typeof(ProcessHooks), "GetProcessByIdHookIntString", null)); AddHook(OriginalManagedFunctions.ProcessGetProcessByIdInt(), GetMethodInfo(typeof(ProcessHooks), "GetProcessByIdHookInt", null)); AddHook(OriginalManagedFunctions.ProcessGetProcesses(), GetMethodInfo(typeof(ProcessHooks), "GetProcessesHook", null)); AddHook(OriginalManagedFunctions.ProcessGetProcessesString(), GetMethodInfo(typeof(ProcessHooks), "GetProcessesHookString", null)); AddHook(OriginalManagedFunctions.ProcessGetProcessesByNameString(), GetMethodInfo(typeof(ProcessHooks), "GetProcessesByNameHookString", null)); AddHook(OriginalManagedFunctions.ProcessGetProcessesByNameStringString(), GetMethodInfo(typeof(ProcessHooks), "GetProcessesByNameHookStringString", null)); AddHook(OriginalManagedFunctions.ProcessStartStringString(), GetMethodInfo(typeof(ProcessHooks), "ProcessStartHookStringString", null)); AddHook(OriginalManagedFunctions.ProcessStartProcessStartInfo(), GetMethodInfo(typeof(ProcessHooks), "ProcessStartHookProcessStartInfo", null)); AddHook(OriginalManagedFunctions.ProcessStartString(), GetMethodInfo(typeof(ProcessHooks), "ProcessStartHookString", null)); AddHook(OriginalManagedFunctions.ProcessStartStringStringStringSecureStringString(), GetMethodInfo(typeof(ProcessHooks), "ProcessStartHookStringStringStringSecureStringString", null)); AddHook(OriginalManagedFunctions.ProcessStartStringStringSecureStringString(), GetMethodInfo(typeof(ProcessHooks), "ProcessStartHookStringStringSecureStringString", null)); #endregion #region File hooks AddHook(OriginalManagedFunctions.FileAppendAllLinesStringIenumerableString(), GetMethodInfo(typeof(FileHooks), "AppendAllLinesHookStringIenumerableString", null)); AddHook(OriginalManagedFunctions.FileAppendAllLinesStringIenumerableStringEncoding(), GetMethodInfo(typeof(FileHooks), "AppendAllLinesHookStringIenumerableStringEncoding", null)); AddHook(OriginalManagedFunctions.FileAppendAllTextStringStringEncoding(), GetMethodInfo(typeof(FileHooks), "AppendAllTextHookStringStringEncoding", null)); AddHook(OriginalManagedFunctions.FileAppendAllTextStringString(), GetMethodInfo(typeof(FileHooks), "AppendAllTextHookStringString", null)); AddHook(OriginalManagedFunctions.FileAppendTextString(), GetMethodInfo(typeof(FileHooks), "AppendTextHookString", null)); AddHook(OriginalManagedFunctions.FileCopyStringString(), GetMethodInfo(typeof(FileHooks), "CopyHookStringString", null)); AddHook(OriginalManagedFunctions.FileCopyStringStringBoolean(), GetMethodInfo(typeof(FileHooks), "CopyHookStringStringBoolean", null)); AddHook(OriginalManagedFunctions.FileCreateString(), GetMethodInfo(typeof(FileHooks), "CreateHookString", null)); AddHook(OriginalManagedFunctions.FileCreateStringInt(), GetMethodInfo(typeof(FileHooks), "CreateHookStringInt", null)); AddHook(OriginalManagedFunctions.FileCreateStringIntFileOptions(), GetMethodInfo(typeof(FileHooks), "CreateHookStringIntFileOptions", null)); AddHook(OriginalManagedFunctions.FileCreateStringIntFileOptionsFileSecurity(), GetMethodInfo(typeof(FileHooks), "CreateHookStringIntFileOptionsFileSecurity", null)); AddHook(OriginalManagedFunctions.FileCreateTextString(), GetMethodInfo(typeof(FileHooks), "CreateTextHookString", null)); AddHook(OriginalManagedFunctions.FileDecryptString(), GetMethodInfo(typeof(FileHooks), "DecryptHookString", null)); AddHook(OriginalManagedFunctions.FileDeleteString(), GetMethodInfo(typeof(FileHooks), "DeleteHookString", null)); AddHook(OriginalManagedFunctions.FileEncryptString(), GetMethodInfo(typeof(FileHooks), "EncryptHookString", null)); AddHook(OriginalManagedFunctions.FileExiststString(), GetMethodInfo(typeof(FileHooks), "ExiststHookString", null)); AddHook(OriginalManagedFunctions.FileMoveStringString(), GetMethodInfo(typeof(FileHooks), "MoveHookStringString", null)); AddHook(OriginalManagedFunctions.FileOpenStringFileModeFileAccessFileShare(), GetMethodInfo(typeof(FileHooks), "OpenHookStringFileModeFileAccessFileShare", null)); AddHook(OriginalManagedFunctions.FileOpenStringFileModeFileAccess(), GetMethodInfo(typeof(FileHooks), "OpenHookStringFileModeFileAccess", null)); AddHook(OriginalManagedFunctions.FileOpenStringFileMode(), GetMethodInfo(typeof(FileHooks), "OpenHookStringFileMode", null)); AddHook(OriginalManagedFunctions.FileOpenTextString(), GetMethodInfo(typeof(FileHooks), "OpenTextHookString", null)); AddHook(OriginalManagedFunctions.FileOpenWriteString(), GetMethodInfo(typeof(FileHooks), "OpenWriteHookString", null)); AddHook(OriginalManagedFunctions.FileReadAllLinesString(), GetMethodInfo(typeof(FileHooks), "ReadAllLinesHookString", null)); AddHook(OriginalManagedFunctions.FileReadAllLinesStringEncoding(), GetMethodInfo(typeof(FileHooks), "ReadAllLinesHookStringEncoding", null)); AddHook(OriginalManagedFunctions.FileReadAllTextStringEncoding(), GetMethodInfo(typeof(FileHooks), "ReadAllTextHookStringEncoding", null)); AddHook(OriginalManagedFunctions.FileReadAllTextString(), GetMethodInfo(typeof(FileHooks), "ReadAllTextHookString", null)); AddHook(OriginalManagedFunctions.FileReadLinesString(), GetMethodInfo(typeof(FileHooks), "ReadLinesHookString", null)); AddHook(OriginalManagedFunctions.FileReadLinesStringEncoding(), GetMethodInfo(typeof(FileHooks), "ReadLinesHookStringEncoding", null)); AddHook(OriginalManagedFunctions.FileReplaceStringStringString(), GetMethodInfo(typeof(FileHooks), "ReplaceHookStringStringString", null)); AddHook(OriginalManagedFunctions.FileReplaceStringStringStringBoolean(), GetMethodInfo(typeof(FileHooks), "ReplaceHookStringStringStringBoolean", null)); AddHook(OriginalManagedFunctions.FileSetAccessControlStringFileSecurity(), GetMethodInfo(typeof(FileHooks), "SetAccessControlHookStringFileSecurity", null)); AddHook(OriginalManagedFunctions.FileSetAttributesStringFileAttributes(), GetMethodInfo(typeof(FileHooks), "SetAttributesHookStringFileAttributes", null)); AddHook(OriginalManagedFunctions.FileWriteAllBytesStringByteArray(), GetMethodInfo(typeof(FileHooks), "WriteAllBytesHookStringByteArray", null)); AddHook(OriginalManagedFunctions.FileWriteAllLinesStringStringArray(), GetMethodInfo(typeof(FileHooks), "WriteAllLinesHookStringStringArray", null)); AddHook(OriginalManagedFunctions.FileWriteAllLinesStringStringArrayEncoding(), GetMethodInfo(typeof(FileHooks), "WriteAllLinesHookStringStringArrayEncoding", null)); AddHook(OriginalManagedFunctions.FileWriteAllLinesStringIenumerableString(), GetMethodInfo(typeof(FileHooks), "WriteAllLinesHookStringIenumerableString", null)); AddHook(OriginalManagedFunctions.FileWriteAllLinesStringIenumerableStringEncoding(), GetMethodInfo(typeof(FileHooks), "WriteAllLinesHookStringIenumerableStringEncoding", null)); AddHook(OriginalManagedFunctions.FileWriteAllTextStringString(), GetMethodInfo(typeof(FileHooks), "WriteAllTextHookStringString", null)); AddHook(OriginalManagedFunctions.FileWriteAllTextStringStringEncoding(), GetMethodInfo(typeof(FileHooks), "WriteAllTextHookStringStringEncoding", null)); AddHook(OriginalManagedFunctions.FileReadAllBytesString(), GetMethodInfo(typeof(FileHooks), "ReadAllBytesHookString", null)); #endregion #region Path hooks AddHook(OriginalManagedFunctions.PathChangeExtensionStringString(), GetMethodInfo(typeof(PathHooks), "ChangeExtensionHookStringString", null)); AddHook(OriginalManagedFunctions.PathCombineStringString(), GetMethodInfo(typeof(PathHooks), "CombineHookStringString", null)); AddHook(OriginalManagedFunctions.PathCombineStringStringString(), GetMethodInfo(typeof(PathHooks), "CombineHookStringStringString", null)); AddHook(OriginalManagedFunctions.PathCombineStringStringStringString(), GetMethodInfo(typeof(PathHooks), "CombineHookStringStringStringString", null)); AddHook(OriginalManagedFunctions.PathCombineStringArray(), GetMethodInfo(typeof(PathHooks), "CombineHookStringArray", null)); AddHook(OriginalManagedFunctions.PathGetDirectoryNameString(), GetMethodInfo(typeof(PathHooks), "GetDirectoryNameHookString", null)); AddHook(OriginalManagedFunctions.PathGetExtensionString(), GetMethodInfo(typeof(PathHooks), "GetExtensionHookString", null)); AddHook(OriginalManagedFunctions.PathGetFileNameString(), GetMethodInfo(typeof(PathHooks), "GetFileNameHookString", null)); AddHook(OriginalManagedFunctions.PathGetFileNameWithoutExtensionString(), GetMethodInfo(typeof(PathHooks), "GetFileNameWithoutExtensionHookString", null)); AddHook(OriginalManagedFunctions.PathGetFullPathString(), GetMethodInfo(typeof(PathHooks), "GetFullPathHookString", null)); AddHook(OriginalManagedFunctions.PathGetPathRootString(), GetMethodInfo(typeof(PathHooks), "GetPathRootHookString", null)); AddHook(OriginalManagedFunctions.PathGetRandomFileName(), GetMethodInfo(typeof(PathHooks), "GetRandomFileNameHook", null)); AddHook(OriginalManagedFunctions.PathGetTempFileName(), GetMethodInfo(typeof(PathHooks), "GetTempFileNameHook", null)); AddHook(OriginalManagedFunctions.PathGetTempPath(), GetMethodInfo(typeof(PathHooks), "GetTempPathHook", null)); #endregion #region Thread hooks AddHook(OriginalManagedFunctions.ThreadSleepInt(), GetMethodInfo(typeof(ThreadHooks), "SleepHookInt", null)); AddHook(OriginalManagedFunctions.ThreadSleepTimeSpan(), GetMethodInfo(typeof(ThreadHooks), "SleepHookTimeSpan", null)); #endregion #region Environment hooks AddHook(OriginalManagedFunctions.EnvironmentExitInt(), GetMethodInfo(typeof(EnvironmentHooks), "ExitHookInt", null)); AddHook(OriginalManagedFunctions.EnvironmentExpandEnvironmentVariablesString(), GetMethodInfo(typeof(EnvironmentHooks), "ExpandEnvironmentVariablesHookString", null)); AddHook(OriginalManagedFunctions.EnvironmentFailFastStringException(), GetMethodInfo(typeof(EnvironmentHooks), "FailFastHookStringException", null)); AddHook(OriginalManagedFunctions.EnvironmentFailFastString(), GetMethodInfo(typeof(EnvironmentHooks), "FailFastHookString", null)); AddHook(OriginalManagedFunctions.EnvironmentGetCommandLineArgs(), GetMethodInfo(typeof(EnvironmentHooks), "GetCommandLineArgsHook", null)); AddHook(OriginalManagedFunctions.EnvironmentGetEnvironmentVariableStringEnvironmentVariableTarget(), GetMethodInfo(typeof(EnvironmentHooks), "GetEnvironmentVariableHookStringEnvironmentVariableTarget", null)); AddHook(OriginalManagedFunctions.EnvironmentGetEnvironmentVariableString(), GetMethodInfo(typeof(EnvironmentHooks), "GetEnvironmentVariablesHookString", null)); AddHook(OriginalManagedFunctions.EnvironmentGetEnvironmentVariablesEnvironmentVariableTarget(), GetMethodInfo(typeof(EnvironmentHooks), "GetEnvironmentVariablesHookEnvironmentVariableTarget", null)); AddHook(OriginalManagedFunctions.EnvironmentGetEnvironmentVariables(), GetMethodInfo(typeof(EnvironmentHooks), "GetEnvironmentVariablesHook", null)); AddHook(OriginalManagedFunctions.EnvironmentGetFolderPathSpecialFolderSpecialFolderOption(), GetMethodInfo(typeof(EnvironmentHooks), "GetFolderPathHookSpecialFolderSpecialFolderOption", null)); AddHook(OriginalManagedFunctions.EnvironmentGetFolderPathSpecialFolder(), GetMethodInfo(typeof(EnvironmentHooks), "GetFolderPathHookSpecialFolder", null)); AddHook(OriginalManagedFunctions.EnvironmentGetLogicalDrives(), GetMethodInfo(typeof(EnvironmentHooks), "GetLogicalDrivesHook", null)); AddHook(OriginalManagedFunctions.EnvironmentSetEnvironmentVariableStringStringEnvironmentVariableTarget(), GetMethodInfo(typeof(EnvironmentHooks), "SetEnvironmentVariableHookStringStringEnvironmentVariableTarget", null)); AddHook(OriginalManagedFunctions.EnvironmentSetEnvironmentVariableStringString(), GetMethodInfo(typeof(EnvironmentHooks), "SetEnvironmentVariableHookStringString", null)); AddHook(OriginalManagedFunctions.EnvironmentGetResourceFromDefaultString(), GetMethodInfo(typeof(EnvironmentHooks), "GetResourceFromDefaultHookString", null)); #endregion #region ResourceManager hooks AddHook(OriginalManagedFunctions.ResourceManagerGetObjectString(), GetMethodInfo(typeof(ResourceManagerHooks), "GetObjectHookString", null)); AddHook(OriginalManagedFunctions.ResourceManagerGetObjectStringCultureInfo(), GetMethodInfo(typeof(ResourceManagerHooks), "GetObjectHookStringCultureInfo", null)); AddHook(OriginalManagedFunctions.ResourceManagerGetStringString(), GetMethodInfo(typeof(ResourceManagerHooks), "GetStringHookString", null)); AddHook(OriginalManagedFunctions.ResourceManagerGetStringStringCultureInfo(), GetMethodInfo(typeof(ResourceManagerHooks), "GetStringHookStringCultureInfo", null)); AddHook(OriginalManagedFunctions.ResourceManagerGetStreamString(), GetMethodInfo(typeof(ResourceManagerHooks), "GetStreamHookString", null)); AddHook(OriginalManagedFunctions.ResourceManagerGetStreamStringCultureInfo(), GetMethodInfo(typeof(ResourceManagerHooks), "GetStreamHookStringCultureInfo", null)); #endregion #region Console hooks AddHook(OriginalManagedFunctions.ConsoleWriteString(), GetMethodInfo(typeof(ConsoleHooks), "WriteHookString", null)); AddHook(OriginalManagedFunctions.ConsoleWriteObject(), GetMethodInfo(typeof(ConsoleHooks), "WriteHookObject", null)); AddHook(OriginalManagedFunctions.ConsoleWriteUlong(), GetMethodInfo(typeof(ConsoleHooks), "WriteHookUlong", null)); AddHook(OriginalManagedFunctions.ConsoleWriteLong(), GetMethodInfo(typeof(ConsoleHooks), "WriteHookLong", null)); AddHook(OriginalManagedFunctions.ConsoleWriteStringObjectObject(), GetMethodInfo(typeof(ConsoleHooks), "WriteHookStringObjectObject", null)); AddHook(OriginalManagedFunctions.ConsoleWriteInt(), GetMethodInfo(typeof(ConsoleHooks), "WriteHookInt", null)); AddHook(OriginalManagedFunctions.ConsoleWriteStringObject(), GetMethodInfo(typeof(ConsoleHooks), "WriteHookStringObject", null)); AddHook(OriginalManagedFunctions.ConsoleWriteUint(), GetMethodInfo(typeof(ConsoleHooks), "WriteHookUint", null)); AddHook(OriginalManagedFunctions.ConsoleWriteStringObjectObjectObjectObject(), GetMethodInfo(typeof(ConsoleHooks), "WriteHookStringObjectObjectObjectObject", null)); AddHook(OriginalManagedFunctions.ConsoleWriteStringObjectArray(), GetMethodInfo(typeof(ConsoleHooks), "WriteHookStringObjectArray", null)); AddHook(OriginalManagedFunctions.ConsoleWriteBool(), GetMethodInfo(typeof(ConsoleHooks), "WriteHookBool", null)); AddHook(OriginalManagedFunctions.ConsoleWriteChar(), GetMethodInfo(typeof(ConsoleHooks), "WriteHookChar", null)); AddHook(OriginalManagedFunctions.ConsoleWriteCharArray(), GetMethodInfo(typeof(ConsoleHooks), "WriteHookCharArray", null)); AddHook(OriginalManagedFunctions.ConsoleWriteCharArrayIntInt(), GetMethodInfo(typeof(ConsoleHooks), "WriteHookCharArrayIntInt", null)); AddHook(OriginalManagedFunctions.ConsoleWriteStringObjectObjectObject(), GetMethodInfo(typeof(ConsoleHooks), "WriteHookStringObjectObjectObject", null)); AddHook(OriginalManagedFunctions.ConsoleWriteDecimal(), GetMethodInfo(typeof(ConsoleHooks), "WriteHookDecimal", null)); AddHook(OriginalManagedFunctions.ConsoleWriteFloat(), GetMethodInfo(typeof(ConsoleHooks), "WriteHookFloat", null)); AddHook(OriginalManagedFunctions.ConsoleWriteDouble(), GetMethodInfo(typeof(ConsoleHooks), "WriteHookDouble", null)); AddHook(OriginalManagedFunctions.ConsoleWriteLineString(), GetMethodInfo(typeof(ConsoleHooks), "WriteLineHookString", null)); AddHook(OriginalManagedFunctions.ConsoleWriteLineObject(), GetMethodInfo(typeof(ConsoleHooks), "WriteLineHookObject", null)); AddHook(OriginalManagedFunctions.ConsoleWriteLineUlong(), GetMethodInfo(typeof(ConsoleHooks), "WriteLineHookUlong", null)); AddHook(OriginalManagedFunctions.ConsoleWriteLineLong(), GetMethodInfo(typeof(ConsoleHooks), "WriteLineHookLong", null)); AddHook(OriginalManagedFunctions.ConsoleWriteLineStringObjectObject(), GetMethodInfo(typeof(ConsoleHooks), "WriteLineHookStringObjectObject", null)); AddHook(OriginalManagedFunctions.ConsoleWriteLineInt(), GetMethodInfo(typeof(ConsoleHooks), "WriteLineHookInt", null)); AddHook(OriginalManagedFunctions.ConsoleWriteLineStringObject(), GetMethodInfo(typeof(ConsoleHooks), "WriteLineHookStringObject", null)); AddHook(OriginalManagedFunctions.ConsoleWriteLineUint(), GetMethodInfo(typeof(ConsoleHooks), "WriteLineHookUint", null)); AddHook(OriginalManagedFunctions.ConsoleWriteLineStringObjectObjectObjectObject(), GetMethodInfo(typeof(ConsoleHooks), "WriteLineHookStringObjectObjectObjectObject", null)); AddHook(OriginalManagedFunctions.ConsoleWriteLineStringObjectArray(), GetMethodInfo(typeof(ConsoleHooks), "WriteLineHookStringObjectArray", null)); AddHook(OriginalManagedFunctions.ConsoleWriteLineBool(), GetMethodInfo(typeof(ConsoleHooks), "WriteLineHookBool", null)); AddHook(OriginalManagedFunctions.ConsoleWriteLineChar(), GetMethodInfo(typeof(ConsoleHooks), "WriteLineHookChar", null)); AddHook(OriginalManagedFunctions.ConsoleWriteLineCharArray(), GetMethodInfo(typeof(ConsoleHooks), "WriteLineHookCharArray", null)); AddHook(OriginalManagedFunctions.ConsoleWriteLineCharArrayIntInt(), GetMethodInfo(typeof(ConsoleHooks), "WriteLineHookCharArrayIntInt", null)); AddHook(OriginalManagedFunctions.ConsoleWriteLineStringObjectObjectObject(), GetMethodInfo(typeof(ConsoleHooks), "WriteLineHookStringObjectObjectObject", null)); AddHook(OriginalManagedFunctions.ConsoleWriteLineDecimal(), GetMethodInfo(typeof(ConsoleHooks), "WriteLineHookDecimal", null)); AddHook(OriginalManagedFunctions.ConsoleWriteLineFloat(), GetMethodInfo(typeof(ConsoleHooks), "WriteLineHookFloat", null)); AddHook(OriginalManagedFunctions.ConsoleWriteLineDouble(), GetMethodInfo(typeof(ConsoleHooks), "WriteLineHookDouble", null)); AddHook(OriginalManagedFunctions.ConsoleWriteLine(), GetMethodInfo(typeof(ConsoleHooks), "WriteLineHook", null)); #endregion #region MethodBase hooks AddHook(OriginalManagedFunctions.MethodBaseInvokeObjectObjectArray(), GetMethodInfo(typeof(MethodBaseHooks), "InvokeHookObjectObjectArray", null)); //Cannot hook abstract method //AddHook(OriginalFunctions.MethodBaseInvokeObjectBindingFlagsBinderObjectArrayCultureInfo(), GetMethodInfo(typeof(MethodBaseHooks), "InvokeHookObjectBindingFlagsBinderObjectArrayCultureInfo", null)); #endregion #region Type hooks AddHook(OriginalManagedFunctions.TypeInvokeMemberStringBindingFlagsBinderObjectObjectArray(), GetMethodInfo(typeof(TypeHooks), "InvokeMemberHookStringBindingFlagsBinderObjectObjectArray", null)); AddHook(OriginalManagedFunctions.TypeInvokeMemberStringBindingFlagsBinderObjectObjectArrayCultureInfo(), GetMethodInfo(typeof(TypeHooks), "InvokeMemberHookStringBindingFlagsBinderObjectObjectArrayCultureInfo", null)); #endregion #region Activator hooks AddHook(OriginalManagedFunctions.ActivatorCreateComInstanceFromStringStringByteArrayAssemblyHashAlgorithm(), GetMethodInfo(typeof(ActivatorHooks), "CreateComInstanceFromHookStringStringByteArrayAssemblyHashAlgorithm", null)); AddHook(OriginalManagedFunctions.ActivatorCreateComInstanceFromStringString(), GetMethodInfo(typeof(ActivatorHooks), "CreateComInstanceFromHookStringString", null)); AddHook(OriginalManagedFunctions.ActivatorCreateInstanceType(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceHookType", null)); AddHook(OriginalManagedFunctions.ActivatorCreateInstanceTypeBool(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceHookTypeBool", null)); AddHook(OriginalManagedFunctions.ActivatorCreateInstanceActivationContext(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceHookActivationContext", null)); AddHook(OriginalManagedFunctions.ActivatorCreateInstanceTypeObjectArray(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceHookTypeObjectArray", null)); AddHook(OriginalManagedFunctions.ActivatorCreateInstanceStringString(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceHookStringString", null)); AddHook(OriginalManagedFunctions.ActivatorCreateInstanceTypeBindingFlagsBinderObjectArrayCultureInfo(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceHookTypeBindingFlagsBinderObjectArrayCultureInfo", null)); AddHook(OriginalManagedFunctions.ActivatorCreateInstanceTypeBindingFlagsBinderObjectArrayCultureInfoObjectArray(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceHookTypeBindingFlagsBinderObjectArrayCultureInfoObjectArray", null)); AddHook(OriginalManagedFunctions.ActivatorCreateInstanceStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceHookStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray", null)); AddHook(OriginalManagedFunctions.ActivatorCreateInstanceActivationContextStringArray(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceHookActivationContextStringArray", null)); AddHook(OriginalManagedFunctions.ActivatorCreateInstanceStringStringObjectArray(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceHookStringStringObjectArray", null)); AddHook(OriginalManagedFunctions.ActivatorCreateInstanceAppDomainStringString(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceHookAppDomainStringString", null)); AddHook(OriginalManagedFunctions.ActivatorCreateInstanceAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceHookAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray", null)); AddHook(OriginalManagedFunctions.ActivatorCreateInstanceFromAppDomainStringString(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceFromHookAppDomainStringString", null)); AddHook(OriginalManagedFunctions.ActivatorCreateInstanceFromAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceFromHookAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray", null)); AddHook(OriginalManagedFunctions.ActivatorCreateInstanceFromStringString(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceFromHookStringString", null)); AddHook(OriginalManagedFunctions.ActivatorCreateInstanceFromStringStringObjectArray(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceFromHookStringStringObjectArray", null)); AddHook(OriginalManagedFunctions.ActivatorCreateInstanceFromStringStringBoolBindingFlagsBinderObjectArrayCultureInfoObjectArray(), GetMethodInfo(typeof(ActivatorHooks), "CreateInstanceFromHookStringStringBoolBindingFlagsBinderObjectArrayCultureInfoObjectArray", null)); #endregion #region kernel32.dll hooks string hookPath = "DotDumperNative"; if (IntPtr.Size == 4) { hookPath += "_x86"; } else if (IntPtr.Size == 8) { hookPath += "_x64"; } hookPath += ".dll"; //Working hooks AddHook(OriginalUnmanagedFunctions.Kernel32WriteProcessMemory(), new UnmanagedMethodInfo(hookPath, "WriteProcessMemoryHook", "WriteProcessMemoryHook", null)); AddHook(OriginalUnmanagedFunctions.Kernel32CreateProcessW(), new UnmanagedMethodInfo(hookPath, "CreateProcessWHook", "CreateProcessWHook", null)); AddHook(OriginalUnmanagedFunctions.Kernel32CreateProcessA(), new UnmanagedMethodInfo(hookPath, "CreateProcessAHook", "CreateProcessAHook", null)); AddHook(OriginalUnmanagedFunctions.User32MessageBoxW(), new UnmanagedMethodInfo(hookPath, "MessageBoxW", "MessageBoxWHook", null)); //Download related API calls #endregion if (Config.LogHooks) { LogHooks(); } } /// /// Gets the MethodInfo object from the given type, using the given name (disregarding the casing), and matching the given parameter types (disregarding the casing) and count. Note that only public methods from the given type are iterated! /// /// The type to find the method in /// The function name, case insensitive /// The parameter type(s), insensitive /// If a match is found, the corresponding MethodInfo object is returned. If no match is found, null is returned public static MethodInfo GetMethodInfo(Type type, string name, List parameterTypes) { //Get all public methods from the given type MethodInfo[] methodInfos = type.GetMethods(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); //Iterate over all methods foreach (MethodInfo methodInfo in methodInfos) { //If the name (disregarding casing) is the same, more checks follow, as the correct overloaded method needs to be selected (if present) if (methodInfo.Name.Equals(name, StringComparison.InvariantCultureIgnoreCase)) { //If the given list is not null, include a check for the parameter types (and count) if (parameterTypes != null) { //Get the information regarding the parameters of the method ParameterInfo[] parameterInfos = methodInfo.GetParameters(); //If the amount of parameters is the same, it is a potential match (though not a certain one, as overloads with different types can have the same amount of arguments) if (parameterInfos.Length == parameterTypes.Count) { //A local variable that states if the two functions match bool isMatching = true; //Iterate over all the user-provided parameters for (int i = 0; i < parameterTypes.Count; i++) { //Get the type from the parameter at the given index string parameterInfoType = parameterInfos[i].ParameterType.Name; //Compare the name (disregarding the casing) of the two parameters if (parameterInfoType.Equals(parameterTypes[i], StringComparison.InvariantCultureIgnoreCase) == false) { //If the parameter types do not match at any point in time, the functions do not match isMatching = false; break; } } //If all types matched, the boolean's value remains true if (isMatching) { //Since everything matches, this function matches with the provided information return methodInfo; } } } else //If no parameters are provided, the first hit is returned { return methodInfo; } } } //If no match is found, null is returned return null; } /// /// Logs all loaded hooks via the logger object /// private static void LogHooks() { string title = "---------------Logging all " + Hooks.Count + " loaded hooks---------------"; string message = title + "\n"; foreach (Hook hook in Hooks) { message += hook.OriginalMethod + "\n"; } message += "\n"; //Create a nearly empty log entry object with the relevant information //LogEntry entry = new LogEntry(null, null, null, null, null, null, message, null, null, null, null); //The creation of a log entry sets all hooks as it obtains the current time, which needs to be un-set //UnHookAll(); //Write the entry to the log //GenericHookHelper._Logger.Log(entry, true, false); Console.WriteLine(message); } /// /// Sets all hooks /// public static void HookAll() { foreach (Hook hook in Hooks) { hook.Enable(); } } /// /// Removes all the hooks /// public static void UnHookAll() { foreach (Hook hook in Hooks) { hook.Disable(); } } /// /// Sets the hook, based on the given hook name, ignoring the casing /// /// The name of the hook function (ignoring the return type or parameters) /// True if the hook is set, false if there is no hook with such a name public static bool HookByHookName(string hookName) { foreach (Hook hook in Hooks) { if (hook.CompactHookMethod.Equals(hookName, StringComparison.InvariantCultureIgnoreCase)) { hook.Enable(); return true; } } return false; } /// /// Removes the hook for the given original method, based on the given hook name, ignoring the casing /// /// The name of the hook function (ignoring the return type or parameters) /// True if the hook is removed, false if there is no hook with such a name public static bool UnHookByHookName(string hookName) { foreach (Hook hook in Hooks) { if (hook.CompactHookMethod.Equals(hookName, StringComparison.InvariantCultureIgnoreCase)) { hook.Disable(); return true; } } return false; } } } ================================================ FILE: DotDumper/Hooks/InteropFunctions.cs ================================================ using System; using System.Runtime.InteropServices; namespace DotDumper.Hooks { class InteropFunctions { #region Structures [StructLayout(LayoutKind.Sequential, Pack = 1)] public struct PROCESS_INFORMATION { public IntPtr ProcessHandle; public IntPtr ThreadHandle; public uint ProcessId; public uint ThreadId; } [StructLayout(LayoutKind.Sequential, Pack = 1)] public struct STARTUP_INFORMATION { public uint Size; public string Reserved1; public string Desktop; public string Title; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 36)] public byte[] Misc; public IntPtr Reserved2; public IntPtr StdInput; public IntPtr StdOutput; public IntPtr StdError; } [StructLayout(LayoutKind.Sequential, Pack = 1)] public struct SECURITY_ATTRIBUTES { uint nLength; IntPtr lpSecurityDescriptor; bool bInheritHandle; } /// /// The struct definition for the SystemTime struct /// public struct SystemTime { public ushort Year; public ushort Month; public ushort DayOfWeek; public ushort Day; public ushort Hour; public ushort Minute; public ushort Second; public ushort Millisecond; }; #endregion #region kernel32.dll [DllImport("kernel32.dll", SetLastError = true)] public static extern bool WriteProcessMemory(IntPtr hProcess, int lpBaseAddress, byte[] lpBuffer, int nSize, out IntPtr lpNumberOfBytesWritten); [DllImport("kernel32.dll", SetLastError = true)] public static extern uint GetProcessId(IntPtr handle); [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] public static extern IntPtr LoadLibrary(string libname); [DllImport("kernel32.dll")] public static extern IntPtr VirtualAlloc(IntPtr lpAddress, uint dwSize, uint flAllocationType, uint flProtect); [DllImport("kernel32.dll")] public static extern int VirtualAllocEx(IntPtr handle, int address, int length, int type, int protect); [DllImport("kernel32.dll")] public static extern bool ReadProcessMemory(IntPtr process, int baseAddress, ref int buffer, int bufferSize, ref int bytesRead); [DllImport("kernel32.dll")] public static extern bool Wow64SetThreadContext(IntPtr thread, int[] context); [DllImport("kernel32.dll")] public static extern bool SetThreadContext(IntPtr thread, int[] context); [DllImport("kernel32.dll")] public static extern bool Wow64GetThreadContext(IntPtr thread, int[] context); [DllImport("kernel32.dll")] public static extern bool GetThreadContext(IntPtr thread, int[] context); [DllImport("kernel32.dll", CharSet = CharSet.Ansi)] public static extern bool CreateProcessA(string applicationName, string commandLine, IntPtr processAttributes, IntPtr threadAttributes, bool inheritHandles, uint creationFlags, IntPtr environment, string currentDirectory, ref STARTUP_INFORMATION startupInfo, ref PROCESS_INFORMATION processInformation); [DllImport("kernel32.dll", CharSet = CharSet.Unicode)] public static extern bool CreateProcessW(IntPtr applicationName, IntPtr commandLine, IntPtr processAttributes, IntPtr threadAttributes, bool inheritHandles, int creationFlags, IntPtr environment, IntPtr currentDirectory, ref IntPtr startupInfo, ref IntPtr processInformation); [DllImport("kernel32.dll")] public static extern int ResumeThread(IntPtr handle); [DllImport("kernel32.dll", SetLastError = true)] internal static extern bool VirtualProtect(IntPtr address, uint size, uint newProtect, out uint oldProtect); [DllImport("kernel32.dll", SetLastError = true)] public static extern bool VirtualProtectEx(IntPtr hProcess, int lpAddress, UIntPtr dwSize, uint flNewProtect, out uint lpflOldProtect); [DllImport("kernel32", CharSet = CharSet.Ansi, SetLastError = true)] public static extern IntPtr GetProcAddress(IntPtr hModule, string procName); [DllImport("kernel32.dll", CharSet = CharSet.Auto)] public static extern IntPtr GetModuleHandle(string lpModuleName); /// /// The native import of the SetSystemTime function from kernel32.dll /// /// A reference to an instance of the SystemTime struct /// True if set correctly, false if not [DllImport("kernel32.dll", EntryPoint = "SetSystemTime", SetLastError = true)] public extern static bool SetSystemTime(ref SystemTime sysTime); #endregion #region ntdll.dll [DllImport("ntdll.dll")] public static extern int NtUnmapViewOfSection(IntPtr process, int baseAddress); #endregion #region user32.dll [DllImport("user32.dll", CharSet = CharSet.Unicode)] public static extern int MessageBoxW(int hWnd, String text, String caption, uint type); #endregion } } ================================================ FILE: DotDumper/Hooks/OriginalManagedFunctions.cs ================================================ using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Net; using System.Reflection; using System.Resources; using System.Threading; namespace DotDumper.Hooks { /// /// All methods within this class refer to managed functions. This class contains static functions which obtain the MethodInfo object. This object, for the corresponding function, is used in the hooks of DotDumper, and when logging certain calls. /// class OriginalManagedFunctions { #region Original ResourceManager methods /// /// Gets the MethodInfo object for ResourceManager.GetObject(string name) /// /// public static MethodInfo ResourceManagerGetObjectString() { Type type = typeof(ResourceManager); string name = "GetObject"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for ResourceManager.GetObject(string name, CultureInfo cultureInfo) /// /// public static MethodInfo ResourceManagerGetObjectStringCultureInfo() { Type type = typeof(ResourceManager); string name = "GetObject"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("cultureInfo"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for ResourceManager.GetString(string name) /// /// public static MethodInfo ResourceManagerGetStringString() { Type type = typeof(ResourceManager); string name = "GetString"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for ResourceManager.GetString(string name, CultureInfo cultureInfo) /// /// public static MethodInfo ResourceManagerGetStringStringCultureInfo() { Type type = typeof(ResourceManager); string name = "GetString"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("cultureInfo"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for ResourceManager.GetString(string name) /// /// public static MethodInfo ResourceManagerGetStreamString() { Type type = typeof(ResourceManager); string name = "GetStream"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for ResourceManager.GetString(string name, CultureInfo cultureInfo) /// /// public static MethodInfo ResourceManagerGetStreamStringCultureInfo() { Type type = typeof(ResourceManager); string name = "GetStream"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("cultureInfo"); return HookManager.GetMethodInfo(type, name, parameterTypes); } #endregion #region Original Environment methods /// /// Gets the MethodInfo object for Environment.Exit(int exitCode) /// /// public static MethodInfo EnvironmentExitInt() { Type type = typeof(Environment); string name = "Exit"; List parameterTypes = new List(); parameterTypes.Add("int32"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Environment.ExpandEnvironmentVariables(string name) /// /// public static MethodInfo EnvironmentExpandEnvironmentVariablesString() { Type type = typeof(Environment); string name = "ExpandEnvironmentVariables"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Environment.FailFast(string message, Exception exception) /// /// public static MethodInfo EnvironmentFailFastStringException() { Type type = typeof(Environment); string name = "FailFast"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("exception"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Environment.FailFast(string message) /// /// public static MethodInfo EnvironmentFailFastString() { Type type = typeof(Environment); string name = "FailFast"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Environment.GetCommandLineArgs() /// /// public static MethodInfo EnvironmentGetCommandLineArgs() { Type type = typeof(Environment); string name = "GetCommandLineArgs"; List parameterTypes = new List(); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Environment.GetEnvironmentVariable(string variable, EnvironmentVariableTarget target) /// /// public static MethodInfo EnvironmentGetEnvironmentVariableStringEnvironmentVariableTarget() { Type type = typeof(Environment); string name = "GetEnvironmentVariable"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("EnvironmentVariableTarget"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Environment.GetEnvironmentVariable(string variable) /// /// public static MethodInfo EnvironmentGetEnvironmentVariableString() { Type type = typeof(Environment); string name = "GetEnvironmentVariable"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Environment.GetEnvironmentVariables(EnvironmentVariableTarget target) /// /// public static MethodInfo EnvironmentGetEnvironmentVariablesEnvironmentVariableTarget() { Type type = typeof(Environment); string name = "GetEnvironmentVariables"; List parameterTypes = new List(); parameterTypes.Add("EnvironmentVariableTarget"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Environment.GetEnvironmentVariables() /// /// public static MethodInfo EnvironmentGetEnvironmentVariables() { Type type = typeof(Environment); string name = "GetEnvironmentVariables"; List parameterTypes = new List(); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Environment.GetFolderPath(SpecialFolder folder, SpecialFolderOption option) /// /// public static MethodInfo EnvironmentGetFolderPathSpecialFolderSpecialFolderOption() { Type type = typeof(Environment); string name = "GetFolderPath"; List parameterTypes = new List(); parameterTypes.Add("SpecialFolder"); parameterTypes.Add("SpecialFolderOption"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Environment.GetFolderPath(SpecialFolder folder) /// /// public static MethodInfo EnvironmentGetFolderPathSpecialFolder() { Type type = typeof(Environment); string name = "GetFolderPath"; List parameterTypes = new List(); parameterTypes.Add("SpecialFolder"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Environment.GetLogicalDrives() /// /// public static MethodInfo EnvironmentGetLogicalDrives() { Type type = typeof(Environment); string name = "GetLogicalDrives"; List parameterTypes = new List(); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Environment.SetEnvironmentVariable(string variable, string value, EnvironmentVariableTarget target) /// /// public static MethodInfo EnvironmentSetEnvironmentVariableStringStringEnvironmentVariableTarget() { Type type = typeof(Environment); string name = "SetEnvironmentVariable"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("EnvironmentVariableTarget"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Environment.SetEnvironmentVariable(string variable, string value) /// /// public static MethodInfo EnvironmentSetEnvironmentVariableStringString() { Type type = typeof(Environment); string name = "SetEnvironmentVariable"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Environment.GetResourceFromDefault(string key) /// /// public static MethodInfo EnvironmentGetResourceFromDefaultString() { Type type = typeof(Environment); string name = "GetResourceFromDefault"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } #endregion #region Original Thread methods /// /// Gets the MethodInfo object for Thread.Sleep(int millisecondsTimeout) /// /// public static MethodInfo ThreadSleepInt() { Type type = typeof(Thread); string name = "Sleep"; List parameterTypes = new List(); parameterTypes.Add("int32"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Thread.Sleep(TimeSpan timeout) /// /// public static MethodInfo ThreadSleepTimeSpan() { Type type = typeof(Thread); string name = "Sleep"; List parameterTypes = new List(); parameterTypes.Add("timespan"); return HookManager.GetMethodInfo(type, name, parameterTypes); } #endregion #region Original Path methods /// /// Gets the MethodInfo object for Path.ChangeExtension(string path, string extension) /// /// public static MethodInfo PathChangeExtensionStringString() { Type type = typeof(Path); string name = "ChangeExtension"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Path.Combine(string path1, string path2) /// /// public static MethodInfo PathCombineStringString() { Type type = typeof(Path); string name = "Combine"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Path.Combine(string path1, string path2, string path3) /// /// public static MethodInfo PathCombineStringStringString() { Type type = typeof(Path); string name = "Combine"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Path.Combine(string path1, string path2, string path3, string path4) /// /// public static MethodInfo PathCombineStringStringStringString() { Type type = typeof(Path); string name = "Combine"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Path.Combine(params string[] paths) /// /// public static MethodInfo PathCombineStringArray() { Type type = typeof(Path); string name = "Combine"; List parameterTypes = new List(); parameterTypes.Add("string[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Path.GetDirectoryName(string path) /// /// public static MethodInfo PathGetDirectoryNameString() { Type type = typeof(Path); string name = "GetDirectoryName"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Path.GetExtension(string path) /// /// public static MethodInfo PathGetExtensionString() { Type type = typeof(Path); string name = "GetExtension"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Path.GetFileName(string path) /// /// public static MethodInfo PathGetFileNameString() { Type type = typeof(Path); string name = "GetFileName"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Path.GetFileNameWithoutExtension(string path) /// /// public static MethodInfo PathGetFileNameWithoutExtensionString() { Type type = typeof(Path); string name = "GetFileNameWithoutExtension"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Path.GetFullPath(string path) /// /// public static MethodInfo PathGetFullPathString() { Type type = typeof(Path); string name = "GetFullPath"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Path.GetPathRoot(string path) /// /// public static MethodInfo PathGetPathRootString() { Type type = typeof(Path); string name = "GetPathRoot"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Path.GetRandomFileName() /// /// public static MethodInfo PathGetRandomFileName() { Type type = typeof(Path); string name = "GetRandomFileName"; List parameterTypes = new List(); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Path.GetTempFileName() /// /// public static MethodInfo PathGetTempFileName() { Type type = typeof(Path); string name = "GetTempFileName"; List parameterTypes = new List(); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Path.GetTempPath() /// /// public static MethodInfo PathGetTempPath() { Type type = typeof(Path); string name = "GetTempPath"; List parameterTypes = new List(); return HookManager.GetMethodInfo(type, name, parameterTypes); } #endregion #region Original File methods /// /// Gets the MethodInfo object for File.AppendAllLines(string path, IEnumerable contents) /// /// public static MethodInfo FileAppendAllLinesStringIenumerableString() { Type type = typeof(File); string name = "AppendAllLines"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("IEnumerable`1"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.AppendAllLines(string path, IEnumerable contents, Encoding encoding) /// /// public static MethodInfo FileAppendAllLinesStringIenumerableStringEncoding() { Type type = typeof(File); string name = "AppendAllLines"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("IEnumerable`1"); parameterTypes.Add("encoding"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.AppendAllText(string path, string contents, Encoding encoding) /// /// public static MethodInfo FileAppendAllTextStringStringEncoding() { Type type = typeof(File); string name = "AppendAllText"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("encoding"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.AppendAllText(string path, string contents) /// /// public static MethodInfo FileAppendAllTextStringString() { Type type = typeof(File); string name = "AppendAllText"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.AppendText(string path) /// /// public static MethodInfo FileAppendTextString() { Type type = typeof(File); string name = "AppendText"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.Copy(string sourceFileName, string destFileName) /// /// public static MethodInfo FileCopyStringString() { Type type = typeof(File); string name = "Copy"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.Copy(string sourceFileName, string destFileName, bool overwrite) /// /// public static MethodInfo FileCopyStringStringBoolean() { Type type = typeof(File); string name = "Copy"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("boolean"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.Create(string path) /// /// public static MethodInfo FileCreateString() { Type type = typeof(File); string name = "Create"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.Create(string path, int bufferSize) /// /// public static MethodInfo FileCreateStringInt() { Type type = typeof(File); string name = "Create"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("int32"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.Create(string path, int bufferSize, FileOptions options) /// /// public static MethodInfo FileCreateStringIntFileOptions() { Type type = typeof(File); string name = "Create"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("int32"); parameterTypes.Add("FileOptions"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.Create(string path, int bufferSize, FileOptions options, FileSecurity fileSecurity) /// /// public static MethodInfo FileCreateStringIntFileOptionsFileSecurity() { Type type = typeof(File); string name = "Create"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("int32"); parameterTypes.Add("FileOptions"); parameterTypes.Add("FileSecurity"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.CreateText(string path) /// /// public static MethodInfo FileCreateTextString() { Type type = typeof(File); string name = "CreateText"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.Decrypt(string path) /// /// public static MethodInfo FileDecryptString() { Type type = typeof(File); string name = "Decrypt"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.Delete(string path) /// /// public static MethodInfo FileDeleteString() { Type type = typeof(File); string name = "Delete"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.Encrypt(string path) /// /// public static MethodInfo FileEncryptString() { Type type = typeof(File); string name = "Encrypt"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.Exists(string path) /// /// public static MethodInfo FileExiststString() { Type type = typeof(File); string name = "Exists"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.Move(string sourceFileName, string destFileName) /// /// public static MethodInfo FileMoveStringString() { Type type = typeof(File); string name = "Move"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.Open(string path, FileMode mode, FileAccess access, FileShare share) /// /// public static MethodInfo FileOpenStringFileModeFileAccessFileShare() { Type type = typeof(File); string name = "Open"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("FileMode"); parameterTypes.Add("FileAccess"); parameterTypes.Add("FileShare"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.Open(string path, FileMode mode) /// /// public static MethodInfo FileOpenStringFileMode() { Type type = typeof(File); string name = "Open"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("FileMode"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.Open(string path, FileMode mode, FileAccess access) /// /// public static MethodInfo FileOpenStringFileModeFileAccess() { Type type = typeof(File); string name = "Open"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("FileMode"); parameterTypes.Add("FileAccess"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.OpenRead(string path) /// /// public static MethodInfo FileOpenReadString() { Type type = typeof(File); string name = "OpenRead"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.OpenText(string path) /// /// public static MethodInfo FileOpenTextString() { Type type = typeof(File); string name = "OpenText"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.OpenWrite(string path) /// /// public static MethodInfo FileOpenWriteString() { Type type = typeof(File); string name = "OpenWrite"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.ReadAllLines(string path, Encoding encoding) /// /// public static MethodInfo FileReadAllLinesStringEncoding() { Type type = typeof(File); string name = "ReadAllLines"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("encoding"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.ReadAllLines(string path) /// /// public static MethodInfo FileReadAllLinesString() { Type type = typeof(File); string name = "ReadAllLines"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.ReadAllText(string path) /// /// public static MethodInfo FileReadAllTextString() { Type type = typeof(File); string name = "ReadAllText"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.ReadAllText(string path, Encoding encoding) /// /// public static MethodInfo FileReadAllTextStringEncoding() { Type type = typeof(File); string name = "ReadAllText"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("encoding"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.ReadLines(string path, Encoding encoding) /// /// public static MethodInfo FileReadLinesStringEncoding() { Type type = typeof(File); string name = "ReadLines"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("encoding"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.ReadLines(string path) /// /// public static MethodInfo FileReadLinesString() { Type type = typeof(File); string name = "ReadLines"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.Replace(string sourceFileName, string destinationFileName, string destinationBackupFileName) /// /// public static MethodInfo FileReplaceStringStringString() { Type type = typeof(File); string name = "Replace"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.Replace(string sourceFileName, string destinationFileName, string destinationBackupFileName, bool ignoreMetadataErrors) /// /// public static MethodInfo FileReplaceStringStringStringBoolean() { Type type = typeof(File); string name = "Replace"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("boolean"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.SetAccessControl(string path, FileSecurity fileSecurity) /// /// public static MethodInfo FileSetAccessControlStringFileSecurity() { Type type = typeof(File); string name = "SetAccessControl"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("FileSecurity"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.SetAttributes(string path, FileAttributes fileAttributes) /// /// public static MethodInfo FileSetAttributesStringFileAttributes() { Type type = typeof(File); string name = "SetAttributes"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("FileAttributes"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.WriteAllBytes(string path, byte[] bytes) /// /// public static MethodInfo FileWriteAllBytesStringByteArray() { Type type = typeof(File); string name = "WriteAllBytes"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("byte[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.WriteAllLines(string path, string[] contents) /// /// public static MethodInfo FileWriteAllLinesStringStringArray() { Type type = typeof(File); string name = "WriteAllLines"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.WriteAllLines(string path, string[] contents, Encoding encoding) /// /// public static MethodInfo FileWriteAllLinesStringStringArrayEncoding() { Type type = typeof(File); string name = "WriteAllLines"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string[]"); parameterTypes.Add("encoding"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.WriteAllLines(string path, IEnumerable contents) /// /// public static MethodInfo FileWriteAllLinesStringIenumerableString() { Type type = typeof(File); string name = "WriteAllLines"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("ienumerable`1"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.WriteAllLines(string path, IEnumerable contents, Encoding encoding) /// /// public static MethodInfo FileWriteAllLinesStringIenumerableStringEncoding() { Type type = typeof(File); string name = "WriteAllLines"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("ienumerable`1"); parameterTypes.Add("encoding"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.WriteAllText(string path, string contents) /// /// public static MethodInfo FileWriteAllTextStringString() { Type type = typeof(File); string name = "WriteAllText"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.WriteAllText(string path, string contents, Encoding encoding) /// /// public static MethodInfo FileWriteAllTextStringStringEncoding() { Type type = typeof(File); string name = "WriteAllText"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("encoding"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for File.ReadAllBytes(string path) /// /// public static MethodInfo FileReadAllBytesString() { Type type = typeof(File); string name = "ReadAllBytes"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } #endregion #region Original Convert methods /// /// Gets the MethodInfo object for Convert.FromBase64String(string s) /// /// public static MethodInfo ConvertFromBase64StringString() { Type type = typeof(Convert); string name = "FromBase64String"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Convert.FromBase64CharArray(char[] inArray, int offset, int length) /// /// public static MethodInfo ConvertFromBase64CharArrayCharArrayIntInt() { Type type = typeof(Convert); string name = "FromBase64CharArray"; List parameterTypes = new List(); parameterTypes.Add("char[]"); parameterTypes.Add("int32"); parameterTypes.Add("int32"); return HookManager.GetMethodInfo(type, name, parameterTypes); } #endregion #region Original Process methods /// /// Gets the MethodInfo object for Process.GetCurrentProcess() /// /// public static MethodInfo ProcessGetCurrentProcess() { Type type = typeof(Process); string name = "GetCurrentProcess"; List parameterTypes = new List(); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Process.GetProcessById(int processId, string machineName) /// /// public static MethodInfo ProcessGetProcessByIdIntString() { Type type = typeof(Process); string name = "GetProcessById"; List parameterTypes = new List(); parameterTypes.Add("int32"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Process.GetProcessById(int processId) /// /// public static MethodInfo ProcessGetProcessByIdInt() { Type type = typeof(Process); string name = "GetProcessById"; List parameterTypes = new List(); parameterTypes.Add("int32"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Process.GetProcesses() /// /// public static MethodInfo ProcessGetProcesses() { Type type = typeof(Process); string name = "GetProcesses"; List parameterTypes = new List(); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Process.GetProcesses(string machineName) /// /// public static MethodInfo ProcessGetProcessesString() { Type type = typeof(Process); string name = "GetProcesses"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Process.GetProcessesByName(string processName) /// /// public static MethodInfo ProcessGetProcessesByNameString() { Type type = typeof(Process); string name = "GetProcessesByName"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Process.GetProcessesByName(string processName, string machineName) /// /// public static MethodInfo ProcessGetProcessesByNameStringString() { Type type = typeof(Process); string name = "GetProcessesByName"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Process.Start(string fileName, string arguments) /// /// public static MethodInfo ProcessStartStringString() { Type type = typeof(Process); string name = "Start"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Process.Start(ProcessStartInfo startInfo) /// /// public static MethodInfo ProcessStartProcessStartInfo() { Type type = typeof(Process); string name = "Start"; List parameterTypes = new List(); parameterTypes.Add("ProcessStartInfo"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Process.Start(string fileName) /// /// public static MethodInfo ProcessStartString() { Type type = typeof(Process); string name = "Start"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Process.Start(string fileName, string arguments, string userName, SecureString password, string domain) /// /// public static MethodInfo ProcessStartStringStringStringSecureStringString() { Type type = typeof(Process); string name = "Start"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("securestring"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Process.Start(string fileName, string userName, SecureString password, string domain) /// /// public static MethodInfo ProcessStartStringStringSecureStringString() { Type type = typeof(Process); string name = "Start"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("securestring"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Process.Start() /// /// public static MethodInfo ProcessStart() { Type type = typeof(Process); string name = "Start"; List parameterTypes = new List(); return HookManager.GetMethodInfo(type, name, parameterTypes); } #endregion #region Original WebClient methods /// /// Gets the MethodInfo object for new WebClient().DownloadData(string address) /// /// public static MethodInfo WebClientDownloadDataString() { Type type = typeof(WebClient); string name = "DownloadData"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().DownloadData(Uri address) /// /// public static MethodInfo WebClientDownloadDataUri() { Type type = typeof(WebClient); string name = "DownloadData"; List parameterTypes = new List(); parameterTypes.Add("uri"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().DownloadString(string address) /// /// public static MethodInfo WebClientDownloadStringString() { Type type = typeof(WebClient); string name = "DownloadString"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().DownloadString(Uri address) /// /// public static MethodInfo WebClientDownloadStringUri() { Type type = typeof(WebClient); string name = "DownloadString"; List parameterTypes = new List(); parameterTypes.Add("uri"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().DownloadFile(string address, string filename) /// /// public static MethodInfo WebClientDownloadFileStringString() { Type type = typeof(WebClient); string name = "DownloadFile"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().DownloadFile(Uri address, string filename) /// /// public static MethodInfo WebClientDownloadFileUriString() { Type type = typeof(WebClient); string name = "DownloadFile"; List parameterTypes = new List(); parameterTypes.Add("uri"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().OpenRead(string address) /// /// public static MethodInfo WebClientOpenReadString() { Type type = typeof(WebClient); string name = "OpenRead"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().OpenRead(Uri address) /// /// public static MethodInfo WebClientOpenReadUri() { Type type = typeof(WebClient); string name = "OpenRead"; List parameterTypes = new List(); parameterTypes.Add("uri"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().OpenWrite(string address) /// /// public static MethodInfo WebClientOpenWriteString() { Type type = typeof(WebClient); string name = "OpenWrite"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().OpenWrite(string address, string method) /// /// public static MethodInfo WebClientOpenWriteStringString() { Type type = typeof(WebClient); string name = "OpenWrite"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().OpenWrite(Uri address) /// /// public static MethodInfo WebClientOpenWriteUri() { Type type = typeof(WebClient); string name = "OpenWrite"; List parameterTypes = new List(); parameterTypes.Add("uri"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().OpenWrite(Uri address, string method) /// /// public static MethodInfo WebClientOpenWriteUriString() { Type type = typeof(WebClient); string name = "OpenWrite"; List parameterTypes = new List(); parameterTypes.Add("uri"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().UploadData(Uri address, string method, byte[] data) /// /// public static MethodInfo WebClientUploadDataUriStringByteArray() { Type type = typeof(WebClient); string name = "UploadData"; List parameterTypes = new List(); parameterTypes.Add("uri"); parameterTypes.Add("string"); parameterTypes.Add("byte[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().UploadData(string address, string method, byte[] data) /// /// public static MethodInfo WebClientUploadDataStringStringByteArray() { Type type = typeof(WebClient); string name = "UploadData"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("byte[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().UploadData(string address, byte[] data) /// /// public static MethodInfo WebClientUploadDataStringByteArray() { Type type = typeof(WebClient); string name = "UploadData"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("byte[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().UploadData(Uri address, byte[] data) /// /// public static MethodInfo WebClientUploadDataUriByteArray() { Type type = typeof(WebClient); string name = "UploadData"; List parameterTypes = new List(); parameterTypes.Add("uri"); parameterTypes.Add("byte[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().UploadFile(Uri address, string method, string fileName) /// /// public static MethodInfo WebClientUploadFileUriStringString() { Type type = typeof(WebClient); string name = "UploadFile"; List parameterTypes = new List(); parameterTypes.Add("uri"); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().UploadFile(string address, string method, string fileName) /// /// public static MethodInfo WebClientUploadFileStringStringString() { Type type = typeof(WebClient); string name = "UploadFile"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().UploadFile(Uri address, string fileName) /// /// public static MethodInfo WebClientUploadFileUriString() { Type type = typeof(WebClient); string name = "UploadFile"; List parameterTypes = new List(); parameterTypes.Add("uri"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().UploadFile(String address, string fileName) /// /// public static MethodInfo WebClientUploadFileStringString() { Type type = typeof(WebClient); string name = "UploadFile"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().UploadString(string address, string data) /// /// public static MethodInfo WebClientUploadStringStringString() { Type type = typeof(WebClient); string name = "UploadString"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().UploadString(Uri address, string data) /// /// public static MethodInfo WebClientUploadStringUriString() { Type type = typeof(WebClient); string name = "UploadString"; List parameterTypes = new List(); parameterTypes.Add("uri"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().UploadString(string address, string method, string data) /// /// public static MethodInfo WebClientUploadStringStringStringString() { Type type = typeof(WebClient); string name = "UploadString"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().UploadString(Uri address, string method, string data) /// /// public static MethodInfo WebClientUploadStringUriStringString() { Type type = typeof(WebClient); string name = "UploadString"; List parameterTypes = new List(); parameterTypes.Add("uri"); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().UploadValues(Uri address, string method, NameValueCollection data) /// /// public static MethodInfo WebClientUploadValuesUriStringNameValueCollection() { Type type = typeof(WebClient); string name = "UploadValues"; List parameterTypes = new List(); parameterTypes.Add("uri"); parameterTypes.Add("string"); parameterTypes.Add("NameValueCollection"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().UploadValues(string address, string method, NameValueCollection data) /// /// public static MethodInfo WebClientUploadValuesStringStringNameValueCollection() { Type type = typeof(WebClient); string name = "UploadValues"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("NameValueCollection"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().UploadValues(Uri address, NameValueCollection data) /// /// public static MethodInfo WebClientUploadValuesUriNameValueCollection() { Type type = typeof(WebClient); string name = "UploadValues"; List parameterTypes = new List(); parameterTypes.Add("uri"); parameterTypes.Add("NameValueCollection"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for new WebClient().UploadValues(string address, NameValueCollection data) /// /// public static MethodInfo WebClientUploadValuesStringNameValueCollection() { Type type = typeof(WebClient); string name = "UploadValues"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("NameValueCollection"); return HookManager.GetMethodInfo(type, name, parameterTypes); } #endregion #region Original Type methods /// /// Gets the MethodInfo object for Type.InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, CultureInfo culture) /// /// public static MethodInfo TypeInvokeMemberStringBindingFlagsBinderObjectObjectArrayCultureInfo() { Type type = typeof(Type); string name = "InvokeMember"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("BindingFlags"); parameterTypes.Add("binder"); parameterTypes.Add("object"); parameterTypes.Add("object[]"); parameterTypes.Add("CultureInfo"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Type.InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args) /// /// public static MethodInfo TypeInvokeMemberStringBindingFlagsBinderObjectObjectArray() { Type type = typeof(Type); string name = "InvokeMember"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("BindingFlags"); parameterTypes.Add("binder"); parameterTypes.Add("object"); parameterTypes.Add("object[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } #endregion #region Original MethodBase methods /// /// Gets the MethodInfo object for MethodBase.Invoke(object obj, BindingFlags invokeAttr, Binder binder, object[] parameters, CultureInfo culture) /// /// public static MethodInfo MethodBaseInvokeObjectBindingFlagsBinderObjectArrayCultureInfo() { Type type = typeof(MethodBase); string name = "Invoke"; List parameterTypes = new List(); parameterTypes.Add("object"); parameterTypes.Add("BindingFlags"); parameterTypes.Add("binder"); parameterTypes.Add("object[]"); parameterTypes.Add("CultureInfo"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for MethodBase.Invoke(object obj, object[] parameters) /// /// public static MethodInfo MethodBaseInvokeObjectObjectArray() { Type type = typeof(MethodBase); string name = "Invoke"; List parameterTypes = new List(); parameterTypes.Add("object"); parameterTypes.Add("object[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } #endregion #region Original Assembly methods /// /// Gets the MethodInfo object for Assembly.GetEntryAssembly() /// /// public static MethodInfo AssemblyGetEntryAssembly() { Type type = typeof(Assembly); string name = "GetEntryAssembly"; List parameterTypes = new List(); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.GetExecutingAssembly() /// /// public static MethodInfo AssemblyGetExecutingAssembly() { Type type = typeof(Assembly); string name = "GetExecutingAssembly"; List parameterTypes = new List(); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.ReflectionOnlyLoadFrom(string assemblyFile) /// /// public static MethodInfo AssemblyReflectionOnlyLoadFromString() { Type type = typeof(Assembly); string name = "ReflectionOnlyLoadFrom"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.UnsafeLoadFrom(string assemblyFile) /// /// public static MethodInfo AssemblyUnsafeLoadFromString() { Type type = typeof(Assembly); string name = "UnsafeLoadFrom"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.ReflectionOnlyLoad(byte[] rawAssembly) /// /// public static MethodInfo AssemblyReflectionOnlyLoadByteArray() { Type type = typeof(Assembly); string name = "ReflectionOnlyLoad"; List parameterTypes = new List(); parameterTypes.Add("byte[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.ReflectionOnlyLoad(string assemblyString) /// /// public static MethodInfo AssemblyReflectionOnlyLoadString() { Type type = typeof(Assembly); string name = "ReflectionOnlyLoad"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.LoadWithPartialName(string partialName) /// /// Note that this function is deprecated, see http://go.microsoft.com/fwlink/?LinkID=155570 for more information /// /// public static MethodInfo AssemblyLoadWithPartialNameString() { Type type = typeof(Assembly); string name = "LoadWithPartialName"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.LoadWithPartialName(string partialName, Evidence securityEvidence) /// /// Note that this function is deprecated, see http://go.microsoft.com/fwlink/?LinkID=14202 for more information /// /// public static MethodInfo AssemblyLoadWithPartialNameStringEvidence() { Type type = typeof(Assembly); string name = "LoadWithPartialName"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("evidence"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.LoadFrom(string assemblyFile, Evidence securityEvidence, byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm) /// /// Note that this function is deprecated, see http://go.microsoft.com/fwlink/?LinkID=14202 for more information /// /// public static MethodInfo AssemblyLoadFromStringEvidenceByteArrayAssemblyHashAlgorithm() { Type type = typeof(Assembly); string name = "LoadFrom"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("evidence"); parameterTypes.Add("byte[]"); parameterTypes.Add("AssemblyHashAlgorithm"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.LoadFrom(string assemblyFile, byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm) /// /// public static MethodInfo AssemblyLoadFromStringByteArrayAssemblyHashAlgorithm() { Type type = typeof(Assembly); string name = "LoadFrom"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("byte[]"); parameterTypes.Add("AssemblyHashAlgorithm"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.LoadFrom(string path) /// /// public static MethodInfo AssemblyLoadFromString() { Type type = typeof(Assembly); string name = "LoadFrom"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.LoadFrom(string path, Evidence securityEvidence) /// /// Note that this function is deprecated, see http://go.microsoft.com/fwlink/?LinkID=155570 for more information /// /// public static MethodInfo AssemblyLoadFromStringEvidence() { Type type = typeof(Assembly); string name = "LoadFrom"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("evidence"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.LoadFile(string path, Evidence securityEvidence) /// /// Note that this function is deprecated, see http://go.microsoft.com/fwlink/?LinkID=155570 for more information /// /// public static MethodInfo AssemblyLoadFileStringEvidence() { Type type = typeof(Assembly); string name = "LoadFile"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("evidence"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.LoadFile(string path) /// /// public static MethodInfo AssemblyLoadFileString() { Type type = typeof(Assembly); string name = "LoadFile"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.Load(byte[] rawAssembly, byte[] rawSymbolStore) /// /// public static MethodInfo AssemblyLoadByteArrayByteArray() { Type type = typeof(Assembly); string name = "Load"; List parameterTypes = new List(); parameterTypes.Add("byte[]"); parameterTypes.Add("byte[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.Load(byte[] rawAssembly, byte[] rawSymbolStore, SecurityContextSource securityContextSource) /// /// public static MethodInfo AssemblyLoadByteArrayByteArraySecurityContextSource() { Type type = typeof(Assembly); string name = "Load"; List parameterTypes = new List(); parameterTypes.Add("byte[]"); parameterTypes.Add("byte[]"); parameterTypes.Add("SecurityContextSource"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.Load(AssemblyName assemblyRef, Evidence securityEvidence) /// /// Note that this function is deprecated, see http://go.microsoft.com/fwlink/?LinkID=155570 for more information /// /// public static MethodInfo AssemblyLoadAssemblyNameEvidence() { Type type = typeof(Assembly); string name = "Load"; List parameterTypes = new List(); parameterTypes.Add("AssemblyName"); parameterTypes.Add("evidence"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.Load(AssemblyName assemblyRef) /// /// public static MethodInfo AssemblyLoadAssemblyName() { Type type = typeof(Assembly); string name = "Load"; List parameterTypes = new List(); parameterTypes.Add("AssemblyName"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.Load(byte[] rawAssembly, byte[] rawSymbolStore, Evidence securityEvidence) /// /// Note that this function is deprecated, see http://go.microsoft.com/fwlink/?LinkID=155570 for more information /// /// public static MethodInfo AssemblyLoadByteArrayByteArrayEvidence() { Type type = typeof(Assembly); string name = "Load"; List parameterTypes = new List(); parameterTypes.Add("byte[]"); parameterTypes.Add("byte[]"); parameterTypes.Add("evidence"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.Load(string assemblyString, Evidence assemblySecurity) /// /// Note that this function is deprecated, see http://go.microsoft.com/fwlink/?LinkID=155570 for more information /// /// public static MethodInfo AssemblyLoadStringEvidence() { Type type = typeof(Assembly); string name = "Load"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("evidence"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.Load(String assemblyString) /// /// public static MethodInfo AssemblyLoadString() { Type type = typeof(Assembly); string name = "Load"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Assembly.Load(Byte[] rawAssembly) /// /// public static MethodInfo AssemblyLoadByteArray() { Type type = typeof(Assembly); string name = "Load"; List parameterTypes = new List(); parameterTypes.Add("byte[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } #endregion #region Original Console methods /// /// Gets the MethodInfo object for Console.Write(string value) /// /// public static MethodInfo ConsoleWriteString() { Type type = typeof(Console); string name = "Write"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.Write(object value) /// /// public static MethodInfo ConsoleWriteObject() { Type type = typeof(Console); string name = "Write"; List parameterTypes = new List(); parameterTypes.Add("object"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.Write(ulong value) /// /// public static MethodInfo ConsoleWriteUlong() { Type type = typeof(Console); string name = "Write"; List parameterTypes = new List(); parameterTypes.Add("uint64"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.Write(long value) /// /// public static MethodInfo ConsoleWriteLong() { Type type = typeof(Console); string name = "Write"; List parameterTypes = new List(); parameterTypes.Add("int64"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.Write(int value) /// /// public static MethodInfo ConsoleWriteInt() { Type type = typeof(Console); string name = "Write"; List parameterTypes = new List(); parameterTypes.Add("int32"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.Write(uint value) /// /// public static MethodInfo ConsoleWriteUint() { Type type = typeof(Console); string name = "Write"; List parameterTypes = new List(); parameterTypes.Add("uint32"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.Write(bool value) /// /// public static MethodInfo ConsoleWriteBool() { Type type = typeof(Console); string name = "Write"; List parameterTypes = new List(); parameterTypes.Add("boolean"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.Write(char value) /// /// public static MethodInfo ConsoleWriteChar() { Type type = typeof(Console); string name = "Write"; List parameterTypes = new List(); parameterTypes.Add("char"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.Write(decimal value) /// /// public static MethodInfo ConsoleWriteDecimal() { Type type = typeof(Console); string name = "Write"; List parameterTypes = new List(); parameterTypes.Add("decimal"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.Write(float value) /// /// public static MethodInfo ConsoleWriteFloat() { Type type = typeof(Console); string name = "Write"; List parameterTypes = new List(); parameterTypes.Add("single"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.Write(double value) /// /// public static MethodInfo ConsoleWriteDouble() { Type type = typeof(Console); string name = "Write"; List parameterTypes = new List(); parameterTypes.Add("double"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.Write(string format, object arg0) /// /// public static MethodInfo ConsoleWriteStringObject() { Type type = typeof(Console); string name = "Write"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("object"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.Write(string format, object arg0, object arg1) /// /// public static MethodInfo ConsoleWriteStringObjectObject() { Type type = typeof(Console); string name = "Write"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("object"); parameterTypes.Add("object"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.Write(string format, object arg0, object arg1, object arg2) /// /// public static MethodInfo ConsoleWriteStringObjectObjectObject() { Type type = typeof(Console); string name = "Write"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("object"); parameterTypes.Add("object"); parameterTypes.Add("object"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.Write(string format, object arg0, object arg1, object arg2, object arg3) /// /// public static MethodInfo ConsoleWriteStringObjectObjectObjectObject() { Type type = typeof(Console); string name = "Write"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("object"); parameterTypes.Add("object"); parameterTypes.Add("object"); parameterTypes.Add("object"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.Write(string format, object[] arg) /// /// public static MethodInfo ConsoleWriteStringObjectArray() { Type type = typeof(Console); string name = "Write"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("object[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.Write(char[] buffer) /// /// public static MethodInfo ConsoleWriteCharArray() { Type type = typeof(Console); string name = "Write"; List parameterTypes = new List(); parameterTypes.Add("char[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.Write(char[] buffer, int index, int count) /// /// public static MethodInfo ConsoleWriteCharArrayIntInt() { Type type = typeof(Console); string name = "Write"; List parameterTypes = new List(); parameterTypes.Add("char[]"); parameterTypes.Add("int32"); parameterTypes.Add("int32"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.WriteLine() /// /// public static MethodInfo ConsoleWriteLine() { Type type = typeof(Console); string name = "WriteLine"; List parameterTypes = new List(); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.WriteLine(float value) /// /// public static MethodInfo ConsoleWriteLineFloat() { Type type = typeof(Console); string name = "WriteLine"; List parameterTypes = new List(); parameterTypes.Add("single"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.WriteLine(int value) /// /// public static MethodInfo ConsoleWriteLineInt() { Type type = typeof(Console); string name = "WriteLine"; List parameterTypes = new List(); parameterTypes.Add("int32"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.WriteLine(uint value) /// /// public static MethodInfo ConsoleWriteLineUint() { Type type = typeof(Console); string name = "WriteLine"; List parameterTypes = new List(); parameterTypes.Add("uint32"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.WriteLine(long value) /// /// public static MethodInfo ConsoleWriteLineLong() { Type type = typeof(Console); string name = "WriteLine"; List parameterTypes = new List(); parameterTypes.Add("int64"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.WriteLine(ulong value) /// /// public static MethodInfo ConsoleWriteLineUlong() { Type type = typeof(Console); string name = "WriteLine"; List parameterTypes = new List(); parameterTypes.Add("uint64"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.WriteLine(object value) /// /// public static MethodInfo ConsoleWriteLineObject() { Type type = typeof(Console); string name = "WriteLine"; List parameterTypes = new List(); parameterTypes.Add("object"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.WriteLine(string value) /// /// public static MethodInfo ConsoleWriteLineString() { Type type = typeof(Console); string name = "WriteLine"; List parameterTypes = new List(); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.WriteLine(decimal value) /// /// public static MethodInfo ConsoleWriteLineDecimal() { Type type = typeof(Console); string name = "WriteLine"; List parameterTypes = new List(); parameterTypes.Add("decimal"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.WriteLine(char[] value) /// /// public static MethodInfo ConsoleWriteLineCharArray() { Type type = typeof(Console); string name = "WriteLine"; List parameterTypes = new List(); parameterTypes.Add("char[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.WriteLine(char value) /// /// public static MethodInfo ConsoleWriteLineChar() { Type type = typeof(Console); string name = "WriteLine"; List parameterTypes = new List(); parameterTypes.Add("char"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.WriteLine(bool value) /// /// public static MethodInfo ConsoleWriteLineBool() { Type type = typeof(Console); string name = "WriteLine"; List parameterTypes = new List(); parameterTypes.Add("boolean"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.WriteLine(double value) /// /// public static MethodInfo ConsoleWriteLineDouble() { Type type = typeof(Console); string name = "WriteLine"; List parameterTypes = new List(); parameterTypes.Add("double"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.WriteLine(string format, object arg0) /// /// public static MethodInfo ConsoleWriteLineStringObject() { Type type = typeof(Console); string name = "WriteLine"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("object"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.WriteLine(string format, object arg0, object arg1) /// /// public static MethodInfo ConsoleWriteLineStringObjectObject() { Type type = typeof(Console); string name = "WriteLine"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("object"); parameterTypes.Add("object"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.WriteLine(string format, object arg0, object arg1, object arg2) /// /// public static MethodInfo ConsoleWriteLineStringObjectObjectObject() { Type type = typeof(Console); string name = "WriteLine"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("object"); parameterTypes.Add("object"); parameterTypes.Add("object"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.WriteLine(string format, object arg0, object arg1, object arg2, object arg3) /// /// public static MethodInfo ConsoleWriteLineStringObjectObjectObjectObject() { Type type = typeof(Console); string name = "WriteLine"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("object"); parameterTypes.Add("object"); parameterTypes.Add("object"); parameterTypes.Add("object"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.WriteLine(string format, object[] arg) /// /// public static MethodInfo ConsoleWriteLineStringObjectArray() { Type type = typeof(Console); string name = "WriteLine"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("object[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Console.WriteLine(char[] buffer, int index, int count) /// /// public static MethodInfo ConsoleWriteLineCharArrayIntInt() { Type type = typeof(Console); string name = "WriteLine"; List parameterTypes = new List(); parameterTypes.Add("char[]"); parameterTypes.Add("int32"); parameterTypes.Add("int32"); return HookManager.GetMethodInfo(type, name, parameterTypes); } #endregion #region Original Activator methods /// /// Gets the MethodInfo object for Activator.CreateComInstanceFrom(string assemblyName, string typeName, byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm) /// /// public static MethodInfo ActivatorCreateComInstanceFromStringStringByteArrayAssemblyHashAlgorithm() { Type type = typeof(Activator); string name = "CreateComInstanceFrom"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("byte[]"); parameterTypes.Add("AssemblyHashAlgorithm"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateComInstanceFrom(string assemblyName, string typeName) /// /// public static MethodInfo ActivatorCreateComInstanceFromStringString() { Type type = typeof(Activator); string name = "CreateComInstanceFrom"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstanceFrom(Type type, bool nonPublic) /// /// public static MethodInfo ActivatorCreateInstanceTypeBool() { Type type = typeof(Activator); string name = "CreateInstance"; List parameterTypes = new List(); parameterTypes.Add("type"); parameterTypes.Add("boolean"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstanceFrom(Type type) /// /// public static MethodInfo ActivatorCreateInstanceType() { Type type = typeof(Activator); string name = "CreateInstance"; List parameterTypes = new List(); parameterTypes.Add("type"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstanceFrom(ActivationContext activationContext) /// /// public static MethodInfo ActivatorCreateInstanceActivationContext() { Type type = typeof(Activator); string name = "CreateInstance"; List parameterTypes = new List(); parameterTypes.Add("ActivationContext"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstanceFrom(string assemblyName, string typeName) /// /// public static MethodInfo ActivatorCreateInstanceStringString() { Type type = typeof(Activator); string name = "CreateInstance"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstance(Type type, object[] args) /// /// public static MethodInfo ActivatorCreateInstanceTypeObjectArray() { Type type = typeof(Activator); string name = "CreateInstance"; List parameterTypes = new List(); parameterTypes.Add("type"); parameterTypes.Add("object[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture) /// /// public static MethodInfo ActivatorCreateInstanceTypeBindingFlagsBinderObjectArrayCultureInfo() { Type type = typeof(Activator); string name = "CreateInstance"; List parameterTypes = new List(); parameterTypes.Add("type"); parameterTypes.Add("bindingflags"); parameterTypes.Add("binder"); parameterTypes.Add("object[]"); parameterTypes.Add("cultureInfo"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes) /// /// public static MethodInfo ActivatorCreateInstanceTypeBindingFlagsBinderObjectArrayCultureInfoObjectArray() { Type type = typeof(Activator); string name = "CreateInstance"; List parameterTypes = new List(); parameterTypes.Add("type"); parameterTypes.Add("bindingflags"); parameterTypes.Add("binder"); parameterTypes.Add("object[]"); parameterTypes.Add("cultureInfo"); parameterTypes.Add("object[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstance(string assemblyName, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes) /// /// public static MethodInfo ActivatorCreateInstanceStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray() { Type type = typeof(Activator); string name = "CreateInstance"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("boolean"); parameterTypes.Add("bindingFlags"); parameterTypes.Add("binder"); parameterTypes.Add("object[]"); parameterTypes.Add("cultureInfo"); parameterTypes.Add("object[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstance(ActivationContext activationContext, string[] activationCustomData) /// /// public static MethodInfo ActivatorCreateInstanceActivationContextStringArray() { Type type = typeof(Activator); string name = "CreateInstance"; List parameterTypes = new List(); parameterTypes.Add("activationContext"); parameterTypes.Add("string[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstance(string assemblyName, string typeName, object[] activationAttributes) /// /// public static MethodInfo ActivatorCreateInstanceStringStringObjectArray() { Type type = typeof(Activator); string name = "CreateInstance"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("object[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstance(string assemblyName, string typeName, object[] activationAttributes) /// /// public static MethodInfo ActivatorCreateInstanceAppDomainStringString() { Type type = typeof(Activator); string name = "CreateInstance"; List parameterTypes = new List(); parameterTypes.Add("appDomain"); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstance(string assemblyName, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes, Evidence securityInfo) /// /// public static MethodInfo ActivatorCreateInstanceStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence() { Type type = typeof(Activator); string name = "CreateInstance"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("boolean"); parameterTypes.Add("bindingFlags"); parameterTypes.Add("binder"); parameterTypes.Add("object[]"); parameterTypes.Add("cultureInfo"); parameterTypes.Add("object[]"); parameterTypes.Add("evidence"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstance(AppDomain domain, string assemblyName, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes) /// /// public static MethodInfo ActivatorCreateInstanceAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray() { Type type = typeof(Activator); string name = "CreateInstance"; List parameterTypes = new List(); parameterTypes.Add("AppDomain"); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("boolean"); parameterTypes.Add("bindingFlags"); parameterTypes.Add("binder"); parameterTypes.Add("object[]"); parameterTypes.Add("cultureInfo"); parameterTypes.Add("object[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstance(AppDomain domain, string assemblyName, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes, Evidence securityAttributes) /// /// public static MethodInfo ActivatorCreateInstanceAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence() { Type type = typeof(Activator); string name = "CreateInstance"; List parameterTypes = new List(); parameterTypes.Add("AppDomain"); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("boolean"); parameterTypes.Add("bindingFlags"); parameterTypes.Add("binder"); parameterTypes.Add("object[]"); parameterTypes.Add("cultureInfo"); parameterTypes.Add("object[]"); parameterTypes.Add("evidence"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstanceFrom(AppDomain domain, string assemblyName, string typeName) /// /// public static MethodInfo ActivatorCreateInstanceFromAppDomainStringString() { Type type = typeof(Activator); string name = "CreateInstanceFrom"; List parameterTypes = new List(); parameterTypes.Add("AppDomain"); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstanceFrom(string assemblyFile, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes, Evidence securityInfo) /// /// public static MethodInfo ActivatorCreateInstanceFromStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence() { Type type = typeof(Activator); string name = "CreateInstanceFrom"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("boolean"); parameterTypes.Add("bindingFlags"); parameterTypes.Add("binder"); parameterTypes.Add("object[]"); parameterTypes.Add("cultureInfo"); parameterTypes.Add("object[]"); parameterTypes.Add("evidence"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstanceFrom(AppDomain domain, string assemblyFile, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes) /// /// public static MethodInfo ActivatorCreateInstanceFromAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArray() { Type type = typeof(Activator); string name = "CreateInstanceFrom"; List parameterTypes = new List(); parameterTypes.Add("AppDomain"); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("boolean"); parameterTypes.Add("bindingFlags"); parameterTypes.Add("binder"); parameterTypes.Add("object[]"); parameterTypes.Add("cultureInfo"); parameterTypes.Add("object[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstanceFrom(AppDomain domain, string assemblyFile, string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes, Evidence securityAttributes) /// /// public static MethodInfo ActivatorCreateInstanceFromAppDomainStringStringBooleanBindingFlagsBinderObjectArrayCultureInfoObjectArrayEvidence() { Type type = typeof(Activator); string name = "CreateInstanceFrom"; List parameterTypes = new List(); parameterTypes.Add("AppDomain"); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("boolean"); parameterTypes.Add("bindingFlags"); parameterTypes.Add("binder"); parameterTypes.Add("object[]"); parameterTypes.Add("cultureInfo"); parameterTypes.Add("object[]"); parameterTypes.Add("evidence"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstanceFrom(string assemblyFile, string typeName) /// /// public static MethodInfo ActivatorCreateInstanceFromStringString() { Type type = typeof(Activator); string name = "CreateInstanceFrom"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstanceFrom(string assemblyFile, string typeName, object[] activationAttributes) /// /// public static MethodInfo ActivatorCreateInstanceFromStringStringObjectArray() { Type type = typeof(Activator); string name = "CreateInstanceFrom"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("object[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } /// /// Gets the MethodInfo object for Activator.CreateInstanceFrom(string assemblyFile, string typeName, object[] activationAttributes) /// /// public static MethodInfo ActivatorCreateInstanceFromStringStringBoolBindingFlagsBinderObjectArrayCultureInfoObjectArray() { Type type = typeof(Activator); string name = "CreateInstanceFrom"; List parameterTypes = new List(); parameterTypes.Add("string"); parameterTypes.Add("string"); parameterTypes.Add("boolean"); parameterTypes.Add("BindingFlags"); parameterTypes.Add("Binder"); parameterTypes.Add("object[]"); parameterTypes.Add("CultureInfo"); parameterTypes.Add("object[]"); return HookManager.GetMethodInfo(type, name, parameterTypes); } #endregion } } ================================================ FILE: DotDumper/Hooks/OriginalUnmanagedFunctions.cs ================================================ using System.Collections.Generic; using DotDumper.Models; namespace DotDumper.Hooks { /// /// All methods within this class refer to unmanaged functions. This class contains static functions which obtain the pointer to the unmanaged function. The pointer, for the corresponding function, is used in the hooks of DotDumper, and when logging certain calls. /// class OriginalUnmanagedFunctions { #region kernel32.dll /// /// Gets the UnmanagedMethodInfo object for bool WriteProcessMemory(IntPtr process, int baseAddress, IntPtr buffer, int bufferSize, ref int bytesWritten) /// /// public static UnmanagedMethodInfo Kernel32WriteProcessMemory() { string dll = "kernel32.dll"; string fullMethodName = "bool WriteProcessMemory(IntPtr hProcess, int lpBaseAddress, IntPtr lpBuffer, int nSize, ref int lpNumberOfBytesWritten)"; string methodName = "WriteProcessMemory"; List argumentTypes = new List(); argumentTypes.Add("IntPtr"); argumentTypes.Add("int32"); argumentTypes.Add("byte[]"); argumentTypes.Add("int32"); argumentTypes.Add("IntPtr&"); return new UnmanagedMethodInfo(dll, fullMethodName, methodName, argumentTypes); } /// /// Gets the UnmanagedMethodInfo object for bool CreateProcessA(string applicationName, string commandLine, IntPtr processAttributes, IntPtr threadAttributes, bool inheritHandles, uint creationFlags, IntPtr environment, string currentDirectory, ref STARTUP_INFORMATION startupInfo, ref PROCESS_INFORMATION processInformation) /// /// public static UnmanagedMethodInfo Kernel32CreateProcessA() { string dll = "kernel32.dll"; string fullMethodName = "bool CreateProcessA(string applicationName, string commandLine, IntPtr processAttributes, IntPtr threadAttributes, bool inheritHandles, uint creationFlags, IntPtr environment, string currentDirectory, ref STARTUP_INFORMATION startupInfo, ref PROCESS_INFORMATION processInformation)"; string methodName = "CreateProcessA"; List argumentTypes = new List(); argumentTypes.Add("string"); argumentTypes.Add("string"); argumentTypes.Add("IntPtr"); argumentTypes.Add("IntPtr"); argumentTypes.Add("Boolean"); argumentTypes.Add("UInt32"); argumentTypes.Add("IntPtr"); argumentTypes.Add("string"); argumentTypes.Add("STARTUP_INFORMATION&"); argumentTypes.Add("PROCESS_INFORMATION&"); return new UnmanagedMethodInfo(dll, fullMethodName, methodName, argumentTypes); } /// /// Gets the UnmanagedMethodInfo object for bool CreateProcessW(string applicationName, string commandLine, IntPtr processAttributes, IntPtr threadAttributes, bool inheritHandles, uint creationFlags, IntPtr environment, string currentDirectory, ref STARTUP_INFORMATION startupInfo, ref PROCESS_INFORMATION processInformation) /// /// public static UnmanagedMethodInfo Kernel32CreateProcessW() { string dll = "kernel32.dll"; string fullMethodName = "bool CreateProcessW(string applicationName, string commandLine, IntPtr processAttributes, IntPtr threadAttributes, bool inheritHandles, uint creationFlags, IntPtr environment, string currentDirectory, ref STARTUP_INFORMATION startupInfo, ref PROCESS_INFORMATION processInformation)"; string methodName = "CreateProcessW"; List argumentTypes = new List(); argumentTypes.Add("IntPtr"); argumentTypes.Add("IntPtr"); argumentTypes.Add("IntPtr"); argumentTypes.Add("IntPtr"); argumentTypes.Add("Boolean"); argumentTypes.Add("Int32"); argumentTypes.Add("IntPtr"); argumentTypes.Add("IntPtr"); argumentTypes.Add("IntPtr&"); argumentTypes.Add("IntPtr&"); return new UnmanagedMethodInfo(dll, fullMethodName, methodName, argumentTypes); } #endregion #region user32.dll /// /// Gets the UnmanagedMethodInfo object for int MessageBoxW([in, optional] HWND hWnd, [in, optional] LPCWSTR lpText, [in, optional] LPCWSTR lpCaption, [in] UINT uType) /// /// public static UnmanagedMethodInfo User32MessageBoxW() { string dll = "user32.dll"; string fullMethodName = "int MessageBoxW([in, optional] HWND hWnd, [in, optional] LPCWSTR lpText, [in, optional] LPCWSTR lpCaption, [in] UINT uType);"; string methodName = "MessageBoxW"; List argumentTypes = new List(); argumentTypes.Add("int32"); argumentTypes.Add("string"); argumentTypes.Add("string"); argumentTypes.Add("uint32"); return new UnmanagedMethodInfo(dll, fullMethodName, methodName, argumentTypes); } #endregion #region ntdll.dll /// /// Gets the UnmanagedMethodInfo object for bool ZwMapViewOfSection() /// /// public static UnmanagedMethodInfo NtdllZwMapViewOfSection() { string dll = "ntdll.dll"; string fullMethodName = "bool ZwMapViewOfSection(IntPtr hProcess, int lpBaseAddress, IntPtr lpBuffer, int nSize, ref int lpNumberOfBytesWritten)"; string methodName = "WriteProcessMemory"; List argumentTypes = new List(); argumentTypes.Add("IntPtr"); argumentTypes.Add("int32"); argumentTypes.Add("byte[]"); argumentTypes.Add("int32"); argumentTypes.Add("IntPtr&"); return new UnmanagedMethodInfo(dll, fullMethodName, methodName, argumentTypes); } //ZwMapViewOfSection //ntdll.dll //NtMapViewOfSection //ntdll.dll //NtWriteVirtualMemory //ntdll.dll #endregion #region urlmon.dll //URLDownloadToFile //URLDownloadToCacheFile #endregion } } ================================================ FILE: DotDumper/Logger.cs ================================================ using System; using System.Collections.Generic; using System.IO; using System.Reflection; using System.Text; using DotDumper.Helpers; using DotDumper.HookHandlers; using DotDumper.Hooks; using DotDumper.Models; namespace DotDumper { /// /// This class is used to log data to both the standard output, as well as the designated logging file. This allows the analyst to view DotDumper's output in real time, if so desired. /// class Logger { /// /// The list of log entries that were logged during the current run of DotDumper /// private List _logEntries; /// /// The folder where the log file, as well as other files, are stored. This folder is based in the current directory of DotDumper.exe, where the name is user defined. This string does not end with a backslash. /// public readonly string Folder; /// /// The full path to the log file, called log.txt /// private readonly string LogFileText; /// /// The full path to the log file, called log.json /// private readonly string LogFileJson; /// /// The full path to the log file, called log.xml /// private readonly string LogFileXml; /// /// The amount of logs that were written using this instance of the logger /// public int Count { get; set; } /// /// Creates a logger object, which can then be used to log data to the standard output, and the log file. The log file, as well as dropped artifacts, are stored in a subfolder of DotDumper's folder. The subfolder's name is provided as a parameter in this constructor. This subfolder does not need to exist yet, as it will be created if need be. /// public Logger() { //Initialises the log entry list _logEntries = new List(); Count = 0; //Sets the variables Folder = Directory.GetCurrentDirectory() + @"\" + Config.LoggerFolder; LogFileText = Folder + @"\log.txt"; LogFileJson = Folder + @"\log.json"; LogFileXml = Folder + @"\log.xml"; /* * The logger is initialised prior to the hooks being set, * meaning these calls do not need to be unhooked and hooked. * In fact, doing so would create errors later on */ //Creates the directory if it doesn't already. If the directory already exists, this call is redundant Directory.CreateDirectory(Folder); //Create the opening message with DotDumper's version string message = Program.VERSION + "\n"; //Add the text to the log file. If the file does not exist, it is created, after which the data is then appended File.AppendAllText(LogFileText, message); //Write the text to the standard output, if the configuration allows if (Config.PrintLogsToConsole) { Console.WriteLine(message); } } /// /// Log a call, but only if it is coming from a sample, based on the stack trace, it should not originate from DotDumper or any GAC module. /// Logging means that the human readable log is written to the log.txt file, as well as printed in the console window. Additionally, JSON /// and XML versions of the logs are written to log.json and log.xml respectively. All files reside in the logging folder, which is either /// provided by the user upon the start-up of DotDumper. If it is not provided, the name of the sample (without an extension, if there is one) /// is used as the base for a folder name, which is then appended with "_DotDumper" until there is no such folder already. /// /// Note that this function will set all hooks upon returning /// /// The amount of layers the caller of this function is away from the original flow of the program /// The method of importance, which corresponds with the other arguments in this function call /// The values (in order of calling them as-if they were code) of the arguments of the given method /// The return value of the method (use null if the return type is void) public void LogSampleCall(int stackTraceOffset, MethodBase method, object[] parameterValues, object returnValue) { //Increment by one since this function has been entered stackTraceOffset++; List stackTraceLines = GenericHookHelper.GetStackTraceRaw(stackTraceOffset); bool isFromSample = AssemblyMapper.IsComingFromSample(stackTraceLines); if (isFromSample) { Log(stackTraceOffset, method, parameterValues, returnValue); } else { MissedAssemblyDumper.Dump(); } } /// /// Log a call. Logging means that the human readable log is written to the log.txt file, as well as printed in the console window. /// Additionally, JSON and XML versions of the logs are written to log.json and log.xml respectively. All files reside in the /// logging folder, which is either provided by the user upon the start-up of DotDumper. If it is not provided, the name of the /// sample (without an extension, if there is one) is used as the base for a folder name, which is then appended with "_DotDumper" /// until there is no such folder already. /// /// Note that this function will set all hooks upon returning /// /// The amount of layers the caller of this function is away from the original flow of the program /// The method of importance, which corresponds with the other arguments in this function call /// The values (in order of calling them as-if they were code) of the arguments of the given method /// The return value of the method (use null if the return type is void) public void Log(int stackTraceOffset, MethodBase method, object[] parameterValues, object returnValue) { //Increment by one since this function has been entered stackTraceOffset++; //Create the log entry LogEntry entry = LogEntryHelper.Create(stackTraceOffset, method, parameterValues, returnValue); //Call the logging function Log(entry, false, true); } /// /// Log a call. Logging means that the human readable log is written to the log.txt file, as well as printed in the console window. /// Additionally, JSON and XML versions of the logs are written to log.json and log.xml respectively. All files reside in the /// logging folder, which is either provided by the user upon the start-up of DotDumper. If it is not provided, the name of the /// sample (without an extension, if there is one) is used as the base for a folder name, which is then appended with "_DotDumper" /// until there is no such folder already. /// /// The entry to log /// Defines if the hooks should be ignored (meaning it operates via normal calls), or if the hooks should be disabled prior to logging, and enabled afterwards /// Defines if the periodic dump check should be performed, which dumps missed Assembly objects when they are found public void Log(LogEntry entry, bool ignoreHooks, bool periodicDump) { //If the entry is null, no logs are written if (entry != null) { Count++; //Add the entry to the list of entries, seeing as it's not null _logEntries.Add(entry); //Get the entries in JSON format string json = Serialise.ToJson(_logEntries); //Get the entries in XML format string xml = Serialise.ToXml(_logEntries); //Get the entries in human readable format string plaintext = LogEntry2HumanReadablePlaintext(entry); /* * Write data to the respective files by appending the human readable log, * and by overwriting the JSON and XML lists, as those cannot be appended to * in the same manner * * If the hooks are to be ignored, the nromal functions should be called */ if (ignoreHooks) { HookManager.UnHookAll(); //Creates the folder where the log files are stored if it doesn't exist Directory.CreateDirectory(Folder); File.AppendAllText(LogFileText, plaintext); File.WriteAllText(LogFileJson, json); File.WriteAllText(LogFileXml, xml); if (Config.PrintLogsToConsole) { Console.WriteLine(plaintext); } HookManager.HookAll(); } else //If not, the functions need to be unhooked, called, and hooked again { //Unhooks all hooks, calls the original function, and sets all hooks again, for each call GenericHookHelper.DirectoryCreateDirectory(Folder); GenericHookHelper.FileAppendAllText(LogFileText, plaintext); GenericHookHelper.FileWriteAllBytes(LogFileJson, Encoding.Default.GetBytes(json)); GenericHookHelper.FileWriteAllBytes(LogFileXml, Encoding.Default.GetBytes(xml)); if (Config.PrintLogsToConsole) { GenericHookHelper.ConsoleWriteLine(plaintext); } } } /* * Dump the missing assemblies, depending on the specified boolean. The dumping is * not used in several cases when logging data before the hooks are set. Calling this function * restores all hooks, which leads to errors in those cases, hence this split set-up */ if (periodicDump) { MissedAssemblyDumper.Dump(); } } /// /// Creates a human readable plaintext version of the given LogEntry object /// /// The entry to convert /// The converted entry, human readable in a string private string LogEntry2HumanReadablePlaintext(LogEntry entry) { //Assume the complete LogEntry instance is not null, the caller should check this //The date time stamp is made in the entry's constructor, meaning it's never null string functionName = "[no_function_name_found]"; if (entry != null && entry.FunctionName != null) { functionName = entry.FunctionName; } string title = "[" + entry.DateTimeStamp + "] Hook for " + functionName + " hit!\n"; /* * The message lay-out for human readable logs is as follows: * * 1. Stack Trace * 2. Assembly call order * 3. Originating assembly information (name, version, resource names, hash) * 4. Parent assembly hash, if present * 5. Function argument names, types, and their respective values * 6. The return value and type * 7. Related files (by their SHA-256 hashes), if any * * Entries that are empty or null are omitted, as are the headers for the section * if the complete section is missing or null. This ensures the log is easy * to read and contains as little clutter as possible. */ //Initialise the string string message = ""; //Add the stack trace if (entry.StackTrace != null && entry.StackTrace.Count > 0) { message += "--------StackTrace information--------\n"; foreach (string line in entry.StackTrace) { message += line + "\n"; } message += "--------------------------------------\n\n"; } //Add the assembly call order if (entry.AssemblyCallOrder != null && entry.AssemblyCallOrder.Count > 0) { message += "---------Assembly call order----------\n"; foreach (AssemblyObject assembly in entry.AssemblyCallOrder) { message += assembly.Name; if (assembly.Hash.Equals("[none]", StringComparison.InvariantCultureIgnoreCase) == false) { message += " (SHA-256: " + assembly.Hash + ")"; } message += "\n"; } message += "--------------------------------------\n\n"; } //Add originating information if (entry.OriginatingAssemblyName != null && entry.OriginatingAssemblyVersion != null && entry.OriginatingAssemblyHash != null && entry.OriginatingAssemblyResourceNames != null && entry.OriginatingAssemblyName.Equals("DotDumper", StringComparison.InvariantCultureIgnoreCase) == false) { message += "---Originating assembly information---\n"; message += "Name: " + entry.OriginatingAssemblyName + "\n"; message += "Version: " + entry.OriginatingAssemblyVersion + "\n"; message += "MD-5: " + entry.OriginatingAssemblyHash.Md5 + "\n"; message += "SHA-1: " + entry.OriginatingAssemblyHash.Sha1 + "\n"; message += "SHA-256: " + entry.OriginatingAssemblyHash.Sha256 + "\n"; message += "SHA-384: " + entry.OriginatingAssemblyHash.Sha384 + "\n"; message += "SHA-512: " + entry.OriginatingAssemblyHash.Sha512 + "\n"; if (entry.OriginatingAssemblyHash.TypeRef != null && entry.OriginatingAssemblyHash.TypeRef.Length > 0) { message += "TypeRef: " + entry.OriginatingAssemblyHash.TypeRef + "\n"; } if (entry.OriginatingAssemblyHash.ImportHash != null && entry.OriginatingAssemblyHash.ImportHash.Length > 0) { message += "ImportHash: " + entry.OriginatingAssemblyHash.ImportHash + "\n"; } if (entry.OriginatingAssemblyHash.AuthenticodeSha256 != null && entry.OriginatingAssemblyHash.AuthenticodeSha256.Length > 0) { message += "Authenticode (SHA-256 based): " + entry.OriginatingAssemblyHash.AuthenticodeSha256 + "\n"; } if (entry.OriginatingAssemblyResourceNames != null && entry.OriginatingAssemblyResourceNames.Count > 0) { message += "Resource names:\n"; foreach (string resourceName in entry.OriginatingAssemblyResourceNames) { message += "\t" + resourceName + "\n"; } } message += "--------------------------------------\n\n"; } //Add parent assembly hash if (entry.ParentAssemblyHash != null && entry.ParentAssemblyHash.Equals("[none]", StringComparison.InvariantCultureIgnoreCase) == false) { message += "---------Parent assembly hash---------\n"; message += entry.ParentAssemblyHash; message += "\n--------------------------------------\n\n"; } //Add argument names, types, and values if (entry.FunctionArguments != null && entry.FunctionArguments.Count > 0) { message += "----Function argument information-----\n"; for (int i = 0; i < entry.FunctionArguments.Count; i++) { //Get the current object Argument argument = entry.FunctionArguments[i]; //Add details for the current argument to the message message += "Type: \"" + argument.Type + "\"\n"; message += "Name: \"" + argument.Name + "\"\n"; message += "Value: \"" + argument.Value + "\"\n"; //If there are more arguments after this, add a new line for readability if ((entry.FunctionArguments.Count - 1) > i) { message += "\n"; } } message += "--------------------------------------\n\n"; } //Add the return value if (entry.ReturnValue != null) { message += "-------------Return value-------------\n"; message += "Type: \"" + entry.ReturnValue.Type + "\"\n"; message += "Name: \"" + entry.ReturnValue.Name + "\"\n"; message += "Value: \"" + entry.ReturnValue.Value + "\"\n"; message += "--------------------------------------\n\n"; } //Add related files if (entry.RelatedFileHashes != null && entry.RelatedFileHashes.Count > 0) { message += "------------Related files-------------\n"; for (int i = 0; i < entry.RelatedFileHashes.Count; i++) { //Get the current object Hash hash = entry.RelatedFileHashes[i]; //Add details for the current argument to the message message += "MD-5: \"" + hash.Md5 + "\"\n"; message += "SHA-1: \"" + hash.Sha1 + "\"\n"; message += "SHA-256: \"" + hash.Sha256 + "\"\n"; message += "SHA-384: \"" + hash.Sha384 + "\"\n"; message += "SHA-512: \"" + hash.Sha512 + "\"\n"; if (hash.TypeRef != null && hash.TypeRef.Length > 0) { message += "TypeRef: \"" + hash.TypeRef + "\"\n"; } if (hash.ImportHash != null && hash.ImportHash.Length > 0) { message += "ImportHash: \"" + hash.ImportHash + "\"\n"; } if (hash.AuthenticodeSha256 != null && hash.AuthenticodeSha256.Length > 0) { message += "Authenticode (SHA-256 based): \"" + hash.AuthenticodeSha256 + "\"\n"; } //If there are more arguments after this, add a new line for readability if ((entry.RelatedFileHashes.Count - 1) > i) { message += "\n"; } } message += "--------------------------------------\n\n"; } return title + message; } } } ================================================ FILE: DotDumper/Models/Argument.cs ================================================ using System.Collections.Generic; namespace DotDumper.Models { /// /// This class is used to store the type, name, and value of an argument in a serialisable model /// public class Argument { /// /// The type of the given argument, in full (i.e. System.String, rather than String) /// public string Type { get; set; } /// /// The name of the argument, i.e. the function definition "Main(string[] args)" has "args" as the name of the function's sole argument /// public string Name { get; set; } /// /// The value of the argument, in textual form (which can also be a reference to a hash, as defined in the list of hashes) /// public string Value { get; set; } /// /// The list of related file hashes as Hash objects /// public List RelatedFileHashes { get; set; } /// /// The constructor to make an Argument object /// /// The type of the given argument, in full (i.e. System.String, rather than String) /// The name of the argument, i.e. the function definition "Main(string[] args)" has "args" as the name of the function's sole argument /// The value of the argument, in textual form (which can also be a reference to a hash, as defined in the list of hashes) /// The list of related file hashes as Hash objects public Argument(string type, string name, string value, List relatedFileHashes) { Type = type; Name = name; Value = value; RelatedFileHashes = relatedFileHashes; } /// /// DO NOTE USE THIS CONSTRUCTOR! This is an empty constructor to be able to serialise the object, which is its sole purpose! /// public Argument() { } } } ================================================ FILE: DotDumper/Models/AssemblyObject.cs ================================================ namespace DotDumper.Models { /// /// An object to reference Assembly objects, based on a SHA-256 hash, and a name /// public class AssemblyObject { /// /// The SHA-256 hash of the assembly object it references /// public string Hash { get; set; } /// /// The name of the referenced assembly object /// public string Name { get; set; } /// /// The constructor to create an instance of this object type /// /// The SHA-256 hash of the assembly object it references /// The name of the referenced assembly object public AssemblyObject(string hash, string name) { Hash = hash; Name = name; } /// /// DO NOTE USE THIS CONSTRUCTOR! This is an empty constructor to be able to serialise the object, which is its sole purpose! /// public AssemblyObject() { } } } ================================================ FILE: DotDumper/Models/Hash.cs ================================================ namespace DotDumper.Models { /// /// A model to contain the MD-5, SHA-1, and SHA-256 hash for a given file /// public class Hash { /// /// The MD-5 hash of the referenced file /// public string Md5 { get; set; } /// /// The SHA-1 hash of the referenced file /// public string Sha1 { get; set; } /// /// The SHA-256 hash of the referenced file /// public string Sha256 { get; set; } /// /// The SHA-384 hash of the referenced file /// public string Sha384 { get; set; } /// /// The SHA-512 hash of the referenced file /// public string Sha512 { get; set; } /// /// The TypeRef hash of the referenced file /// public string TypeRef { get; set; } /// /// The import hash of the referenced file /// public string ImportHash { get; set; } /// /// The authenticode hash (SHA-256 based) of the referenced file /// public string AuthenticodeSha256 { get; set; } /// /// Creates a hash object with the given values for the corresponding hashes /// /// The MD-5 hash of the referenced file /// The SHA-1 hash of the referenced file /// The SHA-256 hash of the referenced file /// The SHA-384 hash of the referenced file /// The SHA-512 hash of the referenced file /// The TypeRef hash of the referenced file /// The import hash of the referenced file /// The authenticode hash (SHA-256 based) of the referenced file public Hash(string md5, string sha1, string sha256, string sha384, string sha512, string typeRef, string importHash, string authenticodeSha256) { Md5 = md5; Sha1 = sha1; Sha256 = sha256; Sha384 = sha384; Sha512 = sha512; TypeRef = typeRef; ImportHash = importHash; AuthenticodeSha256 = authenticodeSha256; } /// /// DO NOTE USE THIS CONSTRUCTOR! This is an empty constructor to be able to serialise the object, which is its sole purpose! /// public Hash() { } } } ================================================ FILE: DotDumper/Models/LogEntry.cs ================================================ using System; using System.Collections.Generic; using DotDumper.Hooks; namespace DotDumper.Models { /// /// A log entry object, which is used by the logger to easily write logs into different formats (i.e. JSON, XML, and human readable plaintext) /// public class LogEntry { /// /// The name of the assembly object the call originated from /// public string OriginatingAssemblyName { get; set; } /// /// The hash object which contains the MD-5, SHA-1, and SHA-256 hashes of the assembly object where the call originated from /// public Hash OriginatingAssemblyHash { get; set; } /// /// The version of the assembly object the call originated from /// public string OriginatingAssemblyVersion { get; set; } /// /// The names of the resources of the assembly object the call originated from /// public List OriginatingAssemblyResourceNames { get; set; } /// /// The hash of the assembly object that called/loaded this assembly object. If absent, this should be null! /// public string ParentAssemblyHash { get; set; } /// /// A list of hash objects of files related to this call, all of which can be found in the logging folder (named after their SHA-256 hash) /// public List RelatedFileHashes { get; set; } /// /// The date time at the creation of this object, formatted as dd-MM-yyyy HH:mm:ss /// public string DateTimeStamp { get; set; } /// /// The name of the hooked function /// public string FunctionName { get; set; } /// /// The arguments of the function /// public List FunctionArguments { get; set; } /// /// The returned value of the original function /// public Argument ReturnValue { get; set; } /// /// The stack trace to the hooked function /// public List StackTrace { get; set; } /// /// The order in which the assembly objects are called prior to this call /// public List AssemblyCallOrder { get; set; } /// /// Creates a LogEntry object, which the logger uses to log the details within the object in several formats. NOTE: ALL HOOKS WILL BE SET AFTER THIS OBJECT HAS BEEN CREATED! /// /// The name of the assembly object the call originated from /// The hash object which contains the MD-5, SHA-1, and SHA-256 hashes of the assembly object where the call originated from /// The version of the assembly object the call originated from /// The names of the resources of the assembly object the call originated from /// The hash of the assembly object that called/loaded this assembly object. If absent, this should be null! /// A list of hash objects of files related to this call, all of which can be found in the logging folder (named after their SHA-256 hash) /// The name of the hooked function /// The arguments of the function /// The returned value of the original function /// The stack trace to the hooked function /// The order in which the assembly objects are called prior to this call public LogEntry(string originatingAssemblyName, Hash originatingAssemblyHash, string originatingAssemblyVersion, List originatingAssemblyResourceNames, string parentAssemblyHash, List relatedFileHashes, string functionName, List functionArguments, Argument returnValue, List stackTrace, List assemblyCallOrder) { OriginatingAssemblyName = originatingAssemblyName; OriginatingAssemblyHash = originatingAssemblyHash; OriginatingAssemblyVersion = originatingAssemblyVersion; OriginatingAssemblyResourceNames = originatingAssemblyResourceNames; ParentAssemblyHash = parentAssemblyHash; RelatedFileHashes = relatedFileHashes; DateTimeStamp = GetDateTime(); FunctionName = functionName; FunctionArguments = functionArguments; ReturnValue = returnValue; StackTrace = stackTrace; AssemblyCallOrder = assemblyCallOrder; } /// /// DO NOTE USE THIS CONSTRUCTOR! This is an empty constructor to be able to serialise the object, which is its sole purpose! NOTE: ALL HOOKS ARE SET AFTER THIS CONSTRUCTOR HAS BEEN CALLED! /// public LogEntry() { DateTimeStamp = GetDateTime(); } /// /// A private method to get the current date time as a string, in the following format: dd-MM-yyyy HH:mm:ss /// /// The date time format of the current system at the moment of this call private static string GetDateTime() { HookManager.UnHookAll(); string dateTime = DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss"); HookManager.HookAll(); return dateTime; } } } ================================================ FILE: DotDumper/Models/UnmanagedMethodInfo.cs ================================================ using System; using System.Collections.Generic; using DotDumper.Hooks; namespace DotDumper.Models { /// /// An object which contains all required information to set an unmanaged hook /// class UnmanagedMethodInfo { /// /// The full method name of the hook's target function /// public string FullMethodName { get; private set; } /// /// The function name (excluding arguments and return type) of the target function. This is also used to fetch the address of the function. /// public string MethodName { get; private set; } /// /// The name of the DLL where the targeted function resides /// public string Dll { get; private set; } /// /// The pointer of the targeted function /// public IntPtr Pointer { get; private set; } /// /// The types of the parameters, in order, disregards casing /// public List ParameterTypes { get; private set; } /// /// Creates an unmanaged method info object, which is used when hooking unmanaged functions /// /// The DLL where the target function resides /// The full method name (including return type and arguments), only used to print data to the logs /// The targeted method's name (excluding return type and arguments) /// A list of the argument types of the function, need to be in order public UnmanagedMethodInfo(string dll, string fullMethodName, string methodName, List parameterTypes) { this.Dll = dll; this.FullMethodName = fullMethodName; this.MethodName = methodName; this.Pointer = GetPointer(dll, methodName); this.ParameterTypes = parameterTypes; } /// /// Gets the pointer for the given function from the given DLL, using interop Windows API calls. No hooks are set nor removed, since this object is only made prior to setting hooks. /// /// The DLL where the targeted function resides /// The targeted function's name /// A pointer to the memory address of the given function private IntPtr GetPointer(string dll, string methodName) { IntPtr pointer = InteropFunctions.GetProcAddress(InteropFunctions.GetModuleHandle(dll), methodName); if (pointer == IntPtr.Zero) { InteropFunctions.LoadLibrary(dll); pointer = InteropFunctions.GetProcAddress(InteropFunctions.GetModuleHandle(dll), methodName); } return pointer; } } } ================================================ FILE: DotDumper/Pipes/PipeManager.cs ================================================ using System; using System.IO; using System.IO.Pipes; using System.Text; using System.Threading; using DotDumper.Helpers; using DotDumper.HookHandlers; using DotDumper.Hooks; using DotDumper.Models; namespace DotDumper.Pipes { class PipeManager { /// /// The named pipe's name /// public static string PIPE_NAME = "dotdumper"; /// /// The named pipe to communicate with the unmanaged DLL to handle unmanaged hooks /// public static NamedPipeServerStream Pipe = new NamedPipeServerStream(PIPE_NAME, PipeDirection.InOut, 100, PipeTransmissionMode.Byte); /// /// Creates the thread which handles the incoming data /// public static void Initialise() { //Creates a new thread to handle incoming calls Thread newThread = new Thread(new ThreadStart(HandlePipeCalls)); /* * Sets the priority to the highest, which is required. Otherwise, the original sample will continue its execution * before the interaction with the pipe and the logging thereof is not finished before another thread (usually DotDumper's * main thread, via which the malware executes) is given priority. */ newThread.Priority = ThreadPriority.Highest; //Start the new thread newThread.Start(); } /// /// Handles named pipe interactions /// public static void HandlePipeCalls() { //If the pipe isn't initialised (or has been closed for any reason), an error is thrown and logged if (Pipe == null) { LogEntry error = LogEntryHelper.Create(0, new Exception("Pipe not found for name: " + PIPE_NAME)); GenericHookHelper._Logger.Log(error, false, true); return; } //If there is no connection yet, wait for it to come in if (Pipe.IsConnected == false) { Pipe.WaitForConnection(); } //The writer is used to write data to the pipe StreamWriter writer = new StreamWriter(Pipe); //Automatically write data after a write call is made writer.AutoFlush = true; //The variable to fetch raw bytes from the named pipe byte[] buffer; //Loop endlessly once this segment is reached, waiting for communication from the unmanaged DLL while (true) { //Gets the buffer from the pipe buffer = GetBufferFromPipe(); //Converts the given bytes to a UTF-8 string string input = Encoding.UTF8.GetString(buffer, 0, buffer.Length); //If the input starts with unhook, the specified function is unhooked if (input != null && input.StartsWith("unhook-", StringComparison.InvariantCultureIgnoreCase)) { string hookName = input.Substring("unhook-".Length); bool unhookResult = HookManager.UnHookByHookName(hookName); //HookManager.UnHookAll(); } //If the input starts with hook, the specified function is hooked if (input != null && input.StartsWith("hook-", StringComparison.InvariantCultureIgnoreCase)) { string hookName = input.Substring("hook-".Length); bool hookResult = HookManager.HookByHookName(hookName); //HookManager.HookAll(); } //If the input starts with log, the specified function is logged if (input != null && input.StartsWith("log-", StringComparison.InvariantCultureIgnoreCase)) { string functionName = input.Substring("log-".Length); LogEntry logEntry = null; switch (functionName) { case "MessageBoxW": logEntry = HandleMessageBoxW(); break; case "WriteProcessMemory": logEntry = HandleWriteProcessMemory(); break; case "CreateProcessA": logEntry = HandleCreateProcessA(); break; case "CreateProcessW": logEntry = HandleCreateProcessW(); break; default: logEntry = LogEntryHelper.Create(0, new Exception("Unknown function to log (\"" + functionName + "\"), as such all received data from the pipe is printed below:\n\n" + input)); break; } //If a log entry has been created, it is logged if (logEntry != null) { GenericHookHelper._Logger.Log(logEntry, false, true); } } } } private static LogEntry HandleMessageBoxW() { byte[] result = GetBufferFromPipe(); string s = Encoding.Unicode.GetString(result, 0, result.Length); return LogEntryHelper.Create(OriginalUnmanagedFunctions.User32MessageBoxW(), new object[] { 0, s }, null); } private static LogEntry HandleWriteProcessMemory() { byte[] hProcessBytes = GetBufferFromPipe(); //Is actually the process ID, not the raw handle string hProcess = Encoding.ASCII.GetString(hProcessBytes); byte[] lpBaseAddressBytes = GetBufferFromPipe(); long lpBaseAddressLong; if (IntPtr.Size == 8) { lpBaseAddressLong = BitConverter.ToInt64(lpBaseAddressBytes, 0); } else { lpBaseAddressLong = BitConverter.ToInt32(lpBaseAddressBytes, 0); } string lpBaseAddress = "0x" + lpBaseAddressLong.ToString("x"); byte[] lpBuffer = GetBufferFromPipe(); string lpBufferLength = "0x" + int.Parse(("" + lpBuffer.Length)).ToString("x"); //WriteProcessMemory(IntPtr hProcess, int lpBaseAddress, IntPtr lpBuffer, int nSize, ref int lpNumberOfBytesWritten) return LogEntryHelper.Create(OriginalUnmanagedFunctions.Kernel32WriteProcessMemory(), new object[] { hProcess, lpBaseAddress, lpBuffer, lpBufferLength, null }, null); } private static LogEntry HandleCreateProcessA() { byte[] lpApplicationNameBytes = GetBufferFromPipe(); string applicationName = Encoding.ASCII.GetString(lpApplicationNameBytes); byte[] lpCommandLineBytes = GetBufferFromPipe(); string commandLine = Encoding.ASCII.GetString(lpCommandLineBytes); byte[] creationFlagsBytes = GetBufferFromPipe(); string asciiFlags = Encoding.ASCII.GetString(creationFlagsBytes); string creationFlags = "0x" + int.Parse(asciiFlags).ToString("x"); //string applicationName, IntPtr commandLine, IntPtr processAttributes, IntPtr threadAttributes, bool inheritHandles, int creationFlags, IntPtr environment, IntPtr currentDirectory, ref IntPtr startupInfo, ref IntPtr processInformation return LogEntryHelper.Create(OriginalUnmanagedFunctions.Kernel32CreateProcessA(), new object[] { applicationName, commandLine, null, null, null, creationFlags, null, null, null, null }, null); } private static LogEntry HandleCreateProcessW() { byte[] lpApplicationNameBytes = GetBufferFromPipe(); string applicationName = Encoding.Unicode.GetString(lpApplicationNameBytes); byte[] lpCommandLineBytes = GetBufferFromPipe(); string commandLine = Encoding.Unicode.GetString(lpCommandLineBytes); byte[] creationFlagsBytes = GetBufferFromPipe(); string asciiFlags = Encoding.ASCII.GetString(creationFlagsBytes); string creationFlags = "0x" + int.Parse(asciiFlags).ToString("x"); //string applicationName, IntPtr commandLine, IntPtr processAttributes, IntPtr threadAttributes, bool inheritHandles, int creationFlags, IntPtr environment, IntPtr currentDirectory, ref IntPtr startupInfo, ref IntPtr processInformation return LogEntryHelper.Create(OriginalUnmanagedFunctions.Kernel32CreateProcessW(), new object[] { applicationName, commandLine, null, null, null, creationFlags, null, null, null, null }, null); } /// /// Gets the buffer from the pipe, no larger than 10 000 bytes at a time /// /// The pipe's data private static byte[] GetBufferFromPipe() { //Create a buffer where the pipe's data is to be stored in byte[] buffer = new byte[10000]; //Read the data int size = Pipe.Read(buffer, 0, 10000); //Create the subset (and return it) for the number of read bytes from the buffer return GetSubArray(buffer, 0, size); } /// /// Gets a subset of the byte array, starting at the given index, equal to count's value in size /// /// The buffer to take the subset from /// The index to start at /// The number of bytes to take from the buffer /// The byte array subset, or an empty byte array if the values would overflow private static byte[] GetSubArray(byte[] buffer, int index, int count) { //Gets the length of the buffer int length = buffer.Length; /* * If the index is larger or equal to the length, it'd result in an index out of bounds error. * * If the count is more than the length, the subset would be larger than the buffer, which (eventually) results in an index out of bounds error. * * If the index plus the count (which is equal to the length of the subset) is larger than the buffer's length, it will result in an index out of bounds error. */ if (index >= length || count > length || (index + count) > length) { return new byte[0]; } //Create the new buffer byte[] subset = new byte[count]; for (int i = 0; i < count; i++) { //Copy each byte, starting at the given offset subset[i] = buffer[index + i]; } //Return the newly created subset return subset; } } } ================================================ FILE: DotDumper/Program.cs ================================================ using System; using System.Reflection; using DotDumper.Hooks; using DotDumper.HookHandlers; using System.Collections.Generic; using DotDumper.Helpers; using DotDumper.Models; using System.Threading; using DotDumper.Pipes; namespace DotDumper { class Program { /// /// The version information of DotDumper /// public static readonly string VERSION = "DotDumper 1.1-stable by Max 'Libra' Kersten (@Libranalysis)\n"; /// /// A boolean which is to be changed within the source code. The sole purpose is to load the CLI arguments differently (or rather, load them from hardcoded values when debugging), to easily change them without breaking the argument parsing method /// public static readonly bool DEBUG = false; static void Main(string[] args) { if (DEBUG) { //Provide arguments to parse when debugging in Visual Studio } else { //Parses the given arguments ArgumentHandler.ParseArguments(args); } //Creates the logger object GenericHookHelper._Logger = new Logger(); //Initialises the named pipe manager which handles the named pipe communication PipeManager.Initialise(); //Creates and starts the delayed timer to handle stagnations during the execution Timer Timer = new Timer(StagnationHandler.TimerCallback, null, 0, (20 * 1000)); //Initialises all hooks HookManager.Initialise(); //LoadFile also sets the location of the entry assembly to the malware sample's location, unlike the Load(byte[] rawAssembly) function Assembly assembly = Assembly.LoadFile(Config.SamplePath); //Sets the original assembly, which is used by some hooks GenericHookHelper.OriginalAssembly = assembly; //Set all hooks, before moving on to the execution of the sample HookManager.HookAll(); try { //Check if the entry point should be overridden if (Config.OverrideEntryPoint == false) { //If this is not the case, a verification is in place to ensure that the given binary has a defined entry point if (assembly.EntryPoint == null) { throw new Exception("No default entry point found in the given binary!"); } //If no arguments are provided, the entry point is called without arguments if (Config.DllArguments == null) { //Check if arguments are required (for string[] args in main, for example) int argLength = assembly.EntryPoint.GetParameters().Length; if (argLength != 0) { //If this is the case, empty strings arrays are provided as filler object[] arguments = new object[argLength]; for (int i = 0; i < argLength; i++) { arguments[i] = new string[0]; } assembly.EntryPoint.Invoke(null, arguments); } else //If this is not the case, no argument is given at all { assembly.EntryPoint.Invoke(null, null); } } else //Since user-provided arguments are present, they will be passed on { assembly.EntryPoint.Invoke(null, Config.DllArguments); } } else //Entry point is overridden { //Get the type object from the given assembly Type type = assembly.GetType(Config.DllFullyQualifiedClassName); //If the object cannot be found, null is returned if (type == null) { throw new Exception("No class found in the given sample for \"" + Config.DllFullyQualifiedClassName + "\"!"); } //Create a list of types (in order) that should match the public function's argument types (and order) List parameterTypes = new List(); if (Config.DllArguments != null) { foreach (object o in Config.DllArguments) { parameterTypes.Add(o.GetType().Name); } } //Get the method info object MethodInfo methodInfo = HookManager.GetMethodInfo(type, Config.DllFunctionName, parameterTypes); //If no such method can be found, null is returned if (methodInfo == null) { throw new Exception("No method found in the given class with the name \"" + Config.DllFunctionName + "\"!"); } //Null when invoking a static method object target = null; //If it is not static, an instance needs to be created if (methodInfo.IsStatic == false) { //Create an instance if the method is not static target = Activator.CreateInstance(type); } //Call the function type.InvokeMember(Config.DllFunctionName, BindingFlags.InvokeMethod, null, target, Config.DllArguments); } } catch (Exception ex) //Catch any exception that is thrown { HookManager.UnHookAll(); //Log the message via the logger, dumping missing binaries as well LogEntry entry = LogEntryHelper.Create(0, ex); GenericHookHelper._Logger.Log(entry, false, true); } //Remove all hooks, as the sample's execution has finished (or migrated to a different process) HookManager.UnHookAll(); //Sets the time to a future time to force the sandbo to time out StagnationHandler.SetTime(); } } } ================================================ FILE: DotDumper/Properties/AssemblyInfo.cs ================================================ using System.Reflection; using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("DotDumper")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DotDumper")] [assembly: AssemblyCopyright("Copyright © 2021")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // Setting ComVisible to false makes the types in this assembly not visible // to COM components. If you need to access a type in this assembly from // COM, set the ComVisible attribute to true on that type. [assembly: ComVisible(false)] // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("97b3a6ff-a6ec-488a-8206-9820dc1f109b")] // Version information for an assembly consists of the following four values: // // Major Version // Minor Version // Build Number // Revision // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")] ================================================ FILE: DotDumper/app.config ================================================  ================================================ FILE: DotDumper/bin/Debug/DotDumper.exe.config ================================================  ================================================ FILE: DotDumper/bin/Debug/System.Buffers.xml ================================================  System.Buffers Provides a resource pool that enables reusing instances of type . The type of the objects that are in the resource pool. Initializes a new instance of the class. Creates a new instance of the class. A new instance of the class. Creates a new instance of the class using the specifed configuration. The maximum length of an array instance that may be stored in the pool. The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access. A new instance of the class with the specified configuration. Retrieves a buffer that is at least the requested length. The minimum length of the array. An array of type that is at least minimumLength in length. Returns an array to the pool that was previously obtained using the method on the same instance. A buffer to return to the pool that was previously obtained using the method. Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array&#39;s contents are left unchanged. Gets a shared instance. A shared instance. ================================================ FILE: DotDumper/bin/Debug/System.Memory.xml ================================================  System.Memory ================================================ FILE: DotDumper/bin/Debug/System.Numerics.Vectors.xml ================================================  System.Numerics.Vectors Represents a 3x2 matrix. Creates a 3x2 matrix from the specified components. The value to assign to the first element in the first row. The value to assign to the second element in the first row. The value to assign to the first element in the second row. The value to assign to the second element in the second row. The value to assign to the first element in the third row. The value to assign to the second element in the third row. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values of value1 and value2. Creates a rotation matrix using the given rotation in radians. The amount of rotation, in radians. The rotation matrix. Creates a rotation matrix using the specified rotation in radians and a center point. The amount of rotation, in radians. The center point. The rotation matrix. Creates a scaling matrix from the specified X and Y components. The value to scale by on the X axis. The value to scale by on the Y axis. The scaling matrix. Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. The uniform scale to use. The center offset. The scaling matrix. Creates a scaling matrix that is offset by a given center point. The value to scale by on the X axis. The value to scale by on the Y axis. The center point. The scaling matrix. Creates a scaling matrix that scales uniformly with the given scale. The uniform scale to use. The scaling matrix. Creates a scaling matrix from the specified vector scale. The scale to use. The scaling matrix. Creates a scaling matrix from the specified vector scale with an offset from the specified center point. The scale to use. The center offset. The scaling matrix. Creates a skew matrix from the specified angles in radians. The X angle, in radians. The Y angle, in radians. The skew matrix. Creates a skew matrix from the specified angles in radians and a center point. The X angle, in radians. The Y angle, in radians. The center point. The skew matrix. Creates a translation matrix from the specified 2-dimensional vector. The translation position. The translation matrix. Creates a translation matrix from the specified X and Y components. The X position. The Y position. The translation matrix. Returns a value that indicates whether this instance and another 3x2 matrix are equal. The other matrix. true if the two matrices are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Calculates the determinant for this matrix. The determinant. Returns the hash code for this instance. The hash code. Gets the multiplicative identity matrix. The multiplicative identify matrix. Inverts the specified matrix. The return value indicates whether the operation succeeded. The matrix to invert. When this method returns, contains the inverted matrix if the operation succeeded. true if matrix was converted successfully; otherwise, false. Indicates whether the current matrix is the identity matrix. true if the current matrix is the identity matrix; otherwise, false. Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. The first matrix. The second matrix. The relative weighting of matrix2. The interpolated matrix. The first element of the first row. The second element of the first row. The first element of the second row. The second element of the second row. The first element of the third row. The second element of the third row. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values. Returns a value that indicates whether the specified matrices are equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether the specified matrices are not equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are not equal; otherwise, false. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this matrix. The string representation of this matrix. Gets or sets the translation component of this matrix. The translation component of the current instance. Represents a 4x4 matrix. Creates a object from a specified object. A 3x2 matrix. Creates a 4x4 matrix from the specified components. The value to assign to the first element in the first row. The value to assign to the second element in the first row. The value to assign to the third element in the first row. The value to assign to the fourth element in the first row. The value to assign to the first element in the second row. The value to assign to the second element in the second row. The value to assign to the third element in the second row. The value to assign to the third element in the second row. The value to assign to the first element in the third row. The value to assign to the second element in the third row. The value to assign to the third element in the third row. The value to assign to the fourth element in the third row. The value to assign to the first element in the fourth row. The value to assign to the second element in the fourth row. The value to assign to the third element in the fourth row. The value to assign to the fourth element in the fourth row. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values of value1 and value2. Creates a spherical billboard that rotates around a specified object position. The position of the object that the billboard will rotate around. The position of the camera. The up vector of the camera. The forward vector of the camera. The created billboard. Creates a cylindrical billboard that rotates around a specified axis. The position of the object that the billboard will rotate around. The position of the camera. The axis to rotate the billboard around. The forward vector of the camera. The forward vector of the object. The billboard matrix. Creates a matrix that rotates around an arbitrary vector. The axis to rotate around. The angle to rotate around axis, in radians. The rotation matrix. Creates a rotation matrix from the specified Quaternion rotation value. The source Quaternion. The rotation matrix. Creates a rotation matrix from the specified yaw, pitch, and roll. The angle of rotation, in radians, around the Y axis. The angle of rotation, in radians, around the X axis. The angle of rotation, in radians, around the Z axis. The rotation matrix. Creates a view matrix. The position of the camera. The target towards which the camera is pointing. The direction that is &quot;up&quot; from the camera&#39;s point of view. The view matrix. Creates an orthographic perspective matrix from the given view volume dimensions. The width of the view volume. The height of the view volume. The minimum Z-value of the view volume. The maximum Z-value of the view volume. The orthographic projection matrix. Creates a customized orthographic projection matrix. The minimum X-value of the view volume. The maximum X-value of the view volume. The minimum Y-value of the view volume. The maximum Y-value of the view volume. The minimum Z-value of the view volume. The maximum Z-value of the view volume. The orthographic projection matrix. Creates a perspective projection matrix from the given view volume dimensions. The width of the view volume at the near view plane. The height of the view volume at the near view plane. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. The field of view in the y direction, in radians. The aspect ratio, defined as view space width divided by height. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. fieldOfView is less than or equal to zero. -or- fieldOfView is greater than or equal to . nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a customized perspective projection matrix. The minimum x-value of the view volume at the near view plane. The maximum x-value of the view volume at the near view plane. The minimum y-value of the view volume at the near view plane. The maximum y-value of the view volume at the near view plane. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a matrix that reflects the coordinate system about a specified plane. The plane about which to create a reflection. A new matrix expressing the reflection. Creates a matrix for rotating points around the X axis. The amount, in radians, by which to rotate around the X axis. The rotation matrix. Creates a matrix for rotating points around the X axis from a center point. The amount, in radians, by which to rotate around the X axis. The center point. The rotation matrix. The amount, in radians, by which to rotate around the Y axis from a center point. The amount, in radians, by which to rotate around the Y-axis. The center point. The rotation matrix. Creates a matrix for rotating points around the Y axis. The amount, in radians, by which to rotate around the Y-axis. The rotation matrix. Creates a matrix for rotating points around the Z axis. The amount, in radians, by which to rotate around the Z-axis. The rotation matrix. Creates a matrix for rotating points around the Z axis from a center point. The amount, in radians, by which to rotate around the Z-axis. The center point. The rotation matrix. Creates a scaling matrix from the specified vector scale. The scale to use. The scaling matrix. Creates a uniform scaling matrix that scale equally on each axis. The uniform scaling factor. The scaling matrix. Creates a scaling matrix with a center point. The vector that contains the amount to scale on each axis. The center point. The scaling matrix. Creates a uniform scaling matrix that scales equally on each axis with a center point. The uniform scaling factor. The center point. The scaling matrix. Creates a scaling matrix from the specified X, Y, and Z components. The value to scale by on the X axis. The value to scale by on the Y axis. The value to scale by on the Z axis. The scaling matrix. Creates a scaling matrix that is offset by a given center point. The value to scale by on the X axis. The value to scale by on the Y axis. The value to scale by on the Z axis. The center point. The scaling matrix. Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. The direction from which the light that will cast the shadow is coming. The plane onto which the new matrix should flatten geometry so as to cast a shadow. A new matrix that can be used to flatten geometry onto the specified plane from the specified direction. Creates a translation matrix from the specified 3-dimensional vector. The amount to translate in each axis. The translation matrix. Creates a translation matrix from the specified X, Y, and Z components. The amount to translate on the X axis. The amount to translate on the Y axis. The amount to translate on the Z axis. The translation matrix. Creates a world matrix with the specified parameters. The position of the object. The forward direction of the object. The upward direction of the object. Its value is usually [0, 1, 0]. The world matrix. Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. The source matrix. When this method returns, contains the scaling component of the transformation matrix if the operation succeeded. When this method returns, contains the rotation component of the transformation matrix if the operation succeeded. When the method returns, contains the translation component of the transformation matrix if the operation succeeded. true if matrix was decomposed successfully; otherwise, false. Returns a value that indicates whether this instance and another 4x4 matrix are equal. The other matrix. true if the two matrices are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Calculates the determinant of the current 4x4 matrix. The determinant. Returns the hash code for this instance. The hash code. Gets the multiplicative identity matrix. Gets the multiplicative identity matrix. Inverts the specified matrix. The return value indicates whether the operation succeeded. The matrix to invert. When this method returns, contains the inverted matrix if the operation succeeded. true if matrix was converted successfully; otherwise, false. Indicates whether the current matrix is the identity matrix. true if the current matrix is the identity matrix; otherwise, false. Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. The first matrix. The second matrix. The relative weighting of matrix2. The interpolated matrix. The first element of the first row. The second element of the first row. The third element of the first row. The fourth element of the first row. The first element of the second row. The second element of the second row. The third element of the second row. The fourth element of the second row. The first element of the third row. The second element of the third row. The third element of the third row. The fourth element of the third row. The first element of the fourth row. The second element of the fourth row. The third element of the fourth row. The fourth element of the fourth row. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values. Returns a value that indicates whether the specified matrices are equal. The first matrix to compare. The second matrix to care true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether the specified matrices are not equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are not equal; otherwise, false. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this matrix. The string representation of this matrix. Transforms the specified matrix by applying the specified Quaternion rotation. The matrix to transform. The rotation t apply. The transformed matrix. Gets or sets the translation component of this matrix. The translation component of the current instance. Transposes the rows and columns of a matrix. The matrix to transpose. The transposed matrix. Represents a three-dimensional plane. Creates a object from a specified four-dimensional vector. A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin. Creates a object from a specified normal and the distance along the normal from the origin. The plane&#39;s normal vector. The plane&#39;s distance from the origin along its normal vector. Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. The X component of the normal. The Y component of the normal. The Z component of the normal. The distance of the plane along its normal from the origin. Creates a object that contains three specified points. The first point defining the plane. The second point defining the plane. The third point defining the plane. The plane containing the three points. The distance of the plane along its normal from the origin. Calculates the dot product of a plane and a 4-dimensional vector. The plane. The four-dimensional vector. The dot product. Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane. The plane. The 3-dimensional vector. The dot product. Returns the dot product of a specified three-dimensional vector and the vector of this plane. The plane. The three-dimensional vector. The dot product. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns a value that indicates whether this instance and another plane object are equal. The other plane. true if the two planes are equal; otherwise, false. Returns the hash code for this instance. The hash code. The normal vector of the plane. Creates a new object whose normal vector is the source plane&#39;s normal vector normalized. The source plane. The normalized plane. Returns a value that indicates whether two planes are equal. The first plane to compare. The second plane to compare. true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether two planes are not equal. The first plane to compare. The second plane to compare. true if value1 and value2 are not equal; otherwise, false. Returns the string representation of this plane object. A string that represents this object. Transforms a normalized plane by a 4x4 matrix. The normalized plane to transform. The transformation matrix to apply to plane. The transformed plane. Transforms a normalized plane by a Quaternion rotation. The normalized plane to transform. The Quaternion rotation to apply to the plane. A new plane that results from applying the Quaternion rotation. Represents a vector that is used to encode three-dimensional physical rotations. Creates a quaternion from the specified vector and rotation parts. The vector part of the quaternion. The rotation part of the quaternion. Constructs a quaternion from the specified components. The value to assign to the X component of the quaternion. The value to assign to the Y component of the quaternion. The value to assign to the Z component of the quaternion. The value to assign to the W component of the quaternion. Adds each element in one quaternion with its corresponding element in a second quaternion. The first quaternion. The second quaternion. The quaternion that contains the summed values of value1 and value2. Concatenates two quaternions. The first quaternion rotation in the series. The second quaternion rotation in the series. A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. Returns the conjugate of a specified quaternion. The quaternion. A new quaternion that is the conjugate of value. Creates a quaternion from a vector and an angle to rotate about the vector. The vector to rotate around. The angle, in radians, to rotate around the vector. The newly created quaternion. Creates a quaternion from the specified rotation matrix. The rotation matrix. The newly created quaternion. Creates a new quaternion from the given yaw, pitch, and roll. The yaw angle, in radians, around the Y axis. The pitch angle, in radians, around the X axis. The roll angle, in radians, around the Z axis. The resulting quaternion. Divides one quaternion by a second quaternion. The dividend. The divisor. The quaternion that results from dividing value1 by value2. Calculates the dot product of two quaternions. The first quaternion. The second quaternion. The dot product. Returns a value that indicates whether this instance and another quaternion are equal. The other quaternion. true if the two quaternions are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Gets a quaternion that represents no rotation. A quaternion whose values are (0, 0, 0, 1). Returns the inverse of a quaternion. The quaternion. The inverted quaternion. Gets a value that indicates whether the current instance is the identity quaternion. true if the current instance is the identity quaternion; otherwise, false. Calculates the length of the quaternion. The computed length of the quaternion. Calculates the squared length of the quaternion. The length squared of the quaternion. Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion. The first quaternion. The second quaternion. The relative weight of quaternion2 in the interpolation. The interpolated quaternion. Returns the quaternion that results from multiplying two quaternions together. The first quaternion. The second quaternion. The product quaternion. Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. The source quaternion. The scalar value. The scaled quaternion. Reverses the sign of each component of the quaternion. The quaternion to negate. The negated quaternion. Divides each component of a specified by its length. The quaternion to normalize. The normalized quaternion. Adds each element in one quaternion with its corresponding element in a second quaternion. The first quaternion. The second quaternion. The quaternion that contains the summed values of value1 and value2. Divides one quaternion by a second quaternion. The dividend. The divisor. The quaternion that results from dividing value1 by value2. Returns a value that indicates whether two quaternions are equal. The first quaternion to compare. The second quaternion to compare. true if the two quaternions are equal; otherwise, false. Returns a value that indicates whether two quaternions are not equal. The first quaternion to compare. The second quaternion to compare. true if value1 and value2 are not equal; otherwise, false. Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. The source quaternion. The scalar value. The scaled quaternion. Returns the quaternion that results from multiplying two quaternions together. The first quaternion. The second quaternion. The product quaternion. Subtracts each element in a second quaternion from its corresponding element in a first quaternion. The first quaternion. The second quaternion. The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. Reverses the sign of each component of the quaternion. The quaternion to negate. The negated quaternion. Interpolates between two quaternions, using spherical linear interpolation. The first quaternion. The second quaternion. The relative weight of the second quaternion in the interpolation. The interpolated quaternion. Subtracts each element in a second quaternion from its corresponding element in a first quaternion. The first quaternion. The second quaternion. The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this quaternion. The string representation of this quaternion. The rotation component of the quaternion. The X value of the vector component of the quaternion. The Y value of the vector component of the quaternion. The Z value of the vector component of the quaternion. Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms. The vector type. T can be any primitive numeric type. Creates a vector whose components are of a specified type. The numeric type that defines the type of the components in the vector. Creates a vector from a specified array. A numeric array. values is null. Creates a vector from a specified array starting at a specified index position. A numeric array. The starting index position from which to create the vector. values is null. index is less than zero. -or- The length of values minus index is less than . Copies the vector instance to a specified destination array. The array to receive a copy of the vector values. destination is null. The number of elements in the current vector is greater than the number of elements available in the destination array. Copies the vector instance to a specified destination array starting at a specified index position. The array to receive a copy of the vector values. The starting index in destination at which to begin the copy operation. destination is null. The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array. index is less than zero or greater than the last index in destination. Returns the number of elements stored in the vector. The number of elements stored in the vector. Access to the property getter via reflection is not supported. Returns a value that indicates whether this instance is equal to a specified vector. The vector to compare with this instance. true if the current instance and other are equal; otherwise, false. Returns a value that indicates whether this instance is equal to a specified object. The object to compare with this instance. true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance. Returns the hash code for this instance. The hash code. Gets the element at a specified index. The index of the element to return. The element at index index. index is less than zero. -or- index is greater than or equal to . Returns a vector containing all ones. A vector containing all ones. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Returns a new vector by performing a bitwise And operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise And of left and right. Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise Or of the elements in left and right. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Returns a value that indicates whether each pair of elements in two specified vectors are equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise XOr of the elements in left and right. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Returns a value that indicates whether any single pair of elements in the specified vectors is equal. The first vector to compare. The second vector to compare. true if any element pairs in left and right are equal. false if no element pairs are equal. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar value. The source vector. A scalar value. The scaled vector. Multiplies a vector by the given scalar. The scalar value. The source vector. The scaled vector. Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. The source vector. The one&#39;s complement vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates a given vector. The vector to negate. The negated vector. Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Returns the string representation of this vector using default formatting. The string representation of this vector. Returns the string representation of this vector using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns a vector containing all zeroes. A vector containing all zeroes. Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors. Returns a new vector whose elements are the absolute values of the given vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The absolute value vector. Returns a new vector whose values are the sum of each pair of elements from two given vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The summed vector. Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Reinterprets the bits of a specified vector into those of a vector of unsigned bytes. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a double-precision floating-point vector. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of 16-bit integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of long integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of signed bytes. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a single-precision floating-point vector. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned long integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The new vector with elements selected based on the mask. Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The new vector with elements selected based on the mask. Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The vector type. T can be any primitive numeric type. The new vector with elements selected based on the mask. Returns a new vector whose values are the result of dividing the first vector&#39;s elements by the corresponding elements in the second vector. The first vector. The second vector. The vector type. T can be any primitive numeric type. The divided vector. Returns the dot product of two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The dot product. Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether each pair of elements in the given vectors is equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left and right are equal; otherwise, false. Returns a value that indicates whether any single pair of elements in the given vectors is equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element pair in left and right is equal; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left are greater than the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is greater than the corresponding element in right; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is greater than or equal to the corresponding element in right; otherwise, false. Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support. true if vector operations are subject to hardware acceleration; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all of the elements in left are less than the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is less than the corresponding element in right; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is less than or equal to the corresponding element in right; otherwise, false. Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The maximum vector. Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The minimum vector. Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector. The scalar value. The vector. The vector type. T can be any primitive numeric type. The scaled vector. Returns a new vector whose values are the product of each pair of elements in two specified vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The product vector. Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value. The vector. The scalar value. The vector type. T can be any primitive numeric type. The scaled vector. Returns a new vector whose elements are the negation of the corresponding element in the specified vector. The source vector. The vector type. T can be any primitive numeric type. The negated vector. Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The resulting vector. Returns a new vector whose elements are the square roots of a specified vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The square root vector. Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector. The first vector. The second vector. The vector type. T can be any primitive numeric type. The difference vector. Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Represents a vector with two single-precision floating-point values. Creates a new object whose two elements have the same value. The value to assign to both elements. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns the hash code for this instance. The hash code. Returns the length of the vector. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 2 elements are equal to one. A vector whose two elements are equal to one (that is, it returns the vector (1,1). Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns the reflection of a vector off a surface that has the specified normal. The source vector. The normal of the surface being reflected off. The reflected vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a vector by a specified 3x2 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a vector normal by the given 3x2 matrix. The source vector. The matrix. The transformed vector. Transforms a vector normal by the given 4x4 matrix. The source vector. The matrix. The transformed vector. Gets the vector (1,0). The vector (1,0). Gets the vector (0,1). The vector (0,1). The X component of the vector. The Y component of the vector. Returns a vector whose 2 elements are equal to zero. A vector whose two elements are equal to zero (that is, it returns the vector (0,0). Represents a vector with three single-precision floating-point values. Creates a new object whose three elements have the same value. The value to assign to all three elements. Creates a new object from the specified object and the specified value. The vector with two elements. The additional value to assign to the field. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the cross product of two vectors. The first vector. The second vector. The cross product. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Returns the length of this vector object. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 3 elements are equal to one. A vector whose three elements are equal to one (that is, it returns the vector (1,1,1). Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns the reflection of a vector off a surface that has the specified normal. The source vector. The normal of the surface being reflected off. The reflected vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a vector normal by the given 4x4 matrix. The source vector. The matrix. The transformed vector. Gets the vector (1,0,0). The vector (1,0,0). Gets the vector (0,1,0). The vector (0,1,0).. Gets the vector (0,0,1). The vector (0,0,1). The X component of the vector. The Y component of the vector. The Z component of the vector. Gets a vector whose 3 elements are equal to zero. A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0). Represents a vector with four single-precision floating-point values. Creates a new object whose four elements have the same value. The value to assign to all four elements. Constructs a new object from the specified object and a W component. The vector to use for the X, Y, and Z components. The W component. Creates a new object from the specified object and a Z and a W component. The vector to use for the X and Y components. The Z component. The W component. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Returns the length of this vector object. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 4 elements are equal to one. Returns . Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a four-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a four-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a three-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a two-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a two-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a three-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Gets the vector (0,0,0,1). The vector (0,0,0,1). Gets the vector (1,0,0,0). The vector (1,0,0,0). Gets the vector (0,1,0,0). The vector (0,1,0,0).. Gets a vector whose 4 elements are equal to zero. The vector (0,0,1,0). The W component of the vector. The X component of the vector. The Y component of the vector. The Z component of the vector. Gets a vector whose 4 elements are equal to zero. A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0). ================================================ FILE: DotDumper/bin/Debug/System.Runtime.CompilerServices.Unsafe.xml ================================================  System.Runtime.CompilerServices.Unsafe Contains generic, low-level functionality for manipulating pointers. Adds an element offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of offset to pointer. Adds an element offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of offset to pointer. Adds an element offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of offset to pointer. Adds an element offset to the given void pointer. The void pointer to add the offset to. The offset to add. The type of void pointer. A new void pointer that reflects the addition of offset to the specified pointer. Adds a byte offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of byte offset to pointer. Adds a byte offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of byte offset to pointer. Determines whether the specified references point to the same location. The first reference to compare. The second reference to compare. The type of reference. if and point to the same location; otherwise, . Casts the given object to the specified type. The object to cast. The type which the object will be cast to. The original object, casted to the given type. Reinterprets the given reference as a reference to a value of type . The reference to reinterpret. The type of reference to reinterpret. The desired type of the reference. A reference to a value of type . Returns a pointer to the given by-ref parameter. The object whose pointer is obtained. The type of object. A pointer to the given value. Reinterprets the given read-only reference as a reference. The read-only reference to reinterpret. The type of reference. A reference to a value of type . Reinterprets the given location as a reference to a value of type . The location of the value to reference. The type of the interpreted location. A reference to a value of type . Determines the byte offset from origin to target from the given references. The reference to origin. The reference to target. The type of reference. Byte offset from origin to target i.e. - . Copies a value of type to the given location. The location to copy to. A pointer to the value to copy. The type of value to copy. Copies a value of type to the given location. The location to copy to. A reference to the value to copy. The type of value to copy. Copies bytes from the source address to the destination address. The destination address to copy to. The source address to copy from. The number of bytes to copy. Copies bytes from the source address to the destination address. The destination address to copy to. The source address to copy from. The number of bytes to copy. Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. The destination address to copy to. The source address to copy from. The number of bytes to copy. Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. The destination address to copy to. The source address to copy from. The number of bytes to copy. Initializes a block of memory at the given location with a given initial value. The address of the start of the memory block to initialize. The value to initialize the block to. The number of bytes to initialize. Initializes a block of memory at the given location with a given initial value. The address of the start of the memory block to initialize. The value to initialize the block to. The number of bytes to initialize. Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. The address of the start of the memory block to initialize. The value to initialize the block to. The number of bytes to initialize. Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. The address of the start of the memory block to initialize. The value to initialize the block to. The number of bytes to initialize. Returns a value that indicates whether a specified reference is greater than another specified reference. The first value to compare. The second value to compare. The type of the reference. if is greater than ; otherwise, . Returns a value that indicates whether a specified reference is less than another specified reference. The first value to compare. The second value to compare. The type of the reference. if is less than ; otherwise, . Determines if a given reference to a value of type is a null reference. The reference to check. The type of the reference. if is a null reference; otherwise, . Returns a reference to a value of type that is a null reference. The type of the reference. A reference to a value of type that is a null reference. Reads a value of type from the given location. The location to read from. The type to read. An object of type read from the given location. Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. The location to read from. The type to read. An object of type read from the given location. Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. The location to read from. The type to read. An object of type read from the given location. Returns the size of an object of the given type parameter. The type of object whose size is retrieved. The size of an object of type . Bypasses definite assignment rules for a given value. The uninitialized object. The type of the uninitialized object. Subtracts an element offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subtraction of offset from pointer. Subtracts an element offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subtraction of offset from pointer. Subtracts an element offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subraction of offset from pointer. Subtracts an element offset from the given void pointer. The void pointer to subtract the offset from. The offset to subtract. The type of the void pointer. A new void pointer that reflects the subtraction of offset from the specified pointer. Subtracts a byte offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subtraction of byte offset from pointer. Subtracts a byte offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subraction of byte offset from pointer. Returns a to a boxed value. The value to unbox. The type to be unboxed. is , and is a non-nullable value type. is not a boxed value type. -or- is not a boxed . cannot be found. A to the boxed value . Writes a value of type to the given location. The location to write to. The value to write. The type of value to write. Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. The location to write to. The value to write. The type of value to write. Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. The location to write to. The value to write. The type of value to write. ================================================ FILE: DotDumper/bin/Debug/System.Security.Cryptography.Pkcs.xml ================================================ System.Security.Cryptography.Pkcs Specifies that null is allowed as an input even if the corresponding type disallows it. Specifies that null is disallowed as an input even if the corresponding type allows it. Specifies that an output may be null even if the corresponding type disallows it. Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter may be null. Gets the return value condition. Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter will not be null. Gets the return value condition. Specifies that the output will be non-null if the named parameter is non-null. Initializes the attribute with the associated parameter name. The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. Gets the associated parameter name. Applied to a method that will never return under any circumstance. Specifies that the method will not return if the associated Boolean parameter is passed the specified value. Initializes the attribute with the specified parameter value. The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to the associated parameter matches this value. Gets the condition parameter value. Specifies that the method or property will ensure that the listed field and property members have not-null values. Initializes the attribute with a field or property member. The field or property member that is promised to be not-null. Initializes the attribute with the list of field and property members. The list of field and property members that are promised to be not-null. Gets field or property member names. Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. Initializes the attribute with the specified return value condition and a field or property member. The return value condition. If the method returns this value, the associated parameter will not be null. The field or property member that is promised to be not-null. Initializes the attribute with the specified return value condition and list of field and property members. The return value condition. If the method returns this value, the associated parameter will not be null. The list of field and property members that are promised to be not-null. Gets the return value condition. Gets field or property member names. Base type for all platform-specific API attributes. Records the platform that the project targeted. Records the operating system (and minimum version) that supports an API. Multiple attributes can be applied to indicate support on multiple operating systems. Callers can apply a or use guards to prevent calls to APIs on unsupported operating systems. A given platform should only be specified once. Marks APIs that were removed in a given operating system version. Primarily used by OS bindings to indicate APIs that are only available in earlier versions. Annotates a custom guard field, property or method with a supported platform name and optional version. Multiple attributes can be applied to indicate guard for multiple supported platforms. Callers can apply a to a field, property or method and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs. The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. Annotates the custom guard field, property or method with an unsupported platform name and optional version. Multiple attributes can be applied to indicate guard for multiple unsupported platforms. Callers can apply a to a field, property or method and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms. The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. ================================================ FILE: DotDumper/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] ================================================ FILE: DotDumper/obj/Debug/.NETFramework,Version=v4.8.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] ================================================ FILE: DotDumper/obj/Debug/DotDumper.csproj.CopyComplete ================================================ ================================================ FILE: DotDumper/obj/Debug/DotDumper.csproj.CoreCompileInputs.cache ================================================ 4714cd6333f629bfd5df722447dbb1fbbbb252a5 ================================================ FILE: DotDumper/obj/Debug/DotDumper.csproj.FileListAbsolute.txt ================================================ C:\Users\John\Source\Repos\DotDumper\DotDumper\bin\Debug\DotDumper.exe.config C:\Users\John\Source\Repos\DotDumper\DotDumper\bin\Debug\DotDumper.exe C:\Users\John\Source\Repos\DotDumper\DotDumper\bin\Debug\DotDumper.pdb C:\Users\John\Source\Repos\DotDumper\DotDumper\obj\Debug\DotDumper.csproj.AssemblyReference.cache C:\Users\John\Source\Repos\DotDumper\DotDumper\obj\Debug\DotDumper.csproj.CoreCompileInputs.cache C:\Users\John\Source\Repos\DotDumper\DotDumper\obj\Debug\DotDumper.exe C:\Users\John\Source\Repos\DotDumper\DotDumper\obj\Debug\DotDumper.pdb C:\Users\John\Source\Repos\DotDumper\DotDumper\bin\Debug\PeNet.Asn1.dll C:\Users\John\Source\Repos\DotDumper\DotDumper\bin\Debug\PeNet.dll C:\Users\John\Source\Repos\DotDumper\DotDumper\bin\Debug\System.Buffers.dll C:\Users\John\Source\Repos\DotDumper\DotDumper\bin\Debug\System.Memory.dll C:\Users\John\Source\Repos\DotDumper\DotDumper\bin\Debug\System.Numerics.Vectors.dll C:\Users\John\Source\Repos\DotDumper\DotDumper\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll C:\Users\John\Source\Repos\DotDumper\DotDumper\bin\Debug\System.Security.Cryptography.Pkcs.dll C:\Users\John\Source\Repos\DotDumper\DotDumper\bin\Debug\System.Buffers.xml C:\Users\John\Source\Repos\DotDumper\DotDumper\bin\Debug\System.Memory.xml C:\Users\John\Source\Repos\DotDumper\DotDumper\bin\Debug\System.Numerics.Vectors.xml C:\Users\John\Source\Repos\DotDumper\DotDumper\bin\Debug\System.Runtime.CompilerServices.Unsafe.xml C:\Users\John\Source\Repos\DotDumper\DotDumper\bin\Debug\System.Security.Cryptography.Pkcs.xml C:\Users\John\Source\Repos\DotDumper\DotDumper\obj\Debug\DotDumper.csproj.CopyComplete ================================================ FILE: DotDumper/obj/x64/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs ================================================ // using System; using System.Reflection; [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] ================================================ FILE: DotDumper/obj/x64/Debug/DotDumper.csproj.CoreCompileInputs.cache ================================================ 395ac2255130d4132da537b24d372ccbfe91101e ================================================ FILE: DotDumper/obj/x64/Debug/DotDumper.csproj.FileListAbsolute.txt ================================================ C:\Users\John\Source\Repos\DotDumper\DotDumper\bin\x64\Debug\DotDumper.exe C:\Users\John\Source\Repos\DotDumper\DotDumper\bin\x64\Debug\DotDumper.pdb C:\Users\John\Source\Repos\DotDumper\DotDumper\obj\x64\Debug\DotDumper.csproj.CoreCompileInputs.cache C:\Users\John\Source\Repos\DotDumper\DotDumper\obj\x64\Debug\DotDumper.exe C:\Users\John\Source\Repos\DotDumper\DotDumper\obj\x64\Debug\DotDumper.pdb C:\Users\John\Source\Repos\DotDumper\DotDumper\obj\x64\Debug\DotDumper.csproj.AssemblyReference.cache ================================================ FILE: DotDumper/packages.config ================================================  ================================================ FILE: DotDumper.sln ================================================  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.29201.188 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotDumper", "DotDumper\DotDumper.csproj", "{97B3A6FF-A6EC-488A-8206-9820DC1F109B}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU Debug|x64 = Debug|x64 Release|Any CPU = Release|Any CPU Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {97B3A6FF-A6EC-488A-8206-9820DC1F109B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {97B3A6FF-A6EC-488A-8206-9820DC1F109B}.Debug|Any CPU.Build.0 = Debug|Any CPU {97B3A6FF-A6EC-488A-8206-9820DC1F109B}.Debug|x64.ActiveCfg = Debug|x64 {97B3A6FF-A6EC-488A-8206-9820DC1F109B}.Debug|x64.Build.0 = Debug|x64 {97B3A6FF-A6EC-488A-8206-9820DC1F109B}.Release|Any CPU.ActiveCfg = Release|Any CPU {97B3A6FF-A6EC-488A-8206-9820DC1F109B}.Release|Any CPU.Build.0 = Release|Any CPU {97B3A6FF-A6EC-488A-8206-9820DC1F109B}.Release|x64.ActiveCfg = Release|x64 {97B3A6FF-A6EC-488A-8206-9820DC1F109B}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {73ACB997-98D1-4343-8558-3318327C48C5} EndGlobalSection EndGlobal ================================================ FILE: LICENSE ================================================ DotDumper's code, unless otherwise stated, is licensed under the Apache 2.0 License. The PENet library (licensed under the Apache 2.0 License) can be found at https://github.com/secana/PeNet, and belongs to its respective owners and copyright holders. The Hook.cs class is based on Michael Pekar's DumbHook.cs class, licensed under the MIT license. Both licenses are given below. MIT License Copyright (c) 2022 Michael Pekar Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------ Originally released on unknowncheats.me by me in 2017: https:www.unknowncheats.me/forum/c-/213492-hook-managed-function.html#post1700496 GitHub Gist link: https://gist.github.com/mipek/64d6d1ad08dc51c89e9f7d5ae369b203 END OF MIT LICENSE START OF THE APACHE 2.0 LICENSE Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright 2022 Musarubra US LLC Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ================================================ FILE: README.md ================================================ The DotDumper logo, a dumping truck # DotDumper An automatic unpacker and logger for DotNet Framework targeting files! This tool has been unveiled at [Black Hat USA 2022](https://www.blackhat.com/us-22/arsenal/schedule/index.html#dotdumper-automatically-unpacking-dotnet-based-malware-27846). At [Black Hat Asia 2023](https://www.blackhat.com/asia-23/arsenal/schedule/index.html#dotdumper-automatically-unpacking-dotnet-based-malware-31071), [DotDumperGUI](https://github.com/advanced-threat-research/DotDumperGUI) and [DotDumperNative](https://github.com/advanced-threat-research/DotDumperNative) were published, along with version 1.1-stable of DotDumper. These three tools are meant to be used together, where DotDumper 1.1-stable requires DotDumperNative's DLLs to be present, while DotDumperGUI is meant as a graphical user-interface to open and filter the JSON output from DotDumper runs. The automatic detection and classification of any given file in a reliable manner is often considered the holy grail of malware analysis. The trials and tribulations to get there are plenty, which is why the creation of such a system is held in high regard. When it comes to DotNet targeting binaries, our new open-source tool DotDumper aims to assist in several of the crucial steps along the way: logging (in-memory) activity, dumping interesting memory segments, and extracting characteristics from the given sample. ## Table of contents * Why DotDumper? * Features * Using the command-line interface * Logging and dumping * Reflection * (Un)managed hooks * Easily extendible * Sandbox timeout support * Differences with known tooling * Future work ## Why DotDumper? In brief, manual unpacking is a tedious process which consumes a disproportional amount of time for analysts. Obfuscated binaries further increase the time an analyst must spend to unpack a given file. When scaling this, organizations need numerous analysts who dissect malware daily, likely in combination with a scalable sandbox. The lost valuable time could be used to dig into interesting campaigns or samples to uncover new threats, rather than the mundane generic malware that is widely spread. Afterall, analysts look for the few needles in the haystack. So, what difference does DotDumper make? Running a DotNet based malware sample via DotDumper provides log files of crucial, contextualizing, and common function calls in three formats (human readable plaintext, JSON, and XML), as well as copies from useful in-memory segments. As such, an analyst can skim through the function call log. Additionally, the dumped files can be scanned to classify them, providing additional insight into the malware sample and the data it contains. This cuts down on time vital to the triage and incident response processes, and frees up SOC analyst and researcher time for more sophisticated analysis needs. ## Features To log and dump the contextualizing function calls and their results, DotDumper uses a mixture of reflection and managed hooks, all written in pure C#. Below, key features will be highlighted and elaborated upon, in combination with excerpts of DotDumper’s results of a packed AgentTesla stealer sample, the hashes of which are below. |Hash type | Hash value | | --- | ----------- | | SHA-256 | b7512e6b8e9517024afdecc9e97121319e7dad2539eb21a79428257401e5558d | | SHA-1 | c10e48ee1f802f730f41f3d11ae9d7bcc649080c | | MD-5 | 23541daadb154f1f59119952e7232d6b | ### Using the command-line interface DotDumper is accessible through a command-line interface, with a variety of arguments. The image below shows the help menu. Note that not all arguments will be discussed, but rather the most used ones. ![DotDumper's command-line interface menu](images/cli.png) The minimal requirement to run a given sample, is to provide the “-file” argument, along with a file name or file path. If a full path is given, it is used. If a file name is given, the current working directory is checked, as well as the folder of DotDumper’s executable location. Unless a directory name is provided, the “-log” folder name is set equal to the file name of the sample without the extension (if any). The folder is located in the same folder as DotDumper resides in, which is where the logs and dumped files will be saved in. In the case of a library, or an alternative entry point into a binary, one must override the entry point using “-overrideEntry true”. Additionally, one has to provide the fully qualified class, which includes the name space using “-fqcn My.NameSpace.MyClass”. This tells DotDumper which class to select, which is where the provided function name (using “-functionName MyFunction”) is retrieved. If the selected function requires arguments, one has to provide the number of arguments using “-argc” and the number of required arguments. The argument types and values are to be provided as “string|myValue int|9”. Note that when spaces are used in the values, the argument on the command-line interface needs to be encapsulated between quotes to ensure it is passed as a single argument. Other less frequently used options such as “-raceTime” or “-deprecated” are safe in their default settings but might require tweaking in the future due to changes in the DotNet Framework. They are currently exposed in the command-line interface to easily allow changes, if need be, even if one is using an older version of DotDumper when the time comes. ### Logging and dumping Logging and dumping are the two core features of DotDumper. To minimize the amount of time the analysis takes, the logging should provide context to the analyst. This is done by providing the analyst with the following information for each logged function call: * A stack trace based on the function’s caller * Information regarding the assembly object where the call originated from, such as the name, version, and cryptographic hashes * The parent assembly, from which the call originates if it is not the original sample * The type, name, and value of the function’s arguments * The type, name, and value of function’s return value, if any * A list of files which are dumped to disk which correspond with the given function call Note that for each dumped file, the file name is equal to the file’s SHA-256 hash. To clarify the above, an excerpt of a log is given below. The excerpt shows the details for the aforementioned AgentTesla sample, where it loads the second stage using DotNet’s Assembly.Load function. ![The log for an intercepted Assembly.Load(byte[] rawAssembly) function call](images/assembly_load.png) First, the local system time is given, together with the original function’s return type, name, and argument(s). Second, the stack trace is given, where it shows that the sample’s main function leads to a constructor, initialises the components, and calls two custom functions. The Assembly.Load function was called from within “NavigationLib.TaskEightBestOil.GGGGGGGGGGGGGGGGGGGG(String str)”. This provides context for the analyst to find the code around this call if it is of interest. Then, information regarding the assembly call order is given. The more stages are loaded, the more complex it becomes to see via which stages the call came to be. One normally expects one stage to load the next, but in some cases later stages utilize previous stages in a non-linear order. Additionally, information regarding the originating assembly is given to further enrich the data for the analyst. Next, the parent hash is given. The parent of a stage is the previous stage, which in this example is not yet present. The newly loaded stage will have this stage as its parent. This allows the analyst to correlate events more easily. Finally, the function’s return type and value are stored, along with the type, name, and value of each argument that is passed to the hooked function. If any variable is larger than 100 bytes in size, it is stored on the disk instead. A reference is then inserted in the log to reference the file, rather than showing the value. The threshold has been set to avoid hiccups in the printing of the log, as some arrays are thousands of indices in size. ### Reflection Per Microsoft’s documentation, reflection is best [summarized]([url](https://docs.microsoft.com/en-us/dotnet/framework/reflection-and-codedom/reflection)) as “[…] provides objects that encapsulate assemblies, modules, and types”. In short, this allows the dynamic creation and invocation of DotNet classes and functions from the malware sample. DotDumper contains a reflective loader which allows an analyst to load and analyze both executables and libraries, as long as they are DotNet Framework based. To utilize the loader, one has to opt to overwrite the entry point in the command-line interface, specify the class (including the namespace it resides in) and function name within a given file. Optionally, one can provide arguments to the specified function, for all native types and arrays thereof. Examples of native types are int, string, char, and arrays such as int[], string[], and char[]. All the arguments are to be provided via the command-line interface, where both the type and the value are to be specified. Not overriding the entry point results in the default entry point being used. By default, an empty string array is passed towards the sample’s main function, as if the sample is executed without arguments. Additionally, reflection is often used by loaders to invoke a given function in a given class in the next stage. Sometimes, arguments are passed along as well, which are used later to decrypt a resource. In the aforementioned AgentTesla sample, this exact scenario plays out. DotDumper’s invoke related hooks log these occurrences, as can be seen below. ![The intercepted hook to invoke the second stage](images/invoke_hook.png) The function name in the first line is not an internal function of the DotNet Framework, but rather a call to a specific function in the second stage. The types and names of the three arguments are listed in the function signature. Their values can be found in the function argument information section. This would allow an analyst to load the second stage in a custom loader with the given values for the arguments, or even do this using DotDumper by loading the previously dumped stage and providing the arguments. ### (Un)managed hooks Before going into managed hooks, one needs to understand how hooks work. There are two main variables to consider here: the target function and a controlled function which is referred to as the hook. Simply put, the memory at the target function (i.e. Assembly.Load) is altered to instead to jump to the hook. As such, the program’s execution flow is diverted. The hook can then perform arbitrary actions, optionally call the original function, after which it returns the execution to the caller together with a return value if need be. The diagram below illustrates this process. ![The flow chart of a hook's installation and usage](images/hook_flowchart.png) Knowing what hooks are is essential to understand what managed hooks are. Managed code is executed in a virtual and managed environment, such as the DotNet runtime or Java’s virtual machine. Obtaining the memory address where the managed function resides differs from an unmanaged language such as C. Once the correct memory addresses for both functions have been obtained, the hook can be set by directly accessing memory using unsafe C#, along with DotNet’s interoperability service to call native Windows API functionality. Since DotDumper v1.1-stable, DotDumper can also hook unmanaged (or native, if you will) functions. The function redirection can be any combination from-and-to managed and unmanaged functions, with one important caveat. Any unmanaged function that uses a managed hook, will not be able to properly read the stack's values. As such, a native component is required (dubbed DotDumperNative). This component communicates via a named pipe with DotDumper itself, thus using its centralised logging system, while intercepting unmanaged calls with access to the function arguments found on the stack. ### Easily extendible Since DotDumper is written in pure C# without any external dependencies, one can easily extend the framework using Visual Studio. The code is documented in this blog, on GitHub, and in classes, in functions, and in-line in the source code. This, in combination with the clear naming scheme, allows anyone to modify the tool as they see fit, minimizing the time and effort that one needs to spend to understand the tool. Instead, it allows developers and analysts alike to focus their efforts on the tool’s improvement. ## Sandbox timeout support While the sandbox timeout support feature hasn’t been changed nor modified, it wasn’t documented before. Since DotDumper executes the file it is given, its execution will continue until the sample terminates. Malware often enters a “waiting” state, where a certain condition must be met before it reactivates, or the malware continues execution in a different process (with the help of process injection). For example, a newly created thread in a hollowed process only returns once it is finished. To avoid stalling, DotDumper has a stagnation handler. Each time a hook’s results are logged, a counter is incremented. If this counter is unchanged after three consecutive 20-second intervals, DotDumper assumes a stagnated state is encountered. In that case, the system’s time is set to 30-12-2200 12:00 to force the sandbox to time out, after which it notifies the analyst via the logger and terminates itself. The sandbox timeout occurs when the elapsed time from the current date until the newly set date exceeds the usual 5 or 10 minutes. Even if the sandbox runtime is set to hours or days, it is exceeded. The reason to cut the analysis short is to save time and resources, since a submission with a 10-minute timeout might only take 2 minutes to run. As such, one would be able to run multiple samples in the same time span with the stagnation handler. An overview of the stagnation handler’s logic is shown below. ![The flow chart of the stagnation handler](images/sandbox_flowchart.png) ## Differences with known tooling With the goal and features of DotDumper clear, it might seem as if there’s overlap with known publicly available tools such as [ILSpy](https://github.com/icsharpcode/ILSpy), [dnSpyEx](https://github.com/dnSpyEx/dnSpy), [de4dot](https://github.com/de4dot/de4dot), or [pe-sieve](https://github.com/hasherezade/pe-sieve). Note that there is no intention to proclaim one tool is better than another, but rather how the tools differ. DotDumper’s goal is to log and dump crucial, contextualizing, and common function calls from DotNet targeting samples. ILSpy is a DotNet disassembler and decompiler, but does not allow the execution of the file. dnSpyEx (and its predecessor dnSpy) utilise ILSpy as the disassembler and decompiler component, while adding a debugger. This allows one to manually inspect and manipulate memory. de4dot is solely used to deobfuscate DotNet binaries, improving the code’s readability for human eyes. The last tool in this comparison, pe-sieve, is meant to detect and dump malware from running processes, disregarding the used programming language. The table below provides a graphical overview of the above-mentioned tools. ![The table with the different tool purposes in summary](images/tool_table.png) ## Future work DotDumper is under constant review and development, all of which is focused on two main areas of interest: bug fixing and the addition of new features. During the development, the code was tested, but due to injection of hooks into the DotNet Framework’s functions which can be subject to change, it’s very well possible that there are bugs in the code. Anyone who encounters a bug is urged to open an issue on the GitHub repository, which will then be looked at. The suggestion of new features is also possible via the GitHub repository. For those with a GitHub account, or for those who rather not publicly interact, feel free to send me a private message on my [Twitter](https://twitter.com/Libranalysis). Needless to say, if you've used DotDumper during an analysis, or used it in a creative way, feel free to reach out in public or in private! There’s nothing like hearing about the usage of a home-made tool! There is more in store for DotDumper, and an update will be sent out to the community once it is available! ================================================ FILE: packages/System.Buffers.4.5.1/LICENSE.TXT ================================================ The MIT License (MIT) Copyright (c) .NET Foundation and Contributors All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: packages/System.Buffers.4.5.1/THIRD-PARTY-NOTICES.TXT ================================================ .NET Core uses third-party libraries or other resources that may be distributed under licenses different than the .NET Core software. In the event that we accidentally failed to list a required notice, please bring it to our attention. Post an issue or email us: dotnet@microsoft.com The attached notices are provided for information only. License notice for Slicing-by-8 ------------------------------- http://sourceforge.net/projects/slicing-by-8/ Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved This software program is licensed subject to the BSD License, available at http://www.opensource.org/licenses/bsd-license.html. License notice for Unicode data ------------------------------- http://www.unicode.org/copyright.html#License Copyright © 1991-2017 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html. Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that either (a) this copyright and permission notice appear with all copies of the Data Files or Software, or (b) this copyright and permission notice appear in associated Documentation. THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE. Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder. License notice for Zlib ----------------------- https://github.com/madler/zlib http://zlib.net/zlib_license.html /* zlib.h -- interface of the 'zlib' general purpose compression library version 1.2.11, January 15th, 2017 Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. Jean-loup Gailly Mark Adler jloup@gzip.org madler@alumni.caltech.edu */ License notice for Mono ------------------------------- http://www.mono-project.com/docs/about-mono/ Copyright (c) .NET Foundation Contributors MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the Software), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for International Organization for Standardization ----------------------------------------------------------------- Portions (C) International Organization for Standardization 1986: Permission to copy in any form is granted for use with conforming SGML systems and applications as defined in ISO 8879, provided this notice is included in all copies. License notice for Intel ------------------------ "Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. License notice for Xamarin and Novell ------------------------------------- Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Copyright (c) 2011 Novell, Inc (http://www.novell.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Third party notice for W3C -------------------------- "W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE Status: This license takes effect 13 May, 2015. This work is being provided by the copyright holders under the following license. License By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." Disclaimers THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." License notice for Bit Twiddling Hacks -------------------------------------- Bit Twiddling Hacks By Sean Eron Anderson seander@cs.stanford.edu Individually, the code snippets here are in the public domain (unless otherwise noted) — feel free to use them however you please. The aggregate collection and descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and without even the implied warranty of merchantability or fitness for a particular purpose. License notice for Brotli -------------------------------------- Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. compress_fragment.c: Copyright (c) 2011, Google Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. decode_fuzzer.c: Copyright (c) 2015 The Chromium Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ================================================ FILE: packages/System.Buffers.4.5.1/lib/net461/System.Buffers.xml ================================================  System.Buffers Provides a resource pool that enables reusing instances of type . The type of the objects that are in the resource pool. Initializes a new instance of the class. Creates a new instance of the class. A new instance of the class. Creates a new instance of the class using the specifed configuration. The maximum length of an array instance that may be stored in the pool. The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access. A new instance of the class with the specified configuration. Retrieves a buffer that is at least the requested length. The minimum length of the array. An array of type that is at least minimumLength in length. Returns an array to the pool that was previously obtained using the method on the same instance. A buffer to return to the pool that was previously obtained using the method. Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array&#39;s contents are left unchanged. Gets a shared instance. A shared instance. ================================================ FILE: packages/System.Buffers.4.5.1/lib/netcoreapp2.0/_._ ================================================ ================================================ FILE: packages/System.Buffers.4.5.1/lib/netstandard1.1/System.Buffers.xml ================================================  System.Buffers Provides a resource pool that enables reusing instances of type . The type of the objects that are in the resource pool. Initializes a new instance of the class. Creates a new instance of the class. A new instance of the class. Creates a new instance of the class using the specifed configuration. The maximum length of an array instance that may be stored in the pool. The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access. A new instance of the class with the specified configuration. Retrieves a buffer that is at least the requested length. The minimum length of the array. An array of type that is at least minimumLength in length. Returns an array to the pool that was previously obtained using the method on the same instance. A buffer to return to the pool that was previously obtained using the method. Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array&#39;s contents are left unchanged. Gets a shared instance. A shared instance. ================================================ FILE: packages/System.Buffers.4.5.1/lib/netstandard2.0/System.Buffers.xml ================================================  System.Buffers Provides a resource pool that enables reusing instances of type . The type of the objects that are in the resource pool. Initializes a new instance of the class. Creates a new instance of the class. A new instance of the class. Creates a new instance of the class using the specifed configuration. The maximum length of an array instance that may be stored in the pool. The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access. A new instance of the class with the specified configuration. Retrieves a buffer that is at least the requested length. The minimum length of the array. An array of type that is at least minimumLength in length. Returns an array to the pool that was previously obtained using the method on the same instance. A buffer to return to the pool that was previously obtained using the method. Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array&#39;s contents are left unchanged. Gets a shared instance. A shared instance. ================================================ FILE: packages/System.Buffers.4.5.1/lib/uap10.0.16299/_._ ================================================ ================================================ FILE: packages/System.Buffers.4.5.1/ref/net45/System.Buffers.xml ================================================  System.Buffers Provides a resource pool that enables reusing instances of type . The type of the objects that are in the resource pool. Initializes a new instance of the class. Creates a new instance of the class. A new instance of the class. Creates a new instance of the class using the specifed configuration. The maximum length of an array instance that may be stored in the pool. The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access. A new instance of the class with the specified configuration. Retrieves a buffer that is at least the requested length. The minimum length of the array. An array of type that is at least minimumLength in length. Returns an array to the pool that was previously obtained using the method on the same instance. A buffer to return to the pool that was previously obtained using the method. Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array&#39;s contents are left unchanged. Gets a shared instance. A shared instance. ================================================ FILE: packages/System.Buffers.4.5.1/ref/netcoreapp2.0/_._ ================================================ ================================================ FILE: packages/System.Buffers.4.5.1/ref/netstandard1.1/System.Buffers.xml ================================================  System.Buffers Provides a resource pool that enables reusing instances of type . The type of the objects that are in the resource pool. Initializes a new instance of the class. Creates a new instance of the class. A new instance of the class. Creates a new instance of the class using the specifed configuration. The maximum length of an array instance that may be stored in the pool. The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access. A new instance of the class with the specified configuration. Retrieves a buffer that is at least the requested length. The minimum length of the array. An array of type that is at least minimumLength in length. Returns an array to the pool that was previously obtained using the method on the same instance. A buffer to return to the pool that was previously obtained using the method. Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array&#39;s contents are left unchanged. Gets a shared instance. A shared instance. ================================================ FILE: packages/System.Buffers.4.5.1/ref/netstandard2.0/System.Buffers.xml ================================================  System.Buffers Provides a resource pool that enables reusing instances of type . The type of the objects that are in the resource pool. Initializes a new instance of the class. Creates a new instance of the class. A new instance of the class. Creates a new instance of the class using the specifed configuration. The maximum length of an array instance that may be stored in the pool. The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access. A new instance of the class with the specified configuration. Retrieves a buffer that is at least the requested length. The minimum length of the array. An array of type that is at least minimumLength in length. Returns an array to the pool that was previously obtained using the method on the same instance. A buffer to return to the pool that was previously obtained using the method. Indicates whether the contents of the buffer should be cleared before reuse. If clearArray is set to true, and if the pool will store the buffer to enable subsequent reuse, the method will clear the array of its contents so that a subsequent caller using the method will not see the content of the previous caller. If clearArray is set to false or if the pool will release the buffer, the array&#39;s contents are left unchanged. Gets a shared instance. A shared instance. ================================================ FILE: packages/System.Buffers.4.5.1/ref/uap10.0.16299/_._ ================================================ ================================================ FILE: packages/System.Buffers.4.5.1/useSharedDesignerContext.txt ================================================ ================================================ FILE: packages/System.Buffers.4.5.1/version.txt ================================================ 7601f4f6225089ffb291dc7d58293c7bbf5c5d4f ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ThirdPartyNotices.txt ================================================ This Microsoft .NET Library may incorporate components from the projects listed below. Microsoft licenses these components under the Microsoft .NET Library software license terms. The original copyright notices and the licenses under which Microsoft received such components are set forth below for informational purposes only. Microsoft reserves all rights not expressly granted herein, whether by implication, estoppel or otherwise. 1. .NET Core (https://github.com/dotnet/core/) .NET Core Copyright (c) .NET Foundation and Contributors The MIT License (MIT) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/dotnet_library_license.txt ================================================ MICROSOFT SOFTWARE LICENSE TERMS MICROSOFT .NET LIBRARY These license terms are an agreement between Microsoft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft · updates, · supplements, · Internet-based services, and · support services for this software, unless other terms accompany those items. If so, those terms apply. BY USING THE SOFTWARE, YOU ACCEPT THESE TERMS. IF YOU DO NOT ACCEPT THEM, DO NOT USE THE SOFTWARE. IF YOU COMPLY WITH THESE LICENSE TERMS, YOU HAVE THE PERPETUAL RIGHTS BELOW. 1. INSTALLATION AND USE RIGHTS. a. Installation and Use. You may install and use any number of copies of the software to design, develop and test your programs. b. Third Party Programs. The software may include third party programs that Microsoft, not the third party, licenses to you under this agreement. Notices, if any, for the third party program are included for your information only. 2. ADDITIONAL LICENSING REQUIREMENTS AND/OR USE RIGHTS. a. DISTRIBUTABLE CODE. The software is comprised of Distributable Code. “Distributable Code” is code that you are permitted to distribute in programs you develop if you comply with the terms below. i. Right to Use and Distribute. · You may copy and distribute the object code form of the software. · Third Party Distribution. You may permit distributors of your programs to copy and distribute the Distributable Code as part of those programs. ii. Distribution Requirements. For any Distributable Code you distribute, you must · add significant primary functionality to it in your programs; · require distributors and external end users to agree to terms that protect it at least as much as this agreement; · display your valid copyright notice on your programs; and · indemnify, defend, and hold harmless Microsoft from any claims, including attorneys’ fees, related to the distribution or use of your programs. iii. Distribution Restrictions. You may not · alter any copyright, trademark or patent notice in the Distributable Code; · use Microsoft’s trademarks in your programs’ names or in a way that suggests your programs come from or are endorsed by Microsoft; · include Distributable Code in malicious, deceptive or unlawful programs; or · modify or distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that · the code be disclosed or distributed in source code form; or · others have the right to modify it. 3. SCOPE OF LICENSE. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not · work around any technical limitations in the software; · reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation; · publish the software for others to copy; · rent, lease or lend the software; · transfer the software or this agreement to any third party; or · use the software for commercial software hosting services. 4. BACKUP COPY. You may make one backup copy of the software. You may use it only to reinstall the software. 5. DOCUMENTATION. Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes. 6. EXPORT RESTRICTIONS. The software is subject to United States export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see www.microsoft.com/exporting. 7. SUPPORT SERVICES. Because this software is “as is,” we may not provide support services for it. 8. ENTIRE AGREEMENT. This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. 9. APPLICABLE LAW. a. United States. If you acquired the software in the United States, Washington state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other claims, including claims under state consumer protection laws, unfair competition laws, and in tort. b. Outside the United States. If you acquired the software in any other country, the laws of that country apply. 10. LEGAL EFFECT. This agreement describes certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the laws of your country do not permit it to do so. 11. DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED “AS-IS.” YOU BEAR THE RISK OF USING IT. MICROSOFT GIVES NO EXPRESS WARRANTIES, GUARANTEES OR CONDITIONS. YOU MAY HAVE ADDITIONAL CONSUMER RIGHTS OR STATUTORY GUARANTEES UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT EXCLUDES THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. FOR AUSTRALIA – YOU HAVE STATUTORY GUARANTEES UNDER THE AUSTRALIAN CONSUMER LAW AND NOTHING IN THESE TERMS IS INTENDED TO AFFECT THOSE RIGHTS. 12. LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM MICROSOFT AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO U.S. $5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES. This limitation applies to · anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and · claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law. It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of incidental, consequential or other damages. Please note: As this software is distributed in Quebec, Canada, some of the clauses in this agreement are provided below in French. Remarque : Ce logiciel étant distribué au Québec, Canada, certaines des clauses dans ce contrat sont fournies ci-dessous en français. EXONÉRATION DE GARANTIE. Le logiciel visé par une licence est offert « tel quel ». Toute utilisation de ce logiciel est à votre seule risque et péril. Microsoft n’accorde aucune autre garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection des consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualité marchande, d’adéquation à un usage particulier et d’absence de contrefaçon sont exclues. LIMITATION DES DOMMAGES-INTÉRÊTS ET EXCLUSION DE RESPONSABILITÉ POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement à hauteur de 5,00 $ US. Vous ne pouvez prétendre à aucune indemnisation pour les autres dommages, y compris les dommages spéciaux, indirects ou accessoires et pertes de bénéfices. Cette limitation concerne : · tout ce qui est relié au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et · les réclamations au titre de violation de contrat ou de garantie, ou au titre de responsabilité stricte, de négligence ou d’une autre faute dans la limite autorisée par la loi en vigueur. Elle s’applique également, même si Microsoft connaissait ou devrait connaître l’éventualité d’un tel dommage. Si votre pays n’autorise pas l’exclusion ou la limitation de responsabilité pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l’exclusion ci-dessus ne s’appliquera pas à votre égard. EFFET JURIDIQUE. Le présent contrat décrit certains droits juridiques. Vous pourriez avoir d’autres droits prévus par les lois de votre pays. Le présent contrat ne modifie pas les droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas. ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/lib/MonoAndroid10/_._ ================================================ ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/lib/MonoTouch10/_._ ================================================ ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/lib/xamarinios10/_._ ================================================ ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/lib/xamarinmac20/_._ ================================================ ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/lib/xamarintvos10/_._ ================================================ ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/lib/xamarinwatchos10/_._ ================================================ ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/MonoAndroid10/_._ ================================================ ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/MonoTouch10/_._ ================================================ ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/netstandard1.3/System.Diagnostics.Process.xml ================================================  System.Diagnostics.Process [SECURITY CRITICAL] Provides a managed wrapper for a process handle. [SECURITY CRITICAL] Initializes a new instance of the class from the specified handle, indicating whether to release the handle during the finalization phase. The handle to be wrapped. true to reliably let release the handle during the finalization phase; otherwise, false. Provides data for the and events. 2 Gets the line of characters that was written to a redirected output stream. The line that was written by an associated to its redirected or stream. 2 Represents the method that will handle the event or event of a . The source of the event. A that contains the event data. 2 Provides access to local and remote processes and enables you to start and stop local system processes.To browse the .NET Framework source code for this type, see the Reference Source. 1 Initializes a new instance of the class. Gets the base priority of the associated process. The base priority, which is computed from the of the associated process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. The process has exited.-or- The process has not started, so there is no process ID. 2 Begins asynchronous read operations on the redirected stream of the application. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Begins asynchronous read operations on the redirected stream of the application. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Cancels the asynchronous read operation on the redirected stream of an application. The stream is not enabled for asynchronous read operations. 2 Cancels the asynchronous read operation on the redirected stream of an application. The stream is not enabled for asynchronous read operations. 2 Release all resources used by this process. true to release both managed and unmanaged resources; false to release only unmanaged resources. Gets or sets whether the event should be raised when the process terminates. true if the event should be raised when the associated process is terminated (through either an exit or a call to ); otherwise, false. The default is false. 2 Puts a component in state to interact with operating system processes that run in a special mode by enabling the native property SeDebugPrivilege on the current thread. 2 Occurs when an application writes to its redirected stream. 2 Gets the value that the associated process specified when it terminated. The code that the associated process specified when it terminated. The process has not exited.-or- The process is not valid. You are trying to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. 1 Occurs when a process exits. 2 Gets the time that the associated process exited. A that indicates when the associated process was terminated. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are trying to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. 1 Gets a new component and associates it with the currently active process. A new component associated with the process resource that is running the calling application. 1 Returns a new component, given the identifier of a process on the local computer. A component that is associated with the local process resource identified by the parameter. The system-unique identifier of a process resource. The process specified by the parameter is not running. The identifier might be expired. The process was not started by this object. 1 Returns a new component, given a process identifier and the name of a computer on the network. A component that is associated with a remote process resource identified by the parameter. The system-unique identifier of a process resource. The name of a computer on the network. The process specified by the parameter is not running. The identifier might be expired.-or- The parameter syntax is invalid. The name might have length zero (0). The parameter is null. The process was not started by this object. 1 Creates a new component for each process resource on the local computer. An array of type that represents all the process resources running on the local computer. 1 Creates a new component for each process resource on the specified computer. An array of type that represents all the process resources running on the specified computer. The computer from which to read the list of processes. The parameter syntax is invalid. It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information. This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Creates an array of new components and associates them with all the process resources on the local computer that share the specified process name. An array of type that represents the process resources running the specified application or file. The friendly name of the process. There are problems accessing the performance counter API's used to get process information. This exception is specific to Windows NT, Windows 2000, and Windows XP. 1 Creates an array of new components and associates them with all the process resources on a remote computer that share the specified process name. An array of type that represents the process resources running the specified application or file. The friendly name of the process. The name of a computer on the network. The parameter syntax is invalid. It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information. This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Gets a value indicating whether the associated process has been terminated. true if the operating system process referenced by the component has terminated; otherwise, false. There is no process associated with the object. The exit code for the process could not be retrieved. You are trying to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. 1 Gets the unique identifier for the associated process. The system-generated unique identifier of the process that is referenced by this instance. The process's property has not been set.-or- There is no process associated with this object. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. 1 Immediately stops the associated process. The associated process could not be terminated. -or-The process is terminating.-or- The associated process is a Win16 executable. You are attempting to call for a process that is running on a remote computer. The method is available only for processes running on the local computer. The process has already exited. -or-There is no process associated with this object. 1 Takes a component out of the state that lets it interact with operating system processes that run in a special mode. 2 Gets the name of the computer the associated process is running on. The name of the computer that the associated process is running on. There is no process associated with this object. 1 Gets the main module for the associated process. The that was used to start the process. You are trying to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. A 32-bit process is trying to access the modules of a 64-bit process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not available.-or- The process has exited. 1 Gets or sets the maximum allowable working set size for the associated process. The maximum working set size that is allowed in memory for the process, in bytes. The maximum working set size is invalid. It must be greater than or equal to the minimum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Gets or sets the minimum allowable working set size for the associated process. The minimum working set size that is required in memory for the process, in bytes. The minimum working set size is invalid. It must be less than or equal to the maximum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Gets the modules that have been loaded by the associated process. An array of type that represents the modules that have been loaded by the associated process. You are attempting to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. The process is not available. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. You are attempting to access the property for either the system process or the idle process. These processes do not have modules. 2 Gets the amount of nonpaged system memory allocated for the associated process. The amount of system memory, in bytes, allocated for the associated process that cannot be written to the virtual memory paging file. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Raises the event. Occurs each time an application writes a line to its redirected stream. 2 Gets the amount of paged memory allocated for the associated process. The amount of memory, in bytes, allocated in the virtual memory paging file for the associated process. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Gets the amount of pageable system memory allocated for the associated process. The amount of system memory, in bytes, allocated for the associated process that can be written to the virtual memory paging file. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Gets the maximum amount of memory in the virtual memory paging file used by the associated process. The maximum amount of memory, in bytes, allocated in the virtual memory paging file for the associated process since it was started. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Gets the maximum amount of virtual memory used by the associated process. The maximum amount of virtual memory, in bytes, allocated for the associated process since it was started. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Gets the maximum amount of physical memory used by the associated process. The maximum amount of physical memory, in bytes, allocated for the associated process since it was started. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Gets or sets a value indicating whether the associated process priority should temporarily be boosted by the operating system when the main window has the focus. true if dynamic boosting of the process priority should take place for a process when it is taken out of the wait state; otherwise, false. The default is false. Priority boost information could not be retrieved from the associated process resource. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.-or- The process identifier or process handle is zero. (The process has not been started.) You are attempting to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. The process is not available. 1 Gets or sets the overall priority category for the associated process. The priority category for the associated process, from which the of the process is calculated. Process priority information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero. (The process has not been started.) You are attempting to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. The process is not available. You have set the to AboveNormal or BelowNormal when using Windows 98 or Windows Millennium Edition (Windows Me). These platforms do not support those values for the priority class. Priority class cannot be set because it does not use a valid value, as defined in the enumeration. 1 Gets the amount of private memory allocated for the associated process. The amount of memory, in bytes, allocated for the associated process that cannot be shared with other processes. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Gets the privileged processor time for this process. A that indicates the amount of time that the process has spent running code inside the operating system core. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. 2 Gets the name of the process. The name that the system uses to identify the process to the user. The process does not have an identifier, or no process is associated with the .-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not on this computer. 1 Gets or sets the processors on which the threads in this process can be scheduled to run. A bitmask representing the processors that the threads in the associated process can run on. The default depends on the number of processors on the computer. The default value is 2 n -1, where n is the number of processors. information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero. (The process has not been started.) You are attempting to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. The process was not available.-or- The process has exited. 2 Discards any information about the associated process that has been cached inside the process component. 1 Gets the native handle to this process. The native handle to this process. Gets the Terminal Services session identifier for the associated process. The Terminal Services session identifier for the associated process. There is no session associated with this process. There is no process associated with this session identifier.-or-The associated process is not on this machine. The property is not supported on Windows 98. 1 Gets a stream used to read the error output of the application. A that can be used to read the standard error stream of the application. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Gets a stream used to write the input of the application. A that can be used to write the standard input stream of the application. The stream has not been defined because is set to false. 1 Gets a stream used to read the textual output of the application. A that can be used to read the standard output stream of the application. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Starts (or reuses) the process resource that is specified by the property of this component and associates it with the component. true if a process resource is started; false if no new process resource is started (for example, if an existing process is reused). No file name was specified in the component's .-or- The member of the property is true while , , or is true. There was an error in opening the associated file. The process object has already been disposed. 1 Starts the process resource that is specified by the parameter containing process start information (for example, the file name of the process to start) and associates the resource with a new component. A new that is associated with the process resource, or null if no process resource is started. Note that a new process that’s started alongside already running instances of the same process will be independent from the others. In addition, Start may return a non-null Process with its property already set to true. In this case, the started process may have activated an existing instance of itself and then exited. The that contains the information that is used to start the process, including the file name and any command-line arguments. No file name was specified in the parameter's property.-or- The property of the parameter is true and the , , or property is also true.-or-The property of the parameter is true and the property is not null or empty or the property is not null. The parameter is null. The process object has already been disposed. The file specified in the parameter's property could not be found. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080. The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." 1 Starts a process resource by specifying the name of a document or application file and associates the resource with a new component. A new that is associated with the process resource, or null if no process resource is started. Note that a new process that’s started alongside already running instances of the same process will be independent from the others. In addition, Start may return a non-null Process with its property already set to true. In this case, the started process may have activated an existing instance of itself and then exited. The name of a document or application file to run in the process. An error occurred when opening the associated file. The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Starts a process resource by specifying the name of an application and a set of command-line arguments, and associates the resource with a new component. A new that is associated with the process resource, or null if no process resource is started. Note that a new process that’s started alongside already running instances of the same process will be independent from the others. In addition, Start may return a non-null Process with its property already set to true. In this case, the started process may have activated an existing instance of itself and then exited. The name of an application file to run in the process. Command-line arguments to pass when starting the process. The or parameter is null. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080. The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Starts a process resource by specifying the name of an application, a user name, a password, and a domain and associates the resource with a new component. A new that is associated with the process resource, or null if no process resource is started. Note that a new process that’s started alongside already running instances of the same process will be independent from the others. In addition, Start may return a non-null Process with its property already set to true. In this case, the started process may have activated an existing instance of itself and then exited. The name of an application file to run in the process. The user name to use when starting the process. A that contains the password to use when starting the process. The domain to use when starting the process. No file name was specified. is not an executable (.exe) file. There was an error in opening the associated file. The process object has already been disposed. 1 Starts a process resource by specifying the name of an application, a set of command-line arguments, a user name, a password, and a domain and associates the resource with a new component. A new that is associated with the process resource, or null if no process resource is started. Note that a new process that’s started alongside already running instances of the same process will be independent from the others. In addition, Start may return a non-null Process with its property already set to true. In this case, the started process may have activated an existing instance of itself and then exited. The name of an application file to run in the process. Command-line arguments to pass when starting the process. The user name to use when starting the process. A that contains the password to use when starting the process. The domain to use when starting the process. No file name was specified. is not an executable (.exe) file. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080. The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. 1 Gets or sets the properties to pass to the method of the . The that represents the data with which to start the process. These arguments include the name of the executable file or document used to start the process. The value that specifies the is null. 1 Gets the time that the associated process was started. An object that indicates when the process started. An exception is thrown if the process is not running. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. The process has exited.-or-The process has not been started. An error occurred in the call to the Windows function. 1 Gets the set of threads that are running in the associated process. An array of type representing the operating system threads currently running in the associated process. The process does not have an , or no process is associated with the instance.-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. 1 Gets the total processor time for this process. A that indicates the amount of time that the associated process has spent utilizing the CPU. This value is the sum of the and the . The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. 2 Gets the user processor time for this process. A that indicates the amount of time that the associated process has spent running code inside the application portion of the process (not inside the operating system core). The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. 2 Gets the amount of the virtual memory allocated for the associated process. The amount of virtual memory, in bytes, allocated for the associated process. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Instructs the component to wait indefinitely for the associated process to exit. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer. This method is available only for processes that are running on the local computer. 1 Instructs the component to wait the specified number of milliseconds for the associated process to exit. true if the associated process has exited; otherwise, false. The amount of time, in milliseconds, to wait for the associated process to exit. The maximum is the largest possible value of a 32-bit integer, which represents infinity to the operating system. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer. This method is available only for processes that are running on the local computer. 1 Gets the amount of physical memory allocated for the associated process. The amount of physical memory, in bytes, allocated for the associated process. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Represents a.dll or .exe file that is loaded into a particular process. 2 Gets the memory address where the module was loaded. The load address of the module. 2 Gets the memory address for the function that runs when the system loads and runs the module. The entry point of the module. 2 Gets the full path to the module. The fully qualified path that defines the location of the module. 2 Gets the amount of memory that is required to load the module. The size, in bytes, of the memory that the module occupies. 2 Gets the name of the process module. The name of the module. 2 Converts the name of the module to a string. The value of the property. 2 Provides a strongly typed collection of objects. 2 Initializes a new instance of the class, with no associated instances. Initializes a new instance of the class, using the specified array of instances. An array of instances with which to initialize this instance. Determines whether the specified process module exists in the collection. true if the module exists in the collection; otherwise, false. A instance that indicates the module to find in this collection. 2 Copies an array of instances to the collection, at the specified index. An array of instances to add to the collection. The location at which to add the new instances. 2 Provides the location of a specified module within the collection. The zero-based index that defines the location of the module within the . The whose index is retrieved. 2 Gets an index for iterating over the set of process modules. A that indexes the modules in the collection The zero-based index value of the module in the collection. 2 Indicates the priority that the system associates with a process. This value, together with the priority value of each thread of the process, determines each thread's base priority level. 2 Specifies that the process has priority above Normal but below . Specifies that the process has priority above Idle but below Normal. Specifies that the process performs time-critical tasks that must be executed immediately, such as the Task List dialog, which must respond quickly when called by the user, regardless of the load on the operating system. The threads of the process preempt the threads of normal or idle priority class processes. Specifies that the threads of this process run only when the system is idle, such as a screen saver. The threads of the process are preempted by the threads of any process running in a higher priority class. Specifies that the process has no special scheduling needs. Specifies that the process has the highest possible priority. Specifies a set of values that are used when you start a process. 2 Initializes a new instance of the class without specifying a file name with which to start the process. Initializes a new instance of the class and specifies a file name such as an application or document with which to start the process. An application or document with which to start a process. Initializes a new instance of the class, specifies an application file name with which to start the process, and specifies a set of command-line arguments to pass to the application. An application with which to start a process. Command-line arguments to pass to the application when the process starts. Gets or sets the set of command-line arguments to use when starting the application. A single string containing the arguments to pass to the target application specified in the property. The default is an empty string (""). On Windows Vista and earlier versions of the Windows operating system, the length of the arguments added to the length of the full path to the process must be less than 2080. On Windows 7 and later versions, the length must be less than 32699.Arguments are parsed and interpreted by the target application, so must align with the expectations of that application. For.NET applications as demonstrated in the Examples below, spaces are interpreted as a separator between multiple arguments. A single argument that includes spaces must be surrounded by quotation marks, but those quotation marks are not carried through to the target application. In include quotation marks in the final parsed argument, triple-escape each mark. 1 Gets or sets a value indicating whether to start the process in a new window. true if the process should be started without creating a new window to contain it; otherwise, false. The default is false. 2 Gets or sets a value that identifies the domain to use when starting the process. The Active Directory domain to use when starting the process. The domain property is primarily of interest to users within enterprise environments that use Active Directory. 1 Gets or sets the application or document to start. The name of the application to start, or the name of a document of a file type that is associated with an application and that has a default open action available to it. The default is an empty string (""). 1 Gets or sets a value that indicates whether the Windows user profile is to be loaded from the registry. true if the Windows user profile should be loaded; otherwise, false. The default is false. 1 Gets or sets a secure string that contains the user password to use when starting the process. The user password to use when starting the process. 1 Gets or sets a value that indicates whether the error output of an application is written to the stream. true if error output should be written to ; otherwise, false. The default is false. 2 Gets or sets a value indicating whether the input for an application is read from the stream. true if input should be read from ; otherwise, false. The default is false. 2 Gets or sets a value that indicates whether the textual output of an application is written to the stream. true if output should be written to ; otherwise, false. The default is false. 2 Gets or sets the preferred encoding for error output. An object that represents the preferred encoding for error output. The default is null. Gets or sets the preferred encoding for standard output. An object that represents the preferred encoding for standard output. The default is null. Gets or sets the user name to be used when starting the process. The user name to use when starting the process. 1 Gets or sets a value indicating whether to use the operating system shell to start the process. true if the shell should be used when starting the process; false if the process should be created directly from the executable file. The default is true. 2 When the property is false, gets or sets the working directory for the process to be started. When is true, gets or sets the directory that contains the process to be started. When is true, the fully qualified name of the directory that contains the process to be started. When the property is false, the working directory for the process to be started. The default is an empty string (""). 1 Represents an operating system process thread. 2 Gets the base priority of the thread. The base priority of the thread, which the operating system computes by combining the process priority class with the priority level of the associated thread. 2 Gets the current priority of the thread. The current priority of the thread, which may deviate from the base priority based on how the operating system is scheduling the thread. The priority may be temporarily boosted for an active thread. 2 Gets the unique identifier of the thread. The unique identifier associated with a specific thread. 2 Sets the preferred processor for this thread to run on. The preferred processor for the thread, used when the system schedules threads, to determine which processor to run the thread on. The system could not set the thread to start on the specified processor. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Gets or sets a value indicating whether the operating system should temporarily boost the priority of the associated thread whenever the main window of the thread's process receives the focus. true to boost the thread's priority when the user interacts with the process's interface; otherwise, false. The default is false. The priority boost information could not be retrieved.-or-The priority boost information could not be set. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Gets or sets the priority level of the thread. One of the values, specifying a range that bounds the thread's priority. The thread priority level information could not be retrieved. -or-The thread priority level could not be set. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Gets the amount of time that the thread has spent running code inside the operating system core. A indicating the amount of time that the thread has spent running code inside the operating system core. The thread time could not be retrieved. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Sets the processors on which the associated thread can run. An that points to a set of bits, each of which represents a processor that the thread can run on. The processor affinity could not be set. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Resets the ideal processor for this thread to indicate that there is no single ideal processor. In other words, so that any processor is ideal. The ideal processor could not be reset. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Gets the memory address of the function that the operating system called that started this thread. The thread's starting address, which points to the application-defined function that the thread executes. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Gets the time that the operating system started the thread. A representing the time that was on the system when the operating system started the thread. The thread time could not be retrieved. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Gets the current state of this thread. A that indicates the thread's execution, for example, running, waiting, or terminated. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Gets the total amount of time that this thread has spent using the processor. A that indicates the amount of time that the thread has had control of the processor. The thread time could not be retrieved. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Gets the amount of time that the associated thread has spent running code inside the application. A indicating the amount of time that the thread has spent running code inside the application, as opposed to inside the operating system core. The thread time could not be retrieved. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Gets the reason that the thread is waiting. A representing the reason that the thread is in the wait state. The thread is not in the wait state. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Provides a strongly typed collection of objects. 2 Initializes a new instance of the class, with no associated instances. Initializes a new instance of the class, using the specified array of instances. An array of instances with which to initialize this instance. Appends a process thread to the collection. The zero-based index of the thread in the collection. The thread to add to the collection. 2 Determines whether the specified process thread exists in the collection. true if the thread exists in the collection; otherwise, false. A instance that indicates the thread to find in this collection. 2 Copies an array of instances to the collection, at the specified index. An array of instances to add to the collection. The location at which to add the new instances. 2 Provides the location of a specified thread within the collection. The zero-based index that defines the location of the thread within the . The whose index is retrieved. 2 Inserts a process thread at the specified location in the collection. The zero-based index indicating the location at which to insert the thread. The thread to insert into the collection. 2 Gets an index for iterating over the set of process threads. A that indexes the threads in the collection. The zero-based index value of the thread in the collection. 2 Deletes a process thread from the collection. The thread to remove from the collection. 2 Specifies the priority level of a thread. 2 Specifies one step above the normal priority for the associated . Specifies one step below the normal priority for the associated . Specifies highest priority. This is two steps above the normal priority for the associated . Specifies idle priority. This is the lowest possible priority value of all threads, independent of the value of the associated . Specifies lowest priority. This is two steps below the normal priority for the associated . Specifies normal priority for the associated . Specifies time-critical priority. This is the highest priority of all threads, independent of the value of the associated . Specifies the current execution state of the thread. 1 A state that indicates the thread has been initialized, but has not yet started. A state that indicates the thread is waiting to use a processor because no processor is free. The thread is prepared to run on the next available processor. A state that indicates the thread is currently using a processor. A state that indicates the thread is about to use a processor. Only one thread can be in this state at a time. A state that indicates the thread has finished executing and has exited. A state that indicates the thread is waiting for a resource, other than the processor, before it can execute. For example, it might be waiting for its execution stack to be paged in from disk. The state of the thread is unknown. A state that indicates the thread is not ready to use the processor because it is waiting for a peripheral operation to complete or a resource to become free. When the thread is ready, it will be rescheduled. Specifies the reason a thread is waiting. 2 The thread is waiting for event pair high. The thread is waiting for event pair low. Thread execution is delayed. The thread is waiting for the scheduler. The thread is waiting for a free virtual memory page. The thread is waiting for a local procedure call to arrive. The thread is waiting for reply to a local procedure call to arrive. The thread is waiting for a virtual memory page to arrive in memory. The thread is waiting for a virtual memory page to be written to disk. Thread execution is suspended. The thread is waiting for system allocation. The thread is waiting for an unknown reason. The thread is waiting for a user request. The thread is waiting for the system to allocate virtual memory. ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/netstandard1.3/de/System.Diagnostics.Process.xml ================================================  System.Diagnostics.Process [SICHERHEITSRELEVANT] Stellt einen verwalteten Wrapper für ein Prozesshandle bereit. [SICHERHEITSRELEVANT] Initialisiert eine neue Instanz der -Klasse aus dem angegebenen Handle und gibt an, ob das Handle in der Abschlussphase freigegeben werden soll. Das zu umschließende Handle. true, wenn das Handle während der Abschlussphase zuverlässig freigeben soll, andernfalls false. Stellt Daten für das -Ereignis und das -Ereignis bereit. 2 Ruft die Zeile von Zeichen ab, die in einen umgeleiteten -Ausgabestream geschrieben wurde. Die Zeile, die von einem zugeordneten in seinen umgeleiteten -Stream oder -Stream geschrieben wurde. 2 Stellt die Methode dar, die das -Ereignis oder das -Ereignis eines behandelt. Die Quelle des Ereignisses. Ein , das die Ereignisdaten enthält. 2 Ermöglicht den Zugriff auf lokale Prozesse und Remoteprozesse und das Starten und Anhalten lokaler Systemprozesse.Informationen zum Durchsuchen des .NET Framework-Quellcodes für diesen Typ finden Sie in der Verweisquelle. 1 Initialisiert eine neue Instanz der -Klasse. Ruft die Basispriorität des zugeordneten Prozesses ab. Die Basispriorität, die anhand der des zugeordneten Prozesses berechnet wird. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. The process has exited.-or- The process has not started, so there is no process ID. 2 Startet asynchrone Lesevorgänge im umgeleiteten -Stream der Anwendung. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Startet asynchrone Lesevorgänge im umgeleiteten -Stream der Anwendung. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Bricht den asynchronen Lesevorgang im umgeleiteten -Stream einer Anwendung ab. The stream is not enabled for asynchronous read operations. 2 Bricht den asynchronen Lesevorgang im umgeleiteten -Stream einer Anwendung ab. The stream is not enabled for asynchronous read operations. 2 Gibt alle von diesem Prozess verwendeten Ressourcen frei. true, um sowohl verwaltete als auch nicht verwaltete Ressourcen freizugeben, false, um ausschließlich nicht verwaltete Ressourcen freizugeben. Ruft ab oder legt fest, ob beim Beenden des Prozesses das -Ereignis ausgelöst werden soll. true, wenn das -Ereignis ausgelöst werden soll, wenn der zugeordnete Prozess beendet wird (entweder durch Beenden oder einen Aufruf von ); andernfalls false.Die Standardeinstellung ist false. 2 Versetzt durch Aktivieren der systemeigenen -Eigenschaft für den aktuellen Thread eine SeDebugPrivilege-Komponente in einen Zustand, in dem sie mit Betriebssystemprozessen interagieren kann, die in einem speziellen Modus ausgeführt werden. 2 Tritt auf, wenn eine Anwendung in seinen umgeleiteten -Stream schreibt. 2 Ruft den Wert ab, der vom zugeordneten Prozess beim Beenden angegeben wurde. Der Code, der vom zugeordneten Prozess beim Beenden angegeben wurde. The process has not exited.-or- The process is not valid. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Tritt beim Beenden eines Prozesses ein. 2 Ruft den Zeitpunkt ab, zu dem der zugeordnete Prozess beendet wurde. Eine , die angibt, wann der zugeordnete Prozess beendet wurde. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Ruft eine neue -Komponente ab und ordnet diese dem gegenwärtig aktiven Prozess zu. Eine neue -Komponente, die der Prozessressource zugeordnet ist, die die aufrufende Anwendung ausführt. 1 Gibt eine neue -Komponente zurück, wenn der Bezeichner eines Prozesses auf dem lokalen Computer angegeben ist. Eine -Komponente, die der durch den -Parameter bezeichneten lokalen Prozessressource zugeordnet ist. Der systemweit eindeutige Bezeichner einer Prozessressource. The process specified by the parameter is not running.The identifier might be expired. The process was not started by this object. 1 Gibt eine neue -Komponente zurück, wenn die Prozess-ID und der Name des Computers im Netzwerk angegeben sind. Eine -Komponente, die der durch den -Parameter bezeichneten Remoteprozessressource zugeordnet ist. Der systemweit eindeutige Bezeichner einer Prozessressource. Der Name eines Computers im Netzwerk. The process specified by the parameter is not running.The identifier might be expired.-or- The parameter syntax is invalid.The name might have length zero (0). The parameter is null. The process was not started by this object. 1 Erstellt eine neue -Komponente für jede Prozessressource auf dem lokalen Computer. Ein Array vom Typ , das alle auf dem lokalen Computer ausgeführten Prozessressourcen darstellt. 1 Erstellt eine neue -Komponente für jede Prozessressource auf dem lokalen Computer. Ein Array vom Typ , das alle auf dem angegebenen Computer ausgeführten Prozessressourcen darstellt. Der Computer, von dem die Liste der Prozesse gelesen werden soll. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Erstellt ein Array neuer -Komponenten und ordnet diese allen Prozessressourcen auf dem lokalen Computer zu, die den angegebenen Prozessnamen gemeinsam verwenden. Ein Array vom Typ , das die Prozessressourcen darstellt, die die angegebene Anwendung oder Datei ausführen. Der angezeigte Name des Prozesses. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. 1 Erstellt ein Array neuer -Komponenten und ordnet diese allen Prozessressourcen auf einem Remotecomputer zu, die den angegebenen Prozessnamen gemeinsam verwenden. Ein Array vom Typ , das die Prozessressourcen darstellt, die die angegebene Anwendung oder Datei ausführen. Der angezeigte Name des Prozesses. Der Name eines Computers im Netzwerk. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Ruft einen Wert ab, der angibt, ob der zugehörige Prozess beendet wurde. true, wenn der Betriebssystemprozess, auf den die -Komponente verweist, beendet wurde; andernfalls false. There is no process associated with the object. The exit code for the process could not be retrieved. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Ruft den eindeutigen Bezeichner für den zugeordneten Prozess ab. Der vom System generierte eindeutige Bezeichner des Prozesses, auf den von dieser -Instanz verwiesen wird. The process's property has not been set.-or- There is no process associated with this object. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. 1 Hält den zugeordneten Prozess sofort an. The associated process could not be terminated. -or-The process is terminating.-or- The associated process is a Win16 executable. You are attempting to call for a process that is running on a remote computer.The method is available only for processes running on the local computer. The process has already exited. -or-There is no process associated with this object. 1 Beendet den Zustand einer -Komponente, in dem sie mit Betriebssystemprozessen interagieren kann, die in einem speziellen Modus ausgeführt werden. 2 Ruft den Namen des Computers ab, auf dem der zugeordnete Prozess ausgeführt wird. Der Name des Computers, auf dem der zugeordnete Prozess ausgeführt wird. There is no process associated with this object. 1 Ruft das Hauptmodul für den zugeordneten Prozess ab. Das zum Starten des Prozesses verwendete . You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. A 32-bit process is trying to access the modules of a 64-bit process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not available.-or- The process has exited. 1 Ruft die maximal zulässige Workingsetgröße für den zugeordneten Prozess ab oder legt diese fest. Die im Speicher maximal zulässige Workingsetgröße für den Prozess in Bytes. The maximum working set size is invalid.It must be greater than or equal to the minimum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ruft die minimale zulässige Workingsetgröße für den zugeordneten Prozess ab oder legt diese fest. Die im Speicher mindestens erforderliche Workingsetgröße für den Prozess in Bytes. The minimum working set size is invalid.It must be less than or equal to the maximum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ruft die Module ab, die vom zugeordneten Prozess geladen wurden. Ein Array vom Typ , das die vom zugeordneten Prozess geladenen Module darstellt. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. You are attempting to access the property for either the system process or the idle process.These processes do not have modules. 2 Ruft die Menge des für den zugeordneten Prozess belegten nicht ausgelagerten Systemspeichers ab. Der Anteil am Systemspeicher in Bytes, der für den zugeordneten Prozess reserviert ist und der nicht in die Auslagerungsdatei des virtuellen Speichers geschrieben werden kann. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Löst das -Ereignis aus. Tritt jedes Mal auf, wenn eine Anwendung eine Zeile in ihren umgeleiteten -Stream schreibt. 2 Ruft die Größe des ausgelagerten Speichers ab, der für den zugeordneten Prozess belegt wird. Die Größe des Arbeitsspeichers in Bytes, der für den zugeordneten Prozess in der Auslagerungsdatei des virtuellen Arbeitsspeichers belegt wird. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ruft die Menge des für den zugeordneten Prozess belegten auslagerbaren Systemspeichers ab. Der Anteil am Systemspeicher in Bytes, der für den zugeordneten Prozess belegt wird und der in die Auslagerungsdatei des virtuellen Speichers geschrieben werden kann. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ruft die vom zugeordneten Prozess verwendete maximale Speichergröße in der Auslagerungsdatei des virtuellen Arbeitsspeichers ab. Die maximale Größe des Arbeitsspeichers in Bytes, der seit dem Starten für den zugeordneten Prozess in der Auslagerungsdatei des virtuellen Arbeitsspeichers belegt wird. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ruft die maximale Größe des virtuellen Speichers ab, der vom zugeordneten Prozess verwendet wird. Die maximale Größe des virtuellen Arbeitsspeichers in Bytes, der für den zugeordneten Prozess seit dem Starten belegt wird. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ruft die maximale Größe des physischen Speichers ab, der vom zugeordneten Prozess verwendet wird. Die maximale Größe des physischen Speichers in Bytes, der für den zugeordneten Prozess seit dem Starten belegt wird. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ruft einen Wert ab, der angibt, ob die zugeordnete Prozesspriorität durch das Betriebssystem vorübergehend erhöht werden soll, wenn das Hauptfenster den Fokus besitzt, oder legt diesen fest. true, wenn die Prozesspriorität eines Prozesses dynamisch erhöht werden soll, wenn dieser den Wartezustand verlässt; andernfalls false.Die Standardeinstellung ist false. Priority boost information could not be retrieved from the associated process resource. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. 1 Ruft die allgemeine Prioritätskategorie für den zugeordneten Prozess ab oder legt diese fest. Die Prioritätskategorie für den zugeordneten Prozess, aus der die des Prozesses berechnet wird. Process priority information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. You have set the to AboveNormal or BelowNormal when using Windows 98 or Windows Millennium Edition (Windows Me).These platforms do not support those values for the priority class. Priority class cannot be set because it does not use a valid value, as defined in the enumeration. 1 Ruft die Größe des privaten Speichers ab, der für den zugeordneten Prozess belegt wird. Die Größe des Speichers in Bytes, der für den zugeordneten Prozess belegt wird und nicht mit anderen Prozessen gemeinsam genutzt werden kann. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ruft die privilegierte Prozessorzeit für diesen Prozess ab. Eine , die angibt, wie lange der Prozess im Betriebssystemkern Code ausgeführt hat. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Ruft den Namen des Prozesses ab. Der Name, mit dem das System den Prozess für den Benutzer kennzeichnet. The process does not have an identifier, or no process is associated with the .-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not on this computer. 1 Ruft die Prozessoren ab, auf denen die Ausführung der Threads in diesem Prozess geplant werden kann, oder legt diese fest. Eine Bitmaske, die angibt, auf welchen Prozessoren die Threads im zugeordneten Prozess ausgeführt werden können.Der Standardwert hängt von der Anzahl der Prozessoren des Computers ab.Der Standardwert ist 2n -1, wobei n die Anzahl der Prozessoren ist. information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process was not available.-or- The process has exited. 2 Verwirft alle Informationen über den zugeordneten Prozess, die in der Prozesskomponente zwischengespeichert waren. 1 Ruft das systemeigene Handle dieses Prozesses ab. Das systemeigene Handle dieses Prozesses. Ruft die Terminaldienste-Sitzungs-ID für den zugeordneten Prozess ab. Die Terminaldienste-Sitzungs-ID für den zugeordneten Prozess. There is no session associated with this process. There is no process associated with this session identifier.-or-The associated process is not on this machine. The property is not supported on Windows 98. 1 Ruft einen Stream ab, mit dem die Fehlerausgabe der Anwendung gelesen wird. Ein zum Lesen des Standardfehlerstreams der Anwendung. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Ruft einen Stream ab, in den die Eingaben der Anwendung geschrieben werden. Ein zum Schreiben des Standardeingabestreams der Anwendung. The stream has not been defined because is set to false. 1 Ruft einen Stream ab, der dazu verwendet wird, die Textausgabe der Anwendung zu lesen. Ein zum Lesen des Standardausgabestreams der Anwendung. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Startet die von der -Eigenschaft dieser -Komponente angegebene Prozessressource (oder verwendet sie erneut) und ordnet diese der Komponente zu. true, wenn eine Prozessressource gestartet wird. false, wenn keine neue Prozessressource gestartet wird, sondern z. B. eine vorhandene Prozessressource wiederverwendet wird. No file name was specified in the component's .-or- The member of the property is true while , , or is true. There was an error in opening the associated file. The process object has already been disposed. 1 Startet die Prozessressource, die durch den Parameter mit den Startinformationen für den Prozess angegeben wird (z. B. den Dateinamen des zu startenden Prozesses), und ordnet die Ressource einer neuen -Komponente zu. Ein neuer , der der Prozessressource zugeordnet ist oder null, wenn keine Prozessressource gestartet wurde.Beachten Sie, dass ein neuer Prozess, der parallel zu bereits ausgeführten Instanzen des gleichen Prozesses gestartet wird, unabhängig von den anderen Instanzen ist.Außerdem gibt „Start“ möglicherweise einen nicht leeren (nicht NULL) Prozess zurück, dessen Eigenschaft bereits auf true festgelegt ist.In diesem Fall hat der gestartete Prozess möglicherweise eine vorhandene Instanz seiner selbst aktiviert und sich dann beendet. Die , die die Informationen zum Starten des Prozesses enthält, einschließlich Dateiname und Befehlszeilenargumente. No file name was specified in the parameter's property.-or- The property of the parameter is true and the , , or property is also true.-or-The property of the parameter is true and the property is not null or empty or the property is not null. The parameter is null. The process object has already been disposed. The file specified in the parameter's property could not be found. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." 1 Startet eine Prozessressource, indem der Name eines Dokuments oder einer Anwendungsdatei angegeben wird, und ordnet die Ressource einer neuen -Komponente zu. Ein neuer , der der Prozessressource zugeordnet ist oder null, wenn keine Prozessressource gestartet wurde.Beachten Sie, dass ein neuer Prozess, der parallel zu bereits ausgeführten Instanzen des gleichen Prozesses gestartet wird, unabhängig von den anderen Instanzen ist.Außerdem gibt „Start“ möglicherweise einen nicht leeren (nicht NULL) Prozess zurück, dessen Eigenschaft bereits auf true festgelegt ist.In diesem Fall hat der gestartete Prozess möglicherweise eine vorhandene Instanz seiner selbst aktiviert und sich dann beendet. Der Name eines Dokuments oder einer Anwendungsdatei, das bzw. die im Prozess ausgeführt werden soll. An error occurred when opening the associated file. The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Startet eine Prozessressource durch Angeben des Namens einer Anwendung und einer Reihe von Befehlszeilenargumenten und ordnet die Ressource einer neuen -Komponente zu. Ein neuer , der der Prozessressource zugeordnet ist oder null, wenn keine Prozessressource gestartet wurde.Beachten Sie, dass ein neuer Prozess, der parallel zu bereits ausgeführten Instanzen des gleichen Prozesses gestartet wird, unabhängig von den anderen Instanzen ist.Außerdem gibt „Start“ möglicherweise einen nicht leeren (nicht NULL) Prozess zurück, dessen Eigenschaft bereits auf true festgelegt ist.In diesem Fall hat der gestartete Prozess möglicherweise eine vorhandene Instanz seiner selbst aktiviert und sich dann beendet. Der Name einer Anwendungsdatei, die in dem Prozess ausgeführt werden soll. Befehlszeilenargumente, die beim Starten des Prozesses übergeben werden sollen. The or parameter is null. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Startet eine Prozessressource durch Angeben des Namens einer Anwendung, eines Benutzernamens und einer Domäne und ordnet die Ressource einer neuen -Komponente zu. Ein neuer , der der Prozessressource zugeordnet ist oder null, wenn keine Prozessressource gestartet wurde.Beachten Sie, dass ein neuer Prozess, der parallel zu bereits ausgeführten Instanzen des gleichen Prozesses gestartet wird, unabhängig von den anderen Instanzen ist.Außerdem gibt „Start“ möglicherweise einen nicht leeren (nicht NULL) Prozess zurück, dessen Eigenschaft bereits auf true festgelegt ist.In diesem Fall hat der gestartete Prozess möglicherweise eine vorhandene Instanz seiner selbst aktiviert und sich dann beendet. Der Name einer Anwendungsdatei, die in dem Prozess ausgeführt werden soll. Der beim Starten des Prozesses zu verwendende Benutzername. Eine , die das beim Starten des Prozesses zu verwendende Kennwort enthält. Die Domäne, die beim Starten des Prozesses verwendet werden soll. No file name was specified. is not an executable (.exe) file. There was an error in opening the associated file. The process object has already been disposed. 1 Startet eine Prozessressource durch Angeben des Namens einer Anwendung und einer Reihe von Befehlszeilenargumenten, eines Benutzernamens, eines Kennworts und einer Domäne und ordnet die Ressource einer neuen -Komponente zu. Ein neuer , der der Prozessressource zugeordnet ist oder null, wenn keine Prozessressource gestartet wurde.Beachten Sie, dass ein neuer Prozess, der parallel zu bereits ausgeführten Instanzen des gleichen Prozesses gestartet wird, unabhängig von den anderen Instanzen ist.Außerdem gibt „Start“ möglicherweise einen nicht leeren (nicht NULL) Prozess zurück, dessen Eigenschaft bereits auf true festgelegt ist.In diesem Fall hat der gestartete Prozess möglicherweise eine vorhandene Instanz seiner selbst aktiviert und sich dann beendet. Der Name einer Anwendungsdatei, die in dem Prozess ausgeführt werden soll. Befehlszeilenargumente, die beim Starten des Prozesses übergeben werden sollen. Der beim Starten des Prozesses zu verwendende Benutzername. Eine , die das beim Starten des Prozesses zu verwendende Kennwort enthält. Die Domäne, die beim Starten des Prozesses verwendet werden soll. No file name was specified. is not an executable (.exe) file. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. 1 Ruft die Eigenschaften ab, die an die -Methode von übergeben werden sollen, oder legt diese fest. Die , die die Daten darstellt, mit denen der Prozess gestartet werden soll.Diese Argumente beinhalten den Namen der ausführbaren Datei oder des Dokuments, das zum Starten des Prozesses verwendet wurde. The value that specifies the is null. 1 Ruft die Zeit ab, zu der der zugeordnete Prozess gestartet wurde. Ein Objekt, das angibt, wann der zugeordnete Prozess gestartet wurde.Eine Ausnahme wird ausgelöst, wenn der Prozess nicht ausgeführt wird. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process has exited.-or-The process has not been started. An error occurred in the call to the Windows function. 1 Ruft die Gruppe von Threads ab, die im zugeordneten Prozess ausgeführt werden. Ein Array vom Typ , das die Threads des Betriebssystems darstellt, die gegenwärtig im zugeordneten Prozess ausgeführt werden. The process does not have an , or no process is associated with the instance.-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. 1 Ruft die gesamte Prozessorzeit für diesen Prozess ab. Eine , die die Zeitspanne angibt, während der der zugeordnete Prozess die CPU verwendet hat.Dieser Wert ist die Summe von und . The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Ruft die Benutzerprozessorzeit für diesen Prozess ab. Eine , die die Zeitspanne angibt, während der der zugeordnete Prozess Code innerhalb der Anwendung des Prozesses (nicht im Betriebssystemkern) ausgeführt hat. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Ruft die Größe des virtuellen Speichers ab, der für den zugeordneten Prozess belegt wird. Die Größe des virtuellen Speichers in Bytes, der für den zugeordneten Prozess belegt wird. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Weist die -Komponente an, unbestimmte Zeit zu warten, bis der zugeordnete Prozess beendet wird. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 Weist die -Komponente an, für die Dauer von angegebenen Millisekunden zu warten, bis der zugeordnete Prozess beendet wird. true, wenn der zugeordnete Prozess beendet wurde, andernfalls false. Die Zeitspanne in Millisekunden, die auf die Beendigung des zugeordneten Prozesses gewartet werden soll.Der Höchstwert ist der größtmögliche Wert einer 32-Bit-Ganzzahl, der für das Betriebssystem unendlich bedeutet. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 Ruft die Größe des physischen Speichers ab, der für den zugeordneten Prozess belegt wird. Die Größe des physischen Speichers in Bytes, der für den zugeordneten Prozess belegt wird. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Stellt eine DLL- oder EXE-Datei dar, die in einen bestimmten Prozess geladen wird. 2 Ruft die Speicheradresse ab, an der das Modul geladen wurde. Die Ladeadresse des Moduls. 2 Ruft die Speicheradresse für die Funktion ab, die beim Laden und Ausführen des Moduls ausgeführt wird. Der Einstiegspunkt des Moduls. 2 Ruft den vollständigen Pfad des Moduls ab. Der voll gekennzeichnete Pfad, der den Speicherort des Moduls definiert. 2 Ruft den zum Laden des Moduls erforderlichen Speicherplatz ab. Die Größe des vom Modul belegten Speicherplatzes in Bytes. 2 Ruft den Namen des Prozessmoduls ab. Der Name des Moduls. 2 Konvertiert den Namen des Moduls in eine Zeichenfolge. Der Wert der -Eigenschaft. 2 Stellt eine Auflistung von -Objekten mit starker Typisierung zur Verfügung. 2 Initialisiert eine neue Instanz der -Klasse ohne zugeordnete -Instanzen. Initialisiert eine neue Instanz der -Klasse mit dem angegebenen Array von -Instanzen. Ein Array von -Instanzen, mit denen diese -Instanz initialisiert werden soll. Bestimmt, ob das angegebene Prozessmodul in der Auflistung vorhanden ist. true, wenn das Modul in der Auflistung vorhanden ist, andernfalls false. Eine -Instanz, die das in dieser Auflistung zu suchende Modul anzeigt. 2 Kopiert ein Array von -Instanzen am angegebenen Index in die Auflistung. Ein Array von -Instanzen, das der Auflistung hinzugefügt werden soll. Die Position, an der die neuen Instanzen eingefügt werden sollen. 2 Stellt die Position eines angegebenen Moduls in der Auflistung zur Verfügung. Der nullbasierte Index, der die Position des Moduls in der definiert. Der , dessen Index abgerufen wird. 2 Ruft einen Index ab, mit dem die Gruppe von Prozessmodulen durchlaufen werden kann. Ein , das die Module in der Auflistung indiziert. Der nullbasierte Indexwert des Moduls in der Auflistung. 2 Gibt die Priorität an, die das System einem Prozess zuordnet.Dieser Wert bestimmt, gemeinsam mit dem Prioritätswert für jeden Thread des Prozesses, die Basisprioritätsebene jedes Threads. 2 Gibt an, dass der Prozess eine höhere Priorität als Normal aufweist, aber eine niedrigere als . Gibt an, dass der Prozess eine höhere Priorität als Idle aufweist, aber eine niedrigere als Normal. Gibt an, dass der Prozess zeitkritische Aufgaben ausführt, die sofort ausgeführt werden müssen, z. B. für das Dialogfeld Task List, das beim Aufruf durch den Benutzer unabhängig von der Last des Betriebssystems schnell angezeigt werden muss.Die Threads des Prozesses haben Vorrang vor den Threads von Prozessen in den Prioritätsklassen mit normaler oder Leerlaufpriorität. Gibt an, dass die Threads dieses Prozesses nur ausgeführt werden, wenn sich das System im Leerlauf befindet. Trifft z. B. auf einen Bildschirmschoner zu.Vor den Threads dieses Prozesses haben die Threads eines beliebigen Prozesses Vorrang, der mit einer höheren Prioritätsklasse ausgeführt wird. Gibt an, dass für den Prozess keine besondere Planung erforderlich ist. Gibt an, dass der Prozess die höchstmögliche Priorität aufweist. Gibt eine Wertemenge an, die beim Starten eines Prozesses verwendet wird. 2 Initialisiert eine neue Instanz der -Klasse, ohne einen Dateinamen anzugeben, mit dem der Prozess gestartet werden soll. Initialisiert eine neue Instanz der -Klasse und gibt einen Dateinamen an, mit dem der Prozess gestartet werden soll, z. B. eine Anwendung oder ein Dokument. Eine Anwendung oder ein Dokument, mit der bzw. dem ein Prozess gestartet wird. Initialisiert eine neue Instanz der -Klasse und gibt einen Anwendungsdateinamen an, mit dem der Prozess gestartet wird, sowie einen Satz von Befehlszeilenargumenten, die an die Anwendung übergeben werden. Eine Anwendung, mit der ein Prozess gestartet wird. Befehlszeilenargumente, die beim Starten des Prozesses an die Anwendung übergeben werden sollen. Ruft den Satz von Befehlszeilenargumenten ab, die beim Starten der Anwendung verwendet werden sollen, oder legt diesen fest. Eine einzelne Zeichenfolge, die die Argumente enthält, die an die in der -Eigenschaft angegebene Zielanwendung übergeben werden sollen.Der Standardwert ist eine leere Zeichenfolge ("").Unter Windows Vista und früheren Versionen des Windows-Betriebssystems muss die Länge der Argumente, die der Länge des vollständigen Pfads des Prozesses hinzugefügt werden, kleiner sein als 2080.Unter Windows 7 und höheren Versionen muss die Länge kleiner als 32699 sein.Argumente werden von der Zielanwendung analysiert und interpretiert und müssen daher den Erwartungen der betreffenden Anwendung entsprechen.Bei .NET-Anwendungen, wie sie in den Beispielen unten dargestellt sind, werden Leerzeichen als Trennzeichen zwischen Argumenten interpretiert.Ein einzelnes Argument, das Leerzeichen enthält, muss in Anführungszeichen eingeschlossen sein, diese Anführungszeichen werden jedoch nicht an die Zielanwendung übergeben.Eingeschlossene Anführungszeichen, die in das endgültige analysierte Argument aufgenommen werden sollen, müssen dreifach escaped werden. 1 Ruft einen Wert ab, der angibt, ob der Prozess in einem neuen Fenster gestartet werden soll, oder legt diesen fest. true, wenn der Prozess ohne Erstellung eines neuen, für ihn bestimmten Fensters gestartet werden soll, andernfalls false.Die Standardeinstellung ist false. 2 Ruft einen Wert ab, der die Domäne kennzeichnet, die beim Starten des Prozesses verwendet werden soll, oder legt diesen fest. Die Active Directory-Domäne, die beim Starten des Prozesses verwendet werden soll.Die Domäneneigenschaft ist hauptsächlich für Benutzer in Unternehmensumgebungen von Interesse, die Active Directory verwenden. 1 Ruft die zu startende Anwendung oder das zu startende Dokument ab oder legt die Anwendung bzw. das Dokument fest. Der Name der zu startenden Anwendung oder der Dokumentname eines einer Anwendung zugeordneten Dateityps, für den eine Standard-Öffnen-Aktion verfügbar ist.Der Standardwert ist eine leere Zeichenfolge (""). 1 Ruft einen Wert ab, der angibt, ob das Windows-Benutzerprofil aus der Registrierung geladen werden soll, oder legt diesen fest. true, wenn das Windows-Benutzerprofil geladen werden soll; andernfalls false.Die Standardeinstellung ist false. 1 Ruft eine sichere Zeichenfolge ab, die das Benutzerkennwort enthält, das beim Starten des Prozesses verwendet werden soll, oder legt diese fest. Das beim Starten des Prozesses zu verwendende Kennwort. 1 Ruft einen Wert ab, der angibt, ob die Fehlerausgabe einer Anwendung in den -Datenstrom geschrieben wird, oder legt diesen fest. true, wenn die Fehlerausgabe in geschrieben werden soll; andernfalls false.Die Standardeinstellung ist false. 2 Ruft einen Wert ab, der angibt, ob die Eingabe für eine Anwendung aus dem -Datenstrom gelesen wird, oder legt diesen fest. true, wenn die Eingabe von gelesen werden soll; andernfalls false.Die Standardeinstellung ist false. 2 Ruft einen Wert ab, der angibt, ob die Textausgabe einer Anwendung in den -Datenstrom geschrieben wird, oder legt diesen fest. true, wenn die Ausgabe in geschrieben werden soll; andernfalls false.Die Standardeinstellung ist false. 2 Ruft die bevorzugte Codierung für die Fehlerausgabe ab oder legt diese fest. Ein Objekt, das die bevorzugte Codierung für die Fehlerausgabe darstellt.Die Standardeinstellung ist null. Ruft die bevorzugte Codierung für die Standardausgabe ab oder legt diese fest. Ein Objekt, das die bevorzugte Codierung für die Standardausgabe darstellt.Die Standardeinstellung ist null. Ruft den beim Starten des Prozesses zu verwendenden Benutzernamen ab oder legt diesen fest. Der beim Starten des Prozesses zu verwendende Benutzername. 1 Ruft einen Wert ab, der angibt, ob zum Starten des Prozesses die Betriebssystemshell verwendet werden soll, oder legt diesen fest. true, wenn beim Starten des Prozesses die Shell verwendet werden soll; false, wenn der Prozess direkt von der ausführbaren Datei aus erstellt werden soll.Die Standardeinstellung ist true. 2 Ruft das Arbeitsverzeichnis für den zu startenden Prozess ab, oder legt es fest, wenn die Eigenschaft false ist.Ruft das Verzeichnis ab, das den zu startenden Prozess enthält, oder legt es fest, wenn true ist. Wenn true ist, der voll gekennzeichnete Name des Verzeichnisses, das den zu startenden Prozess enthält.Wenn die Eigenschaft false ist, das Arbeitsverzeichnis für den zu startenden Prozess.Der Standardwert ist eine leere Zeichenfolge (""). 1 Stellt einen Prozessthread für ein Betriebssystem dar. 2 Ruft die Basispriorität des Threads ab. Die Basispriorität des Threads, die vom Betriebssystem durch Kombinieren der Prioritätsklasse des Prozesses mit der Prioritätsebene des zugeordneten Threads errechnet wird. 2 Ruft die aktuelle Priorität des Threads ab. Die aktuelle Priorität des Threads. Abhängig davon, wie das Betriebssystem den Thread plant, kann diese Priorität von der Basispriorität abweichen.Die Priorität kann für einen aktiven Thread vorübergehend erhöht werden. 2 Ruft den eindeutigen Bezeichner des Threads ab. Der eindeutige Bezeichner, der dem angegebenen Thread zugeordnet ist. 2 Legt den bevorzugten Prozessor fest, auf dem dieser Thread ausgeführt werden soll. Der bevorzugte Prozessor für den Thread, der bei der Threadplanung des Systems verwendet wird, die bestimmt, auf welchem Prozessor der Thread ausgeführt werden soll. Das System konnte die Ausführung des Threads nicht auf den angegebenen Prozessor festlegen. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Ruft einen Wert ab, der angibt, ob das Betriebssystem die Priorität des zugeordneten Threads vorübergehend erhöhen soll, sobald das Hauptfenster des Threadprozesses den Fokus hat, oder legt diesen Wert fest. true, wenn die Priorität des Threads bei Interaktion des Benutzers mit der Schnittstelle erhöht werden soll, andernfalls false.Die Standardeinstellung ist false. Die Informationen zur Prioritätserhöhung konnten nicht abgerufen werden.- oder -Die Informationen zur Prioritätserhöhung konnten nicht festgelegt werden. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Ruft die Prioritätsebene des Threads ab oder legt diese fest. Einer der -Werte, der einen Bereich für die Begrenzung der Priorität des Threads angibt. Die Informationen für die Prioritätsebene des Threads konnten nicht abgerufen werden. - oder -Die Prioritätsebene für den Thread konnte nicht festgelegt werden. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Ruft die Zeit ab, während der der Thread im Betriebssystemkern Code ausgeführt hat. Eine , die angibt, wie lange der Thread im Betriebssystemkern Code ausgeführt hat. Die Threadzeit konnte nicht abgerufen werden. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Legt die Prozessoren fest, auf denen der zugeordnete Thread ausgeführt werden kann. Ein , das auf eine Gruppe von Bits zeigt, wovon jedes einzelne einen Prozessor darstellt, auf dem der Thread ausgeführt werden kann. Die Prozessoraffinität konnte nicht festgelgt werden. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Setzt den für diesen Thread idealen Prozessor zurück, um anzugeben, dass kein einzelner idealer Prozessor vorhanden ist.Das heißt, dass jeder Prozessor ideal sein kann. Der ideale Prozessor konnte nicht zurückgesetzt werden. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Ruft die Speicheradresse der Funktion ab, die vom Betriebssystem aufgerufen wurde, das diesen Thread gestartet hat. Die Anfangsadresse des Threads, die auf die vom Thread ausgeführte anwendungsdefinierte Funktion zeigt. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Ruft die Zeit ab, zu der das Betriebssystem den Thread gestartet hat. Eine , die die Zeit auf dem System darstellt, zu der das Betriebssystem den Thread gestartet hat. Die Threadzeit konnte nicht abgerufen werden. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Ruft den aktuellen Zustand dieses Threads ab. Ein , der die Ausführung des Threads angibt, z. B. wird ausgeführt, wartet oder wurde beendet. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Ruft die gesamte Zeit ab, während der der Thread den Prozessor verwendet hat. Eine , die die Zeit angibt, während der Thread den Prozessor gesteuert hat. Die Threadzeit konnte nicht abgerufen werden. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Ruft die Zeit ab, während der der zugeordnete Thread in der Anwendung Code ausgeführt hat. Eine , die angibt, wie lange der Thread Code in der Anwendung (im Gegensatz zum Betriebssystemkern) ausgeführt hat. Die Threadzeit konnte nicht abgerufen werden. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Ruft die Ursache für den Wartezustand des Threads ab. Eine , die die Ursache für den Wartezustand des Threads darstellt. Der Thread befindet sich nicht im Wartezustand. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Stellt eine Auflistung von -Objekten mit starker Typisierung zur Verfügung. 2 Initialisiert eine neue Instanz der -Klasse ohne zugeordnete -Instanzen. Initialisiert eine neue Instanz der -Klasse mit dem angegebenen Array von -Instanzen. Ein Array von -Instanzen, mit denen diese -Instanz initialisiert werden soll. Fügt einen Prozessthread an die Auflistung an. Der nullbasierte Index des Threads in der Auflistung. Der der Auflistung hinzuzufügende Thread. 2 Bestimmt, ob der angegebene Prozessthread in der Auflistung enthalten ist. true, wenn der Thread in der Auflistung vorhanden ist, andernfalls false. Eine -Instanz, die den in dieser Auflistung zu suchenden Thread anzeigt. 2 Kopiert ein Array von -Instanzen am angegebenen Index in die Auflistung. Ein Array von -Instanzen, das der Auflistung hinzugefügt werden soll. Die Position, an der die neuen Instanzen eingefügt werden sollen. 2 Stellt die Position eines angegebenen Threads in der Auflistung zur Verfügung. Der nullbasierte Index, der die Position des Threads in der definiert. Der , dessen Index abgerufen wird. 2 Fügt an der angegebenen Position einen Prozessthread in die Auflistung ein. Der nullbasierte Index, der die Position angibt, an der der Thread eingefügt werden soll. Der in die Auflistung einzufügende Thread. 2 Ruft einen Index ab, mit dem die Gruppe von Prozessthreads durchlaufen werden kann. Ein , der die Threads in der Auflistung indiziert. Der nullbasierte Indexwert des Threads in der Auflistung. 2 Löscht einen Prozessthread aus der Auflistung. Der Thread, der aus der Auflistung entfernt werden soll. 2 Gibt die Prioritätsebene eines Threads an. 2 Gibt eine Stufe über der normalen Priorität für die zugeordnete an. Gibt eine Stufe unter der normalen Priorität für die zugeordnete an. Gibt die höchste Priorität an.Dies ist zwei Stufen über der normalen Priorität für die zugeordnete . Gibt die Leerlaufpriorität an.Dies ist der niedrigste mögliche Prioritätswert aller Threads, unabhängig vom Wert der zugeordneten . Gibt die niedrigste Priorität an.Dies ist zwei Stufen unter der normalen Priorität für die zugeordnete . Gibt die normale Priorität für die zugeordnete an. Gibt die auf die Ausführungsgeschwindigkeit bezogene Priorität an.Dies ist die höchste Priorität aller Threads, unabhängig vom Wert der zugeordneten . Gibt den aktuellen Ausführungszustand des Threads an. 1 Ein Zustand, der angibt, dass der Thread initialisiert wurde, jedoch noch nicht gestartet ist. Ein Zustand, der anzeigt, dass der Thread auf die Verwendung eines Prozessors wartet, da gegenwärtig kein Prozessor frei ist.Der Thread kann auf dem nächsten verfügbaren Prozessor ausgeführt werden. Ein Zustand, der angibt, dass der Thread zurzeit einen Prozessor verwendet. Ein Zustand, der angibt, dass der Thread gerade einen Prozessor verwenden will.In diesem Zustand kann sich jeweils nur ein Thread befinden. Ein Zustand, der angibt, dass der Thread die Ausführung abgeschlossen hat und beendet wurde. Ein Zustand, der angibt, dass der Thread auf eine andere Ressource als den Prozessor wartet, bevor er ausgeführt werden kann.Er könnte z. B. darauf warten, dass der Ausführungsstapel von der Festplatte gelesen wird. Der Zustand des Threads ist unbekannt. Ein Zustand, der angibt, dass der Thread den Prozessor nicht verwenden kann, da er auf die Beendigung einer Operation in der Peripherie oder auf das Freiwerden einer Ressource wartet.Wenn der Thread bereit ist, wird der Start neu geplant. Gibt die Ursache für den Wartezustand eines Threads an. 2 Der Thread wartet auf das Ereignispaar High. Der Thread wartet auf das Ereignispaar Low. Die Ausführung des Threads wird verzögert. Der Thread wartet auf den Planer. Der Thread wartet auf eine freie Seite im virtuellen Speicher. Der Thread wartet auf die Ankunft eines Aufrufs einer lokalen Prozedur. Der Thread wartet darauf, dass die Antwort auf den Aufruf einer lokalen Prozedur ankommt. Der Thread wartet auf die Ankunft einer Seite des virtuellen Speichers im Arbeitsspeicher. Der Thread wartet darauf, dass eine Seite des virtuellen Speichers auf den Datenträger geschrieben wird. Die Ausführung des Threads wurde unterbrochen. Der Thread wartet auf Reservierung durch das System. Der Thread befindet sich aus unbekannten Gründen im Wartezustand. Der Thread wartet auf eine Benutzeranforderung. Der Thread wartet darauf, dass das System virtuellen Speicher belegt. ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/netstandard1.3/es/System.Diagnostics.Process.xml ================================================  System.Diagnostics.Process [CRÍTICO PARA LA SEGURIDAD] Proporciona un contenedor administrado para un identificador de proceso. [CRÍTICO PARA LA SEGURIDAD] Inicializa una nueva instancia de la clase a partir del identificador especificado, que indica si se va a liberar el identificador durante la fase de finalización. El identificador para ajustarse. truepara permitir de forma confiable liberar el identificador durante la fase de finalización; de lo contrario, false. Proporciona datos para los eventos y . 2 Obtiene la línea de caracteres escrita en un flujo de salida de redirigido. Línea escrita por una secuencia asociada en su secuencia o redirigida. 2 Representa el método que controlará los eventos o de un . Origen del evento. Objeto que contiene los datos del evento. 2 Proporciona acceso a procesos locales y remotos, y permite iniciar y detener procesos del sistema local.Para examinar el código fuente de .NET Framework de este tipo, consulte el origen de referencia. 1 Inicializa una nueva instancia de la clase . Obtiene la prioridad base del proceso asociado. Prioridad base, que se calcula a partir de del proceso asociado. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. The process has exited.-or- The process has not started, so there is no process ID. 2 Inicia las operaciones de lectura asincrónica en la secuencia de redirigida de la aplicación. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Inicia las operaciones de lectura asincrónica en la secuencia de redirigida de la aplicación. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Cancela la operación de lectura asincrónica en la secuencia redirigida de de una aplicación. The stream is not enabled for asynchronous read operations. 2 Cancela la operación de lectura asincrónica en la secuencia redirigida de de una aplicación. The stream is not enabled for asynchronous read operations. 2 Libera todos los recursos utilizados por este proceso. Es true para liberar tanto recursos administrados como no administrados; es false para liberar únicamente recursos no administrados. Obtiene o establece si el evento debe provocarse cuando termine el proceso. Es true si el evento debe provocarse cuando termine el proceso asociado (al salir o al llamar a ); de lo contrario, es false.De manera predeterminada, es false. 2 Coloca un componente en estado de interacción con los procesos del sistema operativo que se ejecutan en un modo especial; para ello, habilita la propiedad nativa SeDebugPrivilege en el subproceso actual. 2 Se produce cuando una aplicación escribe en su secuencia redirigida de . 2 Obtiene el valor especificado por el proceso asociado al terminar. Código especificado por el proceso asociado al terminar. The process has not exited.-or- The process is not valid. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Se produce cuando termina un proceso. 2 Obtiene el momento en el que terminó el proceso asociado. que indica cuándo terminó el proceso asociado. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Obtiene un nuevo componente y lo asocia al proceso que está activo en ese momento. Nuevo componente que está asociado al recurso del proceso que se está ejecutando en la aplicación que realiza la llamada. 1 Devuelve un nuevo componente , dado un identificador de un proceso en el equipo local. Componente asociado al recurso del proceso local que se identifica mediante el parámetro . Identificador de un recurso de proceso único en el sistema. The process specified by the parameter is not running.The identifier might be expired. The process was not started by this object. 1 Devuelve un nuevo componente , dados un identificador de proceso y el nombre de un equipo en la red. Componente asociado a un recurso de proceso remoto que se identifica mediante el parámetro . Identificador de un recurso de proceso único en el sistema. Nombre de un equipo en la red. The process specified by the parameter is not running.The identifier might be expired.-or- The parameter syntax is invalid.The name might have length zero (0). The parameter is null. The process was not started by this object. 1 Crea un nuevo componente para cada recurso de proceso del equipo local. Matriz de tipo que representa todos los recursos del proceso que se ejecutan en el equipo local. 1 Crea un nuevo componente para cada recurso de proceso en el equipo especificado. Matriz de tipo que representa todos los recursos del proceso que se ejecutan en el equipo especificado. Equipo desde el que se lee la lista de procesos. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Crea una matriz de nuevos componentes y los asocia a todos los recursos de proceso del equipo local que comparten el nombre de proceso especificado. Matriz de tipo que representa los recursos del proceso que ejecutan la aplicación o el archivo especificado. Nombre descriptivo del proceso. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. 1 Crea una matriz de nuevos componentes y los asocia a todos los recursos de proceso de un equipo remoto que comparten el nombre del proceso especificado. Matriz de tipo que representa los recursos del proceso que ejecutan la aplicación o el archivo especificado. Nombre descriptivo del proceso. Nombre de un equipo en la red. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Obtiene un valor que indica si el proceso asociado ha finalizado. Es true si el proceso del sistema operativo al que hace referencia el componente ha terminado; de lo contrario, es false. There is no process associated with the object. The exit code for the process could not be retrieved. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Obtiene el identificador único del proceso asociado. Identificador único generado por el sistema del proceso al que hace referencia esta instancia de . The process's property has not been set.-or- There is no process associated with this object. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. 1 Detiene inmediatamente el proceso asociado. The associated process could not be terminated. -or-The process is terminating.-or- The associated process is a Win16 executable. You are attempting to call for a process that is running on a remote computer.The method is available only for processes running on the local computer. The process has already exited. -or-There is no process associated with this object. 1 Recupera un componente del estado que le permite interactuar con procesos del sistema operativo que se ejecuten en un modo especial. 2 Obtiene el nombre del equipo en el que se está ejecutando el proceso asociado. Nombre del equipo en el que se está ejecutando el proceso asociado. There is no process associated with this object. 1 Obtiene el módulo principal del proceso asociado. utilizado para iniciar el proceso. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. A 32-bit process is trying to access the modules of a 64-bit process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not available.-or- The process has exited. 1 Obtiene o establece el tamaño máximo permitido para el espacio de trabajo del proceso asociado. Tamaño máximo permitido para el espacio de trabajo del proceso en la memoria expresado en bytes. The maximum working set size is invalid.It must be greater than or equal to the minimum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtiene o establece el tamaño mínimo permitido para el espacio de trabajo del proceso asociado. Tamaño mínimo necesario para el espacio de trabajo del proceso en la memoria expresado en bytes. The minimum working set size is invalid.It must be less than or equal to the maximum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtiene los módulos cargados por el proceso asociado. Matriz de tipo que representa los módulos cargados por el proceso asociado. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. You are attempting to access the property for either the system process or the idle process.These processes do not have modules. 2 Obtiene el tamaño de la memoria no paginada del sistema que se ha asignado para el proceso asociado. El tamaño de la memoria del sistema, expresado en bytes, que se ha asignado para el proceso asociado que no puede escribirse en el archivo de paginación de la memoria virtual. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Genera el evento . Se produce cada vez que una aplicación escribe una línea en su secuencia redirigida. 2 Obtiene el tamaño de la memoria paginada asignada para el proceso asociado. El tamaño de la memoria, expresado en bytes, asignada en el archivo de paginación de la memoria virtual para el proceso asociado. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtiene el tamaño de la memoria paginable del sistema que se ha asignado para el proceso asociado. El tamaño de la memoria del sistema, expresado en bytes, que se ha asignado para el proceso asociado que puede escribirse en el archivo de paginación de la memoria virtual. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtiene el tamaño de memoria máximo en el archivo de paginación de la memoria virtual que utiliza el proceso asociado. El tamaño de memoria máximo, expresado en bytes, asignado en el archivo de paginación de la memoria virtual para el proceso asociado desde su inicio. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtiene el tamaño máximo de la memoria virtual que utiliza el proceso asociado. El tamaño máximo de memoria virtual, expresado en bytes, que se ha asignado para el proceso asociado desde su inicio. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtiene el tamaño máximo de la memoria física que utiliza el proceso asociado. El tamaño máximo de memoria física, expresado en bytes, que se ha asignado para el proceso asociado desde su inicio. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtiene o establece un valor que indica si el sistema operativo debería aumentar temporalmente la prioridad del proceso asociado cuando la ventana principal tenga el foco. Es true si la prioridad del proceso debe aumentarse dinámicamente cuando este salga del estado de espera; de lo contrario, es false.De manera predeterminada, es false. Priority boost information could not be retrieved from the associated process resource. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. 1 Obtiene o establece la categoría de prioridad general del proceso asociado. Categoría de prioridad del proceso asociado a partir de la cual se calcula el del proceso. Process priority information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. You have set the to AboveNormal or BelowNormal when using Windows 98 or Windows Millennium Edition (Windows Me).These platforms do not support those values for the priority class. Priority class cannot be set because it does not use a valid value, as defined in the enumeration. 1 Obtiene el tamaño de la memoria privada asignada para el proceso asociado. El tamaño de la memoria, expresado en bytes, que se ha asignado para el proceso asociado que no puede compartirse con otros procesos. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtiene el tiempo de procesador con privilegios de este proceso. que indica la cantidad de tiempo que el proceso ha invertido en la ejecución de código dentro del núcleo del sistema operativo. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Obtiene el nombre del proceso. Nombre que el sistema utiliza para identificar el proceso ante el usuario. The process does not have an identifier, or no process is associated with the .-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not on this computer. 1 Obtiene o establece los procesadores en los que se puede programar la ejecución de los subprocesos de este proceso. Máscara de bits que representa los procesadores en los que pueden ejecutarse los subprocesos del proceso asociado.El valor predeterminado depende del número de procesadores del equipo.El valor predeterminado es 2 n -1, donde n representa el número de procesadores. information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process was not available.-or- The process has exited. 2 Descarta cualquier información acerca del proceso asociado que se haya almacenado en caché en el componente del proceso. 1 Obtiene el identificador nativo de este proceso. Identificador nativo de este proceso. Obtiene el identificador de la sesión de Terminal Services para el proceso asociado. El identificador de la sesión de Terminal Services para el proceso asociado. There is no session associated with this process. There is no process associated with this session identifier.-or-The associated process is not on this machine. The property is not supported on Windows 98. 1 Obtiene una secuencia utilizada para leer la salida de errores de la aplicación. que puede utilizarse para leer la secuencia de error estándar de la aplicación. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Obtiene una secuencia que se utiliza para escribir la entrada de la aplicación. que puede utilizarse para escribir la secuencia de entrada estándar de la aplicación. The stream has not been defined because is set to false. 1 Obtiene una secuencia usada para leer la salida de texto de la aplicación. que puede utilizarse para leer la secuencia de salida estándar de la aplicación. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Inicia (o reutiliza) el recurso de proceso especificado en la propiedad de este componente y lo asocia al componente. Es true si se inicia un recurso de proceso; es false si no se inicia ningún recurso de proceso nuevo (por ejemplo, si se reutiliza un recurso existente). No file name was specified in the component's .-or- The member of the property is true while , , or is true. There was an error in opening the associated file. The process object has already been disposed. 1 Inicia el recurso de proceso que se especifica mediante el parámetro que contiene la información de inicio del proceso (por ejemplo, el nombre de archivo del proceso que se va a iniciar) y asocia el recurso a un nuevo componente . Nuevo que está asociado al recurso del proceso, o null si no se inicia ningún recurso de proceso.Tenga en cuenta que un proceso nuevo que se inicie junto a instancias del mismo proceso ya en ejecución será independiente del resto.Además, Inicio puede devolver un proceso no nulo con su propiedad ya establecida en true.En tal caso, el proceso iniciado puede haber activado una instancia existente de sí mismo y, a continuación, haber salido. que contiene la información que se utiliza para iniciar el proceso, incluidos el nombre de archivo y los argumentos de línea de comandos. No file name was specified in the parameter's property.-or- The property of the parameter is true and the , , or property is also true.-or-The property of the parameter is true and the property is not null or empty or the property is not null. The parameter is null. The process object has already been disposed. The file specified in the parameter's property could not be found. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." 1 Inicia un recurso de proceso con la especificación del nombre de un documento o de un archivo de aplicación y asocia el recurso a un nuevo componente . Nuevo que está asociado al recurso del proceso, o null si no se inicia ningún recurso de proceso.Tenga en cuenta que un proceso nuevo que se inicie junto a instancias del mismo proceso ya en ejecución será independiente del resto.Además, Inicio puede devolver un proceso no nulo con su propiedad ya establecida en true.En tal caso, el proceso iniciado puede haber activado una instancia existente de sí mismo y, a continuación, haber salido. Nombre de un archivo de documento o aplicación que se va a ejecutar en el proceso. An error occurred when opening the associated file. The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Inicia un recurso de proceso mediante la especificación del nombre de una aplicación y un conjunto de argumentos de línea de comandos, y asocia el recurso a un nuevo componente . Nuevo que está asociado al recurso del proceso, o null si no se inicia ningún recurso de proceso.Tenga en cuenta que un proceso nuevo que se inicie junto a instancias del mismo proceso ya en ejecución será independiente del resto.Además, Inicio puede devolver un proceso no nulo con su propiedad ya establecida en true.En tal caso, el proceso iniciado puede haber activado una instancia existente de sí mismo y, a continuación, haber salido. Nombre de un archivo de aplicación que se va a ejecutar en el proceso. Argumentos de línea de comandos que se van a pasar al iniciar el proceso. The or parameter is null. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Inicia un recurso de proceso mediante la especificación del nombre de una aplicación, un nombre de usuario, una contraseña y un dominio, y asocia el recurso a un nuevo componente de . Nuevo que está asociado al recurso del proceso, o null si no se inicia ningún recurso de proceso.Tenga en cuenta que un proceso nuevo que se inicie junto a instancias del mismo proceso ya en ejecución será independiente del resto.Además, Inicio puede devolver un proceso no nulo con su propiedad ya establecida en true.En tal caso, el proceso iniciado puede haber activado una instancia existente de sí mismo y, a continuación, haber salido. Nombre de un archivo de aplicación que se va a ejecutar en el proceso. Nombre de usuario que se va a utilizar al iniciarse el proceso. que contiene la contraseña que se va a utilizar al iniciarse el proceso. Dominio que se va a utilizar al iniciarse el proceso. No file name was specified. is not an executable (.exe) file. There was an error in opening the associated file. The process object has already been disposed. 1 Inicia un recurso de proceso mediante la especificación del nombre de una aplicación y un conjunto de argumentos de línea de comandos, un nombre de usuario, una contraseña y un dominio, y asocia el recurso a un nuevo componente de . Nuevo que está asociado al recurso del proceso, o null si no se inicia ningún recurso de proceso.Tenga en cuenta que un proceso nuevo que se inicie junto a instancias del mismo proceso ya en ejecución será independiente del resto.Además, Inicio puede devolver un proceso no nulo con su propiedad ya establecida en true.En tal caso, el proceso iniciado puede haber activado una instancia existente de sí mismo y, a continuación, haber salido. Nombre de un archivo de aplicación que se va a ejecutar en el proceso. Argumentos de línea de comandos que se van a pasar al iniciar el proceso. Nombre de usuario que se va a utilizar al iniciarse el proceso. que contiene la contraseña que se va a utilizar al iniciarse el proceso. Dominio que se va a utilizar al iniciarse el proceso. No file name was specified. is not an executable (.exe) file. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. 1 Obtiene o establece las propiedades que se pasan al método de . que representa los datos con los que iniciar el proceso.Estos argumentos incluyen el nombre del archivo ejecutable o del documento que se utilizó para iniciar el proceso. The value that specifies the is null. 1 Obtiene el momento en el que se inició el proceso asociado. Objeto que indica cuándo se inició el proceso.Si no se está ejecutando el proceso, se produce una excepción. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process has exited.-or-The process has not been started. An error occurred in the call to the Windows function. 1 Obtiene el conjunto de subprocesos que se están ejecutando en el proceso asociado. Matriz de tipo que representa los subprocesos del sistema operativo que se están ejecutando actualmente en el proceso asociado. The process does not have an , or no process is associated with the instance.-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. 1 Obtiene el tiempo de procesador total de este proceso. indica la cantidad de tiempo que el proceso asociado ha empleado en utilizar la CPU.Este valor es la suma de y . The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Obtiene el tiempo de procesador de usuario de este proceso. que indica la cantidad de tiempo que el proceso asociado ha empleado en ejecutar código en la parte de la aplicación que corresponde al proceso (no en el núcleo del sistema operativo). The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Obtiene el tamaño de la memoria virtual que se ha asignado para el proceso asociado. El tamaño de memoria virtual, expresado en bytes, que se ha asignado para el proceso asociado. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Indica al componente que espere indefinidamente hasta que el proceso asociado termine. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 Indica al componente que espere a que el proceso asociado termine durante el número de milisegundos especificado. Es true si el proceso asociado ha terminado; de lo contrario, es false. Cantidad de tiempo, en milisegundos, que se esperará hasta que termine el proceso asociado.El valor máximo es el valor mayor posible de un entero de 32 bits, que representa el infinito para el sistema operativo. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 Obtiene el tamaño de la memoria física que se ha asignado para el proceso asociado. El tamaño de memoria física, expresado en bytes, que se ha asignado para el proceso asociado. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Representa a un archivo .dll o .exe que se carga en un proceso determinado. 2 Devuelve la dirección de memoria en la que se cargó el módulo. Dirección de carga del módulo. 2 Obtiene la dirección de memoria de la función que se ejecuta cuando el sistema carga y ejecuta el módulo. Punto de entrada del módulo. 2 Obtiene la ruta de acceso completa al módulo. Ruta de acceso completa que define la ubicación del módulo. 2 Obtiene la cantidad de memoria necesaria para cargar el módulo. Tamaño, en bytes, de la memoria que ocupa el módulo. 2 Obtiene el nombre del módulo del proceso. El nombre del módulo. 2 Convierte el nombre del módulo en una cadena. Valor de la propiedad . 2 Proporciona una colección de objetos fuertemente tipados. 2 Inicializa una nueva instancia de la clase , sin instancias de asociadas. Inicializa una nueva instancia de la clase utilizando la matriz de instancias de especificada. Matriz de instancias de con la que se inicializa esta instancia de . Determina si el módulo de proceso especificado se encuentra en la colección. Es true si el módulo está en la colección; en caso contrario, es false. Instancia de que indica el módulo que se va a buscar en la colección. 2 Copia una matriz de instancias de en la colección, en el índice especificado. Matriz de instancias de que se va a agregar a la colección. Ubicación en la que se van a agregar las nuevas instancias. 2 Proporciona la ubicación de un módulo especificado en la colección. Índice de base cero que define la ubicación del módulo en . Objeto cuyo índice se recupera. 2 Obtiene un índice para recorrer en iteración el conjunto de módulos de proceso. Objeto que indiza los módulos de la colección. Valor del índice de base cero del módulo de la colección. 2 Indica la prioridad que el sistema asocia a un proceso.Este valor, junto con el valor de prioridad de cada subproceso del proceso, determina el nivel de prioridad base de cada subproceso. 2 Especifica que el proceso tiene una prioridad superior a Normal pero inferior a . Especifica que el proceso tiene una prioridad superior a Idle pero inferior a Normal. Especifica que el proceso realiza tareas críticas en el tiempo que deben ejecutarse de inmediato, como el cuadro de diálogo Task List, que debe responder rápidamente cuando el usuario lo llama, independientemente de la carga del sistema operativo.Los subprocesos del proceso tienen prioridad sobre los subprocesos de aquellos procesos de clase de prioridad normal o inactiva. Especifica que los subprocesos de este proceso se ejecutan solo cuando el sistema está inactivo, como el protector de pantalla.Los subprocesos del proceso tienen menor prioridad que los subprocesos de cualquier proceso que se ejecute en una clase de prioridad más alta. Especifica que el proceso no tiene necesidades de programación especiales. Especifica que el proceso tiene la prioridad más alta posible. Especifica un conjunto de valores que se usa cuando se inicia un proceso. 2 Inicializa una nueva instancia de la clase sin especificar un nombre de archivo con el que iniciar el proceso. Inicializa una nueva instancia de la clase y especifica un nombre de archivo, como una aplicación o un documento, con el que se inicia el proceso. Aplicación o documento con que se inicia un proceso. Inicializa una nueva instancia de la clase y especifica un nombre de archivo de aplicación con el que se iniciará el proceso, así como un conjunto de argumentos de línea de comandos que se pasarán a la aplicación. Aplicación con que se inicia un proceso. Argumentos de línea de comandos que se van a pasar a la aplicación al iniciar el proceso. Obtiene o establece el conjunto de argumentos de línea de comandos que se van a usar al iniciar la aplicación. Cadena única que contiene los argumentos para pasar a la aplicación de destino especificada en la propiedad .El valor predeterminado es una cadena vacía ("").En Windows Vista y versiones anteriores del sistema operativo Windows, la longitud de los argumentos sumada a la longitud de la ruta de acceso completa al proceso debe ser inferior a 2080.En Windows 7 y versiones posteriores, la longitud debe ser inferior a 32.699.Los argumentos se analizan e interpretan mediante la aplicación de destino, por lo que deben estar en línea con las expectativas de la aplicación.En las aplicaciones .NET, como se muestra en los ejemplos siguientes, los espacios se interpretan como una separación entre varios argumentos.Un solo argumento que incluye espacios debe incluirse entre comillas, pero las comillas no se llevan a cabo en la aplicación de destino.En las comillas incluidas en el argumento final analizado, se elude triplemente cada marca. 1 Obtiene o establece un valor que indica si el proceso se va a iniciar en una nueva ventana. true si el proceso se debe iniciar sin crear una nueva ventana que lo contenga; de lo contrario, es false.De manera predeterminada, es false. 2 Obtiene o establece un valor que identifica el dominio que se va a usar al iniciarse el proceso. El dominio de Active Directory que se va a usar al iniciarse el proceso.La propiedad de dominio es especialmente interesante para los usuarios en entornos de empresa que usan Active Directory. 1 Obtiene o establece la aplicación o el documento que se va a iniciar. Nombre de la aplicación que se va a iniciar o nombre de un documento que tiene un tipo de archivo asociado a una aplicación que dispone de una acción de apertura predeterminada.El valor predeterminado es una cadena vacía (""). 1 Obtiene o establece un valor que indica si el perfil de usuario de Windows se va a cargar desde el registro. true si el perfil de usuario de Windows se debe cargar; de lo contrario, es false.De manera predeterminada, es false. 1 Obtiene o establece una cadena segura que contiene la contraseña del usuario que se va a usar al iniciar el proceso. Contraseña de usuario que se va a usar al iniciar el proceso. 1 Obtiene o establece un valor que indica si la salida de errores de una aplicación se escribe en la secuencia de . true si la salida de errores se debe escribir en ; en caso contrario, es false.De manera predeterminada, es false. 2 Obtiene o establece un valor que indica si la entrada para una aplicación se lee de la secuencia de . true si la entrada se debe leer desde ; en caso contrario, es false.De manera predeterminada, es false. 2 Obtiene o establece un valor que indica si la salida de una aplicación se escribe en la secuencia de . true si la salida se debe escribir en ; de lo contrario, es false.De manera predeterminada, es false. 2 Obtiene o establece la codificación preferente para la salida de errores. Objeto que representa la codificación preferente para la salida de errores.De manera predeterminada, es null. Obtiene o establece la codificación preferente para la salida estándar. Objeto que representa la codificación preferente para la salida estándar.De manera predeterminada, es null. Obtiene o establece el nombre de usuario que se va a usar al iniciar el proceso. Nombre de usuario que se va a utilizar al iniciarse el proceso. 1 Obtiene o establece un valor que indica si se va a usar el shell del sistema operativo para iniciar el proceso. true si el shell se debe usar al iniciar el proceso; false si el proceso debería crearse directamente desde el archivo ejecutable.De manera predeterminada, es true. 2 Cuando la propiedad de es false, obtiene o establece el directorio de trabajo para que el proceso se inicie.Cuando es true, obtiene o establece el directorio que contiene el proceso que se iniciará. Cuando es true, el nombre completo del directorio que contiene el proceso que se va a iniciar.Cuando la propiedad de es false, el directorio de trabajo para que el proceso se inicie.El valor predeterminado es una cadena vacía (""). 1 Representa un subproceso del sistema operativo. 2 Obtiene la prioridad base del subproceso. Prioridad base del subproceso, calculada por el sistema operativo mediante la combinación de la clase de prioridad del proceso y el nivel de prioridad del subproceso asociado. 2 Obtiene la prioridad actual del subproceso. Prioridad actual del subproceso, que puede variar respecto a la prioridad base en función de cómo programe el subproceso el sistema operativo.Es posible aumentar temporalmente la prioridad para un subproceso activo. 2 Obtiene el identificador único del subproceso. Identificador único asociado a un subproceso específico. 2 Establece el procesador preferido para ejecutar este subproceso. Procesador preferido para el subproceso, que se utiliza cuando el sistema programa los subprocesos, con el fin de determinar en qué procesador se ejecutará. El sistema no pudo establecer el subproceso para que se iniciara en el procesador especificado. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Obtiene o establece un valor que indica si el sistema operativo debe aumentar temporalmente la prioridad del subproceso asociado siempre que la ventana principal del proceso del subproceso reciba el foco. Es true para aumentar la prioridad del subproceso cuando el usuario interactúe con la interfaz del proceso; de lo contrario, es false.El valor predeterminado es false. No se pudo recuperar la información del aumento de prioridad.O bienNo se pudo establecer la información del aumento de prioridad. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Obtiene o establece el nivel de prioridad del subproceso. Uno de los valores de , que especifica un intervalo que limita la prioridad del subproceso. No se pudo recuperar la información del nivel de prioridad de subproceso. O bienNo se pudo establecer el nivel de prioridad del subproceso. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Obtiene el tiempo durante el cual el subproceso ha ejecutado código dentro del núcleo del sistema operativo. que indica la cantidad de tiempo que el subproceso ha estado ejecutando código dentro del núcleo del sistema operativo. No se pudo recuperar el tiempo del subproceso. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Establece los procesadores en los que puede ejecutarse el subproceso asociado. que señala a un conjunto de bits, cada uno de los cuales representa a un procesador en el que puede ejecutarse el subproceso. No se pudo establecer la afinidad de procesador. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Restablece el procesador ideal para este subproceso a fin de indicar que no hay un solo procesador ideal.En otras palabras, cualquier procesador es ideal. No se pudo restablecer el procesador ideal. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Obtiene la dirección de memoria de la función a la que llamó el sistema operativo para iniciar este subproceso. Dirección inicial del subproceso, que señala a la función definida por la aplicación que el subproceso ejecuta. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Obtiene la hora a la que el sistema operativo inició el subproceso. que representa la hora que tenía el sistema cuando el sistema operativo inició el subproceso. No se pudo recuperar el tiempo del subproceso. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Obtiene el estado actual de este subproceso. que indica el estado de ejecución del subproceso; por ejemplo, en ejecución, en espera o terminado. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Obtiene la cantidad total de tiempo que este subproceso ha estado usando el procesador. que indica la cantidad de tiempo que el subproceso ha tenido el control del procesador. No se pudo recuperar el tiempo del subproceso. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Obtiene el tiempo durante el cual el subproceso asociado ha ejecutado código dentro de la aplicación. que indica la cantidad de tiempo que el subproceso ha estado ejecutando código dentro de la aplicación, en lugar de dentro del núcleo del sistema operativo. No se pudo recuperar el tiempo del subproceso. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Obtiene la razón por la que el subproceso está esperando. que representa la razón por la cual el subproceso se encuentra en estado de espera. El subproceso no se encuentra en estado de espera. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Proporciona una colección de objetos fuertemente tipados. 2 Inicializa una instancia nueva de la clase , sin instancias de asociadas. Inicializa una instancia nueva de la clase utilizando la matriz de instancias de especificada. Matriz de instancias de con la que se inicializa esta instancia de . Agrega un subproceso del proceso a la colección. Índice de base cero del subproceso de la colección. Subproceso que se va a agregar a la colección. 2 Determina si el subproceso de proceso especificado se encuentra en la colección. Es true si el subproceso está en la colección; en caso contrario, es false. Instancia de que indica el subproceso que se va a buscar en la colección. 2 Copia una matriz de instancias de en la colección, en el índice especificado. Matriz de instancias de que se va a agregar a la colección. Ubicación en la que se van a agregar las nuevas instancias. 2 Proporciona la ubicación de un subproceso especificado en la colección. Índice de base cero que define la ubicación del subproceso en la . cuyo índice se recupera. 2 Inserta un subproceso de proceso en la ubicación especificada de la colección. Índice de base cero que indica la ubicación en la que se va a insertar el subproceso. Subproceso que se va a insertar en la colección. 2 Obtiene un índice para recorrer en iteración el conjunto de subprocesos. Objeto que indiza los subprocesos de la colección. Valor del índice de base cero del subproceso de la colección. 2 Elimina un subproceso de proceso de la colección. Subproceso que se va a quitar de la colección. 2 Especifica el nivel de prioridad de un subproceso. 2 Especifica un paso por encima de la prioridad normal para la clase asociada. Especifica un paso por debajo de la prioridad normal para la clase asociada. Especifica la prioridad más alta.En otras palabras, dos pasos por encima de la prioridad normal para la clase asociada. Especifica la prioridad de inactividad.Éste es el valor de prioridad más bajo posible para todos los subprocesos, independientemente del valor de la clase asociada. Especifica la prioridad más baja.Es decir, dos pasos por debajo de la prioridad normal para la clase asociada. Especifica la prioridad normal para la clase asociada. Especifica la prioridad de tiempo crítico.Éste es el valor de prioridad más alto de todos los subprocesos, independientemente del valor de la clase asociada. Especifica el estado de ejecución actual del subproceso. 1 Estado que indica que el subproceso se ha inicializado, pero no se ha iniciado todavía. Estado que indica que el subproceso está esperando para usar un procesador porque no hay ninguno libre.El subproceso está preparado para ejecutarse en el primer procesador que quede disponible. Estado que indica que el subproceso está usando un procesador actualmente. Estado que indica que el subproceso va a empezar a usar un procesador.En un momento dado, sólo puede haber un subproceso en este estado. Estado que indica que el subproceso ha finalizado su ejecución y ha terminado. Estado que indica que el subproceso está esperando un recurso, que no es el procesador, para poder ejecutarse.Por ejemplo, puede estar esperando a que la pila de ejecución se pagine desde el disco. No se conoce el estado del subproceso. Estado que indica que el subproceso no está listo para usar el procesador porque está esperando a que termine una operación periférica o a que quede libre un recurso.Cuando el subproceso esté listo, se volverá a programar. Especifica la razón por la que el subproceso está esperando. 2 El subproceso está esperando un par de eventos alto. El subproceso está esperando un par de eventos bajo. La ejecución del subproceso está retardada. El subproceso está esperando al programador. El subproceso está esperando una página de memoria virtual libre. El subproceso está esperando a que llegue una llamada a procedimiento local. El subproceso está esperando a que llegue la respuesta a una llamada a procedimiento local. El subproceso está esperando a que llegue a la memoria una página de memoria virtual. El subproceso está esperando a que se escriba en el disco una página de memoria virtual. La ejecución del subproceso está suspendida. El subproceso está esperando la asignación del sistema. No se conoce la razón por la que el subproceso está esperando. El subproceso está esperando una solicitud del usuario. El subproceso está esperando a que el sistema asigne memoria virtual. ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/netstandard1.3/fr/System.Diagnostics.Process.xml ================================================  System.Diagnostics.Process [ESSENTIEL POUR LA SÉCURITÉ] Fournit un wrapper managé pour un handle de processus. [ESSENTIEL POUR LA SÉCURITÉ] Initialise une nouvelle instance de la classe à partir du handle spécifié, indiquant s'il faut libérer le handle pendant la phase de finalisation. Handle à encapsuler. truePour vous permettre de manière fiable libérer le handle pendant la phase de finalisation ; Sinon, false. Fournit des données pour les événements et . 2 Obtient la ligne de caractères qui a été écrite dans un flux de sortie redirigé. Ligne qui a été écrite par un associé à son redirigé ou à son flux . 2 Représente la méthode qui gérera l'événement ou l'événement de . Source de l'événement. qui contient les données d'événement. 2 Fournit l'accès à des processus locaux ainsi que distants, et vous permet de démarrer et d'arrêter des processus système locaux.Pour parcourir le code source de .NET Framework pour ce type, consultez la Source de référence. 1 Initialise une nouvelle instance de la classe . Obtient la priorité de base du processus associé. Priorité de base, calculée à partir du du processus associé. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. The process has exited.-or- The process has not started, so there is no process ID. 2 Commence des opérations de lecture asynchrones sur le flux de données redirigé de l'application. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Commence des opérations de lecture asynchrones sur le flux de données redirigé de l'application. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Annule l'opération de lecture asynchrone sur le flux redirigé d'une application. The stream is not enabled for asynchronous read operations. 2 Annule l'opération de lecture asynchrone sur le flux redirigé d'une application. The stream is not enabled for asynchronous read operations. 2 Libère toutes les ressources utilisées par ce processus. true pour libérer les ressources managées et non managées ; false pour ne libérer que les ressources non managées. Obtient ou définit une valeur indiquant si l'événement est déclenché quand le processus ne s'exécute plus. true si l'événement doit être déclenché une fois que le processus associé n'est plus exécuté (sortie ou appel à ) ; sinon, false.La valeur par défaut est false. 2 Met un composant en état d'interagir avec des processus du système d'exploitation qui s'exécutent en mode spécial en activant la propriété native SeDebugPrivilege sur le thread actuel. 2 Se produit quand une application écrit dans son flux redirigé. 2 Obtient la valeur spécifiée par le processus associé au moment où il s'est terminé. Code spécifié par le processus associé une fois celui-ci terminé. The process has not exited.-or- The process is not valid. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Se produit quand un processus se termine. 2 Obtient l'heure à laquelle le processus associé s'est terminé. qui indique le moment où le processus associé s'est terminé. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Obtient un nouveau composant et l'associe au processus actuellement actif. Nouveau composant associé à la ressource de processus qui exécute l'application appelante. 1 Retourne un nouveau composant , en fonction de l'identificateur d'un processus sur l'ordinateur local. Composant associé à la ressource de processus locale identifiée par le paramètre . Identificateur unique au système d'une ressource de processus. The process specified by the parameter is not running.The identifier might be expired. The process was not started by this object. 1 Retourne un nouveau composant , en fonction d'un identificateur de processus et du nom d'un ordinateur du réseau. Composant associé à une ressource de processus distante identifiée par le paramètre . Identificateur unique au système d'une ressource de processus. Nom d'un ordinateur du réseau. The process specified by the parameter is not running.The identifier might be expired.-or- The parameter syntax is invalid.The name might have length zero (0). The parameter is null. The process was not started by this object. 1 Crée un composant pour chaque ressource de processus sur l'ordinateur local. Tableau de type représentant toutes les ressources de processus exécutées sur l'ordinateur local. 1 Crée un composant pour chaque ressource de processus sur l'ordinateur spécifié. Tableau de type représentant toutes les ressources de processus exécutées sur l'ordinateur spécifié. Ordinateur à partir duquel lire la liste de processus. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Crée un tableau de nouveaux composants et les associe à toutes les ressources de processus de l'ordinateur local qui partagent le nom de processus spécifié. Tableau de type représentant les ressources de processus exécutant l'application ou le fichier spécifié. Nom convivial du processus. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. 1 Crée un tableau de nouveaux composants et les associe à toutes les ressources de processus sur l'ordinateur distant qui partagent le nom de processus spécifié. Tableau de type représentant les ressources de processus exécutant l'application ou le fichier spécifié. Nom convivial du processus. Nom d'un ordinateur du réseau. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Obtient une valeur indiquant si le processus associé s'est terminé. true si le processus du système d'exploitation référencé par le composant s'est terminé ; sinon, false. There is no process associated with the object. The exit code for the process could not be retrieved. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Obtient l'identificateur unique du processus associé. Identificateur unique généré par le système du processus référencé par cette instance de . The process's property has not been set.-or- There is no process associated with this object. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. 1 Arrête immédiatement le processus associé. The associated process could not be terminated. -or-The process is terminating.-or- The associated process is a Win16 executable. You are attempting to call for a process that is running on a remote computer.The method is available only for processes running on the local computer. The process has already exited. -or-There is no process associated with this object. 1 Met un composant hors de l'état qui lui permet d'interagir avec des processus du système d'exploitation qui s'exécutent en mode spécial. 2 Obtient le nom de l'ordinateur sur lequel s'exécute le processus associé. Nom de l'ordinateur sur lequel s'exécute le processus associé. There is no process associated with this object. 1 Obtient le module principal pour le processus associé. qui a été utilisé pour démarrer le processus. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. A 32-bit process is trying to access the modules of a 64-bit process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not available.-or- The process has exited. 1 Obtient ou définit la taille maximale autorisée du jeu de travail pour le processus associé. Taille maximale du jeu de travail pouvant être mise en mémoire pour le processus, en octets. The maximum working set size is invalid.It must be greater than or equal to the minimum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtient ou définit la taille minimale autorisée du jeu de travail pour le processus associé. Taille minimale du jeu de travail requise en mémoire pour le processus, en octets. The minimum working set size is invalid.It must be less than or equal to the maximum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtient les modules qui ont été chargés par le processus associé. Tableau de type représentant les modules qui ont été chargés par le processus associé. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. You are attempting to access the property for either the system process or the idle process.These processes do not have modules. 2 Obtient la quantité de mémoire système non paginée allouée pour le processus associé. Quantité de mémoire système, en octets, allouée au processus associé qui ne peut pas être écrite dans le fichier d'échange de la mémoire virtuelle. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Déclenche l'événement . Se produit quand une application écrit dans son flux redirigé. 2 Obtient la quantité de mémoire paginée allouée pour le processus associé. Quantité de mémoire, en octets, allouée dans le fichier d'échange de la mémoire virtuelle pour le processus associé. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtient la quantité de mémoire système paginable allouée pour le processus associé. Quantité de mémoire système, en octets, allouée au processus associé qui peut être écrite dans le fichier d'échange de la mémoire virtuelle. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtient la quantité maximale de mémoire dans le fichier d'échange de la mémoire virtuelle utilisée par le processus associé. Quantité de mémoire maximale, en octets, allouée dans le fichier d'échange de la mémoire virtuelle pour le processus associé depuis son démarrage. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtient la quantité maximale de la mémoire virtuelle utilisée par le processus associé. Quantité maximale de la mémoire virtuelle, en octets, allouée pour le processus associé depuis son démarrage. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtient la quantité maximale de la mémoire physique utilisée par le processus associé. Quantité maximale de la mémoire physique, en octets, allouée pour le processus associé depuis son démarrage. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtient ou définit une valeur indiquant si la priorité du processus associée doit être temporairement renforcée par le système d'exploitation quand la fenêtre principale a le focus. true si un renforcement dynamique de la priorité du processus doit être effectué pour un processus quand il quitte l'état d'attente ; sinon, false.La valeur par défaut est false. Priority boost information could not be retrieved from the associated process resource. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. 1 Obtient ou définit la catégorie de priorité générale pour le processus associé. Catégorie de priorité pour le processus associé, à partir de laquelle le du processus est calculé. Process priority information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. You have set the to AboveNormal or BelowNormal when using Windows 98 or Windows Millennium Edition (Windows Me).These platforms do not support those values for the priority class. Priority class cannot be set because it does not use a valid value, as defined in the enumeration. 1 Obtient la quantité de mémoire privée allouée pour le processus associé. Quantité de mémoire, en octets, allouée pour le processus associé qui ne peut pas être partagé avec d'autres processus. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtient le temps processeur privilégié pour ce processus. indiquant la durée d'exécution du code par le processus à l'intérieur du noyau du système d'exploitation. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Obtient le nom du processus. Nom utilisé par le système pour identifier le processus à l'intention de l'utilisateur. The process does not have an identifier, or no process is associated with the .-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not on this computer. 1 Obtient ou définit les processeurs sur lesquels l'exécution des threads de ce processus peut être planifiée. Masque de bits représentant les processeurs sur lesquels les threads du processus associé peuvent s'exécuter.La valeur par défaut dépend du nombre de processeurs dont est équipé l'ordinateur.La valeur par défaut est 2 n -1, où n est le nombre de processeurs. information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process was not available.-or- The process has exited. 2 Ignore toute information concernant le processus associé qui a été mis en cache dans le composant du processus. 1 Obtient le handle natif de ce processus. Handle natif de ce processus. Obtient l'identificateur de session Terminal Server du processus associé. Identificateur de session Terminal Server du processus associé. There is no session associated with this process. There is no process associated with this session identifier.-or-The associated process is not on this machine. The property is not supported on Windows 98. 1 Obtient un flux utilisé pour lire la sortie d'erreur de l'application. qui peut être utilisé pour lire le flux d'erreurs standard de l'application. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Obtient un flux utilisé pour écrire l'entrée de l'application. qui peut être utilisé pour écrire le flux d'entrée standard de l'application. The stream has not been defined because is set to false. 1 Obtient un flux utilisé pour lire la sortie textuelle de l'application. qui peut être utilisé pour lire le flux de sortie standard de l'application. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Démarre (ou réutilise) la ressource de processus qui est spécifiée par la propriété de ce composant et l'associe au composant. true si une ressource de processus est démarrée ; false si aucune ressource de processus n'est démarrée (par exemple, si un processus existant est réutilisé). No file name was specified in the component's .-or- The member of the property is true while , , or is true. There was an error in opening the associated file. The process object has already been disposed. 1 Démarre la ressource de processus qui est spécifiée par le paramètre contenant les informations de démarrage du processus (par exemple, le nom de fichier du processus à démarrer) et l'associe à un nouveau composant . Nouvel élément qui est associé à la ressource de processus, ou null si aucune ressource de processus n'est démarrée.Notez qu'un nouveau processus qui est démarré en même temps que les instances du même processus déjà en cours d'exécution sera indépendant des autres.En outre, le démarrage peut retourner un processus non null avec sa propriété déjà définie à true.Dans ce cas, le processus démarré peut avoir activé une instance existante de lui-même, puis s'être arrêté. qui contient les informations utilisées pour démarrer le processus, y compris le nom de fichier et d'éventuels arguments de ligne de commande. No file name was specified in the parameter's property.-or- The property of the parameter is true and the , , or property is also true.-or-The property of the parameter is true and the property is not null or empty or the property is not null. The parameter is null. The process object has already been disposed. The file specified in the parameter's property could not be found. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." 1 Démarre une ressource de processus en spécifiant le nom d'un document ou d'un fichier d'application et l'associe à un nouveau composant . Nouvel élément qui est associé à la ressource de processus, ou null si aucune ressource de processus n'est démarrée.Notez qu'un nouveau processus qui est démarré en même temps que les instances du même processus déjà en cours d'exécution sera indépendant des autres.En outre, le démarrage peut retourner un processus non null avec sa propriété déjà définie à true.Dans ce cas, le processus démarré peut avoir activé une instance existante de lui-même, puis s'être arrêté. Nom d'un document ou d'un fichier d'application à exécuter dans le processus. An error occurred when opening the associated file. The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Démarre une ressource de processus en spécifiant le nom d'une application et un jeu d'arguments de ligne de commande et l'associe à la ressource avec un nouveau composant . Nouvel élément qui est associé à la ressource de processus, ou null si aucune ressource de processus n'est démarrée.Notez qu'un nouveau processus qui est démarré en même temps que les instances du même processus déjà en cours d'exécution sera indépendant des autres.En outre, le démarrage peut retourner un processus non null avec sa propriété déjà définie à true.Dans ce cas, le processus démarré peut avoir activé une instance existante de lui-même, puis s'être arrêté. Nom d'un fichier d'application à exécuter dans le processus. Arguments de ligne de commande à passer au moment du démarrage du processus. The or parameter is null. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Démarre une ressource de processus en spécifiant le nom d'une application, un nom d'utilisateur, un mot de passe et un domaine et associe la ressource à un nouveau composant . Nouvel élément qui est associé à la ressource de processus, ou null si aucune ressource de processus n'est démarrée.Notez qu'un nouveau processus qui est démarré en même temps que les instances du même processus déjà en cours d'exécution sera indépendant des autres.En outre, le démarrage peut retourner un processus non null avec sa propriété déjà définie à true.Dans ce cas, le processus démarré peut avoir activé une instance existante de lui-même, puis s'être arrêté. Nom d'un fichier d'application à exécuter dans le processus. Nom d'utilisateur à utiliser au moment du démarrage du processus. qui contient le mot de passe à utiliser lors du démarrage du processus. Domaine à utiliser au moment du démarrage du processus. No file name was specified. is not an executable (.exe) file. There was an error in opening the associated file. The process object has already been disposed. 1 Démarre une ressource de processus en spécifiant le nom d'une application, un jeu d'arguments de ligne de commande, un nom d'utilisateur, un mot de passe et un domaine, et associe la ressource à un nouveau composant . Nouvel élément qui est associé à la ressource de processus, ou null si aucune ressource de processus n'est démarrée.Notez qu'un nouveau processus qui est démarré en même temps que les instances du même processus déjà en cours d'exécution sera indépendant des autres.En outre, le démarrage peut retourner un processus non null avec sa propriété déjà définie à true.Dans ce cas, le processus démarré peut avoir activé une instance existante de lui-même, puis s'être arrêté. Nom d'un fichier d'application à exécuter dans le processus. Arguments de ligne de commande à passer au moment du démarrage du processus. Nom d'utilisateur à utiliser au moment du démarrage du processus. qui contient le mot de passe à utiliser lors du démarrage du processus. Domaine à utiliser au moment du démarrage du processus. No file name was specified. is not an executable (.exe) file. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. 1 Obtient ou définit les propriétés à passer à la méthode de . qui représente les données avec lesquelles démarrer le processus.Ces arguments comprennent le nom du fichier exécutable ou du document utilisé pour démarrer le processus. The value that specifies the is null. 1 Obtient l'heure à laquelle le processus associé a démarré. Objet qui indique l'heure de démarrage du processus.Une exception est levée si le processus n'est pas en cours d'exécution. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process has exited.-or-The process has not been started. An error occurred in the call to the Windows function. 1 Obtient le jeu des threads en cours d'exécution dans le processus associé. Tableau de type représentant les threads du système d'exploitation en cours d'exécution dans le processus associé. The process does not have an , or no process is associated with the instance.-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. 1 Obtient le temps processeur total pour ce processus. qui indique la durée d'utilisation de l'unité centrale par le processus associé.Cette valeur est la somme de et de . The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Obtient le temps processeur utilisateur pour ce processus. qui indique la durée d'exécution du code par le processus associé à l'intérieur de la partie application du processus (plutôt qu'à l'intérieur du noyau du système d'exploitation). The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Obtient la quantité de mémoire virtuelle allouée pour le processus associé. Quantité de la mémoire virtuelle, en octets, allouée pour le processus associé. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Indique au composant d'attendre indéfiniment que le processus associé s'arrête. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 Indique au composant d'attendre le nombre de millisecondes spécifié que le processus associé s'arrête. true si le processus associé s'est arrêté ; sinon, false. Délai, en millisecondes, à attendre que le processus associé s'arrête.Le maximum est la plus grande valeur possible d'un entier 32 bits, qui représente l'infini pour le système d'exploitation. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 Obtient la quantité de mémoire physique allouée pour le processus associé. Quantité de la mémoire physique, en octets, allouée pour le processus associé. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Représente un fichier .dll ou .exe chargé dans un processus particulier. 2 Obtient l'adresse mémoire à laquelle le module a été chargé. Adresse de chargement du module. 2 Obtient l'adresse mémoire de la fonction qui s'exécute lorsque le système charge et exécute le module. Point d'entrée du module. 2 Obtient le chemin d'accès complet du module. Chemin d'accès qualifié complet qui définit l'emplacement du module. 2 Obtient la quantité de mémoire nécessaire au chargement du module. Taille en octets de la mémoire utilisée par le module. 2 Obtient le nom du module de processus. Nom du module. 2 Convertit le nom du module en chaîne. Valeur de la propriété . 2 Fournit une collection fortement typée d'objets . 2 Initialise une nouvelle instance de la classe à laquelle aucune instance de n'est associée. Initialise une nouvelle instance de la classe à l'aide du tableau spécifié d'instances de . Tableau d'instances de avec lequel initialiser cette instance de . Détermine si le module de processus spécifié existe dans la collection. true si le module existe dans la collection ; sinon, false. Instance de qui indique le module à rechercher dans cette collection. 2 Copie un tableau d'instances de vers la collection, à l'index spécifié. Tableau d'instances de à ajouter à la collection. Emplacement auquel ajouter les nouvelles instances. 2 Fournit l'emplacement d'un module spécifié dans la collection. Index de base zéro qui définit l'emplacement du module dans . dont l'index est récupéré. 2 Obtient un index pour itérer au sein du jeu de modules de processus. qui indexe les modules dans la collection. Valeur d'index de base zéro du module dans la collection. 2 Indique la priorité associée par le système à un processus.Cette valeur, ainsi que la valeur de priorité de chaque thread du processus, déterminent le niveau de priorité de base de chaque thread. 2 Spécifie que le processus a une priorité supérieure à Normal, mais inférieure à . Spécifie que le processus a une priorité supérieure à Idle, mais inférieure à Normal. Spécifie que le processus effectue des tâches en temps critique qui doivent être exécutées immédiatement, telles que la boîte de dialogue Task List qui doit répondre rapidement lorsqu'elle est appelée par l'utilisateur, peu importe la charge du système d'exploitation.Les threads du processus prévalent sur les threads de processus de classe de priorités normale ou inactive. Spécifie que les threads de ce processus ne s'exécutent que si le système est inactif, par exemple un écran de veille.Les threads de tout processus s'exécutant dans une classe de priorités supérieure prévalent sur les threads du processus. Spécifie que le processus ne possède aucune exigence de planification spéciale. Spécifie que le processus possède la priorité la plus élevée. Spécifie un jeu de valeurs utilisées lors du démarrage d'un processus. 2 Initialise une nouvelle instance de la classe sans spécifier le nom de fichier avec lequel démarrer le processus. Initialise une nouvelle instance de la classe et spécifie un nom de fichier (d'une application ou d'un document, par exemple) avec lequel démarrer le processus. Application ou document avec lequel démarrer un processus. Initialise une nouvelle instance de la classe et spécifie un nom de fichier d'application avec lequel démarrer le processus, ainsi qu'un jeu d'arguments de ligne de commande à passer à l'application. Application avec laquelle démarrer un processus. Arguments de ligne de commande à passer à l'application lors du démarrage du processus. Obtient ou définit le jeu d'arguments de ligne de commande à utiliser lors du démarrage de l'application. Chaîne unique contenant les arguments à passer à l'application cible spécifiée dans la propriété .La valeur par défaut est une chaîne vide ("").Sur Windows Vista et les versions antérieures du système d'exploitation Windows, la longueur des arguments ajoutés à la longueur du chemin d'accès complet au processus doit être inférieur à 2 080.Sur Windows 7 et versions ultérieures, la longueur doit être inférieure à 32 699.Les arguments étant analysés et interprétés par l'application cible, ils doivent correspondre aux attentes de cette application.Pour les applications .NET, comme illustré dans les exemples ci-dessous, les espaces sont interprétés comme un séparateur entre plusieurs arguments.Un argument unique qui comprend des espaces doit être placé entre guillemets, mais les guillemets ne sont pas transmises à l'application cible.Dans les guillemets du dernier argument analysé, vous devez affecter un triple échappement à chaque guillemet. 1 Obtient ou définit une valeur indiquant si le processus doit démarrer dans une nouvelle fenêtre. true si le processus doit démarrer sans créer de nouvelle fenêtre destinée à le contenir ; sinon, false.La valeur par défaut est false. 2 Obtient ou définit une valeur qui identifie le domaine à utiliser lors du démarrage du processus. Domaine Active Directory à utiliser lors du démarrage du processus.La propriété de domaine présente un intérêt particulier pour les utilisateurs dans les environnements d'entreprise qui utilisent Active Directory. 1 Obtient ou définit l'application ou le document à démarrer. Nom de l'application à démarrer, ou nom d'un document d'un type de fichier associé à une application et disposant d'une action d'ouverture par défaut.La valeur par défaut est une chaîne vide (""). 1 Obtient ou définit une valeur qui indique si le profil utilisateur Windows doit être chargé à partir du Registre. true si le profil utilisateur Windows doit être chargé ; sinon, false.La valeur par défaut est false. 1 Obtient ou définit une chaîne sécurisée contenant le mot de passe de l'utilisateur à utiliser lors du démarrage du processus. Mot de passe utilisateur à utiliser lors du démarrage du processus. 1 Obtient ou définit une valeur qui indique si la sortie d'erreur d'une application est écrite dans le flux . true si la sortie d'erreur est écrite dans  ; sinon, false.La valeur par défaut est false. 2 Obtient ou définit une valeur qui indique si l'entrée pour une application est lue à partir du flux . true si l'entrée est lue depuis  ; sinon, false.La valeur par défaut est false. 2 Obtient ou définit une valeur qui indique si la sortie textuelle d'une application est écrite dans le flux . true si la sortie doit être écrite dans  ; sinon, false.La valeur par défaut est false. 2 Obtient ou définit l'encodage recommandé pour la sortie d'erreur. Objet qui représente l'encodage recommandé pour la sortie d'erreur.La valeur par défaut est null. Obtient ou définit l'encodage recommandé pour la sortie standard. Objet qui représente l'encodage recommandé pour la sortie standard.La valeur par défaut est null. Obtient ou définit le nom d'utilisateur à utiliser lors du démarrage du processus. Nom d'utilisateur à utiliser au moment du démarrage du processus. 1 Obtient ou définit une valeur indiquant si le shell du système d'exploitation doit être utilisé pour démarrer le processus. true si le shell doit être utilisé lors du démarrage du processus ; false si le processus doit être créé directement à partir du fichier exécutable.La valeur par défaut est true. 2 Lorsque la propriété est false, obtient ou définit le répertoire de travail du processus à démarrer.Lorsque est true, obtient ou définit le répertoire qui contient le processus à démarrer. Lorsque est true, nom qualifié complet du répertoire qui contient le processus à démarrer.Lorsque la propriété est false, répertoire de travail du processus à démarrer.La valeur par défaut est une chaîne vide (""). 1 Représente un thread de processus du système d'exploitation. 2 Obtient la priorité de base du thread. Priorité de base du thread, calculée par le système d'exploitation en combinant la classe de priorité du processus avec le niveau de priorité du thread associé. 2 Obtient la priorité actuelle du thread. Priorité actuelle du thread, qui peut être différente de la priorité de base, selon la manière dont le système d'exploitation planifie le thread.La priorité peut être renforcée temporairement pour un thread actif. 2 Obtient l'identificateur unique du thread. Identificateur unique associé à un thread spécifique. 2 Définit le processeur par défaut sur lequel exécuter ce thread. Processeur par défaut pour le thread, utilisé lorsque le système planifie des threads, afin de déterminer le processeur sur lequel exécuter le thread. Le système n'a pas pu définir le thread pour qu'il démarre sur le processeur spécifié. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Obtient ou définit une valeur indiquant si le système d'exploitation doit renforcer temporairement la priorité du thread qui lui est associé chaque fois que la fenêtre principale du processus du thread reçoit le focus. true pour renforcer la priorité du thread en cas d'interaction de l'utilisateur avec l'interface du processus ; sinon, false.La valeur par défaut est false. Les informations sur le renforcement de la priorité n'ont pas pu être récupérées.ouLes informations sur le renforcement de la priorité n'ont pas pu être définies. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Obtient ou définit le niveau de priorité du thread. Une des valeurs spécifiant une plage qui limite la priorité du thread. Les informations sur le renforcement de la priorité du thread n'ont pas pu être récupérées. ouLe niveau de priorité du thread n'a pas pu être défini. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Obtient la durée d'exécution du code par le thread à l'intérieur du noyau du système d'exploitation. indiquant la durée d'exécution du code par le thread à l'intérieur du noyau du système d'exploitation. La durée du thread n'a pas pu être récupérée. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Définit les processeurs sur lesquels le thread associé peut s'exécuter. désignant un jeu de bits, chacun d'eux représentant un processeur sur lequel le thread peut s'exécuter. L'affinité du processeur n'a pas pu être définie. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Réinitialise le processeur idéal pour ce thread afin d'indiquer qu'il n'existe aucun processeur idéal.En d'autres termes, cela signifie que tous les processeurs sont idéaux. Le processeur idéal n'a pas pu être réinitialisé. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Obtient l'adresse mémoire de la fonction appelée par le système d'exploitation qui a démarré ce thread. Adresse de départ du thread, qui désigne la fonction définie par l'application exécutée par le thread. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Obtient l'heure à laquelle le système d'exploitation a démarré le thread. représentant l'heure du système au moment où le système d'exploitation a démarré le thread. La durée du thread n'a pas pu être récupérée. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Obtient l'état actuel de ce thread. indiquant l'exécution du thread (par exemple, s'il est en cours d'exécution, en attente ou terminé). La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Obtient la durée totale d'utilisation du processeur par ce thread. indiquant la durée pendant laquelle le thread contrôlait le processeur. La durée du thread n'a pas pu être récupérée. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Obtient la durée d'exécution du code par le thread associé au sein de l'application. indiquant la durée d'exécution du code par le thread à l'intérieur de l'application, et non à l'intérieur du noyau du système d'exploitation. La durée du thread n'a pas pu être récupérée. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Obtient la raison pour laquelle le thread est en attente. représentant la raison pour laquelle le thread est en état d'attente. Le thread n'est pas en état d'attente. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Fournit une collection fortement typée d'objets . 2 Initialise une nouvelle instance de la classe à laquelle aucune instance de n'est associée. Initialise une nouvelle instance de la classe à l'aide du tableau spécifié d'instances de . Tableau d'instances de avec lequel initialiser cette instance de . Ajoute un thread de processus à la collection. Index de base zéro du thread dans la collection. Thread à ajouter à la collection. 2 Détermine si le thread de processus spécifié existe dans la collection. true si le thread existe dans la collection ; sinon, false. Instance de qui indique le thread à rechercher dans cette collection. 2 Copie un tableau d'instances de vers la collection, à l'index spécifié. Tableau d'instances de à ajouter à la collection. Emplacement auquel ajouter les nouvelles instances. 2 Fournit l'emplacement d'un thread spécifié dans la collection. Index de base zéro qui définit l'emplacement du thread dans . dont l'index est récupéré. 2 Insère un thread de processus à l'emplacement spécifié dans la collection. Index de base zéro indiquant l'emplacement dans lequel insérer le thread. Thread à insérer dans la collection. 2 Obtient un index pour itérer au sein du jeu de threads de processus. qui indexe les threads dans la collection. Valeur d'index de base zéro du thread dans la collection. 2 Supprime de la collection un thread de processus. Thread à supprimer de la collection. 2 Spécifie le niveau de priorité d'un thread. 2 Spécifie un niveau au-dessus de la priorité normale pour le associé. Spécifie un niveau en dessous de la priorité normale pour le associé. Spécifie la priorité la plus élevée.Elle se situe deux niveaux au-dessus de la priorité normale pour le associé. Spécifie la priorité du type inactif.Il s'agit de la plus basse priorité possible de tous les threads, indépendante de la valeur du associé. Spécifie la priorité la plus basse.Elle se situe deux niveaux en dessous de la priorité normale pour le associé. Spécifie la priorité normale pour le associé. Spécifie la priorité critique.Il s'agit de la priorité la plus élevée de tous les threads, indépendante de la valeur du associé. Spécifie l'état d'exécution actuel du thread. 1 État qui indique que le thread a été initialisé, mais n'a pas encore démarré. État qui indique que le thread attend de pouvoir utiliser un processeur, car aucun processeur n'est libre.Le thread est prêt à s'exécuter sur le prochain processeur disponible. État qui indique que le thread utilise actuellement un processeur. État qui indique que le thread est sur le point d'utiliser un processeur.Un seul thread peut être dans cet état à la fois. État qui indique que le thread a terminé de s'exécuter et s'est fermé. État qui indique que le thread attend une ressource autre que le processeur avant de pouvoir s'exécuter.Par exemple, il peut attendre que sa pile d'exécution soit paginée à partir du disque. L'état du thread est inconnu. État qui indique que le thread n'est pas prêt à utiliser le processeur, car il attend la fin d'une opération de périphérique ou la libération d'une ressource.Lorsque le thread est prêt, il est replanifié. Spécifie la raison pour laquelle un thread attend. 2 Le thread attend une paire d'événements haute. Le thread attend une paire d'événements basse. L'exécution du thread est différée. Le thread attend le planificateur. Le thread attend une page de mémoire virtuelle libre. Le thread attend l'arrivée d'un appel de procédure local. Le thread attend l'arrivée d'une réponse à un appel de procédure local. Le thread attend l'arrivée d'une page de mémoire virtuelle en mémoire. Le thread attend l'écriture d'une page de mémoire virtuelle sur le disque. L'exécution du thread est interrompue. Le thread attend une allocation système. Le thread attend pour une raison inconnue. Le thread attend une demande utilisateur. Le thread attend que le système alloue de la mémoire virtuelle. ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/netstandard1.3/it/System.Diagnostics.Process.xml ================================================  System.Diagnostics.Process [SecurityCritical] Fornisce un wrapper gestito per un handle di processo. [SecurityCritical] Inizializza una nuova istanza della classe dall'handle specificato, indicando se rilasciare l'handle durante la fase di finalizzazione. Handle di cui eseguire il wrapping. trueper consentire in modo affidabile rilasciare l'handle durante la fase di finalizzazione; in caso contrario, false. Fornisce i dati per gli eventi e . 2 Ottiene la riga di caratteri che è stata scritta in un flusso di output di reindirizzato. Riga scritta da un associato al relativo flusso di o di reindirizzato. 2 Rappresenta il metodo che gestirà l'evento o di un oggetto . Origine dell'evento. Oggetto che contiene i dati dell'evento. 2 Fornisce l'accesso ai processi locali e remoti e permette di avviare e arrestare i processi locali del sistema.Per esaminare il codice sorgente di .NET Framework per questo tipo, vedere Origine riferimento. 1 Inizializza una nuova istanza della classe . Ottiene la priorità base del processo associato. Priorità base, calcolata dalla proprietà del processo associato. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. The process has exited.-or- The process has not started, so there is no process ID. 2 Inizia le operazioni di lettura asincrona sul flusso reindirizzato dell'applicazione. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Inizia le operazioni di lettura asincrona sul flusso reindirizzato dell'applicazione. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Annulla l'operazione di lettura asincrona sul flusso reindirizzato di un'applicazione. The stream is not enabled for asynchronous read operations. 2 Annulla l'operazione di lettura asincrona sul flusso reindirizzato di un'applicazione. The stream is not enabled for asynchronous read operations. 2 Rilascia tutte le risorse usate dal processo. true per rilasciare sia le risorse gestite sia quelle non gestite; false per rilasciare solo le risorse non gestite. Ottiene o imposta la generazione dell'evento quando il processo viene terminato. true se l'evento dovrà essere generato quando il processo associato viene terminato (mediante un'uscita o una chiamata al metodo ); in caso contrario, false.Il valore predefinito è false. 2 Imposta un componente nello stato che gli permette di interagire con i processi del sistema operativo eseguiti in modalità speciale attivando la proprietà nativa SeDebugPrivilege sul thread corrente. 2 Si verifica quando un'applicazione scrive nel proprio flusso reindirizzato. 2 Ottiene il valore specificato dal processo associato quando è stato terminato. Codice specificato dal processo associato quando è stato terminato. The process has not exited.-or- The process is not valid. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Si verifica al termine di un processo. 2 Ottiene l'ora in cui il processo associato è stato terminato. Oggetto che indica il momento in cui il processo associato è stato terminato. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Ottiene un nuovo componente e lo associa al processo attivo. Nuovo componente associato alla risorsa di processo che sta eseguendo l'applicazione chiamante. 1 Restituisce un nuovo componente , dato l'identificatore di un processo nel computer locale. Componente associato alla risorsa locale del processo identificata dal parametro . Identificatore univoco nel sistema di una risorsa di processo. The process specified by the parameter is not running.The identifier might be expired. The process was not started by this object. 1 Restituisce un nuovo componente , dato un identificatore di processo e il nome di un computer sulla rete. Componente associato a una risorsa di processo remota identificata dal parametro . Identificatore univoco nel sistema di una risorsa di processo. Nome di un computer della rete. The process specified by the parameter is not running.The identifier might be expired.-or- The parameter syntax is invalid.The name might have length zero (0). The parameter is null. The process was not started by this object. 1 Crea un nuovo componente per ciascuna risorsa di processo del computer locale. Matrice di tipo che rappresenta tutte le risorse di processo in esecuzione sul computer locale. 1 Crea un nuovo componente per ciascuna risorsa di processo nel computer specificato. Matrice di tipo che rappresenta tutte le risorse di processo in esecuzione sul computer specificato. Computer da cui leggere l'elenco di processi. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Crea una matrice di nuovi componenti e li associa a tutte le risorse di processo nel computer locale che condividono il nome di processo specificato. Una matrice di tipo che rappresenta le risorse di processo che eseguono l'applicazione o il file specificati. Nome descrittivo del processo. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. 1 Crea una matrice di nuovi componenti e li associa a tutte le risorse di processo in un computer remoto che condividono il nome di processo specificato. Una matrice di tipo che rappresenta le risorse di processo che eseguono l'applicazione o il file specificati. Nome descrittivo del processo. Nome di un computer della rete. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Ottiene un valore che indica se il processo associato è stato terminato. true se il processo del sistema operativo cui fa riferimento il componente è stato terminato; in caso contrario, false. There is no process associated with the object. The exit code for the process could not be retrieved. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Ottiene l'identificatore univoco per il processo associato. Identificatore univoco generato dal sistema relativo al processo cui questa istanza di fa riferimento. The process's property has not been set.-or- There is no process associated with this object. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. 1 Arresta immediatamente il processo associato. The associated process could not be terminated. -or-The process is terminating.-or- The associated process is a Win16 executable. You are attempting to call for a process that is running on a remote computer.The method is available only for processes running on the local computer. The process has already exited. -or-There is no process associated with this object. 1 Fa uscire un componente dallo stato che permette di interagire con i processi del sistema operativo eseguiti in modalità speciale. 2 Ottiene il nome del computer sul quale è in esecuzione il processo associato. Nome del computer sul quale è in esecuzione il processo associato. There is no process associated with this object. 1 Ottiene il modulo principale del processo associato. Oggetto usato per avviare il processo. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. A 32-bit process is trying to access the modules of a 64-bit process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not available.-or- The process has exited. 1 Ottiene o imposta la dimensione massima del working set consentita per il processo associato. Dimensione massima del working set consentita in memoria per il processo, in byte. The maximum working set size is invalid.It must be greater than or equal to the minimum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ottiene o imposta la dimensione minima del working set consentita per il processo associato. Dimensione minima del working set richiesta in memoria per il processo, in byte. The minimum working set size is invalid.It must be less than or equal to the maximum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ottiene i moduli che sono stati caricati dal processo associato. Matrice di tipo che rappresenta i moduli caricati dal processo associato. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. You are attempting to access the property for either the system process or the idle process.These processes do not have modules. 2 Ottiene la quantità di memoria di sistema non di paging allocata per il processo associato. Quantità di memoria di sistema, in byte, allocata per il processo associato che non può essere scritta nel file di paging della memoria virtuale. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Genera l'evento . Si verifica quando un'applicazione scrive nel proprio flusso reindirizzato. 2 Ottiene la quantità di memoria di paging allocata per il processo associato. Quantità di memoria, in byte, allocata nel file di paging della memoria virtuale per il processo associato. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ottiene la quantità di memoria di sistema paginabile allocata per il processo associato. Quantità di memoria di sistema, in byte, allocata per il processo associato che può essere scritta nel file di paging della memoria virtuale. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ottiene la quantità massima di memoria nel file di paging della memoria virtuale usata dal processo associato. Quantità massima di memoria, in byte, allocata nel file di paging della memoria virtuale per il processo associato da quando è stato avviato. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ottiene la quantità massima di memoria virtuale usata dal processo associato. Quantità massima di memoria virtuale, in byte, allocata per il processo associato da quando è stato avviato. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ottiene la quantità massima di memoria fisica usata dal processo associato. Quantità massima di memoria fisica, in byte, allocata per il processo associato da quando è stato avviato. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ottiene o imposta un valore che indica se la priorità del processo associato deve essere incrementata temporaneamente dal sistema operativo quando la finestra principale è attiva. true se va eseguito l'incremento dinamico della priorità del processo uscito dallo stato di attesa; in caso contrario, false.Il valore predefinito è false. Priority boost information could not be retrieved from the associated process resource. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. 1 Ottiene o imposta la categoria di priorità globale per il processo associato. Categoria di priorità del processo associato, dalla quale viene calcolata la proprietà del processo. Process priority information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. You have set the to AboveNormal or BelowNormal when using Windows 98 or Windows Millennium Edition (Windows Me).These platforms do not support those values for the priority class. Priority class cannot be set because it does not use a valid value, as defined in the enumeration. 1 Ottiene la quantità di memoria privata allocata per il processo associato. Quantità di memoria, in byte, allocata per il processo associato che non può essere condivisa con altri processi. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ottiene il tempo privilegiato del processore per questo processo. Valore che indica la quantità di tempo impiegato dal processore nell'eseguire il codice all'interno del nucleo centrale del sistema operativo. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Ottiene il nome del processo. Nome usato dal sistema per identificare il processo rispetto all'utente. The process does not have an identifier, or no process is associated with the .-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not on this computer. 1 Ottiene o imposta i processori nei quali è pianificata l'esecuzione dei thread di questo processo. Maschera di bit che rappresenta i processori con cui è possibile eseguire i thread del processo associato.Il valore predefinito dipende dal numero di processori presenti nel computer.Il valore predefinito è 2 n -1, dove n è il numero di processori. information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process was not available.-or- The process has exited. 2 Elimina le informazioni relative al processo associato memorizzate nella cache all'interno del componente del processo. 1 Ottiene l'handle nativo di questo processo. Handle nativo di questo processo. Ottiene l'identificatore della sessione di Servizi terminal per il processo associato. Identificatore della sessione di Servizi terminal per il processo associato. There is no session associated with this process. There is no process associated with this session identifier.-or-The associated process is not on this machine. The property is not supported on Windows 98. 1 Ottiene un flusso usato per leggere l'output di errore dell'applicazione. Oggetto che può essere usato per leggere il flusso di errore standard dell'applicazione. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Ottiene un flusso usato per scrivere l'input dell'applicazione. Oggetto che può essere usato per scrivere il flusso di input standard dell'applicazione. The stream has not been defined because is set to false. 1 Ottiene un flusso usato per leggere l'output dell'applicazione. Oggetto che può essere usato per leggere il flusso di output standard dell'applicazione. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Avvia (o riutilizza) la risorsa di processo specificata dalla proprietà di questo componente e la associa al componente. true se viene avviata una risorsa di processo, false se non viene avviata alcuna risorsa di processo nuova (ad esempio, se è stato riutilizzato un processo esistente). No file name was specified in the component's .-or- The member of the property is true while , , or is true. There was an error in opening the associated file. The process object has already been disposed. 1 Avvia la risorsa di processo specificata dal parametro contenente le informazioni di avvio del processo (ad esempio, il nome file del processo da avviare) e associa la risorsa a un nuovo componente . Nuovo associato alla risorsa di processo o null se non viene avviata alcuna risorsa di processo.Si noti che un nuovo processo avviato parallelamente a istanze dello stesso processo già in esecuzione sarà indipendente dalle altre.Inoltre, l'avvio può restituire un processo non Null con la relativa proprietà già impostata su true.In questo caso, è possibile che il processo avviato abbia attivato un'istanza esistente di se stesso e quindi sia terminato. Oggetto che contiene le informazioni usate per avviare il processo, tra cui il nome file e gli eventuali argomenti della riga di comando. No file name was specified in the parameter's property.-or- The property of the parameter is true and the , , or property is also true.-or-The property of the parameter is true and the property is not null or empty or the property is not null. The parameter is null. The process object has already been disposed. The file specified in the parameter's property could not be found. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." 1 Avvia una risorsa di processo specificando il nome di un documento o un file di applicazione e associa la risorsa a un nuovo componente . Nuovo associato alla risorsa di processo o null se non viene avviata alcuna risorsa di processo.Si noti che un nuovo processo avviato parallelamente a istanze dello stesso processo già in esecuzione sarà indipendente dalle altre.Inoltre, l'avvio può restituire un processo non Null con la relativa proprietà già impostata su true.In questo caso, è possibile che il processo avviato abbia attivato un'istanza esistente di se stesso e quindi sia terminato. Nome di un documento o di un file di applicazione da eseguire nel processo. An error occurred when opening the associated file. The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Avvia una risorsa di processo specificando il nome di un'applicazione e un insieme di argomenti della riga di comando e associa la risorsa a un nuovo componente . Nuovo associato alla risorsa di processo o null se non viene avviata alcuna risorsa di processo.Si noti che un nuovo processo avviato parallelamente a istanze dello stesso processo già in esecuzione sarà indipendente dalle altre.Inoltre, l'avvio può restituire un processo non Null con la relativa proprietà già impostata su true.In questo caso, è possibile che il processo avviato abbia attivato un'istanza esistente di se stesso e quindi sia terminato. Nome di un file di applicazione da eseguire nel processo. Argomenti della riga di comando da passare all'avvio del processo. The or parameter is null. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Avvia una risorsa di processo specificando il nome di un'applicazione, un nome utente, una password e un dominio e associa la risorsa a un nuovo componente . Nuovo associato alla risorsa di processo o null se non viene avviata alcuna risorsa di processo.Si noti che un nuovo processo avviato parallelamente a istanze dello stesso processo già in esecuzione sarà indipendente dalle altre.Inoltre, l'avvio può restituire un processo non Null con la relativa proprietà già impostata su true.In questo caso, è possibile che il processo avviato abbia attivato un'istanza esistente di se stesso e quindi sia terminato. Nome di un file di applicazione da eseguire nel processo. Nome utente da usare all'avvio del processo. Classe contenente la password da usare all'avvio del processo. Dominio da usare all'avvio del processo. No file name was specified. is not an executable (.exe) file. There was an error in opening the associated file. The process object has already been disposed. 1 Avvia una risorsa di processo specificando il nome di un'applicazione e un insieme di argomenti della riga di comando, un nome utente, una password e un dominio, e associa la risorsa a un nuovo componente . Nuovo associato alla risorsa di processo o null se non viene avviata alcuna risorsa di processo.Si noti che un nuovo processo avviato parallelamente a istanze dello stesso processo già in esecuzione sarà indipendente dalle altre.Inoltre, l'avvio può restituire un processo non Null con la relativa proprietà già impostata su true.In questo caso, è possibile che il processo avviato abbia attivato un'istanza esistente di se stesso e quindi sia terminato. Nome di un file di applicazione da eseguire nel processo. Argomenti della riga di comando da passare all'avvio del processo. Nome utente da usare all'avvio del processo. Classe contenente la password da usare all'avvio del processo. Dominio da usare all'avvio del processo. No file name was specified. is not an executable (.exe) file. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. 1 Ottiene o imposta le proprietà da passare al metodo del componente . Oggetto che rappresenta i dati con i quali avviare il processo.Tra gli argomenti sono compresi il nome del file eseguibile o il documento usato per avviare il processo. The value that specifies the is null. 1 Ottiene l'ora in cui è stato avviato il processo associato. Oggetto che indica il momento in cui è stato avviato il processo.Viene generata un eccezione se il processo non è in esecuzione. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process has exited.-or-The process has not been started. An error occurred in the call to the Windows function. 1 Ottiene il gruppo di thread in esecuzione nel processo associato. Matrice di tipo che rappresenta i thread del sistema operativo attualmente in esecuzione nel processo associato. The process does not have an , or no process is associated with the instance.-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. 1 Ottiene il tempo totale del processore per questo processo. Valore che indica la quantità di tempo impiegato dal processo associato nell'utilizzo della CPU.Questo valore è la somma delle proprietà e . The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Ottiene il tempo utente del processore per questo processo. Valore che indica la quantità di tempo impiegato dal processo associato nell'esecuzione del codice all'interno della parte di applicazione del processo (non all'interno del nucleo centrale del sistema operativo). The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Ottiene la quantità di memoria virtuale allocata per il processo associato. Quantità di memoria virtuale, in byte, allocata per il processo associato. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Indica al componente di attendere in modo indefinito la terminazione del processo associato. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 Indica al componente di attendere per il numero specificato di millisecondi che il processo venga terminato. true se il processo associato è stato terminato; in caso contrario, false. Quantità di tempo, espressa in millisecondi, in base alla quale viene attesa la terminazione del processo associato.Il valore massimo è il valore Integer a 32 bit più alto possibile, che rappresenta l'infinito per il sistema operativo. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 Ottiene la quantità di memoria fisica allocata per il processo associato. Quantità di memoria fisica, in byte, allocata per il processo associato. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Rappresenta un file DLL o EXE caricato in un particolare processo. 2 Ottiene l'indirizzo di memoria in cui è stato caricato il modulo. L'indirizzo di caricamento del modulo. 2 Ottiene l'indirizzo di memoria della funzione eseguita quando il sistema carica ed esegue il modulo. Il punto di ingresso del modulo. 2 Ottiene il percorso completo del modulo. Il percorso completo che definisce la posizione del modulo. 2 Ottiene la quantità di memoria richiesta per caricare il modulo. La dimensione in byte della memoria occupata dal modulo. 2 Ottiene il nome del modulo del processo. Nome del modulo. 2 Converte il nome del modulo in una stringa. Valore della proprietà . 2 Fornisce un insieme fortemente tipizzato di oggetti . 2 Consente di inizializzare una nuova istanza della classe , senza istanze di associate. Consente di inizializzare una nuova istanza della classe utilizzando la matrice specificata di istanze . Matrice di istanze di con la quale inizializzare questa istanza . Determina se il modulo di processo specificato è contenuto nell'insieme. Restituisce true se il modulo è presente nell'insieme; in caso contrario, false. Istanza che indica il modulo da trovare in questo insieme. 2 Copia una matrice di istanze nell'insieme, in corrispondenza dell'indice specificato. Matrice di istanze da aggiungere all'insieme. Posizione in cui aggiungere le nuove istanze. 2 Fornisce la posizione di un modulo specificato nell'insieme. Indice a base zero che definisce la posizione del modulo in . il cui indice viene richiamato. 2 Ottiene un indice per scorrere l'insieme di moduli di processo. che indicizza i moduli nell'insieme. Valore di indice a base zero del modulo dell'insieme. 2 Indica la priorità che il sistema associa a un processo.Questo valore, insieme al valore di priorità di ciascun thread del processo, determina il livello di priorità base di ogni thread. 2 Specifica che il processo ha una priorità superiore a Normal ma inferiore a . Specifica che il processo ha una priorità superiore a Idle ma inferiore a Normal. Specifica che il processo svolge attività critiche a livello temporale che richiedono un'immediata esecuzione, come ad esempio la finestra di dialogo Task List, la quale deve essere aperta velocemente in risposta a una chiamata dell'utente, a prescindere dal carico sul sistema operativo.I thread del processo hanno la precedenza sui thread dei processi con classe di priorità normal o idle. Specifica che i thread di questo processo vengono eseguiti soltanto quando il sistema è inattivo, ad esempio quando è in funzione uno screen saver.I thread del processo hanno la precedenza sui thread di qualsiasi processo con una classe di priorità superiore. Specifica che il processo non ha particolari esigenze di pianificazione. Specifica che la priorità del processo è la più alta possibile. Specifica un insieme di valori usati all'avvio di un processo. 2 Inizializza una nuova istanza della classe senza specificare un nome file con il quale avviare il processo. Inizializza una nuova istanza della classe e specifica un nome file, ad esempio un'applicazione o un documento, con il quale avviare il processo. Un'applicazione o un documento con il quale avviare un processo. Inizializza una nuova istanza della classe , specifica il nome file di un'applicazione con cui avviare il processo e determina un insieme di argomenti della riga di comando da passare all'applicazione. Un'applicazione con la quale avviare un processo. Argomenti della riga di comando da passare all'applicazione all'avvio del processo. Ottiene o imposta l'insieme di argomenti della riga di comando da usare all'avvio dell'applicazione. Una singola stringa contenente gli argomenti da passare all'applicazione di destinazione specificata nella proprietà .Il valore predefinito è una stringa vuota ("").In Windows Vista e nelle versioni precedenti del sistema operativo Windows, la lunghezza degli argomenti aggiunta alla lunghezza del percorso completo del processo deve essere minore di 2080.In Windows 7 e versioni successive la lunghezza deve essere minore di 32699.Gli argomenti vengono analizzati e interpretati dall'applicazione di destinazione, pertanto devono essere allineati con le aspettative dell'applicazione.Per le applicazioni .NET, come illustrato negli esempi seguenti, gli spazi vengono interpretati come un separatore tra più argomenti.Un singolo argomento che include spazi deve essere racchiuso tra virgolette, ma tali virgolette non vengono riportate nell'applicazione di destinazione.Nelle virgolette incluse nell'argomento analizzato finale, aggiungere tre caratteri di escape a ogni virgoletta. 1 Ottiene o imposta un valore che indica se avviare il processo in una nuova finestra. true se il processo deve essere avviato senza creare una nuova finestra; in caso contrario, false.Il valore predefinito è false. 2 Ottiene o imposta un valore che identifica il dominio da usare all'avvio del processo. Il dominio di Active Directory da usare all'avvio del processo.La proprietà del dominio interessa principalmente gli utenti in ambienti aziendali che usano Active Directory. 1 Ottiene o imposta l'applicazione o il documento da avviare. Il nome dell'applicazione da avviare oppure il nome di un documento di un tipo di file associato a un'applicazione con un'azione Open predefinita.Il valore predefinito è una stringa vuota (""). 1 Ottiene o imposta un valore che indica se deve essere caricato il profilo utente di Windows dal Registro di sistema. true se il profilo utente Windows deve essere caricato; in caso contrario, false.Il valore predefinito è false. 1 Ottiene o imposta una stringa sicura che contiene la password utente da usare all'avvio del processo. La password utente da usare all'avvio del processo. 1 Ottiene o imposta un valore che indica se l'output di errore di un'applicazione viene scritto nel flusso . true se l'output di errore deve essere scritto in ; in caso contrario, false.Il valore predefinito è false. 2 Ottiene o imposta un valore che indica se l'input per un'applicazione viene letto dal flusso . true se l'input deve essere letto da ; in caso contrario, false.Il valore predefinito è false. 2 Ottiene o imposta un valore che indica se l'output testuale di un'applicazione viene scritto nel flusso . true se l'output deve essere scritto in ; in caso contrario, false.Il valore predefinito è false. 2 Ottiene o imposta la codifica preferita per l'output di errore. Oggetto che rappresenta la codifica preferita per l'output di errore.Il valore predefinito è null. Ottiene o imposta la codifica preferita per l'output standard. Oggetto che rappresenta la codifica preferita per l'output standard.Il valore predefinito è null. Ottiene o imposta il nome utente da usare all'avvio del processo. Nome utente da usare all'avvio del processo. 1 Ottiene o imposta un valore che indica se usare la shell del sistema operativo per avviare il processo. true se la shell deve essere usata all'avvio del processo; false se il processo deve essere creato direttamente dal file eseguibile.Il valore predefinito è true. 2 Quando la proprietà è false, ottiene o imposta la directory di lavoro per il processo da avviare.Quando la proprietà è true, ottiene o imposta la directory che contiene il processo da avviare. Quando è true, il nome completo della directory contenente il processo da avviare.Quando la proprietà è false, la directory di lavoro per il processo da avviare.Il valore predefinito è una stringa vuota (""). 1 Rappresenta un thread di processo del sistema operativo. 2 Ottiene la priorità base del thread. La priorità base del thread, calcolata dal sistema operativo combinando la classe di priorità del processo con il livello di priorità del thread associato. 2 Ottiene la priorità corrente del thread. La priorità corrente del thread, che potrebbe essere diversa da quella di base a seconda del modo in cui il sistema operativo pianifica il thread.La priorità può essere temporaneamente aumentata per un thread attivo. 2 Ottiene l'identificatore univoco del thread. L'identificatore univoco associato a uno specifico thread. 2 Imposta il processore preferenziale su cui eseguire questo thread. Il processore preferenziale del thread, utilizzato quando il sistema pianifica i thread, per determinare il processore su cui eseguirlo. Il sistema non è stato in grado di impostare l'avvio del thread sul processore specificato. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Ottiene o imposta un valore che indica se il sistema operativo deve incrementare temporaneamente la priorità del thread associato ogni volta che la finestra principale del processo del thread diventa attiva. true per incrementare la priorità del thread quando l'utente interagisce con l'interfaccia del processo; in caso contrario, false .Il valore predefinito è false. Non è possibile recuperare le informazioni sull'incremento di priorità.- oppure -Non è possibile impostare le informazioni sull'incremento di priorità. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Ottiene o imposta il livello di priorità del thread. Uno dei valori di , che specifica un intervallo nel quale rientra la priorità del thread. Non è possibile recuperare le informazioni sul livello di priorità del thread. - oppure -Non è possibile impostare il livello di priorità del thread. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Ottiene l'intervallo di tempo che il thread ha impiegato nell'esecuzione del codice all'interno del nucleo centrale del sistema operativo. Valore che indica l'intervallo di tempo impiegato dal thread nell'esecuzione del codice all'interno del nucleo centrale del sistema operativo. Non è possibile recuperare l'intervallo di tempo del thread. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Imposta il processore sul quale può essere eseguito il thread associato. Un oggetto che punta a un insieme di bit, ciascuno dei quali rappresenta un processore sul quale può essere eseguito il thread. Non è stato possibile impostare l'affinità dei processori. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Reimposta il processore ideale di questo thread a indicare che non è presente un singolo processore ideale.In altre parole, ogni altro processore può essere ideale. Non è possibile reimpostare il processore ideale. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Ottiene l'indirizzo di memoria della funzione chiamata dal sistema operativo per l'avvio di questo thread. L'indirizzo iniziale del thread, che punta alla funzione definita dall'applicazione eseguita dal thread. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Ottiene l'ora in cui il sistema operativo ha iniziato il thread. Un oggetto che rappresenta l'ora di sistema al momento dell'avvio del thread da parte del sistema operativo. Non è possibile recuperare l'intervallo di tempo del thread. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Ottiene lo stato corrente di questo thread. Un oggetto che indica lo stato del thread, ad esempio in esecuzione, in attesa o completato. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Ottiene la quantità totale di tempo impiegata da questo thread nell'utilizzo del processore. Un oggetto che indica la quantità di tempo in base alla quale il thread ha avuto il controllo del processore. Non è possibile recuperare l'intervallo di tempo del thread. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Ottiene la quantità di tempo che il thread associato ha impiegato nell'esecuzione del codice all'interno dell'applicazione. Valore che indica la quantità di tempo impiegato dal thread nell'esecuzione del codice all'interno dell'applicazione, rispetto all'esecuzione all'interno del nucleo centrale del sistema operativo. Non è possibile recuperare l'intervallo di tempo del thread. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Ottiene il motivo per cui il thread è in attesa. Un oggetto che rappresenta il motivo per il quale il thread è nello stato di attesa. Il thread non è nello stato di attesa. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Fornisce un insieme fortemente tipizzato di oggetti . 2 Consente di inizializzare una nuova istanza della classe , senza istanze di associate. Consente di inizializzare una nuova istanza della classe utilizzando la matrice specificata di istanze . Matrice di istanze di con la quale inizializzare questa istanza . Accoda un thread di processo all'insieme. Indice a base zero del thread contenuto nell'insieme. Thread da aggiungere all'insieme. 2 Determina se il thread di processo specificato è contenuto nell'insieme. Restituisce true se il thread è presente nell'insieme; in caso contrario, false. Istanza che indica il thread da trovare in questo insieme. 2 Copia una matrice di istanze nell'insieme, in corrispondenza dell'indice specificato. Matrice di istanze da aggiungere all'insieme. Posizione in cui aggiungere le nuove istanze. 2 Fornisce la posizione di un thread specificato nell'insieme. Indice a base zero che definisce la posizione del thread all'interno di . il cui indice viene richiamato. 2 Inserisce un thread di processo nella posizione specificata dell'insieme. Indice a base zero che indica la posizione in cui inserire il thread. Thread da inserire nell'insieme. 2 Ottiene un indice per scorrere l'insieme di thread di processo. che indicizza i thread nell'insieme. Valore dell'indice a base zero del thread dell'insieme. 2 Elimina un thread di processo dall'insieme. Thread da rimuovere dall'insieme. 2 Specifica il livello di priorità di un thread. 2 Specifica un livello superiore alla priorità normale della classe associata. Specifica un livello inferiore alla priorità normale della classe associata. Specifica la massima priorità.Questa è di due livelli superiore alla priorità normale della classe associata. Specifica la priorità idle.Questo è il minimo valore possibile di priorità di tutti i thread, indipendentemente dal valore della classe associata. Specifica la minima priorità.Questa è di due livelli inferiore alla priorità normale della classe associata. Specifica la priorità normale della classe associata. Specifica la priorità critica a livello temporale.Questo è il massimo valore di priorità di tutti i thread, indipendentemente dal valore della classe associata. Specifica lo stato di esecuzione corrente del thread. 1 Uno stato che indica che il thread è stato inizializzato ma non è stato ancora avviato. Uno stato che indica che il thread è in attesa di utilizzare un processore in quanto nessun processore è disponibile.Il thread è pronto per essere eseguito sul prossimo processore disponibile. Uno stato che indica che il thread utilizza attualmente un processore. Uno stato che indica che il thread sta per utilizzare un processore.Un solo thread alla volta può trovarsi in questo stato. Uno stato che indica che il thread ha completato l'esecuzione ed è uscito. Uno stato che indica che il thread è in attesa di una risorsa, diversa dal processore, prima di poter essere eseguito.Può essere ad esempio in attesa che il proprio stack di esecuzione venga paginato dal disco. Lo stato del thread è sconosciuto. Uno stato che indica che il thread non è pronto per essere utilizzato dal processore in quanto è in attesa che un'operazione secondaria venga completata o che una risorsa venga resa disponibile.Quando il thread è pronto, viene ripianificato. Specifica il motivo per il quale un thread è in attesa. 2 Il thread è in attesa di Event Pair High. Il thread è in attesa di Event Pair Low. L'esecuzione del thread è stata rinviata. Il thread è in attesa della pianificazione. Il thread è in attesa di una pagina di memoria virtuale libera. Il thread è in attesa di una chiamata alla routine locale. Il thread è in attesa di una risposta a una chiamata di routine locale. Il thread è in attesa di una pagina di memoria virtuale nella memoria. Il thread è in attesa di una pagina di memoria virtuale da scrivere nel disco. L'esecuzione del thread è stata sospesa. Il thread è in attesa dell'allocazione di sistema. Il thread è in attesa per un motivo sconosciuto. Il thread è in attesa di una richiesta dell'utente. Il thread è in attesa che il sistema allochi la memoria virtuale. ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/netstandard1.3/ja/System.Diagnostics.Process.xml ================================================  System.Diagnostics.Process [セキュリティ クリティカル] プロセス ハンドルのためのマネージ ラッパーを提供します。 [セキュリティ クリティカル] 新しいインスタンスを初期化、ファイナライズ フェーズ中にハンドルを解放するかどうかを示す、指定したハンドルからクラスです。 ラップされるハンドル。 true確実にできるようにする終了処理中にハンドルを解放します。それ以外の場合、falseです。 イベントと イベントにデータを提供します。 2 リダイレクトされた 出力ストリームに書き込まれた文字の行を取得します。 関連する によって、リダイレクトされた または ストリームに書き込まれた行。 2 イベントまたは イベントを処理するメソッドを表します。 イベントのソース。 イベント データを格納している 2 ローカル プロセスとリモート プロセスにアクセスできるようにして、ローカル システム プロセスの起動と中断ができるようにします。この型の .NET Framework ソース コードを参照するには、参照ソースをご覧ください。 1 クラスの新しいインスタンスを初期化します。 関連付けられたプロセスの基本優先順位を取得します。 関連付けられたプロセスの から算出される基本優先順位。 The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. The process has exited.-or- The process has not started, so there is no process ID. 2 アプリケーションのリダイレクトされた ストリームで、非同期読み取り操作を開始します。 The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 アプリケーションのリダイレクトされた ストリームで、非同期読み取り操作を開始します。 The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 アプリケーションのリダイレクトされた ストリームで、非同期読み取り操作をキャンセルします。 The stream is not enabled for asynchronous read operations. 2 アプリケーションのリダイレクトされた ストリームで、非同期読み取り操作をキャンセルします。 The stream is not enabled for asynchronous read operations. 2 このプロセスによって使用されているすべてのリソースを解放します。 マネージ リソースとアンマネージ リソースの両方を解放する場合は true。アンマネージ リソースだけを解放する場合は false。 プロセスが終了したときに、 イベントを発生させるかどうかを取得または設定します。 正常終了または の呼び出しによって関連付けられたプロセスが終了したときに イベントを発生させる場合は true。それ以外の場合は false。既定値は、false です。 2 現在のスレッドのネイティブ プロパティ SeDebugPrivilege を有効にすることにより、 コンポーネントを、特殊なモードで実行されているオペレーティング システム プロセスと対話する状態にします。 2 アプリケーションがリダイレクトされた ストリームに書き込む場合に発生します。 2 関連付けられたプロセスが終了したときにプロセスによって指定された値を取得します。 関連付けられたプロセスが終了したときにプロセスによって指定されたコード。 The process has not exited.-or- The process is not valid. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 プロセスが終了したときに発生します。 2 関連付けられたプロセスが終了した時刻を取得します。 関連付けられたプロセスが終了した時刻を示す The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 新しい コンポーネントを取得し、現在アクティブなプロセスに関連付けます。 呼び出し元のアプリケーションを実行しているプロセス リソースに関連付けられた新しい コンポーネント。 1 ローカル コンピューター上のプロセス ID が指定された新しい コンポーネントを返します。 パラメーターで識別されるローカル プロセス リソースに関連付けられた コンポーネント。 システムで一意なプロセス リソースの識別子。 The process specified by the parameter is not running.The identifier might be expired. The process was not started by this object. 1 プロセス ID とネットワーク上のコンピューターの名前が指定された新しい コンポーネントを返します。 パラメーターで識別されるリモート プロセス リソースに関連付けられた コンポーネント。 システムで一意なプロセス リソースの識別子。 ネットワーク上のコンピューターの名前。 The process specified by the parameter is not running.The identifier might be expired.-or- The parameter syntax is invalid.The name might have length zero (0). The parameter is null. The process was not started by this object. 1 ローカル コンピューター上の各プロセス リソースごとに新しい コンポーネントを作成します。 ローカル コンピューター上で実行されているすべてのプロセス リソースを表す 型の配列。 1 指定したコンピューター上の各プロセス リソースごとに新しい コンポーネントを作成します。 指定したコンピューター上で実行されているすべてのプロセス リソースを表す 型の配列。 プロセスの一覧を読み取る対象のコンピューター。 The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 新しい コンポーネントの配列を作成し、指定したプロセス名を共有するローカル コンピューター上のすべてのプロセス リソースに関連付けます。 指定したアプリケーションまたはファイルを実行しているプロセス リソースを表す 型の配列。 プロセスのフレンドリ名。 There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. 1 新しい コンポーネントの配列を作成し、指定したプロセス名を共有するリモート コンピューター上のすべてのプロセス リソースに関連付けます。 指定したアプリケーションまたはファイルを実行しているプロセス リソースを表す 型の配列。 プロセスのフレンドリ名。 ネットワーク上のコンピューターの名前。 The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 関連付けられているプロセスが終了したかどうかを示す値を取得します。 コンポーネントが参照するオペレーティング システム プロセスが終了している場合は true。それ以外の場合は false。 There is no process associated with the object. The exit code for the process could not be retrieved. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 関連付けられたプロセスの一意の識別子を取得します。 この インスタンスが参照する、システムが生成したプロセスの一意の識別子。 The process's property has not been set.-or- There is no process associated with this object. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. 1 関連付けられたプロセスを即時中断します。 The associated process could not be terminated. -or-The process is terminating.-or- The associated process is a Win16 executable. You are attempting to call for a process that is running on a remote computer.The method is available only for processes running on the local computer. The process has already exited. -or-There is no process associated with this object. 1 コンポーネントを、特殊なモードで実行されているオペレーティング システム プロセスと対話する状態から解放します。 2 関連付けられたプロセスを実行しているコンピューターの名前を取得します。 関連付けられたプロセスを実行しているコンピューターの名前。 There is no process associated with this object. 1 関連付けられたプロセスのメイン モジュールを取得します。 プロセスを起動するときに使用した You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. A 32-bit process is trying to access the modules of a 64-bit process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not available.-or- The process has exited. 1 関連付けられたプロセスに許可されるワーキング セットの最大サイズを取得または設定します。 プロセスに許可されるメモリ上のワーキング セットの最大サイズ (バイト単位)。 The maximum working set size is invalid.It must be greater than or equal to the minimum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 関連付けられたプロセスに許可されるワーキング セットの最小サイズを取得または設定します。 プロセスに必要なメモリ上の最小ワーキング セット サイズ (バイト単位)。 The minimum working set size is invalid.It must be less than or equal to the maximum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 関連付けられたプロセスに読み込まれたモジュールを取得します。 関連付けられたプロセスに読み込まれたモジュールを表す 型の配列。 You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. You are attempting to access the property for either the system process or the idle process.These processes do not have modules. 2 関連付けられたプロセスに割り当てられたページングされないシステム メモリの量を取得します。 関連付けられたプロセスに割り当てられた、仮想メモリ ページング ファイルに書き込むことができないシステム メモリの容量 (バイト単位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 イベントを発生させます。 アプリケーションが、リダイレクトされた ストリームに行を書き込む度に発生します。 2 関連付けられたプロセスに割り当てられたページングされるシステム メモリの量を取得します。 関連付けられたプロセスの仮想メモリ ページング ファイル内で割り当てられたメモリの量 (バイト単位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 関連付けられたプロセスに割り当てられたページング可能なシステム メモリの量を取得します。 関連付けられたプロセスに割り当てられた、仮想メモリ ページング ファイルに書き込むことができるシステム メモリの容量 (バイト単位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 関連付けられたプロセスによって使用される、仮想メモリ ページング ファイル内のメモリの最大量を取得します。 プロセスの開始以降、関連付けられたプロセスの仮想メモリ ページング ファイル内で割り当てられたメモリの最大量 (バイト単位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 関連付けられたプロセスによって使用される仮想メモリの最大量を取得します。 プロセスの開始以降、関連付けられたプロセスに割り当てられた仮想メモリの最大量 (バイト単位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 関連付けられたプロセスによって使用される物理メモリの最大量を取得します。 プロセスの開始以降、関連付けられたプロセスに割り当てられた物理メモリの最大量 (バイト単位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 メイン ウィンドウのフォーカス時に、オペレーティング システムによって関連付けられたプロセスの優先順位を一時的に上げるかどうかを示す値を取得または設定します。 待機状態から抜けたときにプロセスの優先順位を動的に上げる場合は true。それ以外の場合は false。既定値は、false です。 Priority boost information could not be retrieved from the associated process resource. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. 1 関連付けられたプロセスの全体的な優先順位カテゴリを取得または設定します。 プロセスの を計算するときに使用する、関連付けられたプロセスの優先順位カテゴリ。 Process priority information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. You have set the to AboveNormal or BelowNormal when using Windows 98 or Windows Millennium Edition (Windows Me).These platforms do not support those values for the priority class. Priority class cannot be set because it does not use a valid value, as defined in the enumeration. 1 関連付けられたプロセスに割り当てられたプライベート メモリの量を取得します。 関連付けられたプロセスに割り当てられ、他のプロセスと共有できないメモリの量 (バイト単位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 このプロセスの特権プロセッサ時間を取得します。 プロセスが、オペレーティング システム コア内でコードを実行した合計時間を示す The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 プロセスの名前を取得します。 システムで使用する、ユーザーがプロセスを識別するための名前。 The process does not have an identifier, or no process is associated with the .-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not on this computer. 1 このプロセスでのスレッドの実行をスケジュールできるプロセッサを取得または設定します。 関連付けられたプロセスのスレッドを実行できるプロセッサを示すビットマスク。既定値は、コンピューターのプロセッサ数によって異なります。既定値は 2 n -1 で、n はプロセッサ数です。 information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process was not available.-or- The process has exited. 2 プロセス コンポーネントにキャッシュされている関連付けられたプロセスに関するすべての情報を破棄します。 1 このプロセスへのネイティブ ハンドルを取得します。 このプロセスへのネイティブ ハンドル。 関連付けられたプロセスのターミナル サービス セッション識別子を取得します。 関連付けられたプロセスのターミナル サービス セッション識別子。 There is no session associated with this process. There is no process associated with this session identifier.-or-The associated process is not on this machine. The property is not supported on Windows 98. 1 アプリケーションのエラー出力の読み取りに使用されるストリームを取得します。 アプリケーションの標準エラー ストリームの読み取りに使用できる The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 アプリケーションの入力の書き込みに使用されるストリームを取得します。 アプリケーションの標準入力ストリームの書き込みに使用できる The stream has not been defined because is set to false. 1 アプリケーションのテキスト出力の読み取りに使用されるストリームを取得します。 アプリケーションの標準出力ストリームの読み取りに使用できる The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 この コンポーネントの プロパティで指定されたプロセス リソースを起動 (または再利用) し、コンポーネントに関連付けます。 プロセス リソースが起動された場合は true。新しいプロセス リソースが起動されなかった場合は false (既存のプロセスを再利用した場合など)。 No file name was specified in the component's .-or- The member of the property is true while , , or is true. There was an error in opening the associated file. The process object has already been disposed. 1 プロセス起動情報 (起動するプロセスのファイル名など) が格納されているパラメーターで指定されたプロセス リソースを起動し、リソースを新しい コンポーネントに関連付けます。 プロセス リソースに関連付けられている新しい 。プロセス リソースが起動されていない場合は null。同じプロセスのインスタンスが既に実行されているときに起動された新しいプロセスは、他のインスタンスから独立します。また、Start では、 プロパティが既に true に設定されている null 以外の Process が返される場合があります。その場合、起動されたプロセス自体の既存のインスタンスがアクティブ化され、その後に終了されることがあります。 ファイル名やコマンド ライン引数など、プロセスの起動に使用する情報が格納されている No file name was specified in the parameter's property.-or- The property of the parameter is true and the , , or property is also true.-or-The property of the parameter is true and the property is not null or empty or the property is not null. The parameter is null. The process object has already been disposed. The file specified in the parameter's property could not be found. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." 1 文書またはアプリケーション ファイルの名前を指定してプロセス リソースを起動し、リソースを新しい コンポーネントに関連付けます。 プロセス リソースに関連付けられている新しい 。プロセス リソースが起動されていない場合は null。同じプロセスのインスタンスが既に実行されているときに起動された新しいプロセスは、他のインスタンスから独立します。また、Start では、 プロパティが既に true に設定されている null 以外の Process が返される場合があります。その場合、起動されたプロセス自体の既存のインスタンスがアクティブ化され、その後に終了されることがあります。 プロセスで実行する文書またはアプリケーション ファイルの名前。 An error occurred when opening the associated file. The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 アプリケーションの名前とコマンド ライン引数のセットを指定してプロセス リソースを起動し、リソースを新しい コンポーネントに関連付けます。 プロセス リソースに関連付けられている新しい 。プロセス リソースが起動されていない場合は null。同じプロセスのインスタンスが既に実行されているときに起動された新しいプロセスは、他のインスタンスから独立します。また、Start では、 プロパティが既に true に設定されている null 以外の Process が返される場合があります。その場合、起動されたプロセス自体の既存のインスタンスがアクティブ化され、その後に終了されることがあります。 プロセスで実行するアプリケーション ファイルの名前。 プロセスを起動するときに渡すコマンド ライン引数。 The or parameter is null. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 アプリケーションの名前、ユーザー名、パスワード、およびドメインを指定してプロセス リソースを起動し、リソースを新しい コンポーネントに関連付けます。 プロセス リソースに関連付けられている新しい 。プロセス リソースが起動されていない場合は null。同じプロセスのインスタンスが既に実行されているときに起動された新しいプロセスは、他のインスタンスから独立します。また、Start では、 プロパティが既に true に設定されている null 以外の Process が返される場合があります。その場合、起動されたプロセス自体の既存のインスタンスがアクティブ化され、その後に終了されることがあります。 プロセスで実行するアプリケーション ファイルの名前。 プロセスの開始時に使用するユーザー名。 プロセスを開始するときに使用されるパスワードを含んだ プロセスの開始時に使用するドメイン。 No file name was specified. is not an executable (.exe) file. There was an error in opening the associated file. The process object has already been disposed. 1 アプリケーションの名前、コマンド ライン引数のセット、ユーザー名、パスワード、およびドメインを指定してプロセス リソースを起動し、リソースを新しい コンポーネントに関連付けます。 プロセス リソースに関連付けられている新しい 。プロセス リソースが起動されていない場合は null。同じプロセスのインスタンスが既に実行されているときに起動された新しいプロセスは、他のインスタンスから独立します。また、Start では、 プロパティが既に true に設定されている null 以外の Process が返される場合があります。その場合、起動されたプロセス自体の既存のインスタンスがアクティブ化され、その後に終了されることがあります。 プロセスで実行するアプリケーション ファイルの名前。 プロセスを起動するときに渡すコマンド ライン引数。 プロセスの開始時に使用するユーザー名。 プロセスを開始するときに使用されるパスワードを含んだ プロセスの開始時に使用するドメイン。 No file name was specified. is not an executable (.exe) file. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. 1 メソッドに渡すプロパティを取得または設定します。 プロセスを起動するときに使用するデータを表す 。これらの引数には、プロセスの起動時に使用する実行可能ファイルまたは文書の名前があります。 The value that specifies the is null. 1 関連付けられたプロセスが起動された時刻を取得します。 プロセスが起動された時刻を示すオブジェクト。プロセスが実行中でない場合は、例外がスローされます。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process has exited.-or-The process has not been started. An error occurred in the call to the Windows function. 1 関連付けられたプロセスで実行されているスレッドのセットを取得します。 関連付けられたプロセスで現在実行中のオペレーティング システム スレッドを表す 型の配列。 The process does not have an , or no process is associated with the instance.-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. 1 このプロセスの合計プロセッサ時間を取得します。 関連付けられたプロセスが CPU を使用した合計時間を示す 。この値は、 の合計です。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 このプロセスのユーザー プロセッサ時間を取得します。 関連付けられたプロセスが、プロセスのアプリケーション部分の内部 (オペレーティング システム コアの外部) でコードを実行した合計時間を示す The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 関連付けられたプロセスに割り当てられた仮想メモリの量を取得します。 関連付けられたプロセスに割り当てられた仮想メモリの量 (バイト単位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 関連付けられたプロセスが終了するまで無期限に待機するように コンポーネントに指示します。 The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 関連付けられたプロセスが終了するまで、最大で指定したミリ秒間待機するように コンポーネントに指示します。 関連付けられたプロセスが終了した場合は true。それ以外の場合は false。 関連付けられたプロセスが終了するまで待機する時間。単位はミリ秒です。最大値は、32 ビット整数で表現できる最大値で、オペレーティング システムに対して無限大で表現される値です。 The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 関連付けられたプロセスに割り当てられた物理メモリの量を取得します。 関連付けられたプロセスに割り当てられた物理メモリの量 (バイト単位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 特定のプロセスに読み込まれた .dll ファイルまたは実行可能ファイル (.exe) を表します。 2 モジュールが読み込まれたメモリ アドレスを取得します。 モジュールの読み込みアドレス。 2 システムがモジュールを読み込んで実行するときに実行される関数のメモリ アドレスを取得します。 モジュールのエントリ ポイント。 2 モジュールの完全パスを取得します。 モジュールの位置を定義する絶対パス。 2 モジュールの読み込みに必要なメモリ容量を取得します。 モジュールが占有するメモリのサイズ。単位はバイトです。 2 プロセス モジュールの名前を取得します。 モジュールの名前です。 2 モジュールの名前を文字列に変換します。 プロパティの値。 2 オブジェクトの厳密に型指定されたコレクションを提供します。 2 インスタンスに関連付けずに、 クラスの新しいインスタンスを初期化します。 インスタンスの配列を指定して、 クラスの新しいインスタンスを初期化します。 この インスタンスを初期化するために使用する インスタンスの配列。 指定したプロセス モジュールがコレクション内にあるかどうかを調べます。 モジュールがコレクション内にある場合は true。それ以外の場合は false。 コレクション内にあるかどうかを調べるモジュールを示す インスタンス。 2 コレクションの指定したインデックスに インスタンスの配列をコピーします。 コレクションに追加する インスタンスの配列。 新しいインスタンスを追加する位置。 2 コレクション内の指定したモジュールの位置を提供します。 内のモジュールの位置を定義する 0 から始まるインデックス番号。 インデックスを取得する 2 一連のプロセス モジュールを反復処理するためのインデックスを取得します。 コレクション内のモジュールにインデックスを作成する コレクション内のモジュールの 0 から始まるインデックス値。 2 システムがプロセスに関連付ける優先順位を示します。この値は、プロセスの各スレッドの優先順位値と組み合わされ、各スレッドの基本優先順位を決定します。 2 プロセスの優先順位を Normal より高く より低く指定します。 プロセスの優先順位を Idle より高く Normal より低く指定します。 Task List ダイアログ ボックスなどの、ユーザーから呼び出されたらオペレーティング システムの負荷にかかわらずすぐに応答する必要のある、即時実行を要求される重要なタスクに対して、プロセス実行時間を指定します。このプロセスのスレッドは、Normal または Idle 優先順位クラスのプロセスのスレッドよりも優先します。 このプロセスのスレッドが、スクリーン セーバーなど、システムがアイドル状態のときにだけ実行されるよう指定します。このプロセスのスレッドよりも、より高い優先順位クラスで実行されているあらゆるプロセスのスレッドの方が優先します。 プロセスが特別なスケジューリングを必要としないよう指定します。 プロセスの優先順位をできるだけ高く指定します。 プロセスを起動するときに使用する値のセットを指定します。 2 プロセスを起動するときに使用するファイル名を指定せずに、 クラスの新しいインスタンスを初期化します。 クラスの新しいインスタンスを初期化し、アプリケーションやドキュメントなど、プロセスを起動するときに使用するファイル名を指定します。 プロセスを起動するときに使用するアプリケーションまたはドキュメント。 プロセスを起動するときに使用するアプリケーション ファイル名およびアプリケーションに渡すコマンド ライン引数のセットを指定して、 クラスの新しいインスタンスを初期化します。 プロセスを起動するときに使用するアプリケーション。 プロセスを起動するときにアプリケーションに渡すコマンド ライン引数。 アプリケーションを起動するときに使用するコマンド ライン引数のセットを取得または設定します。 プロパティで指定したターゲット アプリケーションに渡す引数を格納した単一の文字列。既定値は、空の文字列 ("") です。Windows オペレーティング システムの Windows Vista 以前のバージョンでは、プロセスへの完全パスの長さに追加される引数の長さは 2080 よりも小さくする必要があります。Windows 7 およびそれ以降のバージョンでは、長さは 32699 よりも小さくする必要があります。引数はターゲット アプリケーションで解析され、解釈されるため、そのアプリケーションの想定に合わせたものでなければなりません。下記の「例」で説明するとおり、.NET アプリケーションではスペースが複数の引数間の区切り記号として解釈されます。1 つの引数にスペースが含まれる場合は引用符で囲む必要がありますが、これらの引用符はターゲット アプリケーションに渡されません。解析後の最終的な引数に引用符を組み込むには、それぞれの記号をトリプル エスケープします。 1 プロセスを新しいウィンドウで起動するかどうかを示す値を取得または設定します。 プロセス用の新しいウィンドウを作成せずにプロセスを起動する場合は true。それ以外の場合は false。既定値は、false です。 2 プロセスを開始するときに使用されるドメインを指定する値を取得または設定します。 プロセスを開始するときに使用する Active Directory ドメイン。ドメイン プロパティは、主に、Active Directory を使用するエンタープライズ環境のユーザーにとって重要です。 1 起動するアプリケーションまたはドキュメントを取得または設定します。 起動するアプリケーション名。または、アプリケーションに関連付けられていて、既定の "open" アクションが利用できるファイル タイプのドキュメント名。既定値は、空の文字列 ("") です。 1 Windows ユーザー プロファイルをレジストリから読み込むかどうかを示す値を取得または設定します。 Windows ユーザー プロファイルを読み込む必要がある場合は true。それ以外の場合は false。既定値は、false です。 1 プロセスを開始するときに使用するユーザー パスワードを格納するセキュリティ文字列を取得または設定します。 プロセスの開始時に使用するユーザー パスワード。 1 アプリケーションのエラー出力を ストリームに書き込むかどうかを示す値を取得または設定します。 エラー出力を に書き込む場合は true。それ以外の場合は false。既定値は、false です。 2 アプリケーションの入力を ストリームから読み取るかどうかを示す値を取得または設定します。 から入力を読み取る場合は true。それ以外の場合は false。既定値は、false です。 2 アプリケーションのテキスト出力を ストリームに書き込むかどうかを示す値を取得または設定します。 出力を に書き込む場合は true。それ以外の場合は false。既定値は、false です。 2 エラー出力に最適なエンコーディングを取得または設定します。 エラー出力に最適なエンコーディングを表すオブジェクト。既定値は、null です。 標準出力に最適なエンコーディングを取得または設定します。 標準出力に最適なエンコーディングを表すオブジェクト。既定値は、null です。 プロセスを開始するときに使用するユーザー名を取得または設定します。 プロセスの開始時に使用するユーザー名。 1 プロセスの起動にオペレーティング システムのシェルを使用するかどうかを示す値を取得または設定します。 プロセスを起動するときにシェルを使用する場合は true。プロセスを実行可能ファイルから直接作成する場合は false。既定値は、true です。 2 プロパティが false の場合に、開始するプロセスの作業ディレクトリを取得または設定します。 が true の場合に、開始するプロセスを含むディレクトリを取得または設定します。 が true の場合、起動するプロセスがあるディレクトリの完全修飾名。 プロパティが false の場合、開始するプロセスの作業ディレクトリ。既定値は、空の文字列 ("") です。 1 オペレーティング システムのプロセス スレッドを表します。 2 スレッドの基本優先順位を取得します。 プロセスの優先順位クラスと関連付けられたスレッドの優先順位との組み合わせからオペレーティング システムが算出した、スレッドの基本優先順位。 2 スレッドの現在の優先順位を取得します。 オペレーティング システムがスレッドをスケジュールする方法によっては、スレッドの現在の優先順位が基本優先順位と異なることがあります。アクティブなスレッドの優先順位を一時的に上げることもできます。 2 スレッドの一意な識別子を取得します。 特定のスレッドに関連付けられた一意な識別子。 2 このスレッドを実行する優先プロセッサを設定します。 スレッドの優先プロセッサは、システムがスレッドをスケジュールするときに、スレッドを実行するプロセッサを決定するために使用します。 指定したプロセッサでスレッドを起動するよう設定できませんでした。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 スレッドのプロセスのメイン ウィンドウがフォーカスを受け取るたびに、関連付けられたスレッドの優先順位をオペレーティング システムが一時的に上げるかどうかを示す値を取得または設定します。 ユーザーがプロセスのインターフェイスと対話しているときにスレッドの優先順位を上げる場合は true。それ以外の場合は false。既定値は、false です。 優先順位上昇情報を取得できませんでした。または優先順位上昇情報を設定できませんでした。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 スレッドの優先順位を取得または設定します。 スレッドの優先順位の範囲を指定する 値のいずれか。 スレッドの優先順位情報を取得できませんでした。またはスレッドの優先順位を設定できませんでした。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 スレッドが、オペレーティング システム コアでコードを実行した時間を取得します。 スレッドが、オペレーティング システム コアでコードを実行した時間を示す スレッド時間を取得できませんでした。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 関連付けられたスレッドを実行できるプロセッサを設定します。 スレッドを実行できるプロセッサを表すビットのセットを指す プロセッサ アフィニティを設定できませんでした。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 このスレッドに最も適したプロセッサをリセットして、単一の最も適したプロセッサがないことを示します。つまり、どのプロセッサも適しています。 最適なプロセッサをリセットできませんでした。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 このスレッドを起動するときにオペレーティング システムが呼び出した関数のメモリ アドレスを取得します。 スレッドを実行するアプリケーション定義の関数を指すスレッドの起動アドレス。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 オペレーティング システムによってスレッドを起動した時刻を取得します。 オペレーティング システムがスレッドを起動したときのシステム上の時刻を表す スレッド時間を取得できませんでした。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 このスレッドの現在の状態を取得します。 実行中、待機中、終了など、スレッドの実行状態を示す プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 このスレッドがプロセッサを使用した時間の合計を取得します。 スレッドがプロセッサの制御を取得していた時間の合計を示す スレッド時間を取得できませんでした。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 関連付けられたスレッドが、アプリケーションでコードを実行した時間を取得します。 スレッドによるコード実行がオペレーティング システム コアではなくアプリケーションで行われた時間を示す スレッド時間を取得できませんでした。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 スレッドが待機している理由を取得します。 スレッドが待機状態にある理由を表す スレッドが待機状態にありません。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 オブジェクトの厳密に型指定されたコレクションを提供します。 2 インスタンスに関連付けずに、 クラスの新しいインスタンスを初期化します。 インスタンスの配列を指定して、 クラスの新しいインスタンスを初期化します。 この インスタンスを初期化するために使用する インスタンスの配列。 プロセス スレッドをコレクションに追加します。 コレクション内のスレッドの 0 から始まるインデックス番号。 コレクションに追加するスレッド。 2 指定したプロセス スレッドがコレクション内にあるかどうかを調べます。 スレッドがコレクション内にある場合は true。それ以外の場合は false。 コレクション内にあるかどうかを調べるスレッドを示す インスタンス。 2 コレクションの指定したインデックスに インスタンスの配列をコピーします。 コレクションに追加する インスタンスの配列。 新しいインスタンスを追加する位置。 2 コレクション内の指定したスレッドの位置を提供します。 内のスレッドの位置を定義する 0 から始まるインデックス番号。 インデックスを取得する 2 コレクション内の指定した位置にプロセス スレッドを挿入します。 スレッドを挿入する位置を示す 0 から始まるインデックス番号。 コレクションに挿入するスレッド。 2 一連のプロセス スレッドを反復処理するためのインデックスを取得します。 コレクション内のスレッドにインデックスを作成する コレクション内のスレッドの 0 から始まるインデックス値。 2 コレクションからプロセス スレッドを削除します。 コレクションから削除するスレッド。 2 スレッドの優先順位を指定します。 2 関連付けられた の通常の優先順位を基準に 1 段階上を指定します。 関連付けられた の通常の優先順位を基準に 1 段階下を指定します。 最も高い優先順位を指定します。関連付けられた の通常の優先順位から 2 段階上です。 アイドル優先順位を指定します。関連付けられた の値とは関係なく、すべてのスレッドの優先順位値の中で最も低い優先順位です。 最も低い優先順位を指定します。関連付けられた の通常の優先順位から 2 段階下です。 関連付けられた の通常の優先順位を指定します。 時間が重要な優先順位を指定します。関連付けられた の値とは無関係に、すべてのスレッドの中で最も高い優先順位です。 スレッドの現在の実行状態を指定します。 1 スレッドは初期化されたが、まだ開始していないことを示す状態。 解放されているプロセッサがないため、スレッドがプロセッサの使用を待機していることを示す状態。スレッドは、次に利用可能になるプロセッサで実行する準備が整っています。 スレッドが現在プロセッサを使用していることを示す状態。 スレッドがすぐにプロセッサを使用することを示す状態。一度に 1 つのスレッドだけが、この状態になることができます。 スレッドが実行を終了しスレッド自身も終了したことを示す状態。 スレッドが、実行前にプロセッサ以外のリソースを待機していることを示す状態。たとえば、ディスクから実行スタックのページングを待機している場合があります。 スレッドの状態が不明です。 スレッドが、周辺操作の完了またはリソースの解放を待機しているために、プロセッサを使用する準備が整っていないことを示す状態。スレッドの準備が整うと、スケジュールが再設定されます。 スレッドが待機している理由を示します。 2 スレッドは、イベント ペア High を待機しています。 スレッドは、イベント ペア Low を待機しています。 スレッドの実行が遅延しています。 スレッドは、スケジューラを待機しています。 スレッドは、空き仮想メモリ ページを待機しています。 スレッドは、ローカル プロシージャ呼び出しの到達を待機しています。 スレッドは、ローカル プロシージャ呼び出しへの応答の到達を待機しています。 スレッドは、仮想メモリ ページのメモリへの到達を待機しています。 スレッドは、仮想メモリ ページのディスクへの書き込みを待機しています。 スレッドの実行は中断しています。 スレッドは、システムによる割り当てを待機しています。 スレッドは、不明な理由のために待機しています。 スレッドは、ユーザー要求を待機しています。 スレッドは、仮想メモリの割り当てを待機しています。 ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/netstandard1.3/ko/System.Diagnostics.Process.xml ================================================  System.Diagnostics.Process [보안 중요] 프로세스 핸들에 대해 관리되는 래퍼를 제공합니다. [보안 중요] 새 인스턴스를 초기화는 에서 지정된 된 핸들을 종료 단계 핸들을 해제 여부를 나타내는 클래스입니다. 래핑될 핸들입니다. true안정적으로 있도록 종료 단계 핸들을 해제 합니다. 그렇지 않은 경우 false. 이벤트에 대한 데이터를 제공합니다. 2 리디렉션된 출력 스트림에 쓰여진 문자 줄을 가져옵니다. 연결된 가 리디렉션된 또는 스트림에 쓴 줄입니다. 2 이벤트 또는 이벤트를 처리할 메서드를 나타냅니다. 이벤트 소스입니다. 이벤트 데이터가 포함된 입니다. 2 로컬 및 원격 프로세스에 대한 액세스를 제공하고 로컬 시스템 프로세스를 시작하고 중지할 수 있습니다.이 형식에 대한 .NET Framework 소스 코드를 찾아보려면 참조 원본을 참조하세요. 1 클래스의 새 인스턴스를 초기화합니다. 연결된 프로세스의 기본 우선 순위를 가져옵니다. 연결된 프로세스의 에서 계산되는 기본 우선 순위입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. The process has exited.-or- The process has not started, so there is no process ID. 2 응용 프로그램의 리디렉션된 스트림에 대해 비동기 읽기 작업을 시작합니다. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 응용 프로그램의 리디렉션된 스트림에 대해 비동기 읽기 작업을 시작합니다. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 응용 프로그램의 리디렉션된 스트림에 대해 비동기 읽기 작업을 취소합니다. The stream is not enabled for asynchronous read operations. 2 응용 프로그램의 리디렉션된 스트림에 대해 비동기 읽기 작업을 취소합니다. The stream is not enabled for asynchronous read operations. 2 이 프로세스에서 사용하는 리소스를 모두 해제합니다. 관리되는 리소스와 관리되지 않는 리소스를 모두 해제하려면 true로 설정하고, 관리되지 않는 리소스만 해제하려면 false로 설정합니다. 프로세스가 종료될 때 이벤트를 발생시켜야 하는지를 나타내는 값을 가져오거나 설정합니다. 종료 명령 또는 호출을 통해 연결된 프로세스가 종료될 때 이벤트가 발생해야 한다면 true이고, 그러지 않으면 false입니다.기본값은 false입니다. 2 현재 스레드에서 네이티브 속성 SeDebugPrivilege를 활성화하여 구성 요소를 특수 모드에서 실행되는 운영 체제 프로세스와 상호 작용하는 상태로 만듭니다. 2 응용 프로그램이 리디렉션된 스트림에 쓸 때 발생합니다. 2 연결된 프로세스가 종료될 때 연결된 프로세스에서 지정한 값을 가져옵니다. 연결된 프로세스가 종료될 때 연결된 프로세스에서 지정한 코드입니다. The process has not exited.-or- The process is not valid. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 프로세스가 종료될 때 발생합니다. 2 연결된 프로세스가 종료된 시간을 가져옵니다. 연결된 프로세스가 종료된 시간을 나타내는 입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 구성 요소를 가져온 후 현재 활성화되어 있는 프로세스에 연결합니다. 호출하는 응용 프로그램에서 실행 중인 프로세스 리소스에 연결된 새 구성 요소입니다. 1 로컬 컴퓨터의 프로세서에 대한 식별자가 주어지면 새 구성 요소를 반환합니다. 매개 변수에 의해 식별되는 로컬 프로세스 리소스에 연결된 구성 요소입니다. 프로세스 리소스의 시스템 고유 식별자입니다. The process specified by the parameter is not running.The identifier might be expired. The process was not started by this object. 1 프로세스 식별자 및 네트워크에 있는 컴퓨터의 이름이 주어지면 새 구성 요소를 반환합니다. 매개 변수에 의해 식별되는 원격 프로세스 리소스에 연결된 구성 요소입니다. 프로세스 리소스의 시스템 고유 식별자입니다. 네트워크에 있는 컴퓨터 이름입니다. The process specified by the parameter is not running.The identifier might be expired.-or- The parameter syntax is invalid.The name might have length zero (0). The parameter is null. The process was not started by this object. 1 로컬 컴퓨터의 각 프로세스 리소스에 대해 새 구성 요소를 만듭니다. 로컬 컴퓨터에서 실행 중인 모든 프로세스 리소스를 나타내는 형식의 배열입니다. 1 지정한 컴퓨터의 각 프로세스 리소스에 대해 새 구성 요소를 만듭니다. 지정된 컴퓨터에서 실행 중인 모든 프로세스 리소스를 나타내는 형식의 배열입니다. 프로세스 목록을 읽어 올 컴퓨터입니다. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 구성 요소로 이루어진 새 배열을 만들어 지정한 프로세스 이름을 공유하는 로컬 컴퓨터의 모든 프로세스 리소스에 연결합니다. 지정한 응용 프로그램 또는 파일을 실행 중인 프로세스 리소스를 나타내는 형식의 배열입니다. 프로세스의 이름입니다. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. 1 구성 요소로 이루어진 새 배열을 만들어 지정한 프로세스 이름을 공유하는 원격 컴퓨터에 있는 모든 프로세스 리소스에 연결합니다. 지정한 응용 프로그램 또는 파일을 실행 중인 프로세스 리소스를 나타내는 형식의 배열입니다. 프로세스의 이름입니다. 네트워크에 있는 컴퓨터 이름입니다. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 연결된 프로세스가 종료되었는지를 나타내는 값을 가져옵니다. 구성 요소가 참조하는 운영 체제 프로세스가 종료되었으면 true이고, 그러지 않으면 false입니다. There is no process associated with the object. The exit code for the process could not be retrieved. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 연결된 프로세스의 고유 식별자를 가져옵니다. 인스턴스에서 참조하는 프로세스의 고유 식별자입니다. 이 식별자는 시스템에서 생성됩니다. The process's property has not been set.-or- There is no process associated with this object. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. 1 연결된 프로세스를 즉시 중지합니다. The associated process could not be terminated. -or-The process is terminating.-or- The associated process is a Win16 executable. You are attempting to call for a process that is running on a remote computer.The method is available only for processes running on the local computer. The process has already exited. -or-There is no process associated with this object. 1 구성 요소를 특수 모드에서 실행되는 운영 체제 프로세스와 상호 작용할 수 없는 상태로 만듭니다. 2 연결된 프로세스가 실행 중인 컴퓨터 이름을 가져옵니다. 연결된 프로세스가 실행 중인 컴퓨터 이름입니다. There is no process associated with this object. 1 연결된 프로세스의 주 모듈을 가져옵니다. 프로세스를 시작하는 데 사용된 입니다. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. A 32-bit process is trying to access the modules of a 64-bit process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not available.-or- The process has exited. 1 연결된 프로세스에 대해 허용되는 작업 집합의 최대 크기를 가져오거나 설정합니다. 프로세스에 대해 메모리에서 허용된 작업 집합의 최대 크기(바이트)입니다. The maximum working set size is invalid.It must be greater than or equal to the minimum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 연결된 프로세스에 대해 허용되는 작업 집합의 최소 크기를 가져오거나 설정합니다. 프로세스에 대해 메모리에서 필요로 하는 작업 집합의 최소 크기(바이트)입니다. The minimum working set size is invalid.It must be less than or equal to the maximum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 연결된 프로세스에 의해 로드된 모듈을 가져옵니다. 연결된 프로세스에 의해 로드된 모듈을 나타내는 형식의 배열입니다. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. You are attempting to access the property for either the system process or the idle process.These processes do not have modules. 2 연결된 프로세스에 할당된 비페이징 시스템 메모리의 양을 가져옵니다. 가상 메모리 페이징 파일에 쓸 수 없는 연결된 프로세스에 대해 시스템에서 할당한 메모리의 양(바이트)입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 이벤트를 발생시킵니다. 응용 프로그램이 리디렉션된 스트림에 쓸 때마다 발생합니다. 2 연결된 프로세스에 할당된 페이징 메모리의 양을 가져옵니다. 연결된 프로세스의 가상 메모리 페이징 파일에 할당된 메모리의 양(바이트)입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 연결된 프로세스에 할당된 페이징할 수 있는 시스템 메모리의 양을 가져옵니다. 가상 메모리 페이징 파일에 쓸 수 있는 연결된 프로세스에 대해 할당된 시스템 메모리의 양(바이트)입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 연결된 프로세스에서 사용하는 가상 메모리 페이징 파일의 최대 메모리 양을 가져옵니다. 연결된 프로세스가 시작된 이후 연결된 프로세스의 가상 메모리 페이징 파일에 할당된 메모리의 최대 양(바이트)입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 연결된 프로세스에서 사용된 가상 메모리의 최대 양을 가져옵니다. 연결된 프로세스가 시작된 이후 해당 프로세스에 할당된 가상 메모리의 최대 양(바이트)입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 연결된 프로세스에서 사용된 실제 메모리의 최대 양을 가져옵니다. 연결된 프로세스가 시작된 이후 해당 프로세스에 할당된 실제 메모리의 최대 양(바이트)입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 포커스가 주 창에 있을 때 운영 체제가 연결된 프로세스의 우선 순위를 일시적으로 높일지를 나타내는 값을 가져오거나 설정합니다. 프로세스가 대기 상태에서 빠져나올 때 프로세스의 우선 순위를 동적으로 높여야 하는 경우 true이고, 그러지 않으면 false입니다.기본값은 false입니다. Priority boost information could not be retrieved from the associated process resource. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. 1 연결된 프로세스에 대한 전체 우선 순위 범주를 가져오거나 설정합니다. 연결된 프로세스에 대한 우선 순위 범주입니다. 이를 통해 해당 프로세스의 를 계산할 수 있습니다. Process priority information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. You have set the to AboveNormal or BelowNormal when using Windows 98 or Windows Millennium Edition (Windows Me).These platforms do not support those values for the priority class. Priority class cannot be set because it does not use a valid value, as defined in the enumeration. 1 연결된 프로세스에 할당된 전용 메모리의 양을 가져옵니다. 연결된 프로세스에 할당되어 다른 프로세스와는 공유할 수 없는 메모리의 양(바이트)입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 해당 프로세스의 권한 있는 프로세서 시간을 가져옵니다. 프로세스가 운영 체제 코어 내부에서 코드를 실행하는 데 소비한 시간을 나타내는 입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 프로세스의 이름을 가져옵니다. 사용자가 프로세스를 식별할 수 있도록 시스템에서 사용하는 이름입니다. The process does not have an identifier, or no process is associated with the .-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not on this computer. 1 이 프로세스에 포함된 스레드의 실행을 예약할 수 있는 프로세서를 가져오거나 설정합니다. 연결된 프로세스의 스레드가 실행될 수 있는 프로세서를 나타내는 비트 마스크입니다.기본값은 컴퓨터의 프로세서 수에 따라 다릅니다.기본값은 2 n -1입니다. 여기서 n은 프로세서 수입니다. information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process was not available.-or- The process has exited. 2 프로세스 구성 요소 내에 캐시되어 있는 연결된 프로세스 정보를 모두 삭제합니다. 1 이 프로세스에 대한 기본 핸들을 가져옵니다. 이 프로세스에 대한 기본 핸들입니다. 연결된 프로세스의 터미널 서비스 세션 식별자를 가져옵니다. 연결된 프로세스의 터미널 서비스 세션 식별자입니다. There is no session associated with this process. There is no process associated with this session identifier.-or-The associated process is not on this machine. The property is not supported on Windows 98. 1 응용 프로그램의 오류 출력을 읽는 데 사용되는 스트림을 가져옵니다. 응용 프로그램의 표준 오류 스트림을 읽는 데 사용할 수 있는 입니다. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 응용 프로그램의 입력을 쓰는 데 사용되는 스트림을 가져옵니다. 응용 프로그램의 표준 입력 스트림을 쓰는 데 사용할 수 있는 입니다. The stream has not been defined because is set to false. 1 응용 프로그램의 텍스트 출력을 읽는 데 사용되는 스트림을 가져옵니다. 응용 프로그램의 표준 출력 스트림을 읽는 데 사용할 수 있는 입니다. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 구성 요소의 속성으로 지정된 프로세스 리소스를 시작하거나 다시 사용하여 구성 요소에 연결합니다. 프로세스 리소스가 시작된 경우에는 true이고 기존 프로세스를 다시 사용한 경우처럼 새 프로세스 리소스가 시작되지 않은 경우에는 false입니다. No file name was specified in the component's .-or- The member of the property is true while , , or is true. There was an error in opening the associated file. The process object has already been disposed. 1 시작할 프로세스의 파일 이름 같은 프로세스 시작 정보가 포함된 매개 변수에 의해 지정된 프로세스 리소스를 시작하고 해당 리소스를 새 구성 요소에 연결합니다. 프로세스 리소스와 연결되거나 시작된 프로세스가 없는 경우 null에 연결되는 새 입니다.같은 프로세스에서 이미 실행 중인 인스턴스와 함께 시작되는 새 프로세스는 서로 독립적인 관계입니다.뿐만 아니라 시작 시 속성이 이미 true로 설정되어 있는 null이 아닌 프로세스가 반환될 수 있습니다.이 경우 시작된 프로세스가 자체의 기존 인스턴스를 활성화한 후 종료될 수 있습니다. 파일 이름 및 모든 명령줄 인수를 포함하여 프로세스를 시작하는 데 사용되는 정보가 들어 있는 입니다. No file name was specified in the parameter's property.-or- The property of the parameter is true and the , , or property is also true.-or-The property of the parameter is true and the property is not null or empty or the property is not null. The parameter is null. The process object has already been disposed. The file specified in the parameter's property could not be found. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." 1 문서 또는 응용 프로그램 파일 이름을 지정하여 프로세스 리소스를 시작하고 해당 리소스를 새 구성 요소에 연결합니다. 프로세스 리소스와 연결되거나 시작된 프로세스가 없는 경우 null에 연결되는 새 입니다.같은 프로세스에서 이미 실행 중인 인스턴스와 함께 시작되는 새 프로세스는 서로 독립적인 관계입니다.뿐만 아니라 시작 시 속성이 이미 true로 설정되어 있는 null이 아닌 프로세스가 반환될 수 있습니다.이 경우 시작된 프로세스가 자체의 기존 인스턴스를 활성화한 후 종료될 수 있습니다. 프로세스에서 실행될 문서 또는 응용 프로그램 파일의 이름입니다. An error occurred when opening the associated file. The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 응용 프로그램 이름 및 명령줄 인수 집합을 지정하여 프로세스 리소스를 시작하고 해당 리소스를 새 구성 요소에 연결합니다. 프로세스 리소스와 연결되거나 시작된 프로세스가 없는 경우 null에 연결되는 새 입니다.같은 프로세스에서 이미 실행 중인 인스턴스와 함께 시작되는 새 프로세스는 서로 독립적인 관계입니다.뿐만 아니라 시작 시 속성이 이미 true로 설정되어 있는 null이 아닌 프로세스가 반환될 수 있습니다.이 경우 시작된 프로세스가 자체의 기존 인스턴스를 활성화한 후 종료될 수 있습니다. 프로세스에서 실행될 응용 프로그램 파일 이름입니다. 프로세스를 시작할 때 전달할 명령줄 인수입니다. The or parameter is null. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 응용 프로그램 이름, 사용자 이름, 암호 및 도메인을 지정하여 프로세스 리소스를 시작하고 해당 리소스를 새 구성 요소에 연결합니다. 프로세스 리소스와 연결되거나 시작된 프로세스가 없는 경우 null에 연결되는 새 입니다.같은 프로세스에서 이미 실행 중인 인스턴스와 함께 시작되는 새 프로세스는 서로 독립적인 관계입니다.뿐만 아니라 시작 시 속성이 이미 true로 설정되어 있는 null이 아닌 프로세스가 반환될 수 있습니다.이 경우 시작된 프로세스가 자체의 기존 인스턴스를 활성화한 후 종료될 수 있습니다. 프로세스에서 실행될 응용 프로그램 파일 이름입니다. 프로세스를 시작할 때 사용할 사용자 이름입니다. 프로세스를 시작할 때 사용할 암호가 포함된 입니다. 프로세스를 시작할 때 사용할 도메인입니다. No file name was specified. is not an executable (.exe) file. There was an error in opening the associated file. The process object has already been disposed. 1 응용 프로그램 이름, 명령줄 인수 집합, 사용자 이름, 암호 및 도메인을 지정하여 프로세스 리소스를 시작하고 해당 리소스를 새 구성 요소에 연결합니다. 프로세스 리소스와 연결되거나 시작된 프로세스가 없는 경우 null에 연결되는 새 입니다.같은 프로세스에서 이미 실행 중인 인스턴스와 함께 시작되는 새 프로세스는 서로 독립적인 관계입니다.뿐만 아니라 시작 시 속성이 이미 true로 설정되어 있는 null이 아닌 프로세스가 반환될 수 있습니다.이 경우 시작된 프로세스가 자체의 기존 인스턴스를 활성화한 후 종료될 수 있습니다. 프로세스에서 실행될 응용 프로그램 파일 이름입니다. 프로세스를 시작할 때 전달할 명령줄 인수입니다. 프로세스를 시작할 때 사용할 사용자 이름입니다. 프로세스를 시작할 때 사용할 암호가 포함된 입니다. 프로세스를 시작할 때 사용할 도메인입니다. No file name was specified. is not an executable (.exe) file. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. 1 메서드에 전달할 속성을 가져오거나 설정합니다. 프로세스를 시작하는 데 사용된 데이터를 나타내는 입니다.이러한 인수에는 프로세스를 시작하는 데 사용된 실행 파일이나 문서 이름이 포함됩니다. The value that specifies the is null. 1 연결된 프로세스가 시작된 시간을 가져옵니다. 해당 프로세스가 시작된 시간을 나타내는 개체입니다.프로세스가 실행되고 있지 않으면 예외가 throw됩니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process has exited.-or-The process has not been started. An error occurred in the call to the Windows function. 1 연결된 프로세스에서 실행 중인 스레드를 가져오거나 설정합니다. 연결된 프로세스에서 현재 실행 중인 운영 체제 스레드를 나타내는 형식의 배열입니다. The process does not have an , or no process is associated with the instance.-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. 1 이 프로세스의 총 프로세서 시간을 가져옵니다. 연결된 프로세스에서 CPU를 사용해 소비한 시간을 나타내는 입니다.이 값은 의 합입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 이 프로세스의 사용자 프로세서 시간을 가져옵니다. 연결된 프로세스가 운영 체제 코어 내부가 아닌 프로세스의 응용 프로그램 부분 내부에서 코드를 실행하는 데 소비한 시간을 나타내는 입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 연결된 프로세스에 할당된 가상 메모리의 양을 가져옵니다. 연결된 프로세스에 할당된 가상 메모리의 양(바이트)입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 연결된 프로세스가 종료될 때까지 구성 요소를 무기한 대기하게 합니다. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 연결된 프로세스가 종료되도록 지정한 밀리초 동안 구성 요소를 대기하게 합니다. 연결된 프로세스가 종료된 경우 true이고, 그러지 않으면 false입니다. 연결된 프로세스가 종료될 때까지 대기하는 시간(밀리초)입니다.최대값은 사용 가능한 가장 큰 32비트 정수 값이며, 이는 운영 체제에서 사실상 무기한 대기한다는 것을 나타냅니다. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 연결된 프로세스에 할당된 실제 메모리의 양을 가져옵니다. 연결된 프로세스에 할당된 실제 메모리의 양(바이트)입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 특정 프로세스에 로드된 .dll 또는 .exe 파일을 나타냅니다. 2 모듈이 로드된 메모리 주소를 가져옵니다. 모듈의 로드 주소입니다. 2 시스템에서 모듈을 로드하고 실행할 때 실행되는 함수의 메모리 주소를 가져옵니다. 모듈의 진입점입니다. 2 모듈의 전체 경로를 가져옵니다. 모듈의 위치를 정의하는 정규화된 경로입니다. 2 모듈을 로드하는 데 필요한 메모리의 양을 가져옵니다. 모듈이 자치하는 메모리의 크기(바이트)입니다. 2 프로세스 모듈의 이름을 가져옵니다. 모듈의 이름입니다. 2 모듈 이름을 문자열로 변환합니다. 속성의 값입니다. 2 개체의 강력한 형식의 컬렉션을 제공합니다. 2 연결된 인스턴스 없이 클래스의 새 인스턴스를 초기화합니다. 인스턴스의 지정된 배열을 사용하여 클래스의 새 인스턴스를 초기화합니다. 인스턴스를 초기화하는 데 사용할 인스턴스의 배열입니다. 지정한 프로세스 모듈이 컬렉션에 있는지 여부를 확인합니다. 해당 모듈이 컬렉션에 있으면 true이고, 그렇지 않으면 false입니다. 이 컬렉션에서 찾을 모듈을 나타내는 인스턴스입니다. 2 인스턴스의 배열을 컬렉션 내의 지정된 인덱스에 복사합니다. 컬렉션에 추가할 인스턴스의 배열입니다. 새 인스턴스를 추가할 위치입니다. 2 컬렉션 내에서 지정된 모듈의 위치를 제공합니다. 내에서 모듈의 위치를 정의하는 인덱스(0부터 시작)입니다. 해당 인덱스가 검색되는 입니다. 2 프로세스 모듈 집합 전체를 반복하기 위한 인덱스를 가져옵니다. 컬렉션의 모듈을 인덱싱하는 입니다. 컬렉션 내의 모듈 값에 대한 0부터 시작하는 인덱스입니다. 2 시스템이 프로세스와 연결되는 우선 순위를 나타냅니다.이 값은 각 프로세스 스레드의 우선 순위 값과 더불어 각 스레드의 기본 우선 순위 수준을 결정합니다. 2 프로세스 우선 순위를 Normal보다는 높게, 보다는 낮게 지정합니다. 프로세스 우선 순위를 Idle보다는 높게, Normal보다는 낮게 지정합니다. 운영 체제의 부하와 관계없이 사용자가 호출하면 즉시 응답해야 하는 Task List 대화 상자 같이 즉각 실행되어야 하는 시간 위험 작업을 프로세스가 수행하도록 지정합니다.프로세스의 스레드는 정상 또는 유휴 우선 순위 클래스 프로세스의 스레드를 우선합니다. 화면 보호기와 같이 시스템이 유휴 상태일 때에만 이 프로세스의 스레드가 실행되도록 지정합니다.프로세스의 스레드는 더 높은 우선 순위 클래스에서 실행되는 프로세스의 스레드가 우선합니다. 프로세스를 특별히 예약할 필요가 없도록 지정합니다. 프로세스의 우선 순위가 최고가 되도록 지정합니다. 프로세스를 시작할 때 사용되는 값 집합을 지정합니다. 2 프로세스를 시작할 때 사용할 파일 이름을 지정하지 않고 클래스의 새 인스턴스를 초기화합니다. 클래스의 새 인스턴스를 초기화하고 프로세스를 시작할 때 사용할 응용 프로그램이나 문서와 같은 파일 이름을 지정합니다. 프로세스를 시작할 때 사용할 응용 프로그램이나 문서입니다. 클래스의 새 인스턴스를 초기화하고, 프로세스를 시작할 응용 프로그램 파일 이름과 응용 프로그램에 전달할 명령줄 인수 집합을 지정합니다. 프로세스를 시작할 때 사용할 응용 프로그램입니다. 프로세스가 시작될 때 응용 프로그램에 전달할 명령줄 인수입니다. 응용 프로그램을 시작할 때 사용할 명령줄 인수 집합을 가져오거나 설정합니다. 속성에 지정된 대상 응용 프로그램으로 전달할 인수를 포함한 단일 문자열입니다.기본값은 빈 문자열("")입니다.Windows Vista 및 Windows 운영 체제의 이전 버전에서 프로세스의 전체 경로 길이에 추가되는 인수의 길이는 2080자보다 짧아야 합니다.Windows 7 이상 버전에서는 길이가 32699 미만이어야 합니다.인수가 대상 응용 프로그램에서 분석 및 해석되므로 이 응용 프로그램의 예상과 일치해야 합니다.아래 예제와 같은 .NET 응용 프로그램의 경우 공백은 여러 인수 사이의 구분 기호로 해석됩니다.공백이 포함된 단일 인수는 따옴표로 묶어야 하지만 따옴표 자체는 대상 응용 프로그램으로 전달되지 않습니다.최종 분석 인수에 따옴표를 포함하려면 각 따옴표에 트리플 이스케이프를 적용합니다. 1 프로세스를 새 창에서 시작할지 여부를 나타내는 값을 가져오거나 설정합니다. 프로세스를 포함할 새 창을 만들지 않고 프로세스를 시작해야 하면 true이고, 그러지 않으면 false 입니다.기본값은 false입니다. 2 프로세스를 시작할 때 사용할 도메인을 식별하는 값을 가져오거나 설정합니다. 프로세스를 시작할 때 사용할 Active Directory 도메인입니다.도메인 속성은 Active Directory를 사용하는 엔터프라이즈 환경 내의 사용자가 주로 사용합니다. 1 시작할 응용 프로그램 또는 문서를 가져오거나 설정합니다. 응용 프로그램과 연결되며 그 응용 프로그램에서 사용할 수 있는 기본 열기 동작이 있는 파일 형식의 문서 이름 또는 시작할 응용 프로그램의 이름입니다.기본값은 빈 문자열("")입니다. 1 Windows 사용자 프로필을 레지스트리에서 로드할지 여부를 나타내는 값을 가져오거나 설정합니다. Windows 사용자 프로필을 로드해야 하는 경우 true이고, 그러지 않으면 false입니다.기본값은 false입니다. 1 프로세스를 시작할 때 사용할 사용자 암호가 포함된 보안 문자열을 가져오거나 설정합니다. 프로세스를 시작할 때 사용할 사용자 암호입니다. 1 응용 프로그램의 오류 출력을 스트림에 쓸지 여부를 나타내는 값을 가져오거나 설정합니다. 오류 출력을 true에 써야 하는 경우 이고, 그러지 않으면false입니다.기본값은 false입니다. 2 응용 프로그램의 입력을 스트림에서 읽을지 여부를 나타내는 값을 가져오거나 설정합니다. 입력을 에서 읽어야 하는 경우 true이고, 그러지 않으면 false입니다.기본값은 false입니다. 2 응용 프로그램의 텍스트 출력을 스트림에 쓸지 여부를 나타내는 값을 가져오거나 설정합니다. 출력을 에 써야 하는 경우 true이고, 그러지 않으면 false입니다.기본값은 false입니다. 2 오류 출력에 대한 기본 설정 인코딩을 가져오거나 설정합니다. 오류 출력에 대한 기본 설정 인코딩을 나타내는 개체입니다.기본값은 null입니다. 표준 출력에 대한 기본 설정 인코딩을 가져오거나 설정합니다. 표준 출력에 대한 기본 설정 인코딩을 나타내는 개체입니다.기본값은 null입니다. 프로세스를 시작할 때 사용할 사용자 이름을 가져오거나 설정합니다. 프로세스를 시작할 때 사용할 사용자 이름입니다. 1 프로세스를 시작할 때 운영 체제 셸을 사용할지 여부를 나타내는 값을 가져오거나 설정합니다. 프로세스를 시작할 때 셸을 사용하려면 true이고, 실행 파일에서 직접 프로세스를 만들어야 하면 false입니다.기본값은 true입니다. 2 속성이 false인 경우 시작할 프로세스의 작업 디렉터리를 가져오거나 설정합니다.가 true인 경우 시작할 프로세스가 포함된 디렉터리를 가져오거나 설정합니다. 가 true이면 시작할 프로세스가 들어 있는 디렉터리의 정규화된 이름입니다. 속성이 false인 경우 시작할 프로세스의 작업 디렉터리입니다.기본값은 빈 문자열("")입니다. 1 운영 체제 프로세스 스레드를 나타냅니다. 2 스레드의 기본 우선 순위를 가져옵니다. 프로세스 우선 순위 클래스와 관련 스레드의 우선 순위 수준을 결합하여 계산되는 스레드의 기본 우선 순위입니다. 2 스레드의 현재 우선 순위를 가져옵니다. 운영 체제에서 스레드를 예약하는 방법에 따라 기본 우선 순위에서 벗어날 수도 있는 스레드의 현재 우선 순위입니다.활성 스레드의 경우 우선 순위가 일시적으로 높아질 수 있습니다. 2 스레드의 고유 식별자를 가져옵니다. 특정 스레드와 관련된 고유 식별자입니다. 2 이 스레드가 실행될 기본 설정 프로세서를 설정합니다. 스레드를 실행할 프로세서를 결정하기 위해 시스템에서 스레드를 예약할 때 사용하는 스레드의 기본 설정 프로세서입니다. 지정한 프로세스에서 스레드가 시작되도록 설정할 수 없는 경우 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 스레드 프로세스의 주 창이 포커스를 받을 때마다 운영 체제에서 관련 스레드의 우선 순위를 일시적으로 높여야 하는지 여부를 나타내는 값을 가져오거나 설정합니다. 프로세스의 인터페이스와 상호 작용할 때 스레드의 우선 순위를 높이려면 true이고, 그렇지 않으면 false입니다.기본값은 false입니다. 우선 순위 높임 정보를 검색할 수 없는 경우또는우선 순위 높임 정보를 설정할 수 없는 경우 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 스레드의 우선 순위 수준을 가져오거나 설정합니다. 스레드의 우선 순위를 한정하는 범위를 지정하는 값 중 하나입니다. 스레드 우선 순위 수준 정보를 검색할 수 없는 경우 또는스레드 우선 순위 수준을 설정할 수 없는 경우 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 스레드가 운영 체제 코어 내부에서 코드를 실행하는데 사용한 시간을 가져옵니다. 스레드가 운영 체제 코어 내부에서 코드를 실행하는데 사용한 시간을 나타내는 입니다. 스레드 시간을 검색할 수 없는 경우 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 관련 스레드가 실행될 수 있는 프로세서를 설정합니다. 비트 집합을 가리키는 입니다. 각각의 비트는 스레드가 실행될 수 있는 프로세서를 나타냅니다. 프로세서 선호도를 설정할 수 없는 경우 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 이 스레드의 최적 프로세서를 다시 설정하여 단일 최적 프로세서가 없음을 나타냅니다.다시 말해서 모든 프로세서가 최적 프로세서가 되도록 다시 설정합니다. 최적 프로세서를 다시 설정할 수 없는 경우 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 이 스레드를 시작한 운영 체제가 호출한 함수의 메모리 주소를 가져옵니다. 스레드가 실행하는 응용 프로그램 정의 함수를 가리키는 스레드의 시작 주소입니다. 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 운영 체제가 스레드를 시작한 시간을 가져옵니다. 운영 체제가 스레드를 시작했을 때의 시스템 시간을 나타내는 입니다. 스레드 시간을 검색할 수 없는 경우 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 이 스레드의 현재 상태를 가져옵니다. 실행, 대기, 종료 등 스레드의 실행을 나타내는 입니다. 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 이 스레드가 프로세서를 사용하는데 소비한 총 시간을 가져옵니다. 스레드가 프로세서의 제어를 받고 있던 시간을 나타내는 입니다. 스레드 시간을 검색할 수 없는 경우 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 관련 스레드가 응용 프로그램 내부에서 코드를 실행하는데 사용한 시간을 가져옵니다. 운영 체제 코어 내부와 반대로 스레드가 응용 프로그램 내부에서 코드를 실행하는데 사용한 시간을 나타내는 입니다. 스레드 시간을 검색할 수 없는 경우 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 스레드가 대기 상태에 있는 이유를 가져옵니다. 은 스레드가 대기 상태에 있는 이유를 나타냅니다. 스레드가 대기 상태에 있지 않은 경우 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 개체의 강력한 형식의 컬렉션을 제공합니다. 2 연결된 인스턴스 없이 클래스의 새 인스턴스를 초기화합니다. 인스턴스의 지정된 배열을 사용하여 클래스의 새 인스턴스를 초기화합니다. 인스턴스를 초기화하는 데 사용할 인스턴스의 배열입니다. 컬렉션에 프로세스 스레드를 추가합니다. 컬렉션 스레드의 인덱스(0부터 시작)입니다. 컬렉션에 추가할 스레드입니다. 2 지정한 프로세스 스레드가 컬렉션에 있는지 여부를 확인합니다. 해당 스레드가 컬렉션에 있으면 true이고, 그렇지 않으면 false입니다. 이 컬렉션에서 찾을 스레드를 나타내는 인스턴스입니다. 2 인스턴스의 배열을 컬렉션 내의 지정된 인덱스에 복사합니다. 컬렉션에 추가할 인스턴스의 배열입니다. 새 인스턴스를 추가할 위치입니다. 2 컬렉션 내에서 지정된 스레드의 위치를 제공합니다. 내에서 스레드의 위치를 정의하는 인덱스(0부터 시작)입니다. 해당 인덱스가 검색되는 입니다. 2 컬렉션의 지정된 위치에 프로세스 스레드를 삽입합니다. 스레드가 삽입될 위치를 나타내는 인덱스(0부터 시작)입니다. 컬렉션에 삽입할 스레드입니다. 2 프로세스 스레드 집합 전체를 반복하기 위한 인덱스를 가져옵니다. 컬렉션의 스레드를 인덱싱하는 입니다. 컬렉션 내의 스레드 값에 대한 인덱스(0부터 시작)입니다. 2 컬렉션에서 프로세스 스레드를 삭제합니다. 컬렉션에서 제거할 스레드입니다. 2 스레드의 우선 순위 수준을 지정합니다. 2 관련된 의 보통 우선 순위 보다 한 단계 높게 지정합니다. 관련된 의 보통 우선 순위 보다 한 단계 낮게 지정합니다. 최고 우선 순위를 지정합니다.이는 관련된 의 보통 우선 순위보다 두 단계 높습니다. 유휴 우선 순위를 지정합니다.이는 관련된 의 값에 관계없이 모든 스레드의 우선 순위 값중 가장 낮습니다. 최저 우선 순위를 지정합니다.이는 관련된 의 보통 우선 순위보다 두 단계 낮습니다. 관련된 의 보통 우선 순위를 지정합니다. 시간 위험 우선 순위를 지정합니다.이는 관련된 의 값에 관계없이 모든 스레드의 최고 우선 순위입니다. 스레드의 현재 실행 상태를 지정합니다. 1 스레드가 초기화되었으나 아직 시작되지 않았음을 나타내는 상태입니다. 사용 가능한 프로세서가 없으므로 스레드가 프로세서를 사용하기 위해 대기 중임을 나타내는 상태입니다.스레드는 사용 가능한 다음 프로세서에서 실행될 준비가 되어 있습니다. 스레드가 현재 프로세서를 사용 중임을 나타내는 상태입니다. 스레드가 곧 프로세서를 사용할 것임을 나타내는 상태입니다.한 번에 하나의 스레드만 이 상태가 될 수 있습니다. 스레드가 실행을 마치고 종료되었음을 나타내는 상태입니다. 스레드가 실행 전에 프로세서가 아닌 리소스를 대기하고 있음을 나타내는 상태입니다.예를 들어, 디스크에서 해당 실행 스택을 페이지로 나누기 위해 대기하고 있을 수 있습니다. 스레드의 상태를 알 수 없습니다. 스레드가 주변 작업이 완료되거나 리소스가 사용 가능해질 때까지 기다리고 있으므로 프로세서를 사용할 준비가 되어 있지 않음을 나타내는 상태입니다.스레드가 준비 상태가 되면 다시 일정을 잡습니다. 스레드 대기 원인을 지정합니다. 2 스레드가 상위 이벤트 쌍을 기다리고 있습니다. 스레드가 하위 이벤트 쌍을 기다리고 있습니다. 스레드 실행이 지연됩니다. 스레드가 스케줄러를 기다리고 있습니다. 스레드가 사용 가능한 가상 메모리 페이지를 기다리고 있습니다. 스레드가 로컬 프로시저 호출이 도착하기를 기다리고 있습니다. 스레드가 로컬 프로시저 호출의 응답이 도착하기를 기다리고 있습니다. 스레드가 메모리에 가상 메모리 페이지가 도착하기를 기다리고 있습니다. 스레드가 디스크에 가상 메모리 페이지가 쓰여지기를 기다리고 있습니다. 스레드 실행이 일시 중단됩니다. 스레드가 시스템 할당을 기다리고 있습니다. 스레드가 알 수 없는 이유로 기다리고 있습니다. 스레드가 사용자 요청을 기다리고 있습니다. 스레드가 시스템에서 가상 메모리를 할당하기를 기다리고 있습니다. ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/netstandard1.3/ru/System.Diagnostics.Process.xml ================================================  System.Diagnostics.Process [SECURITY CRITICAL] Предоставляет управляемую оболочку для дескриптора процесса. [SECURITY CRITICAL] Инициализирует новый экземпляр класса класса для указанного дескриптора, указывающее, следует ли освободить дескриптор на стадии завершения. Инкапсулируемый дескриптор. trueЧтобы надежно освободить дескриптор на стадии завершения; в противном случае — false. Предоставляет данные для событий и . 2 Возвращает строку символов, записанную в перенаправленный поток вывода . Строка, записанная соответствующим процессом в перенаправленный поток или . 2 Представляет метод, обрабатывающий событие или событие объекта . Источник события. Объект , содержащий данные, которые относятся к событию. 2 Предоставляет доступ к локальным и удаленным процессам и позволяет запускать и останавливать локальные системные процессы.Исходный код .NET Framework для этого типа см. в указанном источнике. 1 Инициализирует новый экземпляр класса . Получает базовый приоритет связанного процесса. Базовый приоритет, который вычисляется свойством связанного процесса. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. The process has exited.-or- The process has not started, so there is no process ID. 2 Начинает операции асинхронного чтения с перенаправленного потока приложения. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Начинает операции асинхронного чтения с перенаправленного потока приложения. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Отменяет операцию асинхронного чтения в перенаправленном потоке приложения. The stream is not enabled for asynchronous read operations. 2 Отменяет операцию асинхронного чтения в перенаправленном потоке приложения. The stream is not enabled for asynchronous read operations. 2 Освобождает все ресурсы, используемые этим процессом. Значение true позволяет освободить как управляемые, так и неуправляемые ресурсы; значение false освобождает только неуправляемые ресурсы. Получает или задает значение, указывающее, следует ли вызывать событие при прекращении процесса. Значение true, если событие должно быть вызвано при завершении связанного процесса (выход или вызов метода ); в противном случае — значение false.Значение по умолчанию — false. 2 Помещает компонент в состояние взаимодействия с работающим системным процессом, выполняющимся в специальном режиме путем включения встроенного свойства SeDebugPrivilege в данном потоке. 2 Происходит, когда приложение выполняет запись в свой перенаправленный поток . 2 Получает значение, заданное связанным процессом при завершении. Код, который задал связанный процесс при завершении. The process has not exited.-or- The process is not valid. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Происходит при завершении процесса. 2 Получает время завершения связанного процесса. Класс , показывающий время завершения связанного процесса. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Получает новый компонент и связывает его с активным в данный момент процессом. Новый компонент , связанный с ресурсом выполняющегося процесса в приложении. 1 Возвращает новый компонент , по заданному идентификатору процесса на локальном компьютере. Компонент , связанный с локальным ресурсом процесса, определенного параметром . Уникальный в системе идентификатор ресурса процесса. The process specified by the parameter is not running.The identifier might be expired. The process was not started by this object. 1 Возвращает новый компонент , по заданному идентификатору процесса и имени компьютера в сети. Компонент , связанный с удаленным ресурсом процесса, определенного параметром . Уникальный в системе идентификатор ресурса процесса. Имя компьютера в сети. The process specified by the parameter is not running.The identifier might be expired.-or- The parameter syntax is invalid.The name might have length zero (0). The parameter is null. The process was not started by this object. 1 Создает новый компонент для каждого ресурса процесса на локальном компьютере. Массив типа , представляющий все ресурсы процесса, выполняющегося на локальном компьютере. 1 Создает новый компонент для каждого ресурса процесса на указанном компьютере. Массив типа , представляющий все ресурсы процесса, выполняющегося на указанном компьютере. Компьютер, из которого читается список процессов. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Создает массив из новых компонентов и связывает их со всеми ресурсами процесса на локальном компьютере, для которых заданное имя процесса является общедоступным. Массив типа , представляющий ресурсы процесса, выполняющего указанное приложение или файл. Понятное имя процесса. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. 1 Создает массив из новых компонентов и связывает их со всеми ресурсами процесса на удаленном компьютере, для которых заданное имя процесса является общедоступным. Массив типа , представляющий ресурсы процесса, выполняющего указанное приложение или файл. Понятное имя процесса. Имя компьютера в сети. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Получает значение, определяющее завершение связанного процесса. Значение true, если процесс операционной системы, на который ссылается компонент , был завершен; в противном случае — значение false. There is no process associated with the object. The exit code for the process could not be retrieved. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Получает уникальный идентификатор связанного процесса. Созданный системой уникальный идентификатор, на который ссылается этот экземпляр . The process's property has not been set.-or- There is no process associated with this object. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. 1 Немедленно останавливает связанный процесс. The associated process could not be terminated. -or-The process is terminating.-or- The associated process is a Win16 executable. You are attempting to call for a process that is running on a remote computer.The method is available only for processes running on the local computer. The process has already exited. -or-There is no process associated with this object. 1 Выбирает компонент из состояния, позволяющего ему взаимодействовать с процессами операционной системы, запущенными в специальном режиме. 2 Получает имя компьютера, на котором выполняется связанный процесс. Имя компьютера, на котором выполняется связанный процесс. There is no process associated with this object. 1 Получает главный модуль связанного процесса. Модуль , который был использован для запуска процесса. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. A 32-bit process is trying to access the modules of a 64-bit process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not available.-or- The process has exited. 1 Возвращает или задает максимальный размер доступного рабочего множества для связанного процесса. Максимальный размер рабочего множества в байтах, доступного в памяти для процесса. The maximum working set size is invalid.It must be greater than or equal to the minimum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Возвращает или задает минимальный размер доступного рабочего множества для связанного процесса. Минимальный размер рабочего множества в байтах, требуемый в памяти для процесса. The minimum working set size is invalid.It must be less than or equal to the maximum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Получает модули, которые были загружены связанным процессом. Массив объектов типа , который предоставляет модули, загруженные связанным процессом. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. You are attempting to access the property for either the system process or the idle process.These processes do not have modules. 2 Получает количество невыгружаемой системной памяти, выделенной для связанного процесса. Количество системной памяти в байтах, выделенной для связанного процесса, которую нельзя записать в файл подкачки виртуальной памяти. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Вызывает событие . Происходит, когда приложение записывает строку в свой перенаправленный поток . 2 Получает количество выгружаемой системной памяти, выделенной для связанного процесса. Количество памяти в байтах, выделенной в файле подкачки виртуальной памяти для связанного процесса. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Возвращает объем выгружаемой системной памяти, выделенной для связанного процесса. Количество системной памяти в байтах, выделенной для связанного процесса, которую можно записать в файл подкачки виртуальной памяти. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Получает максимальное количество памяти в файле подкачки виртуальной памяти, используемой связанным процессом. Максимальное количество памяти в байтах, выделенной в файле подкачки виртуальной памяти для связанного процесса с момента его запуска. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Получает максимальное количество виртуальной памяти, используемой связанным процессом. Максимальное количество виртуальной памяти в байтах, выделенной для связанного процесса с момента его запуска. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Получает максимальное количество физической памяти, используемой связанным процессом. Максимальное количество физической памяти в байтах, выделенной для связанного процесса с момента его запуска. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Возвращает или задает значение, указывающее, должна ли операционная система временно увеличить приоритет связанного процесса, когда основное окно процесса получит фокус. Значение true, если требуется динамическое увеличение приоритета процесса, когда процесс выходит из состояния ожидания; в противном случае — значение false.Значение по умолчанию — false. Priority boost information could not be retrieved from the associated process resource. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. 1 Возвращает или задает общую категорию приоритета для процесса. Категория приоритета для связанного процесса, из которой вычисляется свойство . Process priority information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. You have set the to AboveNormal or BelowNormal when using Windows 98 or Windows Millennium Edition (Windows Me).These platforms do not support those values for the priority class. Priority class cannot be set because it does not use a valid value, as defined in the enumeration. 1 Получает количество закрытой памяти, выделенной для связанного процесса. Количество памяти в байтах, выделенное для связанного процесса, который не может быть доступен другим процессам. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Получает права доступа на время процессора для этого процесса. Класс , показывающий количество времени, которое процесс потратил на выполнение кода внутри ядра операционной системы. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Получает имя процесса. Имя, которое использует система для идентификации процесса для пользователя. The process does not have an identifier, or no process is associated with the .-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not on this computer. 1 Возвращает или задает процессоры, на которых может быть запланировано выполнение потоков данного процесса. Битовая маска, представляющая процессоры, на которых могут выполняться потоки связанного процесса.По умолчанию маска зависит от числа процессоров в компьютере.Значение по умолчанию равно 2 n -1, где n — число процессоров. information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process was not available.-or- The process has exited. 2 Удаляет любые кэшированные внутри компонента процесса сведения о связанном процессе. 1 Возвращает собственный дескриптор процесса. Собственный дескриптор процесса. Получает идентификатор сеанса служб терминалов для связанного процесса. Идентификатор сеанса служба терминалов для связанного процесса. There is no session associated with this process. There is no process associated with this session identifier.-or-The associated process is not on this machine. The property is not supported on Windows 98. 1 Получает поток, используемый для чтения вывода ошибок приложения. Объект , используемый для чтения стандартного потока ошибок приложения. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Получает поток, используемый для записи ввода приложения. Объект , используемый для записи стандартного входного потока приложения. The stream has not been defined because is set to false. 1 Получает поток, используемый для чтения текстовых выходных данных приложения. Объект , используемый для чтения стандартного потока вывода приложения. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Запускает (или повторно использует) ресурс процесса, определенный свойством этого компонента , и связывает его с компонентом. Значение true, если ресурс процесса запущен; значение false, если новый ресурс процесса не был запущен (например, при повторном использовании существующего процесса). No file name was specified in the component's .-or- The member of the property is true while , , or is true. There was an error in opening the associated file. The process object has already been disposed. 1 Запускает ресурс процесса, определенный параметром, содержащим стартовую информацию процесса (например, имя файла запускаемого процесса), и связывает ресурс с новым компонентом . Новый процесс , связанный с ресурсом процесса, или null, если ресурс процесса не запущен.Обратите внимание, что новый процесс, запущенный с уже выполняющимися экземплярами того же процесса, будет независимым от других.Кроме того, метод Start может вернуть ненулевой тип Process, свойство которого равно true.В этом случае запущенный процесс может активировать существующий экземпляр самого себя, а затем завершить работу. Объект , который содержит информацию, использующуюся для запуска процесса, включая имя файла и все аргументы командной строки. No file name was specified in the parameter's property.-or- The property of the parameter is true and the , , or property is also true.-or-The property of the parameter is true and the property is not null or empty or the property is not null. The parameter is null. The process object has already been disposed. The file specified in the parameter's property could not be found. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." 1 Запускает ресурс процесса путем указания имени документа или файла приложения и связывает ресурс с новым компонентом . Новый процесс , связанный с ресурсом процесса, или null, если ресурс процесса не запущен.Обратите внимание, что новый процесс, запущенный наряду с уже выполняющимися экземплярами того же процесса, будет независимым от других.Кроме того, метод Start может вернуть ненулевой тип Process, свойство которого равно true.В этом случае запущенный процесс может активировать существующий экземпляр самого себя, а затем завершить работу. Имя документа или файла приложения для запуска в процессе. An error occurred when opening the associated file. The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Запускает ресурс процесса путем указания имени приложения и набора аргументов командной строки и связывает ресурс с новым компонентом . Новый процесс , связанный с ресурсом процесса, или null, если ресурс процесса не запущен.Обратите внимание, что новый процесс, запущенный наряду с уже выполняющимися экземплярами того же процесса, будет независимым от других.Кроме того, метод Start может вернуть ненулевой тип Process, свойство которого равно true.В этом случае запущенный процесс может активировать существующий экземпляр самого себя, а затем завершить работу. Имя файла приложения для запуска в процессе. Аргументы командной строки для передачи при запуске процесса. The or parameter is null. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Запускает ресурс процесса путем указания имени приложения, имени пользователя, пароля и домена и связывает ресурс с новым компонентом . Новый процесс , связанный с ресурсом процесса, или null, если ресурс процесса не запущен.Обратите внимание, что новый процесс, запущенный наряду с уже выполняющимися экземплярами того же процесса, будет независимым от других.Кроме того, метод Start может вернуть ненулевой тип Process, свойство которого равно true.В этом случае запущенный процесс может активировать существующий экземпляр самого себя, а затем завершить работу. Имя файла приложения для запуска в процессе. Имя пользователя, используемое при запуске процесса. Объект , содержащий пароль для использования при запуске процесса. Домен, используемый при запуске процесса. No file name was specified. is not an executable (.exe) file. There was an error in opening the associated file. The process object has already been disposed. 1 Запускает ресурс процесса путем указания имени приложения, набора аргументов командной строки, имени пользователя, пароля и домена и связывает ресурс с новым компонентом . Новый процесс , связанный с ресурсом процесса, или null, если ресурс процесса не запущен.Обратите внимание, что новый процесс, запущенный наряду с уже выполняющимися экземплярами того же процесса, будет независимым от других.Кроме того, метод Start может вернуть ненулевой тип Process, свойство которого равно true.В этом случае запущенный процесс может активировать существующий экземпляр самого себя, а затем завершить работу. Имя файла приложения для запуска в процессе. Аргументы командной строки для передачи при запуске процесса. Имя пользователя, используемое при запуске процесса. Объект , содержащий пароль для использования при запуске процесса. Домен, используемый при запуске процесса. No file name was specified. is not an executable (.exe) file. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. 1 Получает или задает свойства для передачи их методу объекта . Класс , который представляет данные для запуска процесса.Эти аргументы включают имя исполняемого файла или документа, использованного для запуска процесса. The value that specifies the is null. 1 Получает время запуска связанного процесса. Объект, показывающий время запуска процесса.Если процесс не выполняется, возникает исключение. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process has exited.-or-The process has not been started. An error occurred in the call to the Windows function. 1 Получает множество потоков, выполняющихся в связанном процессе. Массив объектов типа , представляющий потоки операционной системы, которые в настоящий момент выполняются в связанном процессе. The process does not have an , or no process is associated with the instance.-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. 1 Получает полное время процессора для этого процесса. Объект , указывающий количество времени, потраченного процессом на загрузку ЦП.Это значение является суммой значений свойств и . The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Получает пользовательское время процессора для этого процесса. Класс , показывающий количество времени, которое связанный процесс потратил на выполнение кода внутри приложения (не внутри ядра операционной системы). The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Получает количество виртуальной памяти, выделенной для связанного процесса. Возвращает количество виртуальной памяти в байтах, выделенной для связанного процесса. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Дает компоненту команду ожидать завершения связанного процесса в течение неограниченного времени. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 Дает компоненту команду ожидать завершения связанного процесса в течение указанного времени в миллисекундах. Значение true, если связанный процесс завершился; в противном случае — значение false. Количество времени в миллисекундах для ожидания завершения связанного процесса.Максимальным является наибольшее возможное 32-битное целое число, которое представляет для операционной системы бесконечность. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 Получает количество физической памяти, выделенной для связанного процесса. Количество физической памяти в байтах, выделенной для связанного процесса. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Представляет файл с расширением .dll или .exe, загруженный в определенный процесс. 2 Возвращает адрес в памяти, куда был загружен модуль. Адрес загрузки модуля. 2 Возвращает адрес памяти для функции, выполняющейся при загрузке и выполнении модуля системой. Точка входа модуля. 2 Возвращает полный путь к модулю. Полный путь, который определяет место модуля. 2 Возвращает объем памяти, необходимый для загрузки модуля. Размер памяти в байтах, которую занимает модуль. 2 Возвращает имя модуля процесса. Имя модуля. 2 Преобразует имя модуля в строку. Значение свойства . 2 Предоставляет строго типизированную коллекцию объектов . 2 Инициализирует новый экземпляр класса без использования связанных экземпляров . Инициализирует новый экземпляр класса , используя указанный массив экземпляров . Массив экземпляров , с помощью которого инициализируется экземпляр . Определяет, существует ли в коллекции указанный модуль процесса. Значение true, если модуль присутствует в коллекции; в противном случае — значение false. Экземпляр , указывающий на искомый модуль в коллекции. 2 Копирует в коллекцию массив экземпляров по указанному индексу. Массив экземпляров для добавления в коллекцию. Место, куда добавляются новые экземпляры. 2 Предоставляет расположение указанного модуля в коллекции. Отсчитываемый от нуля индекс, по которому определяется место модуля в коллекции . Класс , чей индекс извлекается. 2 Возвращает индекс для выполнения итерации по набору модулей процесса. Класс , который индексирует модули в коллекции. Отсчитываемое от нуля индексное значение модуля в коллекции. 2 Указывает приоритет, который система связывает с процессом.Это значение вместе со значением приоритета каждого потока процесса определяет базовый уровень приоритета каждого потока. 2 Указывает, что значение приоритета процесса находится между Normal и . Указывает, что значение приоритета процесса находится между Idle и Normal. Указывает, что процесс выполняет срочные задачи, которые должны быть выполнены немедленно, например диалоговое окно Task List, которое должно быстро отвечать при вызове пользователя независимо от загрузки операционной системы.Потоки процесса выгружают потоки процессов с нормальными или низкими приоритетами. Указывает, что потоки этого процесса выполняются, только когда система не занята. Примером может служить программа-заставка.Потоки данного процесса выгружаются потоками любых процессов с более высоким приоритетом. Указывает, что у процесса нет особых запланированных потребностей. Указывает, что процесс обладает максимально высоким приоритетом. Задает набор значений, используемых при запуске процесса. 2 Инициализирует новый экземпляр класса , не указывая имени файла, вместе с которым должен запускаться процесс. Инициализирует новый экземпляр класса и задает имя файла, например приложение или документ, вместе с которым должен запускаться процесс. Приложение или документ, вместе с которыми должен запускаться процесс. Инициализирует новый экземпляр класса , задает имя файла приложения, вместе с которым должен запускаться процесс, и указывает передаваемые в приложение аргументы командной строки. Приложение, с которым должен запускаться процесс. Аргументы командной строки, передаваемые в приложение при запуске процесса. Возвращает или задает набор аргументов командной строки, используемых при запуске приложения. Одна строка, содержащая аргументы для передачи в целевое приложение, указанное в свойстве .Значение по умолчанию — пустая строка ("").В Windows Vista и более ранних версиях операционной системы Windows длина аргументов, добавляемых к длине полного пути к процессу, должна быть меньше 2080.В Windows 7 и более поздних версиях длина должна быть меньше 32699.Аргументы анализируются и интерпретируются целевым приложением, поэтому они должны соответствовать ожидаемым аргументам приложения.Как показано в примерах ниже, для приложений .NET пробелы считаются разделителями между несколькими аргументами.Одиночный аргумент, включающий пробелы, должен быть заключен в кавычки, но кавычки не указываются в целевом приложении.В финальном проанализированном аргументе при включении кавычек к каждому знаку следует добавить escape-символ. 1 Возвращает или задает значение, позволяющее определить, нужно ли запускать процесс в новом окне. Значение true, если процесс должен быть запущен без создания для него нового окна; в противном случае — значение false.Значение по умолчанию — false. 2 Возвращает или задает значение, позволяющее идентифицировать домен, используемый при запуске процесса. Домен Active Directory, используемый при запуске процесса.Свойство домена актуально преимущественно для пользователей, работающих в корпоративной среде и использующих службу Active Directory. 1 Возвращает или задает приложение или документ для запуска. Имя запускаемого приложения или имя документа, тип файла которого связан с приложением и для которого доступно действие открытия по умолчанию.Значение по умолчанию — пустая строка (""). 1 Возвращает или задает значение, позволяющее определить, следует ли загружать профиль пользователя Windows из реестра. Значение true, если должен быть загружен профиль пользователя Windows; в противном случае — значение false.Значение по умолчанию — false. 1 Возвращает или задает параметр безопасности, в котором содержится пароль пользователя, используемый при запуске процесса. Пароль пользователя, используемый при запуске процесса. 1 Возвращает или задает значение, позволяющее определить, записываются ли выходные данные об ошибках приложения в поток . Значение true, если выходные данные должны записываться в ; в противном случае — значение false.Значение по умолчанию — false. 2 Возвращает или задает значение, позволяющее определить, будут ли считываться входные данные приложения из потока . Значение true, если входные данные должны считываться из ; в противном случае — значение false.Значение по умолчанию — false. 2 Возвращает или задает значение, позволяющее определить, записываются ли текстовые выходные данные приложения в поток . Значение true, если выходные данные должны записываться в ; в противном случае — значение false.Значение по умолчанию — false. 2 Возвращает или задает предпочтительную кодировку для вывода ошибок. Объект, представляющий предпочтительную кодировку для вывода ошибок.Значение по умолчанию — null. Возвращает или задает предпочтительную кодировку для стандартного вывода. Объект, представляющий предпочтительную кодировку для стандартного вывода.Значение по умолчанию — null. Возвращает или задает имя пользователя, которое следует использовать при запуске процесса. Имя пользователя, используемое при запуске процесса. 1 Возвращает или задает значение, позволяющее определить, нужно ли использовать оболочку операционной системы для запуска процесса. Значение true, если оболочка должна использоваться при запуске процесса; значение false, если процесс должен создаваться непосредственно из исполняемого файла.Значение по умолчанию — true. 2 Если свойство имеет значение false, возвращает или задает рабочую папку для процесса для запуска.Если параметру присвоено значение true, возвращает или задает каталог, содержащий процесс, который требуется запустить. Если имеет значение true, полное имя каталога, в котором содержится запускаемый процесс.Если свойство имеет значение false, рабочая папка для запускаемого процесса.Значение по умолчанию — пустая строка (""). 1 Представляет поток процесса операционной системы. 2 Возвращает базовый приоритет потока. Базовый приоритет потока, вычисляемый операционной системой путем совмещения класса приоритета процесса с уровнем приоритета соответствующего потока. 2 Возвращает текущий приоритет потока. Текущий приоритет потока, который может отклоняться от базового, в зависимости от способа планирования потока в операционной системе.Для активного потока приоритет может быть временно увеличен. 2 Возвращает уникальный идентификатор потока. Уникальный идентификатор связан с конкретным потоком. 2 Устанавливает предпочтительный процессор для выполнения этого потока. Предпочтительный процессор для потока, используемый при планировании потока системой для определения процессора, на котором будет выполняться поток. Системе не удалось задать поток для запуска на указанном процессоре. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Возвращает или задает значение, указывающее, должна ли операционная система временно увеличивать приоритет соответствующего потока всякий раз, когда основное окно процесса, которому принадлежит данный поток, получает фокус. Значение true для увеличения приоритета потока при взаимодействии пользователя с интерфейсом процесса или значение false в противном случае.Значение по умолчанию — false. Не удается извлечь информацию о повышении приоритета.– или –Не удается задать информацию о повышении приоритета. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Возвращает или задает уровень приоритета потока. Одно из значений , задающих диапазон, который ограничивает приоритет потока. Не удается извлечь информацию об уровне приоритета потока. – или –Не удается задать информацию об уровне приоритета потока. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Возвращает количество времени, затрачиваемое потоком на выполнение кода внутри ядра операционной системы. Объект , указывающий количество времени, которое поток потратил на выполнение кода внутри ядра операционной системы. Не удалось извлечь затраченное потоком время. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Задает процессоры, на которых может выполняться соответствующий поток. Объект , указывающий на набор битов, каждый из которых представляет процессор, где может выполняться поток. Не удается задать сходство процессоров. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Отменяет идеальный процессор для данного потока, указывая тем самым на отсутствие единственного идеального процессора.Другими словами, для потока идеален любой процессор. Не удается сбросить идеальный процессор. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Возвращает адрес функции в памяти, которая была вызвана операционной системой и запустила этот поток. Начальный адрес потока, указывающий на определенную приложением функцию, которую выполняет данный поток. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Возвращает время запуска потока операционной системой. Класс , представляющий системное время запуска потока операционной системой. Не удалось извлечь затраченное потоком время. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Возвращает текущее состояние данного потока. Объект , указывающий на состояние выполнения потока, например, выполняется, ожидает или прекращен. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Возвращает общее количество времени, которое потратил поток на обработку процессором. Объект , указывающий количество времени, на протяжении которого поток контролировал процессор. Не удалось извлечь затраченное потоком время. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Возвращает количество времени, которое поток потратил на выполнение кода внутри приложения. Объект , указывающий количество времени, которое поток потратил на выполнение кода внутри приложения, в отличие от выполнения в ядре операционной системы. Не удалось извлечь затраченное потоком время. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Возвращает причину, по которой поток находится в состоянии ожидания. Объект , представляющий причину нахождения потока в состоянии ожидания. Поток не находится в состоянии ожидания. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Содержит строго типизированную коллекцию объектов . 2 Инициализирует новый экземпляр класса без использования связанных экземпляров . Инициализирует новый экземпляр класса , используя указанный массив экземпляров . Массив экземпляров , с помощью которого инициализируется экземпляр . Добавляет поток процесса в коллекцию. Отсчитываемый с нуля индекс потока в коллекции. Поток, который требуется добавить в коллекцию. 2 Определяет, существует ли указанный поток процесса в коллекции. Значение true, если поток присутствует в коллекции; в противном случае — значение false. Экземпляр , указывающий на искомый поток в коллекции. 2 Копирует в коллекцию массив экземпляров по указанному индексу. Массив экземпляров для добавления в коллекцию. Место, куда добавляются новые экземпляры. 2 Предоставляет место указанного потока в коллекции. Отсчитываемый с нуля индекс, который определяет место потока в коллекции . Класс , чей индекс извлекается. 2 Вставляет поток процесса в указанное место в коллекции. Отсчитываемый с нуля индекс, указывающий на место, в которое должен быть вставлен поток. Поток, вставляемый в коллекцию. 2 Получает индекс для итерационного перебора набора потоков процесса. Класс , который индексирует потоки в коллекции. Отсчитываемое с нуля значение потока в коллекции. 2 Удаляет поток процесса из коллекции. Поток, который нужно удалить из коллекции. 2 Задает уровень приоритета потока. 2 Задает приоритет на один уровень выше нормального для связанного . Задает приоритет на один уровень ниже нормального для связанного . Задает высший приоритет.Он на два уровня выше нормального приоритета для связанного . Задает приоритет простоя.Это самое низкое из возможных значений приоритета всех потоков, независимо от значения связанного . Задает низший приоритет.Он на два уровня ниже нормального приоритета для связанного . Задает нормальный приоритет для связанного . Задает критичный по времени приоритет.Это самый высокий приоритет всех потоков, независимо от значения связанного . Задает текущее состояние выполнения потока. 1 Состояние, указывающее, что поток инициализирован, но еще не запущен. Состояние, указывающее, что поток ожидает освобождения процессора.Поток готов к выполнению на следующем доступном процессоре. Состояние, указывающее, что поток в данный момент использует процессор. Состояние, указывающее, что поток приступает к использованию процессора.В каждый момент времени в этом состоянии может быть только один поток. Состояние, указывающее, что выполнение потока завершено и он выполнил выход. Состояние, указывающее, что поток ожидает ресурс (не процессор), необходимый для его выполнения.Например, он может ожидать считывания с диска стека его выполнения. Состояние потока неизвестно. Состояние, указывающее, что поток не готов использовать процессор, поскольку ожидает завершения внешней операции или освобождения ресурса.Когда поток становится готовым, его выполнение планируется повторно. Указывает причину, по которой поток находится в состоянии ожидания. 2 Поток ожидает старшую составляющую пары события. Поток ожидает младшую составляющую пары события. Выполнение потока отложено. Поток ожидает планировщик. Поток ожидает свободную страницу виртуальной памяти. Поток ожидает поступления вызова локальной процедуры. Поток ожидает поступления ответа на вызов локальной процедуры. Поток ожидает поступления страницы виртуальной памяти в память. Поток ожидает записи страницы виртуальной памяти на диск. Выполнение потока приостановлено. Поток ожидает системных ресурсов. Причина ожидания потока неизвестна. Поток ожидает запроса пользователя. Поток ожидает выделения системой виртуальной памяти. ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/netstandard1.3/zh-hans/System.Diagnostics.Process.xml ================================================  System.Diagnostics.Process [SECURITY CRITICAL] 为一个进程句柄提供托管包装。 [SECURITY CRITICAL] 初始化的新实例从,该值指示是否在终结阶段释放该句柄指定的句柄的类。 要包装的句柄。 true若要可靠地让在终结阶段 ; 释放该句柄否则为false。 事件提供数据。 2 获取写入到重定向 输出流的字符行。 由关联的 写入到其重定向 流中的行。 2 表示将要处理 事件或 事件的方法。 事件源。 包含事件数据的 2 提供对本地和远程进程的访问权限并使你能够启动和停止本地系统进程。若要浏览此类型的 .NET Framework 源代码,请参阅引用源。 1 初始化 类的新实例。 获取关联进程的基本优先级。 基本优先级别,它从关联进程的 计算。 The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. The process has exited.-or- The process has not started, so there is no process ID. 2 在应用程序的重定向 流上开始进行异步读取操作。 The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 在应用程序的重定向 流上开始进行异步读取操作。 The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 取消在应用程序的重定向 流上执行的异步读取操作。 The stream is not enabled for asynchronous read operations. 2 取消在应用程序的重定向 流上执行的异步读取操作。 The stream is not enabled for asynchronous read operations. 2 释放此进程使用的所有资源。 若要释放托管资源和非托管资源,则为 true;若仅释放非托管资源,则为 false。 获取或设置在进程终止时是否应激发 事件。 如果关联的进程终止(通过退出或者调用 )时应引发 事件,则为 true;否则为 false。默认值为 false。 2 通过启用当前线程的本机属性 SeDebugPrivilege,将 组件置于与以特殊模式运行的操作系统进程交互的状态。 2 当应用程序写入其重定向 流中时发生。 2 获取关联进程终止时指定的值。 关联进程终止时指定的代码。 The process has not exited.-or- The process is not valid. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 在进程退出时发生。 2 获取关联进程退出的时间。 ,它指示关联进程终止的时间。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 获取新的 组件并将其与当前活动的进程关联。 与运行调用应用程序的进程资源关联的新的 组件。 1 返回新的 组件(给定本地计算机上某个进程的标识符)。 一个与 参数标识的本地进程资源关联的 组件。 进程资源的系统唯一标识符。 The process specified by the parameter is not running.The identifier might be expired. The process was not started by this object. 1 返回新的 组件(给定进程标识符和网络中计算机的名称)。 一个与 参数标识的远程进程资源关联的 组件。 进程资源的系统唯一标识符。 网络上计算机的名称。 The process specified by the parameter is not running.The identifier might be expired.-or- The parameter syntax is invalid.The name might have length zero (0). The parameter is null. The process was not started by this object. 1 为本地计算机上的每个进程资源创建一个新的 组件。 类型的数组,它表示本地计算机上运行的所有进程资源。 1 为指定计算机上的每个进程资源创建一个新的 组件。 类型的数组,表示指定计算机上运行的所有进程资源。 从其中读取进程列表的计算机。 The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 创建新的 组件的数组,并将它们与本地计算机上共享指定的进程名称的所有进程资源关联。 类型的数组,表示运行指定应用程序或文件的进程资源。 该进程的友好名称。 There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. 1 创建新的 组件的数组,并将它们与远程计算机上共享指定进程名称的所有进程资源关联。 类型的数组,表示运行指定应用程序或文件的进程资源。 该进程的友好名称。 网络上计算机的名称。 The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 获取指示关联进程是否已终止的值。 如果 组件引用的操作系统进程已终止,则为 true;否则为 false。 There is no process associated with the object. The exit code for the process could not be retrieved. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 获取关联进程的唯一标识符。 实例引用的、由系统生成的进程的唯一标识符。 The process's property has not been set.-or- There is no process associated with this object. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. 1 立即停止关联的进程。 The associated process could not be terminated. -or-The process is terminating.-or- The associated process is a Win16 executable. You are attempting to call for a process that is running on a remote computer.The method is available only for processes running on the local computer. The process has already exited. -or-There is no process associated with this object. 1 使 组件离开允许它与以特殊模式运行的操作系统进程交互的状态。 2 获取关联进程正在其上运行的计算机的名称。 关联进程正在其上运行的计算机的名称。 There is no process associated with this object. 1 获取关联进程的主模块。 用于启动进程的 You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. A 32-bit process is trying to access the modules of a 64-bit process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not available.-or- The process has exited. 1 获取或设置关联进程的允许的最大工作集大小。 内存中允许的进程的最大工作集大小(以字节为单位)。 The maximum working set size is invalid.It must be greater than or equal to the minimum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 获取或设置关联进程的允许的最小工作集大小。 内存中进程所需的最小工作集大小(以字节为单位)。 The minimum working set size is invalid.It must be less than or equal to the maximum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 获取已由关联进程加载的模块。 类型的数组,它表示已由关联进程加载的模块。 You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. You are attempting to access the property for either the system process or the idle process.These processes do not have modules. 2 获取为关联的进程分配的非分页系统内存量。 为关联的进程分配的、不能写入虚拟内存分页文件中的系统内存量(以字节为单位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 引发 事件。 每次应用程序向其重定向 流中写入行时发生。 2 获取为关联的进程分配的分页内存量。 在虚拟内存分页文件中为关联进程分配的内存量(以字节为单位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 获取为关联进程分配的可分页系统内存量。 为可写入虚拟内存分页文件的关联内存分配的系统内存量(以字节为单位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 获取关联的进程使用的虚拟内存分页文件中的最大内存量。 从启动关联的进程以来在为虚拟内存分页文件中关联进程分配的最大内存量(以字节为单位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 获取关联进程使用的最大虚拟内存量。 从关联进程启动以来为关联进程分配的最大虚拟内存量(以字节为单位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 获取关联进程使用的最大物理内存量。 从启动关联进程以来为关联进程分配的最大物理内存量(以字节为单位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 获取或设置一个值,该值指示主窗口拥有焦点时是否应由操作系统暂时提升关联进程优先级。 如果进程离开等待状态时应动态提升进程优先级别,则为 true;否则为 false。默认值为 false。 Priority boost information could not be retrieved from the associated process resource. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. 1 获取或设置关联进程的总体优先级类别。 关联进程的优先级别类别,可从该类别计算进程的 Process priority information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. You have set the to AboveNormal or BelowNormal when using Windows 98 or Windows Millennium Edition (Windows Me).These platforms do not support those values for the priority class. Priority class cannot be set because it does not use a valid value, as defined in the enumeration. 1 获取为关联进程分配的专用内存量。 为关联进程分配的不能与其他进程共享的内存量(以字节为单位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 获取此进程的特权处理器时间。 ,它指示进程在操作系统内核中运行代码所用的时间。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 获取该进程的名称。 系统用以向用户标识该进程的名称。 The process does not have an identifier, or no process is associated with the .-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not on this computer. 1 获取或设置一些处理器,此进程中的线程可以按计划在这些处理器上运行。 位掩码,表示关联进程内的线程可以在其上运行的处理器。默认值取决于计算机上的处理器数。默认值为 2 n -1,其中 n 是处理器数。 information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process was not available.-or- The process has exited. 2 放弃已缓存到进程组件的关联仅存的任何相关信息。 1 获取此进程的本机句柄。 此进程的本机句柄。 获取关联进程的终端服务会话标识符。 关联进程的终端服务会话标识符。 There is no session associated with this process. There is no process associated with this session identifier.-or-The associated process is not on this machine. The property is not supported on Windows 98. 1 获取用于读取应用程序错误输出的流。 一个 ,可用于读取应用程序的标准错误流。 The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 获取用于写入应用程序输入的流。 ,可用于写入应用程序的标准输入流。 The stream has not been defined because is set to false. 1 获取用于读取应用程序文本输出的流。 ,可用于读取应用程序的标准输出流。 The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 启动(或重用)此 组件的 属性指定的进程资源,并将其与该组件关联。 如果启动了进程资源,则为 true;如果没有启动新的进程资源(例如,如果重用了现有进程),则为 false。 No file name was specified in the component's .-or- The member of the property is true while , , or is true. There was an error in opening the associated file. The process object has already been disposed. 1 启动由包含进程启动信息(例如,要启动的进程的文件名)的参数指定的进程资源,并将该资源与新的 组件关联。 一个与进程资源关联的新 ,如果未启动进程资源,则为 null。请注意,随着同一进程已在运行的实例启动的新进程将独立于其他进程。此外,启动可能返回一个 属性已设置为 true 的非 null 进程。在这种情况下,启动的进程可能已激活现有实例自身,然后退出。 ,包含用于启动进程的信息(包括文件名和任何命令行参数)。 No file name was specified in the parameter's property.-or- The property of the parameter is true and the , , or property is also true.-or-The property of the parameter is true and the property is not null or empty or the property is not null. The parameter is null. The process object has already been disposed. The file specified in the parameter's property could not be found. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." 1 通过指定文档或应用程序文件的名称来启动进程资源,并将资源与新的 组件关联。 一个与进程资源关联的新 ,如果未启动进程资源,则为 null。请注意,随着同一进程已在运行的实例启动的新进程将独立于其他进程。此外,启动可能返回一个 属性已设置为 true 的非 null 进程。在这种情况下,启动的进程可能已激活现有实例自身,然后退出。 要在进程中运行的文档或应用程序文件的名称。 An error occurred when opening the associated file. The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 通过指定应用程序的名称和一组命令行参数来启动一个进程资源,并将该资源与新的 组件相关联。 一个与进程资源关联的新 ,如果未启动进程资源,则为 null。请注意,随着同一进程已在运行的实例启动的新进程将独立于其他进程。此外,启动可能返回一个 属性已设置为 true 的非 null 进程。在这种情况下,启动的进程可能已激活现有实例自身,然后退出。 要在进程中运行的应用程序文件的名称。 启动该进程时传递的命令行参数。 The or parameter is null. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 通过指定应用程序的名称、用户名、密码和域来启动一个进程资源,并将该资源与新的 组件关联起来。 一个与进程资源关联的新 ,如果未启动进程资源,则为 null。请注意,随着同一进程已在运行的实例启动的新进程将独立于其他进程。此外,启动可能返回一个 属性已设置为 true 的非 null 进程。在这种情况下,启动的进程可能已激活现有实例自身,然后退出。 要在进程中运行的应用程序文件的名称。 启动进程时使用的用户名。 一个 ,它包含启动进程时要使用的密码。 启动进程时要使用的域。 No file name was specified. is not an executable (.exe) file. There was an error in opening the associated file. The process object has already been disposed. 1 通过指定应用程序的名称、一组命令行参数、用户名、密码和域来启动一个进程资源,并将该资源与新的 组件关联起来。 一个与进程资源关联的新 ,如果未启动进程资源,则为 null。请注意,随着同一进程已在运行的实例启动的新进程将独立于其他进程。此外,启动可能返回一个 属性已设置为 true 的非 null 进程。在这种情况下,启动的进程可能已激活现有实例自身,然后退出。 要在进程中运行的应用程序文件的名称。 启动该进程时传递的命令行参数。 启动进程时使用的用户名。 一个 ,它包含启动进程时要使用的密码。 启动进程时要使用的域。 No file name was specified. is not an executable (.exe) file. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. 1 获取或设置要传递给 方法的属性。 ,它表示启动该进程时要使用的数据。这些参数包括用于启动该进程的可执行文件或文档的名称。 The value that specifies the is null. 1 获取关联进程启动的时间。 指示进程启动的时间的对象。如果进程未运行,将会引发异常。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process has exited.-or-The process has not been started. An error occurred in the call to the Windows function. 1 获取在关联进程中运行的一组线程。 类型的数组,它表示当前在关联进程中运行的操作系统线程。 The process does not have an , or no process is associated with the instance.-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. 1 获取此进程的总的处理器时间。 ,它指示关联进程使用 CPU 的时间。此值是 的和。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 获取此进程的用户处理器时间。 ,它指示关联进程在该进程的应用程序部分内(而不是在操作系统内核中)运行代码所用的时间。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 获取为关联进程分配的虚拟内存量。 为关联进程分配的虚拟内存量(以字节为单位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 指示 组件无限期地等待关联进程退出。 The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 指示 组件在指定的毫秒数内等待关联进程退出。 如果关联进程已退出,则为 true;否则为 false。 等待关联进程退出的时间(以毫秒为单位)。最大值为 32 位整数的最大可能值,这对于操作系统而言表示无限大。 The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 获取为关联进程分配的物理内存量。 为关的进程分配的物理内存量(以字节为单位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 表示加载到特定进程中的 .dll 或 .exe 文件。 2 获取加载模块的内存地址。 模块的加载地址。 2 获取在系统加载和运行模块时运行的函数的内存地址。 模块的入口点。 2 获取模块的完整路径。 定义模块位置的完全限定路径。 2 获取加载模块所需内存量。 模块占用的内存大小(以字节为单位)。 2 获取进程模块的名称。 模块的名称。 2 将模块的名称转换为字符串。 属性的值。 2 提供 对象的强类型集合。 2 在没有关联的 实例的情况下,初始化 类的新实例。 使用指定的 实例数组来初始化 类的新实例。 用来初始化该 实例的 实例的数组。 确定集合中是否存在指定的进程模块。 如果集合中存在该模块,则为 true;否则为 false。 一个 实例,它指示要该集合中查找的模块。 2 实例的数组复制到集合的指定索引处。 要添加到集合的 实例的数组。 要添加新实例的位置。 2 提供指定模块在集合中的位置。 从零开始的索引,它定义模块在 中的位置。 检索其索引的 2 获取用于循环访问进程模块集的索引。 一个 ,它对集合中的模块进行索引 集合中该模块的从零开始的索引值。 2 指示系统将与进程关联的优先级。此值与进程的每个线程的优先级值一起来确定每个线程的基本优先级别。 2 指定进程的优先级在 Normal 之上,但在 之下。 指定进程的优先级在 Idle 之上,但在 Normal 之下。 指定进程执行必须立即执行的时间关键任务,如 Task List 对话框,不管操作系统的负荷如何,用户调用该对话框后均必须迅速响应。该进程的线程优先于普通或空闲优先级类进程的线程。 指定此进程的线程只能在系统空闲时运行,如屏幕保护程序。更高优先级类中运行的任何进程的线程都优先于此进程的线程。 指定进程没有特殊的安排需求。 指定进程拥有可能的最高优先级。 指定启动进程时使用的一组值。 2 初始化 类的新实例,而不指定启动进程时使用的文件名。 初始化 类的新实例,并指定启动进程时使用的诸如应用程序或文档的文件名。 启动进程时使用的应用程序或文档。 初始化 类的新实例,指定启动该进程时使用的应用程序文件名以及要传递给该应用程序的一组命令行参数。 启动进程时使用的应用程序。 进程启动时要传递给应用程序的命令行参数。 获取或设置启动应用程序时要使用的一组命令行参数。 单个字符串包含要传递给在 属性中指定的目标应用程序的参数。默认值为空字符串 ("")。在 Windows Vista 和早期的 Windows 操作系统上,添加至进程全径的长度的参数长度必须小于 2080。在 Windows 7 和更高版本,此长度必须小于 32699。参数由目标应用程序进行分析和解释,因此必须与该应用程序的预期保持一致。对于以下示例中所演示的 .NET 的应用程序,空格被解释为多个参数之间的分隔符。包含空格的单个参数必须用引号引起来,但这些引号不会传递到目标应用程序。在包括引号在内的最终已分析的参数中,每个标记均会进行三重转义。 1 获取或设置指示是否在新窗口中启动该进程的值。 如果应启动该进程而不创建包含它的新窗口,则为 true;否则为 false。默认值为 false。 2 获取或设置一个值,该值标识要在启动进程时使用的域。 要在启动进程时使用的 Active Directory 域。域属性主要与使用 Active Directory 的企业级环境内的用户相关。 1 获取或设置要启动的应用程序或文档。 要启动的应用程序的名称或某文件类型的文档的名称,该文件类型与应用程序关联并且拥有可用的默认打开操作。默认值为空字符串 ("")。 1 获取或设置一个值,该值指示是否从注册表加载 Windows 用户配置文件。 如果应加载 Windows 用户概况,则为 true;否则为 false。默认值为 false。 1 获取或设置一个安全字符串,其中包含要在启动进程时使用的用户密码。 启动进程时使用的用户密码。 1 获取或设置一个值,该值指示是否将应用程序的错误输出写入 流中。 如果错误输出应写入 ,则为 true;否则为 false。默认值为 false。 2 获取或设置一个值,该值指示应用程序的输入是否从 流中读取。 如果应从 读取输入,则为 true;否则为 false。默认值为 false。 2 获取或设置一个值,该值指示是否将应用程序的输出写入 流中。 如果输出应写入 ,则为 true;否则为 false。默认值为 false。 2 获取或设置错误输出的首选编码。 一个对象,表示错误输出的首选编码。默认值为 null。 获取或设置标准输出的首选编码。 一个对象,表示标准输出的首选编码。默认值为 null。 获取或设置在启动进程时使用的用户名。 启动进程时使用的用户名。 1 获取或设置一个值,该值指示是否使用操作系统 shell 启动进程。 如果应在启动进程时使用 shell,则为 true;如果直接从可执行文件创建进程,则为 false。默认值为 true。 2 属性为 false 时,将获取或设置要启动的进程的工作目录。当 为 true 时,获取或设置包含要启动的进程的目录。 为 true 时,是包含要启动的进程的目录的完全限定名。当 属性为 false 时,则为要启动的进程的工作目录。默认值为空字符串 ("")。 1 表示操作系统进程线程。 2 获取线程的基本优先级。 线程的基本优先级,它由操作系统通过将进程优先级类与关联线程的优先级别相结合进行计算。 2 获取线程的当前优先级。 线程的当前优先级,可根据操作系统如何安排该线程而偏离基本优先级。可为活动线程暂时提升优先级。 2 获取线程的唯一标识符。 与指定线程关联的唯一标识符。 2 设置让此线程在其上运行的首选处理器。 线程的首选处理器,用来在系统安排线程时确定在哪个处理器上运行线程。 系统未能设置线程在指定的处理器上启动。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 获取或设置一个值,该值指示每当关联线程的进程主窗口接收焦点时,操作系统是否暂时提升该线程的优先级。 若要在用户与进程的界面交互时提升线程的优先级,则为 true;否则为 false。默认值为 false。 未能检索到优先级提升信息。- 或 -未能设置优先级提升信息。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 获取或设置线程的优先级别。 值之一,它指定限制线程优先级的范围。 未能检索到线程优先级别信息。- 或 -未能设置线程优先级别。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 获取线程在操作系统内核中运行代码所用的时间。 ,它指示线程在操作系统内核中运行代码所用的时间。 未能检索到线程时间。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 设置关联线程可以在其上运行的处理器。 指向一组位的 ,每个位表示该线程可在其上运行的一个处理器。 未能设置处理器关联。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 重置此线程的理想处理器,以指示没有单个的理想处理器。换言之,任何处理器都是理想处理器。 未能重置理想处理器。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 获取操作系统调用的、启动此线程的函数的内存地址。 线程的起始地址,它指向线程执行的应用程序定义的函数。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 获取操作系统启动该线程的时间。 ,它表示操作系统启动该线程时系统上的时间。 未能检索到线程时间。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 获取此线程的当前状态。 指示线程执行情况的 (例如运行、等待或终止)。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 获取此线程使用处理器的时间总量。 ,它指示线程控制处理器的时间。 未能检索到线程时间。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 获取关联的线程在应用程序内运行代码所用的时间。 ,它指示线程在应用程序内(相对于在操作系统内核中)运行代码所用的时间。 未能检索到线程时间。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 获取线程等待的原因。 一个 ,表示线程处于等待状态的原因。 线程不在等待状态。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 提供 对象的强类型集合。 2 在没有关联的 实例的情况下,初始化 类的新实例。 使用指定的 实例数组来初始化 类的新实例。 用来初始化该 实例的 实例的数组。 将进程线程附加到集合。 集合中线程的从零开始的索引。 要添加到集合中的线程。 2 确定集合中是否存在指定的进程线程。 如果集合中存在该线程,则为 true;否则为 false。 一个 实例,它指示要在该集合中查找的线程。 2 实例的数组复制到集合的指定索引处。 要添加到集合的 实例的数组。 要添加新实例的位置。 2 提供指定线程在集合中的位置。 从零开始的索引,它定义线程在 中的位置。 检索其索引的 2 在集合中的指定位置插入进程线程。 从零开始的索引,指示插入线程的位置。 要插入到集合中的线程。 2 获取用于循环访问进程线程集的索引。 一个 ,它对集合中的线程进行索引。 集合中该值的从零开始的索引。 2 从集合中删除进程线程。 要从该集合中移除的线程。 2 指定线程的优先级别。 2 指定的优先级比关联的 的普通优先级高一级。 指定的优先级比关联的 的普通优先级低一级。 指定最高优先级。这比关联的 的普通优先级高两级。 指定空闲优先级。它是所有线程的可能的最低优先级值,与关联的 的值无关。 指定最低优先级。这比关联的 的普通优先级低两级。 指定关联的 的普通优先级。 指定时间关键优先级。这是所有线程中的最高优先级,与关联的 的值无关。 指定线程的当前执行状态。 1 此状态指示线程已初始化但尚未启动。 此状态指示线程因无可用的处理器而等待使用处理器。线程准备在下一个可用的处理器上运行。 此状态指示线程当前正在使用处理器。 此状态指示线程将要使用处理器。一次只能有一个线程处于此状态。 此状态指示线程已完成执行并已退出。 此状态指示线程在可以执行前等待处理器之外的资源。例如,它可能正在等待其执行堆栈从磁盘中分页。 线程的状态未知。 此状态指示线程尚未准备好使用处理器,因为它正在等待外围操作完成或等待资源释放。当线程就绪后,将对其进行重排。 指定线程等待的原因。 2 线程正在等待事件对高。 线程正在等待事件对低。 线程执行延迟。 线程正在等待计划程序。 线程正在等待可用的虚拟内存页。 线程正在等待本地过程调用到达。 线程正在等待对本地过程调用的回复到达。 线程正在等待虚拟内存页到达内存。 线程正在等待虚拟内存页写入磁盘。 线程执行暂停。 线程正在等待系统分配。 线程正在因未知原因而等待。 线程正在等待用户请求。 线程正在等待系统分配虚拟内存。 ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/netstandard1.3/zh-hant/System.Diagnostics.Process.xml ================================================  System.Diagnostics.Process [安全性關鍵] 提供處理序控制代碼的 Managed 包裝函式。 [安全性關鍵] 初始化的新執行個體從指定的控制代碼,指出是否要在完成階段期間釋放控制代碼的類別。 要被包裝的控制代碼。 true若要可靠地讓放開最終處理階段中,控點否則, false。 事件提供資料。 2 取得已寫入至重新導向 輸出資料流的字元行。 由關聯的 寫入至其重新導向的 資料流的字行。 2 表示將處理 事件或 事件的方法。 事件的來源。 包含事件資料的 2 提供對本機和遠端處理序的存取,並讓您能夠啟動和停止本機系統處理序。若要瀏覽此類型的 .NET Framework 原始程式碼,請參閱參考來源。 1 初始化 類別的新執行個體。 取得相關處理序的基礎優先權 (Base Priority)。 基礎優先權,它是從相關聯處理序的 計算出來的。 The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. The process has exited.-or- The process has not started, so there is no process ID. 2 在應用程式的重新導向 資料流上開始非同步讀取作業。 The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 在應用程式的重新導向 資料流上開始非同步讀取作業。 The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 在應用程式的重新導向 資料流上取消非同步讀取作業。 The stream is not enabled for asynchronous read operations. 2 在應用程式的重新導向 資料流上取消非同步讀取作業。 The stream is not enabled for asynchronous read operations. 2 釋放這個處理序使用的所有資源。 true 表示釋放 Managed 和 Unmanaged 資源,false 則表示只釋放 Unmanaged 資源。 取得或設定是否應該在處理序終止時引發 事件。 如果應該在相關聯處理序終止時引發 事件 (經由結束或呼叫 ),則為 true,否則為 false。預設為 false。 2 啟用目前執行緒上的原生屬性 SeDebugPrivilege,將 元件置於某種狀態,以便與使用特殊模式執行的作業系統處理序互動。 2 發生於應用程式寫入至其重新導向的 資料流時。 2 取得相關處理序終止時指定的值。 相關處理序終止時指定的程式碼。 The process has not exited.-or- The process is not valid. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 發生於處理序結束時。 2 取得相關的處理序結束的時間。 ,表示相關聯處理序何時終止。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 取得新的 元件,並將其與目前現用處理序相關聯。 新的 元件,與正在執行呼叫應用程式的處理序資源相關聯。 1 傳回新的 元件,需指定本機電腦上的處理序識別項。 元件,與 參數所識別的本機處理序資源相關聯。 處理序資源的系統唯一識別項。 The process specified by the parameter is not running.The identifier might be expired. The process was not started by this object. 1 傳回新的 元件,需指定網路上電腦的處理序識別項和名稱。 元件,與 參數所識別的遠端處理序資源相關聯。 處理序資源的系統唯一識別項。 網路上的電腦名稱。 The process specified by the parameter is not running.The identifier might be expired.-or- The parameter syntax is invalid.The name might have length zero (0). The parameter is null. The process was not started by this object. 1 為本機電腦上的每個處理序資源建立新的 元件。 類型的陣列,代表正在本機電腦上執行的所有處理序資源。 1 為指定電腦上的每個處理序資源建立新的 元件。 類型的陣列,代表正在指定的電腦上執行的所有處理序資源。 要讀取處理序清單的電腦。 The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 建立新 元件的陣列,並將其與本機電腦上共用指定處理序名稱的所有處理序資源相關聯。 類型的陣列,代表正在執行指定的應用程式或檔案的處理序資源。 處理序的易記名稱。 There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. 1 建立新 元件的陣列,並將其與遠端電腦上共用指定處理序名稱的所有處理序資源相關聯。 類型的陣列,代表正在執行指定的應用程式或檔案的處理序資源。 處理序的易記名稱。 網路上的電腦名稱。 The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 取得值,指出相關的處理序是否已經終止。 如果 元件所參考的作業系統處理序已終止,則為 true,否則為 false。 There is no process associated with the object. The exit code for the process could not be retrieved. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 取得相關處理序的唯一識別項。 這個 執行個體所參考的處理序之系統產生的唯一識別項。 The process's property has not been set.-or- There is no process associated with this object. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. 1 立即停止相關的處理序。 The associated process could not be terminated. -or-The process is terminating.-or- The associated process is a Win16 executable. You are attempting to call for a process that is running on a remote computer.The method is available only for processes running on the local computer. The process has already exited. -or-There is no process associated with this object. 1 元件離開可與使用特殊模式執行的作業系統處理序互動的狀態。 2 取得相關處理序正在執行的所在電腦的名稱。 相關處理序正在執行的所在電腦的名稱。 There is no process associated with this object. 1 取得相關處理序的主要模組。 ,用來啟動處理序。 You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. A 32-bit process is trying to access the modules of a 64-bit process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not available.-or- The process has exited. 1 取得或設定相關處理序的允許工作集 (Working Set) 大小的上限。 處理序所需記憶體中工作集大小的最大值,以位元組 (Byte) 為單位。 The maximum working set size is invalid.It must be greater than or equal to the minimum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 取得或設定相關處理序的最小允許工作集大小。 處理序所需記憶體中工作集大小的最小值,以位元組 (Byte) 為單位。 The minimum working set size is invalid.It must be less than or equal to the maximum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 取得相關的處理序所載入的模組。 類型的陣列,代表相關聯處理序所載入的模組。 You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. You are attempting to access the property for either the system process or the idle process.These processes do not have modules. 2 取得配置給關聯處理序的未分頁系統記憶體量。 配置給關聯處理序的系統記憶體量 (以位元組為單位),不能寫入虛擬記憶體分頁檔案。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 引發 事件。 發生於應用程式將某行寫入至其重新導向的 資料流時。 2 取得配置給關聯處理序的分頁記憶體量。 虛擬記憶體分頁檔案中,配置給關聯處理序的記憶體量 (以位元組為單位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 取得配置給關聯處理序的可分頁系統記憶體量。 配置給關聯處理序的系統記憶體量 (以位元組為單位),可以寫入虛擬記憶體分頁檔案。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 取得關聯處理序所使用之虛擬記憶體分頁檔的最大記憶體量。 虛擬記憶體分頁檔案中,從啟動以來配置給關聯處理序的最大記憶體量 (以位元組為單位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 取得關聯處理序所使用的最大虛擬記憶體量。 從啟動以來配置給關聯處理序的最大虛擬記憶體量 (以位元組為單位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 取得關聯處理序所使用最大實體記憶體量。 從啟動以來配置給關聯處理序的最大實體記憶體量 (以位元組為單位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 取得或設定值,指出作業系統是否應該在主視窗有焦點 (Focus) 時,暫時提高相關的處理序優先權。 當處理序離開等候狀態時,如果應動態提高處理序優先權,則為 true,否則為 false。預設為 false。 Priority boost information could not be retrieved from the associated process resource. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. 1 取得或設定相關處理序的整體優先權分類。 相關聯處理序的優先權分類,處理序的 由此計算出來。 Process priority information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. You have set the to AboveNormal or BelowNormal when using Windows 98 or Windows Millennium Edition (Windows Me).These platforms do not support those values for the priority class. Priority class cannot be set because it does not use a valid value, as defined in the enumeration. 1 取得配置給關聯處理序的私用記憶體量。 配置給關聯處理序的記憶體量 (以位元組為單位),不能與其他處理序共用。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 取得這個處理序使用處理器的授權時間。 ,表示處理序在作業系統核心內執行程式碼所花費的時間。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 取得處理序的名稱。 名稱,系統用來向使用者識別處理序。 The process does not have an identifier, or no process is associated with the .-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not on this computer. 1 取得或設定處理器,這個處理序中的執行緒可以在其上排程執行。 位元遮罩,表示相關的處理序中的執行緒可以在其上執行的處理器。預設值取決於電腦上的處理器數目。預設值為 2 n -1,其中的 n 是處理器的數目。 information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process was not available.-or- The process has exited. 2 捨棄快取於處理序元件內之相關處理序的任何資訊。 1 取得這個處理序的原生控制代碼。 這個處理序的原生控制代碼。 取得相關處理序的終端機服務工作階段識別項。 相關處理序的終端機服務工作階段識別項。 There is no session associated with this process. There is no process associated with this session identifier.-or-The associated process is not on this machine. The property is not supported on Windows 98. 1 取得用來讀取應用程式錯誤輸出的資料流。 ,可用來讀取應用程式的標準錯誤資料流。 The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 取得用來寫入應用程式輸入的資料流。 ,可用來寫入應用程式的標準輸入資料流。 The stream has not been defined because is set to false. 1 取得用來讀取應用程式文字輸出的資料流。 ,可用來讀取應用程式的標準輸出資料流。 The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 啟動 (或重複使用) 這個 元件的 屬性指定的處理序資源,並將其與元件相關聯。 如果啟動處理序資源,則為 true;如果沒有啟動任何新的處理序資源 (例如,如果重複使用現有的處理序),則為 false。 No file name was specified in the component's .-or- The member of the property is true while , , or is true. There was an error in opening the associated file. The process object has already been disposed. 1 啟動含有處理序啟動資訊 (例如,要啟動之處理序的檔名) 的參數所指定的處理序資源,並將該資源與新的 元件相關聯。 與處理程序資源關聯的新 ,或者是 null (若未啟動任何處理程序資源)。請注意,隨著已在執行中之相同處理程序啟動的新處理程序將獨立於其他處理程序之外。此外,啟動可能會傳回非空值處理程序,且其 屬性會設定為 true。在此案例中,已啟動的處理程序可能已啟用本身的現有執行個體並結束。 ,包含用來啟動處理序的資訊,包括檔名和任何命令列引數。 No file name was specified in the parameter's property.-or- The property of the parameter is true and the , , or property is also true.-or-The property of the parameter is true and the property is not null or empty or the property is not null. The parameter is null. The process object has already been disposed. The file specified in the parameter's property could not be found. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." 1 藉由指定文件或應用程式檔案的名稱啟動處理序資源,並將該資源與新的 元件相關聯。 與處理程序資源關聯的新 ,或者是 null (若未啟動任何處理程序資源)。請注意,隨著已在執行中之相同處理程序啟動的新處理程序將獨立於其他處理程序之外。此外,啟動可能會傳回非空值處理程序,且其 屬性會設定為 true。在此案例中,已啟動的處理程序可能已啟用本身的現有執行個體並結束。 要在處理序中執行之文件或應用程式檔案的名稱。 An error occurred when opening the associated file. The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 藉由指定應用程式的名稱和一組命令列引數來啟動處理序資源,並將該資源與新的 元件相關聯。 與處理程序資源關聯的新 ,或者是 null (若未啟動任何處理程序資源)。請注意,隨著已在執行中之相同處理程序啟動的新處理程序將獨立於其他處理程序之外。此外,啟動可能會傳回非空值處理程序,且其 屬性會設定為 true。在此案例中,已啟動的處理程序可能已啟用本身的現有執行個體並結束。 要在處理序中執行之應用程式檔案的名稱。 啟動處理程序時要傳遞的命令列引數。 The or parameter is null. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 藉由指定應用程式的名稱、使用者名稱、密碼和網域來啟動處理序資源,並將該資源與新的 元件相關聯。 與處理程序資源關聯的新 ,或者是 null (若未啟動任何處理程序資源)。請注意,隨著已在執行中之相同處理程序啟動的新處理程序將獨立於其他處理程序之外。此外,啟動可能會傳回非空值處理程序,且其 屬性會設定為 true。在此案例中,已啟動的處理程序可能已啟用本身的現有執行個體並結束。 要在處理序中執行之應用程式檔案的名稱。 要在啟動處理序時使用的使用者名稱。 ,包含啟動處理序時要使用的密碼。 要在啟動處理序時使用的網域。 No file name was specified. is not an executable (.exe) file. There was an error in opening the associated file. The process object has already been disposed. 1 藉由指定應用程式的名稱、一組命令列引數、使用者名稱、密碼和網域來啟動處理序資源,並將該資源與新的 元件相關聯。 與處理程序資源關聯的新 ,或者是 null (若未啟動任何處理程序資源)。請注意,隨著已在執行中之相同處理程序啟動的新處理程序將獨立於其他處理程序之外。此外,啟動可能會傳回非空值處理程序,且其 屬性會設定為 true。在此案例中,已啟動的處理程序可能已啟用本身的現有執行個體並結束。 要在處理序中執行之應用程式檔案的名稱。 啟動處理程序時要傳遞的命令列引數。 要在啟動處理序時使用的使用者名稱。 ,包含啟動處理序時要使用的密碼。 要在啟動處理序時使用的網域。 No file name was specified. is not an executable (.exe) file. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. 1 取得或設定要傳遞給 方法的屬性。 ,代表用來啟動處理序的資料。這些引數包括用來啟動處理序的可執行檔或文件的名稱。 The value that specifies the is null. 1 取得相關的處理序啟動的時間。 物件,指出處理序何時啟動。如果處理序並未執行,則會擲回例外狀況。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process has exited.-or-The process has not been started. An error occurred in the call to the Windows function. 1 取得正在相關的處理序中執行的執行緒集。 類型的陣列,代表目前正在相關聯處理序中執行的作業系統執行緒。 The process does not have an , or no process is associated with the instance.-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. 1 取得這個處理序的總處理器時間。 ,表示相關聯處理序花在使用 CPU 的時間。這個值是 的總和。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 取得這個處理序的使用者處理器時間。 ,表示相關聯處理序花在處理序的應用程式部分內 (而不是在作業系統核心內) 執行程式碼的時間。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 取得配置給關聯處理序的虛擬記憶體量。 配置給關聯處理序的虛擬記憶體量,以位元組為單位。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 指示 元件無限期等候相關聯處理序結束。 The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 指示 元件等候相關聯處理序結束的指定毫秒數。 如果相關聯處理序已結束,則為 true,否則為 false。 等候相關的處理序結束的時間量,以毫秒計算。最大值是 32 位元整數的最大可能值,對作業系統來說,這表示無限。 The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 取得配置給關聯處理序的實體記憶體量。 配置給關聯處理序的實體記憶體量,以位元組為單位。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 表示載入至特定處理序的 .dll 或 .exe 檔。 2 取得模組載入的記憶體位址。 模組的載入位址。 2 取得系統載入和執行模組時所執行的函式記憶體位址。 模組的進入點 (Entry Point)。 2 取得通往模組的完整路徑。 完整路徑,定義模組的位置。 2 取得載入模組所需的記憶體數量。 模組所佔有的記憶體大小 (以位元組為單位)。 2 取得處理序模組的名稱。 模組名稱。 2 將模組名稱轉換為字串。 屬性的值。 2 提供 物件的強型別 (Strongly Typed) 集合。 2 不使用相關的 執行個體,初始化 類別的新執行個體。 使用 執行個體指定的陣列,初始化 類別的新執行個體。 執行個體的陣列,用來初始化這個 執行個體。 判斷指定的處理序模組是否在集合中。 如果模組在集合中,則為 true,否則為 false。 執行個體,表示要在這個集合中搜尋的模組。 2 執行個體的陣列複製至集合的指定索引位置。 要加入至集合的 執行個體的陣列。 要加入新執行個體的所在位置。 2 提供指定模組在集合中的位置。 以零起始的索引,定義模組在 中的位置。 ,其索引已擷取。 2 取得逐一查看處理序 (Process) 模組集的索引。 ,建立集合的模組索引。 集合中模組的以零起始的索引值。 2 表示系統與處理序 (Process) 關聯的優先權。這個值與處理序每個執行緒的優先權值會判斷每個執行緒的基礎優先權層級。 2 指定處理序具有高於 Normal 但低於 的優先權。 指定處理序具有高於 Idle 但低於 Normal 的優先權。 指定處理序執行必須立即執行的時間緊急工作,例如 Task List 對話方塊,而這項工作必須在使用者呼叫時迅速回應,而不管作業系統上的載入。該處理序的執行緒會優先於正常或閒置優先權類別處理序的執行緒。 指定這個處理序的執行緒只於系統閒置時執行,例如螢幕保護程式。該處理序之執行緒會由任何具有較高優先權類別的處理序之執行緒優先佔用。 指定處理序不需特別的排程。 指定處理序具有最高的可能優先權。 指定一組啟動處理序時所使用的值。 2 不指定用來啟動處理序的檔案名稱,初始化 類別的新執行個體。 初始化 類別的新執行個體,並指定用來啟動處理序的檔案名稱 (例如應用程式或文件)。 用來啟動處理序的應用程式或文件。 初始化 類別的新執行個體,並指定用來啟動處理序的應用程式檔案名稱,以及指定要傳遞至應用程式的命令列引數集。 用來啟動處理序的應用程式。 要在處理序啟動時傳遞至應用程式的命令列引數。 取得或設定啟動應用程式時要使用的命令列引數集。 單一字串,包含要傳遞至 屬性中所指定之目標應用程式的引數。預設為空字串 ("")。在 Windows Vista 及較早版本的 Windows 作業系統上,加入處理序之完整路徑長度的引數長度必須小於 2080。在 Windows 7 及更新版本中,長度必須小於 32699。引數會由目標應用程式剖析及解譯,因此必須配合該應用程式的期望。針對下列範例所示的 .NET 應用程式,空格會解譯為多個引數之間的分隔符號。您必須以引號括住含有空格的單一引數,但這些引號不會傳送至目標應用程式。在最後剖析之引數所包含的引號中,三重逸出 (Triple-Escape) 每個標記。 1 取得或設定值,表示是否要在新視窗中啟動處理序。 如果應該啟動處理序而不建立要包含處理序的新視窗,則為 true,否則為 false。預設為 false。 2 取得或設定值,識別在啟動處理序時要使用的網域。 啟動處理序時要使用的 Active Directory 網域。網域屬性主要是對使用 Active Directory 之企業環境內的使用者有利。 1 取得或設定要啟動的應用程式或文件。 要啟動的應用程式名稱,或是與應用程式相關聯且具有可用預設開啟動作之檔案類型的文件名稱。預設為空字串 ("")。 1 取得或設定值,表示是否要從登錄載入 Windows 使用者設定檔。 如果應該載入 Windows 使用者設定檔,則為 true,否則為 false。預設為 false。 1 取得或設定安全字串,其中包含啟動處理序時要使用的使用者密碼。 要在啟動處理序時使用的使用者密碼。 1 取得或設定值,表示應用程式的錯誤輸出是否寫入至 資料流。 如果錯誤輸出應該寫入至 ,則為 true,否則為 false。預設為 false。 2 取得或設定值,表示應用程式的輸入是否從 資料流讀取。 如果應該從 讀取輸入,則為 true,否則為false。預設為 false。 2 取得或設定值,表示應用程式的文字輸出是否寫入至 資料流。 如果輸出應該寫入至 ,則為 true,否則為 false。預設為 false。 2 取得或設定錯誤輸出的慣用編碼。 物件,代表錯誤輸出的慣用編碼。預設為 null。 取得或設定標準輸出的慣用編碼。 物件,代表標準輸出的慣用編碼。預設為 null。 取得或設定要在啟動處理序時使用的使用者名稱。 要在啟動處理序時使用的使用者名稱。 1 取得或設定值,表示是否要使用作業系統 Shell 來啟動處理序。 如果在啟動處理序時使用 Shell,則為 true;如果處理序應直接從可執行檔建立,則為 false。預設為 true。 2 屬性為 false 時,取得或設定要啟動之處理序的工作目錄。當 為 true 時,取得或設定包含要啟動之處理序的目錄。 如果 為 true,則為包含要啟動之處理序的目錄完整名稱。當 屬性為 false 時,則為要啟動之處理序的工作目錄。預設為空字串 ("")。 1 表示作業系統處理序 (Process) 執行緒。 2 取得執行緒的基礎優先權 (Base Priority)。 執行緒的基礎優先權,由作業系統結合處理序的優先權類別和相關執行緒的優先權層級計算所得。 2 取得執行緒的目前優先權。 執行緒目前的優先權,可能與基礎優先權 (根據作業系統如何排程執行緒) 不符合。針對作用中的執行緒,可能暫時提高優先權。 2 取得執行緒的唯一識別項。 與特定執行緒相關的唯一識別項。 2 設定執行這個執行緒的慣用處理器。 執行緒的慣用處理器,用於系統排程執行緒時,以判斷執行執行緒所在的處理器。 系統無法設定在指定的處理器上啟動執行緒。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 取得或設定數值,表示每當執行緒的處理序之主視窗接收到焦點 (Focus) 時,作業系統是否應該暫時提高相關執行緒的優先權。 若要在使用者與處理序的介面互動時,提高執行緒的優先權,則為 true,否則為 false。預設為 false。 無法擷取優先權提高資訊。-或-無法設定優先權提高資訊。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 取得或設定執行緒的優先權層級。 其中一個 值,指定限定執行緒優先權的範圍。 無法擷取執行緒優先權層級資訊。-或-無法設定執行緒優先權層級。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 取得執行緒在作業系統核心中執行程式碼所耗用的時間量。 ,表示執行緒在作業系統核心中執行程式碼所耗用的時間量。 無法擷取執行緒時間。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 設定可以執行相關執行緒的處理器。 指向一組位元的 ,其中每個位元表示執行緒可以在其上執行的處理器。 處理序相似性不能被設定。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 重設這個執行緒的理想處理器,以指示沒有一個的理想處理器。換句話說,沒有任何處理器是理想的。 無法重設理想處理器。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 取得作業系統啟動這個執行緒所呼叫之函式的記憶體位址。 執行緒的起始位址,指向執行緒執行之應用程式定義的函式。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 取得作業系統啟動執行緒的時間。 ,表示當作業系統啟動執行緒時的系統時間。 無法擷取執行緒時間。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 取得這個執行緒目前的狀態。 ,表示執行緒的執行,例如,執行中、等候中或終止。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 取得這個執行緒使用處理器所耗用的總時間量。 ,表示執行緒已控制處理器的時間量。 無法擷取執行緒時間。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 取得相關執行緒在應用程式內部執行程式碼所耗用的時間量。 ,表示執行緒在應用程式內部 (相對於在作業系統核心中) 執行程式碼所耗用的時間量。 無法擷取執行緒時間。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 取得執行緒正在等候的原因。 ,表示執行緒在等候狀態的原因。 執行緒不在等候狀態。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 提供 物件的強型別 (Strongly Typed) 集合。 2 不使用相關的 執行個體,初始化 類別的新執行個體。 使用 執行個體指定的陣列,初始化 類別的新執行個體。 執行個體的陣列,用來初始化這個 執行個體。 將處理序執行緒附加至集合。 集合中執行緒之以零起始的索引。 要加入至集合的執行緒。 2 判斷指定的處理序執行緒是否在集合中。 如果執行緒在集合中,則為 true,否則為 false。 執行個體,表示要在這個集合中搜尋的執行緒。 2 執行個體的陣列複製至集合的指定索引位置。 要加入至集合的 執行個體的陣列。 要加入新執行個體的所在位置。 2 提供指定執行緒在集合中的位置。 以零起始的索引,定義執行緒在 中的位置。 ,其索引已擷取。 2 將處理序執行緒插入於集合中的指定位置。 以零起始的索引,表示要插入執行緒的所在位置。 要插入至集合的執行緒。 2 取得逐一查看處理序 (Process) 執行緒集的索引。 ,建立集合的執行緒索引。 集合中執行緒的以零起始的索引值。 2 從集合刪除處理序執行緒。 要從集合移除的執行緒。 2 指定執行緒的優先權層級。 2 指定相關 的高於一般優先權一級的優先權。 指定相關 的低於一般優先權一級的優先權。 指定最高優先權。這是相關 的高於一般優先權兩級的優先權。 指定閒置優先權。這是所有執行緒的最低可能優先權值,與相關 的值無關。 指定最低優先權。這是相關 的低於一般優先權兩級的優先權。 指定相關 的一般優先權。 指定時間關鍵 (Time Critical) 優先權。這是所有執行緒的最高優先權,與相關 的值無關。 指定執行緒的目前執行狀態。 1 指示執行緒已經初始化,但尚未啟動的狀態。 該狀態指示沒有可用的處理器,所以執行緒正在等待以使用處理器。執行緒準備在下一個可用的處理器上執行。 該狀態指示執行緒目前正在使用處理器。 該狀態指示執行緒正要使用處理器。一次只能有一個執行緒可以處於這個狀態。 該狀態指示執行緒已經執行完成並離開。 該狀態指示執行緒在可以執行之前正在等待資源,而不是等待處理器。例如,它可能正在等待其執行堆疊從磁碟分頁進來。 執行緒的狀態不明。 該狀態指示執行緒尚未準備使用處理器,因為它正在等待要完成的週邊作業或可以使用的資源。執行緒會在備妥時重新排程。 指定執行緒正在等待的原因。 2 執行緒正在等待 Event Pair High。 執行緒正在等待 Event Pair Low。 執行緒的執行受延遲。 執行緒正在等待排程器。 執行緒正在等待可用的虛擬記憶體分頁。 執行緒正在等待本機程序呼叫到達。 執行緒正在等待對本機程序呼叫的回應到達。 執行緒正在等待虛擬記憶體分頁到達記憶體。 執行緒正在等待虛擬記憶體分頁寫入至磁碟。 執行緒的執行受暫止。 執行緒正在等待系統配置。 執行緒正在等待不明原因。 執行緒正在等待使用者要求。 執行緒正在等待系統配置虛擬記憶體。 ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/netstandard1.4/System.Diagnostics.Process.xml ================================================  System.Diagnostics.Process [SECURITY CRITICAL] Provides a managed wrapper for a process handle. [SECURITY CRITICAL] Initializes a new instance of the class from the specified handle, indicating whether to release the handle during the finalization phase. The handle to be wrapped. true to reliably let release the handle during the finalization phase; otherwise, false. Provides data for the and events. 2 Gets the line of characters that was written to a redirected output stream. The line that was written by an associated to its redirected or stream. 2 Represents the method that will handle the event or event of a . The source of the event. A that contains the event data. 2 Provides access to local and remote processes and enables you to start and stop local system processes.To browse the .NET Framework source code for this type, see the Reference Source. 1 Initializes a new instance of the class. Gets the base priority of the associated process. The base priority, which is computed from the of the associated process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. The process has exited.-or- The process has not started, so there is no process ID. 2 Begins asynchronous read operations on the redirected stream of the application. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Begins asynchronous read operations on the redirected stream of the application. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Cancels the asynchronous read operation on the redirected stream of an application. The stream is not enabled for asynchronous read operations. 2 Cancels the asynchronous read operation on the redirected stream of an application. The stream is not enabled for asynchronous read operations. 2 Release all resources used by this process. true to release both managed and unmanaged resources; false to release only unmanaged resources. Gets or sets whether the event should be raised when the process terminates. true if the event should be raised when the associated process is terminated (through either an exit or a call to ); otherwise, false. The default is false. 2 Puts a component in state to interact with operating system processes that run in a special mode by enabling the native property SeDebugPrivilege on the current thread. 2 Occurs when an application writes to its redirected stream. 2 Gets the value that the associated process specified when it terminated. The code that the associated process specified when it terminated. The process has not exited.-or- The process is not valid. You are trying to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. 1 Occurs when a process exits. 2 Gets the time that the associated process exited. A that indicates when the associated process was terminated. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are trying to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. 1 Gets a new component and associates it with the currently active process. A new component associated with the process resource that is running the calling application. 1 Returns a new component, given the identifier of a process on the local computer. A component that is associated with the local process resource identified by the parameter. The system-unique identifier of a process resource. The process specified by the parameter is not running. The identifier might be expired. The process was not started by this object. 1 Returns a new component, given a process identifier and the name of a computer on the network. A component that is associated with a remote process resource identified by the parameter. The system-unique identifier of a process resource. The name of a computer on the network. The process specified by the parameter is not running. The identifier might be expired.-or- The parameter syntax is invalid. The name might have length zero (0). The parameter is null. The process was not started by this object. 1 Creates a new component for each process resource on the local computer. An array of type that represents all the process resources running on the local computer. 1 Creates a new component for each process resource on the specified computer. An array of type that represents all the process resources running on the specified computer. The computer from which to read the list of processes. The parameter syntax is invalid. It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information. This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Creates an array of new components and associates them with all the process resources on the local computer that share the specified process name. An array of type that represents the process resources running the specified application or file. The friendly name of the process. There are problems accessing the performance counter API's used to get process information. This exception is specific to Windows NT, Windows 2000, and Windows XP. 1 Creates an array of new components and associates them with all the process resources on a remote computer that share the specified process name. An array of type that represents the process resources running the specified application or file. The friendly name of the process. The name of a computer on the network. The parameter syntax is invalid. It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information. This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Gets a value indicating whether the associated process has been terminated. true if the operating system process referenced by the component has terminated; otherwise, false. There is no process associated with the object. The exit code for the process could not be retrieved. You are trying to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. 1 Gets the unique identifier for the associated process. The system-generated unique identifier of the process that is referenced by this instance. The process's property has not been set.-or- There is no process associated with this object. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. 1 Immediately stops the associated process. The associated process could not be terminated. -or-The process is terminating.-or- The associated process is a Win16 executable. You are attempting to call for a process that is running on a remote computer. The method is available only for processes running on the local computer. The process has already exited. -or-There is no process associated with this object. 1 Takes a component out of the state that lets it interact with operating system processes that run in a special mode. 2 Gets the name of the computer the associated process is running on. The name of the computer that the associated process is running on. There is no process associated with this object. 1 Gets the main module for the associated process. The that was used to start the process. You are trying to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. A 32-bit process is trying to access the modules of a 64-bit process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not available.-or- The process has exited. 1 Gets or sets the maximum allowable working set size for the associated process. The maximum working set size that is allowed in memory for the process, in bytes. The maximum working set size is invalid. It must be greater than or equal to the minimum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Gets or sets the minimum allowable working set size for the associated process. The minimum working set size that is required in memory for the process, in bytes. The minimum working set size is invalid. It must be less than or equal to the maximum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Gets the modules that have been loaded by the associated process. An array of type that represents the modules that have been loaded by the associated process. You are attempting to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. The process is not available. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. You are attempting to access the property for either the system process or the idle process. These processes do not have modules. 2 Gets the amount of nonpaged system memory allocated for the associated process. The amount of system memory, in bytes, allocated for the associated process that cannot be written to the virtual memory paging file. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Raises the event. Occurs each time an application writes a line to its redirected stream. 2 Gets the amount of paged memory allocated for the associated process. The amount of memory, in bytes, allocated in the virtual memory paging file for the associated process. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Gets the amount of pageable system memory allocated for the associated process. The amount of system memory, in bytes, allocated for the associated process that can be written to the virtual memory paging file. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Gets the maximum amount of memory in the virtual memory paging file used by the associated process. The maximum amount of memory, in bytes, allocated in the virtual memory paging file for the associated process since it was started. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Gets the maximum amount of virtual memory used by the associated process. The maximum amount of virtual memory, in bytes, allocated for the associated process since it was started. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Gets the maximum amount of physical memory used by the associated process. The maximum amount of physical memory, in bytes, allocated for the associated process since it was started. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Gets or sets a value indicating whether the associated process priority should temporarily be boosted by the operating system when the main window has the focus. true if dynamic boosting of the process priority should take place for a process when it is taken out of the wait state; otherwise, false. The default is false. Priority boost information could not be retrieved from the associated process resource. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.-or- The process identifier or process handle is zero. (The process has not been started.) You are attempting to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. The process is not available. 1 Gets or sets the overall priority category for the associated process. The priority category for the associated process, from which the of the process is calculated. Process priority information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero. (The process has not been started.) You are attempting to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. The process is not available. You have set the to AboveNormal or BelowNormal when using Windows 98 or Windows Millennium Edition (Windows Me). These platforms do not support those values for the priority class. Priority class cannot be set because it does not use a valid value, as defined in the enumeration. 1 Gets the amount of private memory allocated for the associated process. The amount of memory, in bytes, allocated for the associated process that cannot be shared with other processes. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Gets the privileged processor time for this process. A that indicates the amount of time that the process has spent running code inside the operating system core. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. 2 Gets the name of the process. The name that the system uses to identify the process to the user. The process does not have an identifier, or no process is associated with the .-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not on this computer. 1 Gets or sets the processors on which the threads in this process can be scheduled to run. A bitmask representing the processors that the threads in the associated process can run on. The default depends on the number of processors on the computer. The default value is 2 n -1, where n is the number of processors. information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero. (The process has not been started.) You are attempting to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. The process was not available.-or- The process has exited. 2 Discards any information about the associated process that has been cached inside the process component. 1 Gets the native handle to this process. The native handle to this process. Gets the Terminal Services session identifier for the associated process. The Terminal Services session identifier for the associated process. There is no session associated with this process. There is no process associated with this session identifier.-or-The associated process is not on this machine. The property is not supported on Windows 98. 1 Gets a stream used to read the error output of the application. A that can be used to read the standard error stream of the application. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Gets a stream used to write the input of the application. A that can be used to write the standard input stream of the application. The stream has not been defined because is set to false. 1 Gets a stream used to read the textual output of the application. A that can be used to read the standard output stream of the application. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Starts (or reuses) the process resource that is specified by the property of this component and associates it with the component. true if a process resource is started; false if no new process resource is started (for example, if an existing process is reused). No file name was specified in the component's .-or- The member of the property is true while , , or is true. There was an error in opening the associated file. The process object has already been disposed. 1 Starts the process resource that is specified by the parameter containing process start information (for example, the file name of the process to start) and associates the resource with a new component. A new that is associated with the process resource, or null if no process resource is started. Note that a new process that’s started alongside already running instances of the same process will be independent from the others. In addition, Start may return a non-null Process with its property already set to true. In this case, the started process may have activated an existing instance of itself and then exited. The that contains the information that is used to start the process, including the file name and any command-line arguments. No file name was specified in the parameter's property.-or- The property of the parameter is true and the , , or property is also true.-or-The property of the parameter is true and the property is not null or empty or the property is not null. The parameter is null. The process object has already been disposed. The file specified in the parameter's property could not be found. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080. The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." 1 Starts a process resource by specifying the name of a document or application file and associates the resource with a new component. A new that is associated with the process resource, or null if no process resource is started. Note that a new process that’s started alongside already running instances of the same process will be independent from the others. In addition, Start may return a non-null Process with its property already set to true. In this case, the started process may have activated an existing instance of itself and then exited. The name of a document or application file to run in the process. An error occurred when opening the associated file. The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Starts a process resource by specifying the name of an application and a set of command-line arguments, and associates the resource with a new component. A new that is associated with the process resource, or null if no process resource is started. Note that a new process that’s started alongside already running instances of the same process will be independent from the others. In addition, Start may return a non-null Process with its property already set to true. In this case, the started process may have activated an existing instance of itself and then exited. The name of an application file to run in the process. Command-line arguments to pass when starting the process. The or parameter is null. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080. The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Starts a process resource by specifying the name of an application, a user name, a password, and a domain and associates the resource with a new component. A new that is associated with the process resource, or null if no process resource is started. Note that a new process that’s started alongside already running instances of the same process will be independent from the others. In addition, Start may return a non-null Process with its property already set to true. In this case, the started process may have activated an existing instance of itself and then exited. The name of an application file to run in the process. The user name to use when starting the process. A that contains the password to use when starting the process. The domain to use when starting the process. No file name was specified. is not an executable (.exe) file. There was an error in opening the associated file. The process object has already been disposed. 1 Starts a process resource by specifying the name of an application, a set of command-line arguments, a user name, a password, and a domain and associates the resource with a new component. A new that is associated with the process resource, or null if no process resource is started. Note that a new process that’s started alongside already running instances of the same process will be independent from the others. In addition, Start may return a non-null Process with its property already set to true. In this case, the started process may have activated an existing instance of itself and then exited. The name of an application file to run in the process. Command-line arguments to pass when starting the process. The user name to use when starting the process. A that contains the password to use when starting the process. The domain to use when starting the process. No file name was specified. is not an executable (.exe) file. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080. The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. 1 Gets or sets the properties to pass to the method of the . The that represents the data with which to start the process. These arguments include the name of the executable file or document used to start the process. The value that specifies the is null. 1 Gets the time that the associated process was started. An object that indicates when the process started. An exception is thrown if the process is not running. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. The process has exited.-or-The process has not been started. An error occurred in the call to the Windows function. 1 Gets the set of threads that are running in the associated process. An array of type representing the operating system threads currently running in the associated process. The process does not have an , or no process is associated with the instance.-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. 1 Gets the total processor time for this process. A that indicates the amount of time that the associated process has spent utilizing the CPU. This value is the sum of the and the . The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. 2 Gets the user processor time for this process. A that indicates the amount of time that the associated process has spent running code inside the application portion of the process (not inside the operating system core). The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. 2 Gets the amount of the virtual memory allocated for the associated process. The amount of virtual memory, in bytes, allocated for the associated process. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Instructs the component to wait indefinitely for the associated process to exit. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer. This method is available only for processes that are running on the local computer. 1 Instructs the component to wait the specified number of milliseconds for the associated process to exit. true if the associated process has exited; otherwise, false. The amount of time, in milliseconds, to wait for the associated process to exit. The maximum is the largest possible value of a 32-bit integer, which represents infinity to the operating system. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer. This method is available only for processes that are running on the local computer. 1 Gets the amount of physical memory allocated for the associated process. The amount of physical memory, in bytes, allocated for the associated process. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Represents a.dll or .exe file that is loaded into a particular process. 2 Gets the memory address where the module was loaded. The load address of the module. 2 Gets the memory address for the function that runs when the system loads and runs the module. The entry point of the module. 2 Gets the full path to the module. The fully qualified path that defines the location of the module. 2 Gets the amount of memory that is required to load the module. The size, in bytes, of the memory that the module occupies. 2 Gets the name of the process module. The name of the module. 2 Converts the name of the module to a string. The value of the property. 2 Provides a strongly typed collection of objects. 2 Initializes a new instance of the class, with no associated instances. Initializes a new instance of the class, using the specified array of instances. An array of instances with which to initialize this instance. Determines whether the specified process module exists in the collection. true if the module exists in the collection; otherwise, false. A instance that indicates the module to find in this collection. 2 Copies an array of instances to the collection, at the specified index. An array of instances to add to the collection. The location at which to add the new instances. 2 Provides the location of a specified module within the collection. The zero-based index that defines the location of the module within the . The whose index is retrieved. 2 Gets an index for iterating over the set of process modules. A that indexes the modules in the collection The zero-based index value of the module in the collection. 2 Indicates the priority that the system associates with a process. This value, together with the priority value of each thread of the process, determines each thread's base priority level. 2 Specifies that the process has priority above Normal but below . Specifies that the process has priority above Idle but below Normal. Specifies that the process performs time-critical tasks that must be executed immediately, such as the Task List dialog, which must respond quickly when called by the user, regardless of the load on the operating system. The threads of the process preempt the threads of normal or idle priority class processes. Specifies that the threads of this process run only when the system is idle, such as a screen saver. The threads of the process are preempted by the threads of any process running in a higher priority class. Specifies that the process has no special scheduling needs. Specifies that the process has the highest possible priority. Specifies a set of values that are used when you start a process. 2 Initializes a new instance of the class without specifying a file name with which to start the process. Initializes a new instance of the class and specifies a file name such as an application or document with which to start the process. An application or document with which to start a process. Initializes a new instance of the class, specifies an application file name with which to start the process, and specifies a set of command-line arguments to pass to the application. An application with which to start a process. Command-line arguments to pass to the application when the process starts. Gets or sets the set of command-line arguments to use when starting the application. A single string containing the arguments to pass to the target application specified in the property. The default is an empty string (""). On Windows Vista and earlier versions of the Windows operating system, the length of the arguments added to the length of the full path to the process must be less than 2080. On Windows 7 and later versions, the length must be less than 32699.Arguments are parsed and interpreted by the target application, so must align with the expectations of that application. For.NET applications as demonstrated in the Examples below, spaces are interpreted as a separator between multiple arguments. A single argument that includes spaces must be surrounded by quotation marks, but those quotation marks are not carried through to the target application. In include quotation marks in the final parsed argument, triple-escape each mark. 1 Gets or sets a value indicating whether to start the process in a new window. true if the process should be started without creating a new window to contain it; otherwise, false. The default is false. 2 Gets or sets a value that identifies the domain to use when starting the process. The Active Directory domain to use when starting the process. The domain property is primarily of interest to users within enterprise environments that use Active Directory. 1 Gets or sets the application or document to start. The name of the application to start, or the name of a document of a file type that is associated with an application and that has a default open action available to it. The default is an empty string (""). 1 Gets or sets a value that indicates whether the Windows user profile is to be loaded from the registry. true if the Windows user profile should be loaded; otherwise, false. The default is false. 1 Gets or sets a secure string that contains the user password to use when starting the process. The user password to use when starting the process. 1 Gets or sets a value that indicates whether the error output of an application is written to the stream. true if error output should be written to ; otherwise, false. The default is false. 2 Gets or sets a value indicating whether the input for an application is read from the stream. true if input should be read from ; otherwise, false. The default is false. 2 Gets or sets a value that indicates whether the textual output of an application is written to the stream. true if output should be written to ; otherwise, false. The default is false. 2 Gets or sets the preferred encoding for error output. An object that represents the preferred encoding for error output. The default is null. Gets or sets the preferred encoding for standard output. An object that represents the preferred encoding for standard output. The default is null. Gets or sets the user name to be used when starting the process. The user name to use when starting the process. 1 Gets or sets a value indicating whether to use the operating system shell to start the process. true if the shell should be used when starting the process; false if the process should be created directly from the executable file. The default is true. 2 When the property is false, gets or sets the working directory for the process to be started. When is true, gets or sets the directory that contains the process to be started. When is true, the fully qualified name of the directory that contains the process to be started. When the property is false, the working directory for the process to be started. The default is an empty string (""). 1 Represents an operating system process thread. 2 Gets the base priority of the thread. The base priority of the thread, which the operating system computes by combining the process priority class with the priority level of the associated thread. 2 Gets the current priority of the thread. The current priority of the thread, which may deviate from the base priority based on how the operating system is scheduling the thread. The priority may be temporarily boosted for an active thread. 2 Gets the unique identifier of the thread. The unique identifier associated with a specific thread. 2 Sets the preferred processor for this thread to run on. The preferred processor for the thread, used when the system schedules threads, to determine which processor to run the thread on. The system could not set the thread to start on the specified processor. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Gets or sets a value indicating whether the operating system should temporarily boost the priority of the associated thread whenever the main window of the thread's process receives the focus. true to boost the thread's priority when the user interacts with the process's interface; otherwise, false. The default is false. The priority boost information could not be retrieved.-or-The priority boost information could not be set. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Gets or sets the priority level of the thread. One of the values, specifying a range that bounds the thread's priority. The thread priority level information could not be retrieved. -or-The thread priority level could not be set. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Gets the amount of time that the thread has spent running code inside the operating system core. A indicating the amount of time that the thread has spent running code inside the operating system core. The thread time could not be retrieved. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Sets the processors on which the associated thread can run. An that points to a set of bits, each of which represents a processor that the thread can run on. The processor affinity could not be set. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Resets the ideal processor for this thread to indicate that there is no single ideal processor. In other words, so that any processor is ideal. The ideal processor could not be reset. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Gets the memory address of the function that the operating system called that started this thread. The thread's starting address, which points to the application-defined function that the thread executes. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Gets the time that the operating system started the thread. A representing the time that was on the system when the operating system started the thread. The thread time could not be retrieved. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Gets the current state of this thread. A that indicates the thread's execution, for example, running, waiting, or terminated. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Gets the total amount of time that this thread has spent using the processor. A that indicates the amount of time that the thread has had control of the processor. The thread time could not be retrieved. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Gets the amount of time that the associated thread has spent running code inside the application. A indicating the amount of time that the thread has spent running code inside the application, as opposed to inside the operating system core. The thread time could not be retrieved. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Gets the reason that the thread is waiting. A representing the reason that the thread is in the wait state. The thread is not in the wait state. The platform is Windows 98 or Windows Millennium Edition. The process is on a remote computer. 2 Provides a strongly typed collection of objects. 2 Initializes a new instance of the class, with no associated instances. Initializes a new instance of the class, using the specified array of instances. An array of instances with which to initialize this instance. Appends a process thread to the collection. The zero-based index of the thread in the collection. The thread to add to the collection. 2 Determines whether the specified process thread exists in the collection. true if the thread exists in the collection; otherwise, false. A instance that indicates the thread to find in this collection. 2 Copies an array of instances to the collection, at the specified index. An array of instances to add to the collection. The location at which to add the new instances. 2 Provides the location of a specified thread within the collection. The zero-based index that defines the location of the thread within the . The whose index is retrieved. 2 Inserts a process thread at the specified location in the collection. The zero-based index indicating the location at which to insert the thread. The thread to insert into the collection. 2 Gets an index for iterating over the set of process threads. A that indexes the threads in the collection. The zero-based index value of the thread in the collection. 2 Deletes a process thread from the collection. The thread to remove from the collection. 2 Specifies the priority level of a thread. 2 Specifies one step above the normal priority for the associated . Specifies one step below the normal priority for the associated . Specifies highest priority. This is two steps above the normal priority for the associated . Specifies idle priority. This is the lowest possible priority value of all threads, independent of the value of the associated . Specifies lowest priority. This is two steps below the normal priority for the associated . Specifies normal priority for the associated . Specifies time-critical priority. This is the highest priority of all threads, independent of the value of the associated . Specifies the current execution state of the thread. 1 A state that indicates the thread has been initialized, but has not yet started. A state that indicates the thread is waiting to use a processor because no processor is free. The thread is prepared to run on the next available processor. A state that indicates the thread is currently using a processor. A state that indicates the thread is about to use a processor. Only one thread can be in this state at a time. A state that indicates the thread has finished executing and has exited. A state that indicates the thread is waiting for a resource, other than the processor, before it can execute. For example, it might be waiting for its execution stack to be paged in from disk. The state of the thread is unknown. A state that indicates the thread is not ready to use the processor because it is waiting for a peripheral operation to complete or a resource to become free. When the thread is ready, it will be rescheduled. Specifies the reason a thread is waiting. 2 The thread is waiting for event pair high. The thread is waiting for event pair low. Thread execution is delayed. The thread is waiting for the scheduler. The thread is waiting for a free virtual memory page. The thread is waiting for a local procedure call to arrive. The thread is waiting for reply to a local procedure call to arrive. The thread is waiting for a virtual memory page to arrive in memory. The thread is waiting for a virtual memory page to be written to disk. Thread execution is suspended. The thread is waiting for system allocation. The thread is waiting for an unknown reason. The thread is waiting for a user request. The thread is waiting for the system to allocate virtual memory. ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/netstandard1.4/de/System.Diagnostics.Process.xml ================================================  System.Diagnostics.Process [SICHERHEITSRELEVANT] Stellt einen verwalteten Wrapper für ein Prozesshandle bereit. [SICHERHEITSRELEVANT] Initialisiert eine neue Instanz der -Klasse aus dem angegebenen Handle und gibt an, ob das Handle in der Abschlussphase freigegeben werden soll. Das zu umschließende Handle. true, wenn das Handle während der Abschlussphase zuverlässig freigeben soll, andernfalls false. Stellt Daten für das -Ereignis und das -Ereignis bereit. 2 Ruft die Zeile von Zeichen ab, die in einen umgeleiteten -Ausgabestream geschrieben wurde. Die Zeile, die von einem zugeordneten in seinen umgeleiteten -Stream oder -Stream geschrieben wurde. 2 Stellt die Methode dar, die das -Ereignis oder das -Ereignis eines behandelt. Die Quelle des Ereignisses. Ein , das die Ereignisdaten enthält. 2 Ermöglicht den Zugriff auf lokale Prozesse und Remoteprozesse und das Starten und Anhalten lokaler Systemprozesse.Informationen zum Durchsuchen des .NET Framework-Quellcodes für diesen Typ finden Sie in der Verweisquelle. 1 Initialisiert eine neue Instanz der -Klasse. Ruft die Basispriorität des zugeordneten Prozesses ab. Die Basispriorität, die anhand der des zugeordneten Prozesses berechnet wird. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. The process has exited.-or- The process has not started, so there is no process ID. 2 Startet asynchrone Lesevorgänge im umgeleiteten -Stream der Anwendung. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Startet asynchrone Lesevorgänge im umgeleiteten -Stream der Anwendung. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Bricht den asynchronen Lesevorgang im umgeleiteten -Stream einer Anwendung ab. The stream is not enabled for asynchronous read operations. 2 Bricht den asynchronen Lesevorgang im umgeleiteten -Stream einer Anwendung ab. The stream is not enabled for asynchronous read operations. 2 Gibt alle von diesem Prozess verwendeten Ressourcen frei. true, um sowohl verwaltete als auch nicht verwaltete Ressourcen freizugeben, false, um ausschließlich nicht verwaltete Ressourcen freizugeben. Ruft ab oder legt fest, ob beim Beenden des Prozesses das -Ereignis ausgelöst werden soll. true, wenn das -Ereignis ausgelöst werden soll, wenn der zugeordnete Prozess beendet wird (entweder durch Beenden oder einen Aufruf von ); andernfalls false.Die Standardeinstellung ist false. 2 Versetzt durch Aktivieren der systemeigenen -Eigenschaft für den aktuellen Thread eine SeDebugPrivilege-Komponente in einen Zustand, in dem sie mit Betriebssystemprozessen interagieren kann, die in einem speziellen Modus ausgeführt werden. 2 Tritt auf, wenn eine Anwendung in seinen umgeleiteten -Stream schreibt. 2 Ruft den Wert ab, der vom zugeordneten Prozess beim Beenden angegeben wurde. Der Code, der vom zugeordneten Prozess beim Beenden angegeben wurde. The process has not exited.-or- The process is not valid. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Tritt beim Beenden eines Prozesses ein. 2 Ruft den Zeitpunkt ab, zu dem der zugeordnete Prozess beendet wurde. Eine , die angibt, wann der zugeordnete Prozess beendet wurde. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Ruft eine neue -Komponente ab und ordnet diese dem gegenwärtig aktiven Prozess zu. Eine neue -Komponente, die der Prozessressource zugeordnet ist, die die aufrufende Anwendung ausführt. 1 Gibt eine neue -Komponente zurück, wenn der Bezeichner eines Prozesses auf dem lokalen Computer angegeben ist. Eine -Komponente, die der durch den -Parameter bezeichneten lokalen Prozessressource zugeordnet ist. Der systemweit eindeutige Bezeichner einer Prozessressource. The process specified by the parameter is not running.The identifier might be expired. The process was not started by this object. 1 Gibt eine neue -Komponente zurück, wenn die Prozess-ID und der Name des Computers im Netzwerk angegeben sind. Eine -Komponente, die der durch den -Parameter bezeichneten Remoteprozessressource zugeordnet ist. Der systemweit eindeutige Bezeichner einer Prozessressource. Der Name eines Computers im Netzwerk. The process specified by the parameter is not running.The identifier might be expired.-or- The parameter syntax is invalid.The name might have length zero (0). The parameter is null. The process was not started by this object. 1 Erstellt eine neue -Komponente für jede Prozessressource auf dem lokalen Computer. Ein Array vom Typ , das alle auf dem lokalen Computer ausgeführten Prozessressourcen darstellt. 1 Erstellt eine neue -Komponente für jede Prozessressource auf dem lokalen Computer. Ein Array vom Typ , das alle auf dem angegebenen Computer ausgeführten Prozessressourcen darstellt. Der Computer, von dem die Liste der Prozesse gelesen werden soll. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Erstellt ein Array neuer -Komponenten und ordnet diese allen Prozessressourcen auf dem lokalen Computer zu, die den angegebenen Prozessnamen gemeinsam verwenden. Ein Array vom Typ , das die Prozessressourcen darstellt, die die angegebene Anwendung oder Datei ausführen. Der angezeigte Name des Prozesses. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. 1 Erstellt ein Array neuer -Komponenten und ordnet diese allen Prozessressourcen auf einem Remotecomputer zu, die den angegebenen Prozessnamen gemeinsam verwenden. Ein Array vom Typ , das die Prozessressourcen darstellt, die die angegebene Anwendung oder Datei ausführen. Der angezeigte Name des Prozesses. Der Name eines Computers im Netzwerk. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Ruft einen Wert ab, der angibt, ob der zugehörige Prozess beendet wurde. true, wenn der Betriebssystemprozess, auf den die -Komponente verweist, beendet wurde; andernfalls false. There is no process associated with the object. The exit code for the process could not be retrieved. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Ruft den eindeutigen Bezeichner für den zugeordneten Prozess ab. Der vom System generierte eindeutige Bezeichner des Prozesses, auf den von dieser -Instanz verwiesen wird. The process's property has not been set.-or- There is no process associated with this object. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. 1 Hält den zugeordneten Prozess sofort an. The associated process could not be terminated. -or-The process is terminating.-or- The associated process is a Win16 executable. You are attempting to call for a process that is running on a remote computer.The method is available only for processes running on the local computer. The process has already exited. -or-There is no process associated with this object. 1 Beendet den Zustand einer -Komponente, in dem sie mit Betriebssystemprozessen interagieren kann, die in einem speziellen Modus ausgeführt werden. 2 Ruft den Namen des Computers ab, auf dem der zugeordnete Prozess ausgeführt wird. Der Name des Computers, auf dem der zugeordnete Prozess ausgeführt wird. There is no process associated with this object. 1 Ruft das Hauptmodul für den zugeordneten Prozess ab. Das zum Starten des Prozesses verwendete . You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. A 32-bit process is trying to access the modules of a 64-bit process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not available.-or- The process has exited. 1 Ruft die maximal zulässige Workingsetgröße für den zugeordneten Prozess ab oder legt diese fest. Die im Speicher maximal zulässige Workingsetgröße für den Prozess in Bytes. The maximum working set size is invalid.It must be greater than or equal to the minimum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ruft die minimale zulässige Workingsetgröße für den zugeordneten Prozess ab oder legt diese fest. Die im Speicher mindestens erforderliche Workingsetgröße für den Prozess in Bytes. The minimum working set size is invalid.It must be less than or equal to the maximum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ruft die Module ab, die vom zugeordneten Prozess geladen wurden. Ein Array vom Typ , das die vom zugeordneten Prozess geladenen Module darstellt. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. You are attempting to access the property for either the system process or the idle process.These processes do not have modules. 2 Ruft die Menge des für den zugeordneten Prozess belegten nicht ausgelagerten Systemspeichers ab. Der Anteil am Systemspeicher in Bytes, der für den zugeordneten Prozess reserviert ist und der nicht in die Auslagerungsdatei des virtuellen Speichers geschrieben werden kann. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Löst das -Ereignis aus. Tritt jedes Mal auf, wenn eine Anwendung eine Zeile in ihren umgeleiteten -Stream schreibt. 2 Ruft die Größe des ausgelagerten Speichers ab, der für den zugeordneten Prozess belegt wird. Die Größe des Arbeitsspeichers in Bytes, der für den zugeordneten Prozess in der Auslagerungsdatei des virtuellen Arbeitsspeichers belegt wird. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ruft die Menge des für den zugeordneten Prozess belegten auslagerbaren Systemspeichers ab. Der Anteil am Systemspeicher in Bytes, der für den zugeordneten Prozess belegt wird und der in die Auslagerungsdatei des virtuellen Speichers geschrieben werden kann. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ruft die vom zugeordneten Prozess verwendete maximale Speichergröße in der Auslagerungsdatei des virtuellen Arbeitsspeichers ab. Die maximale Größe des Arbeitsspeichers in Bytes, der seit dem Starten für den zugeordneten Prozess in der Auslagerungsdatei des virtuellen Arbeitsspeichers belegt wird. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ruft die maximale Größe des virtuellen Speichers ab, der vom zugeordneten Prozess verwendet wird. Die maximale Größe des virtuellen Arbeitsspeichers in Bytes, der für den zugeordneten Prozess seit dem Starten belegt wird. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ruft die maximale Größe des physischen Speichers ab, der vom zugeordneten Prozess verwendet wird. Die maximale Größe des physischen Speichers in Bytes, der für den zugeordneten Prozess seit dem Starten belegt wird. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ruft einen Wert ab, der angibt, ob die zugeordnete Prozesspriorität durch das Betriebssystem vorübergehend erhöht werden soll, wenn das Hauptfenster den Fokus besitzt, oder legt diesen fest. true, wenn die Prozesspriorität eines Prozesses dynamisch erhöht werden soll, wenn dieser den Wartezustand verlässt; andernfalls false.Die Standardeinstellung ist false. Priority boost information could not be retrieved from the associated process resource. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. 1 Ruft die allgemeine Prioritätskategorie für den zugeordneten Prozess ab oder legt diese fest. Die Prioritätskategorie für den zugeordneten Prozess, aus der die des Prozesses berechnet wird. Process priority information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. You have set the to AboveNormal or BelowNormal when using Windows 98 or Windows Millennium Edition (Windows Me).These platforms do not support those values for the priority class. Priority class cannot be set because it does not use a valid value, as defined in the enumeration. 1 Ruft die Größe des privaten Speichers ab, der für den zugeordneten Prozess belegt wird. Die Größe des Speichers in Bytes, der für den zugeordneten Prozess belegt wird und nicht mit anderen Prozessen gemeinsam genutzt werden kann. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ruft die privilegierte Prozessorzeit für diesen Prozess ab. Eine , die angibt, wie lange der Prozess im Betriebssystemkern Code ausgeführt hat. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Ruft den Namen des Prozesses ab. Der Name, mit dem das System den Prozess für den Benutzer kennzeichnet. The process does not have an identifier, or no process is associated with the .-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not on this computer. 1 Ruft die Prozessoren ab, auf denen die Ausführung der Threads in diesem Prozess geplant werden kann, oder legt diese fest. Eine Bitmaske, die angibt, auf welchen Prozessoren die Threads im zugeordneten Prozess ausgeführt werden können.Der Standardwert hängt von der Anzahl der Prozessoren des Computers ab.Der Standardwert ist 2n -1, wobei n die Anzahl der Prozessoren ist. information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process was not available.-or- The process has exited. 2 Verwirft alle Informationen über den zugeordneten Prozess, die in der Prozesskomponente zwischengespeichert waren. 1 Ruft das systemeigene Handle dieses Prozesses ab. Das systemeigene Handle dieses Prozesses. Ruft die Terminaldienste-Sitzungs-ID für den zugeordneten Prozess ab. Die Terminaldienste-Sitzungs-ID für den zugeordneten Prozess. There is no session associated with this process. There is no process associated with this session identifier.-or-The associated process is not on this machine. The property is not supported on Windows 98. 1 Ruft einen Stream ab, mit dem die Fehlerausgabe der Anwendung gelesen wird. Ein zum Lesen des Standardfehlerstreams der Anwendung. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Ruft einen Stream ab, in den die Eingaben der Anwendung geschrieben werden. Ein zum Schreiben des Standardeingabestreams der Anwendung. The stream has not been defined because is set to false. 1 Ruft einen Stream ab, der dazu verwendet wird, die Textausgabe der Anwendung zu lesen. Ein zum Lesen des Standardausgabestreams der Anwendung. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Startet die von der -Eigenschaft dieser -Komponente angegebene Prozessressource (oder verwendet sie erneut) und ordnet diese der Komponente zu. true, wenn eine Prozessressource gestartet wird. false, wenn keine neue Prozessressource gestartet wird, sondern z. B. eine vorhandene Prozessressource wiederverwendet wird. No file name was specified in the component's .-or- The member of the property is true while , , or is true. There was an error in opening the associated file. The process object has already been disposed. 1 Startet die Prozessressource, die durch den Parameter mit den Startinformationen für den Prozess angegeben wird (z. B. den Dateinamen des zu startenden Prozesses), und ordnet die Ressource einer neuen -Komponente zu. Ein neuer , der der Prozessressource zugeordnet ist oder null, wenn keine Prozessressource gestartet wurde.Beachten Sie, dass ein neuer Prozess, der parallel zu bereits ausgeführten Instanzen des gleichen Prozesses gestartet wird, unabhängig von den anderen Instanzen ist.Außerdem gibt „Start“ möglicherweise einen nicht leeren (nicht NULL) Prozess zurück, dessen Eigenschaft bereits auf true festgelegt ist.In diesem Fall hat der gestartete Prozess möglicherweise eine vorhandene Instanz seiner selbst aktiviert und sich dann beendet. Die , die die Informationen zum Starten des Prozesses enthält, einschließlich Dateiname und Befehlszeilenargumente. No file name was specified in the parameter's property.-or- The property of the parameter is true and the , , or property is also true.-or-The property of the parameter is true and the property is not null or empty or the property is not null. The parameter is null. The process object has already been disposed. The file specified in the parameter's property could not be found. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." 1 Startet eine Prozessressource, indem der Name eines Dokuments oder einer Anwendungsdatei angegeben wird, und ordnet die Ressource einer neuen -Komponente zu. Ein neuer , der der Prozessressource zugeordnet ist oder null, wenn keine Prozessressource gestartet wurde.Beachten Sie, dass ein neuer Prozess, der parallel zu bereits ausgeführten Instanzen des gleichen Prozesses gestartet wird, unabhängig von den anderen Instanzen ist.Außerdem gibt „Start“ möglicherweise einen nicht leeren (nicht NULL) Prozess zurück, dessen Eigenschaft bereits auf true festgelegt ist.In diesem Fall hat der gestartete Prozess möglicherweise eine vorhandene Instanz seiner selbst aktiviert und sich dann beendet. Der Name eines Dokuments oder einer Anwendungsdatei, das bzw. die im Prozess ausgeführt werden soll. An error occurred when opening the associated file. The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Startet eine Prozessressource durch Angeben des Namens einer Anwendung und einer Reihe von Befehlszeilenargumenten und ordnet die Ressource einer neuen -Komponente zu. Ein neuer , der der Prozessressource zugeordnet ist oder null, wenn keine Prozessressource gestartet wurde.Beachten Sie, dass ein neuer Prozess, der parallel zu bereits ausgeführten Instanzen des gleichen Prozesses gestartet wird, unabhängig von den anderen Instanzen ist.Außerdem gibt „Start“ möglicherweise einen nicht leeren (nicht NULL) Prozess zurück, dessen Eigenschaft bereits auf true festgelegt ist.In diesem Fall hat der gestartete Prozess möglicherweise eine vorhandene Instanz seiner selbst aktiviert und sich dann beendet. Der Name einer Anwendungsdatei, die in dem Prozess ausgeführt werden soll. Befehlszeilenargumente, die beim Starten des Prozesses übergeben werden sollen. The or parameter is null. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Startet eine Prozessressource durch Angeben des Namens einer Anwendung, eines Benutzernamens und einer Domäne und ordnet die Ressource einer neuen -Komponente zu. Ein neuer , der der Prozessressource zugeordnet ist oder null, wenn keine Prozessressource gestartet wurde.Beachten Sie, dass ein neuer Prozess, der parallel zu bereits ausgeführten Instanzen des gleichen Prozesses gestartet wird, unabhängig von den anderen Instanzen ist.Außerdem gibt „Start“ möglicherweise einen nicht leeren (nicht NULL) Prozess zurück, dessen Eigenschaft bereits auf true festgelegt ist.In diesem Fall hat der gestartete Prozess möglicherweise eine vorhandene Instanz seiner selbst aktiviert und sich dann beendet. Der Name einer Anwendungsdatei, die in dem Prozess ausgeführt werden soll. Der beim Starten des Prozesses zu verwendende Benutzername. Eine , die das beim Starten des Prozesses zu verwendende Kennwort enthält. Die Domäne, die beim Starten des Prozesses verwendet werden soll. No file name was specified. is not an executable (.exe) file. There was an error in opening the associated file. The process object has already been disposed. 1 Startet eine Prozessressource durch Angeben des Namens einer Anwendung und einer Reihe von Befehlszeilenargumenten, eines Benutzernamens, eines Kennworts und einer Domäne und ordnet die Ressource einer neuen -Komponente zu. Ein neuer , der der Prozessressource zugeordnet ist oder null, wenn keine Prozessressource gestartet wurde.Beachten Sie, dass ein neuer Prozess, der parallel zu bereits ausgeführten Instanzen des gleichen Prozesses gestartet wird, unabhängig von den anderen Instanzen ist.Außerdem gibt „Start“ möglicherweise einen nicht leeren (nicht NULL) Prozess zurück, dessen Eigenschaft bereits auf true festgelegt ist.In diesem Fall hat der gestartete Prozess möglicherweise eine vorhandene Instanz seiner selbst aktiviert und sich dann beendet. Der Name einer Anwendungsdatei, die in dem Prozess ausgeführt werden soll. Befehlszeilenargumente, die beim Starten des Prozesses übergeben werden sollen. Der beim Starten des Prozesses zu verwendende Benutzername. Eine , die das beim Starten des Prozesses zu verwendende Kennwort enthält. Die Domäne, die beim Starten des Prozesses verwendet werden soll. No file name was specified. is not an executable (.exe) file. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. 1 Ruft die Eigenschaften ab, die an die -Methode von übergeben werden sollen, oder legt diese fest. Die , die die Daten darstellt, mit denen der Prozess gestartet werden soll.Diese Argumente beinhalten den Namen der ausführbaren Datei oder des Dokuments, das zum Starten des Prozesses verwendet wurde. The value that specifies the is null. 1 Ruft die Zeit ab, zu der der zugeordnete Prozess gestartet wurde. Ein Objekt, das angibt, wann der zugeordnete Prozess gestartet wurde.Eine Ausnahme wird ausgelöst, wenn der Prozess nicht ausgeführt wird. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process has exited.-or-The process has not been started. An error occurred in the call to the Windows function. 1 Ruft die Gruppe von Threads ab, die im zugeordneten Prozess ausgeführt werden. Ein Array vom Typ , das die Threads des Betriebssystems darstellt, die gegenwärtig im zugeordneten Prozess ausgeführt werden. The process does not have an , or no process is associated with the instance.-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. 1 Ruft die gesamte Prozessorzeit für diesen Prozess ab. Eine , die die Zeitspanne angibt, während der der zugeordnete Prozess die CPU verwendet hat.Dieser Wert ist die Summe von und . The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Ruft die Benutzerprozessorzeit für diesen Prozess ab. Eine , die die Zeitspanne angibt, während der der zugeordnete Prozess Code innerhalb der Anwendung des Prozesses (nicht im Betriebssystemkern) ausgeführt hat. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Ruft die Größe des virtuellen Speichers ab, der für den zugeordneten Prozess belegt wird. Die Größe des virtuellen Speichers in Bytes, der für den zugeordneten Prozess belegt wird. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Weist die -Komponente an, unbestimmte Zeit zu warten, bis der zugeordnete Prozess beendet wird. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 Weist die -Komponente an, für die Dauer von angegebenen Millisekunden zu warten, bis der zugeordnete Prozess beendet wird. true, wenn der zugeordnete Prozess beendet wurde, andernfalls false. Die Zeitspanne in Millisekunden, die auf die Beendigung des zugeordneten Prozesses gewartet werden soll.Der Höchstwert ist der größtmögliche Wert einer 32-Bit-Ganzzahl, der für das Betriebssystem unendlich bedeutet. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 Ruft die Größe des physischen Speichers ab, der für den zugeordneten Prozess belegt wird. Die Größe des physischen Speichers in Bytes, der für den zugeordneten Prozess belegt wird. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Stellt eine DLL- oder EXE-Datei dar, die in einen bestimmten Prozess geladen wird. 2 Ruft die Speicheradresse ab, an der das Modul geladen wurde. Die Ladeadresse des Moduls. 2 Ruft die Speicheradresse für die Funktion ab, die beim Laden und Ausführen des Moduls ausgeführt wird. Der Einstiegspunkt des Moduls. 2 Ruft den vollständigen Pfad des Moduls ab. Der voll gekennzeichnete Pfad, der den Speicherort des Moduls definiert. 2 Ruft den zum Laden des Moduls erforderlichen Speicherplatz ab. Die Größe des vom Modul belegten Speicherplatzes in Bytes. 2 Ruft den Namen des Prozessmoduls ab. Der Name des Moduls. 2 Konvertiert den Namen des Moduls in eine Zeichenfolge. Der Wert der -Eigenschaft. 2 Stellt eine Auflistung von -Objekten mit starker Typisierung zur Verfügung. 2 Initialisiert eine neue Instanz der -Klasse ohne zugeordnete -Instanzen. Initialisiert eine neue Instanz der -Klasse mit dem angegebenen Array von -Instanzen. Ein Array von -Instanzen, mit denen diese -Instanz initialisiert werden soll. Bestimmt, ob das angegebene Prozessmodul in der Auflistung vorhanden ist. true, wenn das Modul in der Auflistung vorhanden ist, andernfalls false. Eine -Instanz, die das in dieser Auflistung zu suchende Modul anzeigt. 2 Kopiert ein Array von -Instanzen am angegebenen Index in die Auflistung. Ein Array von -Instanzen, das der Auflistung hinzugefügt werden soll. Die Position, an der die neuen Instanzen eingefügt werden sollen. 2 Stellt die Position eines angegebenen Moduls in der Auflistung zur Verfügung. Der nullbasierte Index, der die Position des Moduls in der definiert. Der , dessen Index abgerufen wird. 2 Ruft einen Index ab, mit dem die Gruppe von Prozessmodulen durchlaufen werden kann. Ein , das die Module in der Auflistung indiziert. Der nullbasierte Indexwert des Moduls in der Auflistung. 2 Gibt die Priorität an, die das System einem Prozess zuordnet.Dieser Wert bestimmt, gemeinsam mit dem Prioritätswert für jeden Thread des Prozesses, die Basisprioritätsebene jedes Threads. 2 Gibt an, dass der Prozess eine höhere Priorität als Normal aufweist, aber eine niedrigere als . Gibt an, dass der Prozess eine höhere Priorität als Idle aufweist, aber eine niedrigere als Normal. Gibt an, dass der Prozess zeitkritische Aufgaben ausführt, die sofort ausgeführt werden müssen, z. B. für das Dialogfeld Task List, das beim Aufruf durch den Benutzer unabhängig von der Last des Betriebssystems schnell angezeigt werden muss.Die Threads des Prozesses haben Vorrang vor den Threads von Prozessen in den Prioritätsklassen mit normaler oder Leerlaufpriorität. Gibt an, dass die Threads dieses Prozesses nur ausgeführt werden, wenn sich das System im Leerlauf befindet. Trifft z. B. auf einen Bildschirmschoner zu.Vor den Threads dieses Prozesses haben die Threads eines beliebigen Prozesses Vorrang, der mit einer höheren Prioritätsklasse ausgeführt wird. Gibt an, dass für den Prozess keine besondere Planung erforderlich ist. Gibt an, dass der Prozess die höchstmögliche Priorität aufweist. Gibt eine Wertemenge an, die beim Starten eines Prozesses verwendet wird. 2 Initialisiert eine neue Instanz der -Klasse, ohne einen Dateinamen anzugeben, mit dem der Prozess gestartet werden soll. Initialisiert eine neue Instanz der -Klasse und gibt einen Dateinamen an, mit dem der Prozess gestartet werden soll, z. B. eine Anwendung oder ein Dokument. Eine Anwendung oder ein Dokument, mit der bzw. dem ein Prozess gestartet wird. Initialisiert eine neue Instanz der -Klasse und gibt einen Anwendungsdateinamen an, mit dem der Prozess gestartet wird, sowie einen Satz von Befehlszeilenargumenten, die an die Anwendung übergeben werden. Eine Anwendung, mit der ein Prozess gestartet wird. Befehlszeilenargumente, die beim Starten des Prozesses an die Anwendung übergeben werden sollen. Ruft den Satz von Befehlszeilenargumenten ab, die beim Starten der Anwendung verwendet werden sollen, oder legt diesen fest. Eine einzelne Zeichenfolge, die die Argumente enthält, die an die in der -Eigenschaft angegebene Zielanwendung übergeben werden sollen.Der Standardwert ist eine leere Zeichenfolge ("").Unter Windows Vista und früheren Versionen des Windows-Betriebssystems muss die Länge der Argumente, die der Länge des vollständigen Pfads des Prozesses hinzugefügt werden, kleiner sein als 2080.Unter Windows 7 und höheren Versionen muss die Länge kleiner als 32699 sein.Argumente werden von der Zielanwendung analysiert und interpretiert und müssen daher den Erwartungen der betreffenden Anwendung entsprechen.Bei .NET-Anwendungen, wie sie in den Beispielen unten dargestellt sind, werden Leerzeichen als Trennzeichen zwischen Argumenten interpretiert.Ein einzelnes Argument, das Leerzeichen enthält, muss in Anführungszeichen eingeschlossen sein, diese Anführungszeichen werden jedoch nicht an die Zielanwendung übergeben.Eingeschlossene Anführungszeichen, die in das endgültige analysierte Argument aufgenommen werden sollen, müssen dreifach escaped werden. 1 Ruft einen Wert ab, der angibt, ob der Prozess in einem neuen Fenster gestartet werden soll, oder legt diesen fest. true, wenn der Prozess ohne Erstellung eines neuen, für ihn bestimmten Fensters gestartet werden soll, andernfalls false.Die Standardeinstellung ist false. 2 Ruft einen Wert ab, der die Domäne kennzeichnet, die beim Starten des Prozesses verwendet werden soll, oder legt diesen fest. Die Active Directory-Domäne, die beim Starten des Prozesses verwendet werden soll.Die Domäneneigenschaft ist hauptsächlich für Benutzer in Unternehmensumgebungen von Interesse, die Active Directory verwenden. 1 Ruft die zu startende Anwendung oder das zu startende Dokument ab oder legt die Anwendung bzw. das Dokument fest. Der Name der zu startenden Anwendung oder der Dokumentname eines einer Anwendung zugeordneten Dateityps, für den eine Standard-Öffnen-Aktion verfügbar ist.Der Standardwert ist eine leere Zeichenfolge (""). 1 Ruft einen Wert ab, der angibt, ob das Windows-Benutzerprofil aus der Registrierung geladen werden soll, oder legt diesen fest. true, wenn das Windows-Benutzerprofil geladen werden soll; andernfalls false.Die Standardeinstellung ist false. 1 Ruft eine sichere Zeichenfolge ab, die das Benutzerkennwort enthält, das beim Starten des Prozesses verwendet werden soll, oder legt diese fest. Das beim Starten des Prozesses zu verwendende Kennwort. 1 Ruft einen Wert ab, der angibt, ob die Fehlerausgabe einer Anwendung in den -Datenstrom geschrieben wird, oder legt diesen fest. true, wenn die Fehlerausgabe in geschrieben werden soll; andernfalls false.Die Standardeinstellung ist false. 2 Ruft einen Wert ab, der angibt, ob die Eingabe für eine Anwendung aus dem -Datenstrom gelesen wird, oder legt diesen fest. true, wenn die Eingabe von gelesen werden soll; andernfalls false.Die Standardeinstellung ist false. 2 Ruft einen Wert ab, der angibt, ob die Textausgabe einer Anwendung in den -Datenstrom geschrieben wird, oder legt diesen fest. true, wenn die Ausgabe in geschrieben werden soll; andernfalls false.Die Standardeinstellung ist false. 2 Ruft die bevorzugte Codierung für die Fehlerausgabe ab oder legt diese fest. Ein Objekt, das die bevorzugte Codierung für die Fehlerausgabe darstellt.Die Standardeinstellung ist null. Ruft die bevorzugte Codierung für die Standardausgabe ab oder legt diese fest. Ein Objekt, das die bevorzugte Codierung für die Standardausgabe darstellt.Die Standardeinstellung ist null. Ruft den beim Starten des Prozesses zu verwendenden Benutzernamen ab oder legt diesen fest. Der beim Starten des Prozesses zu verwendende Benutzername. 1 Ruft einen Wert ab, der angibt, ob zum Starten des Prozesses die Betriebssystemshell verwendet werden soll, oder legt diesen fest. true, wenn beim Starten des Prozesses die Shell verwendet werden soll; false, wenn der Prozess direkt von der ausführbaren Datei aus erstellt werden soll.Die Standardeinstellung ist true. 2 Ruft das Arbeitsverzeichnis für den zu startenden Prozess ab, oder legt es fest, wenn die Eigenschaft false ist.Ruft das Verzeichnis ab, das den zu startenden Prozess enthält, oder legt es fest, wenn true ist. Wenn true ist, der voll gekennzeichnete Name des Verzeichnisses, das den zu startenden Prozess enthält.Wenn die Eigenschaft false ist, das Arbeitsverzeichnis für den zu startenden Prozess.Der Standardwert ist eine leere Zeichenfolge (""). 1 Stellt einen Prozessthread für ein Betriebssystem dar. 2 Ruft die Basispriorität des Threads ab. Die Basispriorität des Threads, die vom Betriebssystem durch Kombinieren der Prioritätsklasse des Prozesses mit der Prioritätsebene des zugeordneten Threads errechnet wird. 2 Ruft die aktuelle Priorität des Threads ab. Die aktuelle Priorität des Threads. Abhängig davon, wie das Betriebssystem den Thread plant, kann diese Priorität von der Basispriorität abweichen.Die Priorität kann für einen aktiven Thread vorübergehend erhöht werden. 2 Ruft den eindeutigen Bezeichner des Threads ab. Der eindeutige Bezeichner, der dem angegebenen Thread zugeordnet ist. 2 Legt den bevorzugten Prozessor fest, auf dem dieser Thread ausgeführt werden soll. Der bevorzugte Prozessor für den Thread, der bei der Threadplanung des Systems verwendet wird, die bestimmt, auf welchem Prozessor der Thread ausgeführt werden soll. Das System konnte die Ausführung des Threads nicht auf den angegebenen Prozessor festlegen. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Ruft einen Wert ab, der angibt, ob das Betriebssystem die Priorität des zugeordneten Threads vorübergehend erhöhen soll, sobald das Hauptfenster des Threadprozesses den Fokus hat, oder legt diesen Wert fest. true, wenn die Priorität des Threads bei Interaktion des Benutzers mit der Schnittstelle erhöht werden soll, andernfalls false.Die Standardeinstellung ist false. Die Informationen zur Prioritätserhöhung konnten nicht abgerufen werden.- oder -Die Informationen zur Prioritätserhöhung konnten nicht festgelegt werden. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Ruft die Prioritätsebene des Threads ab oder legt diese fest. Einer der -Werte, der einen Bereich für die Begrenzung der Priorität des Threads angibt. Die Informationen für die Prioritätsebene des Threads konnten nicht abgerufen werden. - oder -Die Prioritätsebene für den Thread konnte nicht festgelegt werden. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Ruft die Zeit ab, während der der Thread im Betriebssystemkern Code ausgeführt hat. Eine , die angibt, wie lange der Thread im Betriebssystemkern Code ausgeführt hat. Die Threadzeit konnte nicht abgerufen werden. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Legt die Prozessoren fest, auf denen der zugeordnete Thread ausgeführt werden kann. Ein , das auf eine Gruppe von Bits zeigt, wovon jedes einzelne einen Prozessor darstellt, auf dem der Thread ausgeführt werden kann. Die Prozessoraffinität konnte nicht festgelgt werden. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Setzt den für diesen Thread idealen Prozessor zurück, um anzugeben, dass kein einzelner idealer Prozessor vorhanden ist.Das heißt, dass jeder Prozessor ideal sein kann. Der ideale Prozessor konnte nicht zurückgesetzt werden. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Ruft die Speicheradresse der Funktion ab, die vom Betriebssystem aufgerufen wurde, das diesen Thread gestartet hat. Die Anfangsadresse des Threads, die auf die vom Thread ausgeführte anwendungsdefinierte Funktion zeigt. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Ruft die Zeit ab, zu der das Betriebssystem den Thread gestartet hat. Eine , die die Zeit auf dem System darstellt, zu der das Betriebssystem den Thread gestartet hat. Die Threadzeit konnte nicht abgerufen werden. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Ruft den aktuellen Zustand dieses Threads ab. Ein , der die Ausführung des Threads angibt, z. B. wird ausgeführt, wartet oder wurde beendet. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Ruft die gesamte Zeit ab, während der der Thread den Prozessor verwendet hat. Eine , die die Zeit angibt, während der Thread den Prozessor gesteuert hat. Die Threadzeit konnte nicht abgerufen werden. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Ruft die Zeit ab, während der der zugeordnete Thread in der Anwendung Code ausgeführt hat. Eine , die angibt, wie lange der Thread Code in der Anwendung (im Gegensatz zum Betriebssystemkern) ausgeführt hat. Die Threadzeit konnte nicht abgerufen werden. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Ruft die Ursache für den Wartezustand des Threads ab. Eine , die die Ursache für den Wartezustand des Threads darstellt. Der Thread befindet sich nicht im Wartezustand. Die Plattform ist Windows 98 oder Windows Millennium Edition. Der Prozess wird auf einem Remotecomputer ausgeführt. 2 Stellt eine Auflistung von -Objekten mit starker Typisierung zur Verfügung. 2 Initialisiert eine neue Instanz der -Klasse ohne zugeordnete -Instanzen. Initialisiert eine neue Instanz der -Klasse mit dem angegebenen Array von -Instanzen. Ein Array von -Instanzen, mit denen diese -Instanz initialisiert werden soll. Fügt einen Prozessthread an die Auflistung an. Der nullbasierte Index des Threads in der Auflistung. Der der Auflistung hinzuzufügende Thread. 2 Bestimmt, ob der angegebene Prozessthread in der Auflistung enthalten ist. true, wenn der Thread in der Auflistung vorhanden ist, andernfalls false. Eine -Instanz, die den in dieser Auflistung zu suchenden Thread anzeigt. 2 Kopiert ein Array von -Instanzen am angegebenen Index in die Auflistung. Ein Array von -Instanzen, das der Auflistung hinzugefügt werden soll. Die Position, an der die neuen Instanzen eingefügt werden sollen. 2 Stellt die Position eines angegebenen Threads in der Auflistung zur Verfügung. Der nullbasierte Index, der die Position des Threads in der definiert. Der , dessen Index abgerufen wird. 2 Fügt an der angegebenen Position einen Prozessthread in die Auflistung ein. Der nullbasierte Index, der die Position angibt, an der der Thread eingefügt werden soll. Der in die Auflistung einzufügende Thread. 2 Ruft einen Index ab, mit dem die Gruppe von Prozessthreads durchlaufen werden kann. Ein , der die Threads in der Auflistung indiziert. Der nullbasierte Indexwert des Threads in der Auflistung. 2 Löscht einen Prozessthread aus der Auflistung. Der Thread, der aus der Auflistung entfernt werden soll. 2 Gibt die Prioritätsebene eines Threads an. 2 Gibt eine Stufe über der normalen Priorität für die zugeordnete an. Gibt eine Stufe unter der normalen Priorität für die zugeordnete an. Gibt die höchste Priorität an.Dies ist zwei Stufen über der normalen Priorität für die zugeordnete . Gibt die Leerlaufpriorität an.Dies ist der niedrigste mögliche Prioritätswert aller Threads, unabhängig vom Wert der zugeordneten . Gibt die niedrigste Priorität an.Dies ist zwei Stufen unter der normalen Priorität für die zugeordnete . Gibt die normale Priorität für die zugeordnete an. Gibt die auf die Ausführungsgeschwindigkeit bezogene Priorität an.Dies ist die höchste Priorität aller Threads, unabhängig vom Wert der zugeordneten . Gibt den aktuellen Ausführungszustand des Threads an. 1 Ein Zustand, der angibt, dass der Thread initialisiert wurde, jedoch noch nicht gestartet ist. Ein Zustand, der anzeigt, dass der Thread auf die Verwendung eines Prozessors wartet, da gegenwärtig kein Prozessor frei ist.Der Thread kann auf dem nächsten verfügbaren Prozessor ausgeführt werden. Ein Zustand, der angibt, dass der Thread zurzeit einen Prozessor verwendet. Ein Zustand, der angibt, dass der Thread gerade einen Prozessor verwenden will.In diesem Zustand kann sich jeweils nur ein Thread befinden. Ein Zustand, der angibt, dass der Thread die Ausführung abgeschlossen hat und beendet wurde. Ein Zustand, der angibt, dass der Thread auf eine andere Ressource als den Prozessor wartet, bevor er ausgeführt werden kann.Er könnte z. B. darauf warten, dass der Ausführungsstapel von der Festplatte gelesen wird. Der Zustand des Threads ist unbekannt. Ein Zustand, der angibt, dass der Thread den Prozessor nicht verwenden kann, da er auf die Beendigung einer Operation in der Peripherie oder auf das Freiwerden einer Ressource wartet.Wenn der Thread bereit ist, wird der Start neu geplant. Gibt die Ursache für den Wartezustand eines Threads an. 2 Der Thread wartet auf das Ereignispaar High. Der Thread wartet auf das Ereignispaar Low. Die Ausführung des Threads wird verzögert. Der Thread wartet auf den Planer. Der Thread wartet auf eine freie Seite im virtuellen Speicher. Der Thread wartet auf die Ankunft eines Aufrufs einer lokalen Prozedur. Der Thread wartet darauf, dass die Antwort auf den Aufruf einer lokalen Prozedur ankommt. Der Thread wartet auf die Ankunft einer Seite des virtuellen Speichers im Arbeitsspeicher. Der Thread wartet darauf, dass eine Seite des virtuellen Speichers auf den Datenträger geschrieben wird. Die Ausführung des Threads wurde unterbrochen. Der Thread wartet auf Reservierung durch das System. Der Thread befindet sich aus unbekannten Gründen im Wartezustand. Der Thread wartet auf eine Benutzeranforderung. Der Thread wartet darauf, dass das System virtuellen Speicher belegt. ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/netstandard1.4/es/System.Diagnostics.Process.xml ================================================  System.Diagnostics.Process [CRÍTICO PARA LA SEGURIDAD] Proporciona un contenedor administrado para un identificador de proceso. [CRÍTICO PARA LA SEGURIDAD] Inicializa una nueva instancia de la clase a partir del identificador especificado, que indica si se va a liberar el identificador durante la fase de finalización. El identificador para ajustarse. truepara permitir de forma confiable liberar el identificador durante la fase de finalización; de lo contrario, false. Proporciona datos para los eventos y . 2 Obtiene la línea de caracteres escrita en un flujo de salida de redirigido. Línea escrita por una secuencia asociada en su secuencia o redirigida. 2 Representa el método que controlará los eventos o de un . Origen del evento. Objeto que contiene los datos del evento. 2 Proporciona acceso a procesos locales y remotos, y permite iniciar y detener procesos del sistema local.Para examinar el código fuente de .NET Framework de este tipo, consulte el origen de referencia. 1 Inicializa una nueva instancia de la clase . Obtiene la prioridad base del proceso asociado. Prioridad base, que se calcula a partir de del proceso asociado. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. The process has exited.-or- The process has not started, so there is no process ID. 2 Inicia las operaciones de lectura asincrónica en la secuencia de redirigida de la aplicación. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Inicia las operaciones de lectura asincrónica en la secuencia de redirigida de la aplicación. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Cancela la operación de lectura asincrónica en la secuencia redirigida de de una aplicación. The stream is not enabled for asynchronous read operations. 2 Cancela la operación de lectura asincrónica en la secuencia redirigida de de una aplicación. The stream is not enabled for asynchronous read operations. 2 Libera todos los recursos utilizados por este proceso. Es true para liberar tanto recursos administrados como no administrados; es false para liberar únicamente recursos no administrados. Obtiene o establece si el evento debe provocarse cuando termine el proceso. Es true si el evento debe provocarse cuando termine el proceso asociado (al salir o al llamar a ); de lo contrario, es false.De manera predeterminada, es false. 2 Coloca un componente en estado de interacción con los procesos del sistema operativo que se ejecutan en un modo especial; para ello, habilita la propiedad nativa SeDebugPrivilege en el subproceso actual. 2 Se produce cuando una aplicación escribe en su secuencia redirigida de . 2 Obtiene el valor especificado por el proceso asociado al terminar. Código especificado por el proceso asociado al terminar. The process has not exited.-or- The process is not valid. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Se produce cuando termina un proceso. 2 Obtiene el momento en el que terminó el proceso asociado. que indica cuándo terminó el proceso asociado. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Obtiene un nuevo componente y lo asocia al proceso que está activo en ese momento. Nuevo componente que está asociado al recurso del proceso que se está ejecutando en la aplicación que realiza la llamada. 1 Devuelve un nuevo componente , dado un identificador de un proceso en el equipo local. Componente asociado al recurso del proceso local que se identifica mediante el parámetro . Identificador de un recurso de proceso único en el sistema. The process specified by the parameter is not running.The identifier might be expired. The process was not started by this object. 1 Devuelve un nuevo componente , dados un identificador de proceso y el nombre de un equipo en la red. Componente asociado a un recurso de proceso remoto que se identifica mediante el parámetro . Identificador de un recurso de proceso único en el sistema. Nombre de un equipo en la red. The process specified by the parameter is not running.The identifier might be expired.-or- The parameter syntax is invalid.The name might have length zero (0). The parameter is null. The process was not started by this object. 1 Crea un nuevo componente para cada recurso de proceso del equipo local. Matriz de tipo que representa todos los recursos del proceso que se ejecutan en el equipo local. 1 Crea un nuevo componente para cada recurso de proceso en el equipo especificado. Matriz de tipo que representa todos los recursos del proceso que se ejecutan en el equipo especificado. Equipo desde el que se lee la lista de procesos. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Crea una matriz de nuevos componentes y los asocia a todos los recursos de proceso del equipo local que comparten el nombre de proceso especificado. Matriz de tipo que representa los recursos del proceso que ejecutan la aplicación o el archivo especificado. Nombre descriptivo del proceso. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. 1 Crea una matriz de nuevos componentes y los asocia a todos los recursos de proceso de un equipo remoto que comparten el nombre del proceso especificado. Matriz de tipo que representa los recursos del proceso que ejecutan la aplicación o el archivo especificado. Nombre descriptivo del proceso. Nombre de un equipo en la red. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Obtiene un valor que indica si el proceso asociado ha finalizado. Es true si el proceso del sistema operativo al que hace referencia el componente ha terminado; de lo contrario, es false. There is no process associated with the object. The exit code for the process could not be retrieved. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Obtiene el identificador único del proceso asociado. Identificador único generado por el sistema del proceso al que hace referencia esta instancia de . The process's property has not been set.-or- There is no process associated with this object. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. 1 Detiene inmediatamente el proceso asociado. The associated process could not be terminated. -or-The process is terminating.-or- The associated process is a Win16 executable. You are attempting to call for a process that is running on a remote computer.The method is available only for processes running on the local computer. The process has already exited. -or-There is no process associated with this object. 1 Recupera un componente del estado que le permite interactuar con procesos del sistema operativo que se ejecuten en un modo especial. 2 Obtiene el nombre del equipo en el que se está ejecutando el proceso asociado. Nombre del equipo en el que se está ejecutando el proceso asociado. There is no process associated with this object. 1 Obtiene el módulo principal del proceso asociado. utilizado para iniciar el proceso. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. A 32-bit process is trying to access the modules of a 64-bit process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not available.-or- The process has exited. 1 Obtiene o establece el tamaño máximo permitido para el espacio de trabajo del proceso asociado. Tamaño máximo permitido para el espacio de trabajo del proceso en la memoria expresado en bytes. The maximum working set size is invalid.It must be greater than or equal to the minimum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtiene o establece el tamaño mínimo permitido para el espacio de trabajo del proceso asociado. Tamaño mínimo necesario para el espacio de trabajo del proceso en la memoria expresado en bytes. The minimum working set size is invalid.It must be less than or equal to the maximum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtiene los módulos cargados por el proceso asociado. Matriz de tipo que representa los módulos cargados por el proceso asociado. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. You are attempting to access the property for either the system process or the idle process.These processes do not have modules. 2 Obtiene el tamaño de la memoria no paginada del sistema que se ha asignado para el proceso asociado. El tamaño de la memoria del sistema, expresado en bytes, que se ha asignado para el proceso asociado que no puede escribirse en el archivo de paginación de la memoria virtual. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Genera el evento . Se produce cada vez que una aplicación escribe una línea en su secuencia redirigida. 2 Obtiene el tamaño de la memoria paginada asignada para el proceso asociado. El tamaño de la memoria, expresado en bytes, asignada en el archivo de paginación de la memoria virtual para el proceso asociado. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtiene el tamaño de la memoria paginable del sistema que se ha asignado para el proceso asociado. El tamaño de la memoria del sistema, expresado en bytes, que se ha asignado para el proceso asociado que puede escribirse en el archivo de paginación de la memoria virtual. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtiene el tamaño de memoria máximo en el archivo de paginación de la memoria virtual que utiliza el proceso asociado. El tamaño de memoria máximo, expresado en bytes, asignado en el archivo de paginación de la memoria virtual para el proceso asociado desde su inicio. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtiene el tamaño máximo de la memoria virtual que utiliza el proceso asociado. El tamaño máximo de memoria virtual, expresado en bytes, que se ha asignado para el proceso asociado desde su inicio. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtiene el tamaño máximo de la memoria física que utiliza el proceso asociado. El tamaño máximo de memoria física, expresado en bytes, que se ha asignado para el proceso asociado desde su inicio. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtiene o establece un valor que indica si el sistema operativo debería aumentar temporalmente la prioridad del proceso asociado cuando la ventana principal tenga el foco. Es true si la prioridad del proceso debe aumentarse dinámicamente cuando este salga del estado de espera; de lo contrario, es false.De manera predeterminada, es false. Priority boost information could not be retrieved from the associated process resource. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. 1 Obtiene o establece la categoría de prioridad general del proceso asociado. Categoría de prioridad del proceso asociado a partir de la cual se calcula el del proceso. Process priority information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. You have set the to AboveNormal or BelowNormal when using Windows 98 or Windows Millennium Edition (Windows Me).These platforms do not support those values for the priority class. Priority class cannot be set because it does not use a valid value, as defined in the enumeration. 1 Obtiene el tamaño de la memoria privada asignada para el proceso asociado. El tamaño de la memoria, expresado en bytes, que se ha asignado para el proceso asociado que no puede compartirse con otros procesos. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtiene el tiempo de procesador con privilegios de este proceso. que indica la cantidad de tiempo que el proceso ha invertido en la ejecución de código dentro del núcleo del sistema operativo. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Obtiene el nombre del proceso. Nombre que el sistema utiliza para identificar el proceso ante el usuario. The process does not have an identifier, or no process is associated with the .-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not on this computer. 1 Obtiene o establece los procesadores en los que se puede programar la ejecución de los subprocesos de este proceso. Máscara de bits que representa los procesadores en los que pueden ejecutarse los subprocesos del proceso asociado.El valor predeterminado depende del número de procesadores del equipo.El valor predeterminado es 2 n -1, donde n representa el número de procesadores. information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process was not available.-or- The process has exited. 2 Descarta cualquier información acerca del proceso asociado que se haya almacenado en caché en el componente del proceso. 1 Obtiene el identificador nativo de este proceso. Identificador nativo de este proceso. Obtiene el identificador de la sesión de Terminal Services para el proceso asociado. El identificador de la sesión de Terminal Services para el proceso asociado. There is no session associated with this process. There is no process associated with this session identifier.-or-The associated process is not on this machine. The property is not supported on Windows 98. 1 Obtiene una secuencia utilizada para leer la salida de errores de la aplicación. que puede utilizarse para leer la secuencia de error estándar de la aplicación. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Obtiene una secuencia que se utiliza para escribir la entrada de la aplicación. que puede utilizarse para escribir la secuencia de entrada estándar de la aplicación. The stream has not been defined because is set to false. 1 Obtiene una secuencia usada para leer la salida de texto de la aplicación. que puede utilizarse para leer la secuencia de salida estándar de la aplicación. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Inicia (o reutiliza) el recurso de proceso especificado en la propiedad de este componente y lo asocia al componente. Es true si se inicia un recurso de proceso; es false si no se inicia ningún recurso de proceso nuevo (por ejemplo, si se reutiliza un recurso existente). No file name was specified in the component's .-or- The member of the property is true while , , or is true. There was an error in opening the associated file. The process object has already been disposed. 1 Inicia el recurso de proceso que se especifica mediante el parámetro que contiene la información de inicio del proceso (por ejemplo, el nombre de archivo del proceso que se va a iniciar) y asocia el recurso a un nuevo componente . Nuevo que está asociado al recurso del proceso, o null si no se inicia ningún recurso de proceso.Tenga en cuenta que un proceso nuevo que se inicie junto a instancias del mismo proceso ya en ejecución será independiente del resto.Además, Inicio puede devolver un proceso no nulo con su propiedad ya establecida en true.En tal caso, el proceso iniciado puede haber activado una instancia existente de sí mismo y, a continuación, haber salido. que contiene la información que se utiliza para iniciar el proceso, incluidos el nombre de archivo y los argumentos de línea de comandos. No file name was specified in the parameter's property.-or- The property of the parameter is true and the , , or property is also true.-or-The property of the parameter is true and the property is not null or empty or the property is not null. The parameter is null. The process object has already been disposed. The file specified in the parameter's property could not be found. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." 1 Inicia un recurso de proceso con la especificación del nombre de un documento o de un archivo de aplicación y asocia el recurso a un nuevo componente . Nuevo que está asociado al recurso del proceso, o null si no se inicia ningún recurso de proceso.Tenga en cuenta que un proceso nuevo que se inicie junto a instancias del mismo proceso ya en ejecución será independiente del resto.Además, Inicio puede devolver un proceso no nulo con su propiedad ya establecida en true.En tal caso, el proceso iniciado puede haber activado una instancia existente de sí mismo y, a continuación, haber salido. Nombre de un archivo de documento o aplicación que se va a ejecutar en el proceso. An error occurred when opening the associated file. The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Inicia un recurso de proceso mediante la especificación del nombre de una aplicación y un conjunto de argumentos de línea de comandos, y asocia el recurso a un nuevo componente . Nuevo que está asociado al recurso del proceso, o null si no se inicia ningún recurso de proceso.Tenga en cuenta que un proceso nuevo que se inicie junto a instancias del mismo proceso ya en ejecución será independiente del resto.Además, Inicio puede devolver un proceso no nulo con su propiedad ya establecida en true.En tal caso, el proceso iniciado puede haber activado una instancia existente de sí mismo y, a continuación, haber salido. Nombre de un archivo de aplicación que se va a ejecutar en el proceso. Argumentos de línea de comandos que se van a pasar al iniciar el proceso. The or parameter is null. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Inicia un recurso de proceso mediante la especificación del nombre de una aplicación, un nombre de usuario, una contraseña y un dominio, y asocia el recurso a un nuevo componente de . Nuevo que está asociado al recurso del proceso, o null si no se inicia ningún recurso de proceso.Tenga en cuenta que un proceso nuevo que se inicie junto a instancias del mismo proceso ya en ejecución será independiente del resto.Además, Inicio puede devolver un proceso no nulo con su propiedad ya establecida en true.En tal caso, el proceso iniciado puede haber activado una instancia existente de sí mismo y, a continuación, haber salido. Nombre de un archivo de aplicación que se va a ejecutar en el proceso. Nombre de usuario que se va a utilizar al iniciarse el proceso. que contiene la contraseña que se va a utilizar al iniciarse el proceso. Dominio que se va a utilizar al iniciarse el proceso. No file name was specified. is not an executable (.exe) file. There was an error in opening the associated file. The process object has already been disposed. 1 Inicia un recurso de proceso mediante la especificación del nombre de una aplicación y un conjunto de argumentos de línea de comandos, un nombre de usuario, una contraseña y un dominio, y asocia el recurso a un nuevo componente de . Nuevo que está asociado al recurso del proceso, o null si no se inicia ningún recurso de proceso.Tenga en cuenta que un proceso nuevo que se inicie junto a instancias del mismo proceso ya en ejecución será independiente del resto.Además, Inicio puede devolver un proceso no nulo con su propiedad ya establecida en true.En tal caso, el proceso iniciado puede haber activado una instancia existente de sí mismo y, a continuación, haber salido. Nombre de un archivo de aplicación que se va a ejecutar en el proceso. Argumentos de línea de comandos que se van a pasar al iniciar el proceso. Nombre de usuario que se va a utilizar al iniciarse el proceso. que contiene la contraseña que se va a utilizar al iniciarse el proceso. Dominio que se va a utilizar al iniciarse el proceso. No file name was specified. is not an executable (.exe) file. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. 1 Obtiene o establece las propiedades que se pasan al método de . que representa los datos con los que iniciar el proceso.Estos argumentos incluyen el nombre del archivo ejecutable o del documento que se utilizó para iniciar el proceso. The value that specifies the is null. 1 Obtiene el momento en el que se inició el proceso asociado. Objeto que indica cuándo se inició el proceso.Si no se está ejecutando el proceso, se produce una excepción. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process has exited.-or-The process has not been started. An error occurred in the call to the Windows function. 1 Obtiene el conjunto de subprocesos que se están ejecutando en el proceso asociado. Matriz de tipo que representa los subprocesos del sistema operativo que se están ejecutando actualmente en el proceso asociado. The process does not have an , or no process is associated with the instance.-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. 1 Obtiene el tiempo de procesador total de este proceso. indica la cantidad de tiempo que el proceso asociado ha empleado en utilizar la CPU.Este valor es la suma de y . The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Obtiene el tiempo de procesador de usuario de este proceso. que indica la cantidad de tiempo que el proceso asociado ha empleado en ejecutar código en la parte de la aplicación que corresponde al proceso (no en el núcleo del sistema operativo). The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Obtiene el tamaño de la memoria virtual que se ha asignado para el proceso asociado. El tamaño de memoria virtual, expresado en bytes, que se ha asignado para el proceso asociado. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Indica al componente que espere indefinidamente hasta que el proceso asociado termine. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 Indica al componente que espere a que el proceso asociado termine durante el número de milisegundos especificado. Es true si el proceso asociado ha terminado; de lo contrario, es false. Cantidad de tiempo, en milisegundos, que se esperará hasta que termine el proceso asociado.El valor máximo es el valor mayor posible de un entero de 32 bits, que representa el infinito para el sistema operativo. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 Obtiene el tamaño de la memoria física que se ha asignado para el proceso asociado. El tamaño de memoria física, expresado en bytes, que se ha asignado para el proceso asociado. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Representa a un archivo .dll o .exe que se carga en un proceso determinado. 2 Devuelve la dirección de memoria en la que se cargó el módulo. Dirección de carga del módulo. 2 Obtiene la dirección de memoria de la función que se ejecuta cuando el sistema carga y ejecuta el módulo. Punto de entrada del módulo. 2 Obtiene la ruta de acceso completa al módulo. Ruta de acceso completa que define la ubicación del módulo. 2 Obtiene la cantidad de memoria necesaria para cargar el módulo. Tamaño, en bytes, de la memoria que ocupa el módulo. 2 Obtiene el nombre del módulo del proceso. El nombre del módulo. 2 Convierte el nombre del módulo en una cadena. Valor de la propiedad . 2 Proporciona una colección de objetos fuertemente tipados. 2 Inicializa una nueva instancia de la clase , sin instancias de asociadas. Inicializa una nueva instancia de la clase utilizando la matriz de instancias de especificada. Matriz de instancias de con la que se inicializa esta instancia de . Determina si el módulo de proceso especificado se encuentra en la colección. Es true si el módulo está en la colección; en caso contrario, es false. Instancia de que indica el módulo que se va a buscar en la colección. 2 Copia una matriz de instancias de en la colección, en el índice especificado. Matriz de instancias de que se va a agregar a la colección. Ubicación en la que se van a agregar las nuevas instancias. 2 Proporciona la ubicación de un módulo especificado en la colección. Índice de base cero que define la ubicación del módulo en . Objeto cuyo índice se recupera. 2 Obtiene un índice para recorrer en iteración el conjunto de módulos de proceso. Objeto que indiza los módulos de la colección. Valor del índice de base cero del módulo de la colección. 2 Indica la prioridad que el sistema asocia a un proceso.Este valor, junto con el valor de prioridad de cada subproceso del proceso, determina el nivel de prioridad base de cada subproceso. 2 Especifica que el proceso tiene una prioridad superior a Normal pero inferior a . Especifica que el proceso tiene una prioridad superior a Idle pero inferior a Normal. Especifica que el proceso realiza tareas críticas en el tiempo que deben ejecutarse de inmediato, como el cuadro de diálogo Task List, que debe responder rápidamente cuando el usuario lo llama, independientemente de la carga del sistema operativo.Los subprocesos del proceso tienen prioridad sobre los subprocesos de aquellos procesos de clase de prioridad normal o inactiva. Especifica que los subprocesos de este proceso se ejecutan solo cuando el sistema está inactivo, como el protector de pantalla.Los subprocesos del proceso tienen menor prioridad que los subprocesos de cualquier proceso que se ejecute en una clase de prioridad más alta. Especifica que el proceso no tiene necesidades de programación especiales. Especifica que el proceso tiene la prioridad más alta posible. Especifica un conjunto de valores que se usa cuando se inicia un proceso. 2 Inicializa una nueva instancia de la clase sin especificar un nombre de archivo con el que iniciar el proceso. Inicializa una nueva instancia de la clase y especifica un nombre de archivo, como una aplicación o un documento, con el que se inicia el proceso. Aplicación o documento con que se inicia un proceso. Inicializa una nueva instancia de la clase y especifica un nombre de archivo de aplicación con el que se iniciará el proceso, así como un conjunto de argumentos de línea de comandos que se pasarán a la aplicación. Aplicación con que se inicia un proceso. Argumentos de línea de comandos que se van a pasar a la aplicación al iniciar el proceso. Obtiene o establece el conjunto de argumentos de línea de comandos que se van a usar al iniciar la aplicación. Cadena única que contiene los argumentos para pasar a la aplicación de destino especificada en la propiedad .El valor predeterminado es una cadena vacía ("").En Windows Vista y versiones anteriores del sistema operativo Windows, la longitud de los argumentos sumada a la longitud de la ruta de acceso completa al proceso debe ser inferior a 2080.En Windows 7 y versiones posteriores, la longitud debe ser inferior a 32.699.Los argumentos se analizan e interpretan mediante la aplicación de destino, por lo que deben estar en línea con las expectativas de la aplicación.En las aplicaciones .NET, como se muestra en los ejemplos siguientes, los espacios se interpretan como una separación entre varios argumentos.Un solo argumento que incluye espacios debe incluirse entre comillas, pero las comillas no se llevan a cabo en la aplicación de destino.En las comillas incluidas en el argumento final analizado, se elude triplemente cada marca. 1 Obtiene o establece un valor que indica si el proceso se va a iniciar en una nueva ventana. true si el proceso se debe iniciar sin crear una nueva ventana que lo contenga; de lo contrario, es false.De manera predeterminada, es false. 2 Obtiene o establece un valor que identifica el dominio que se va a usar al iniciarse el proceso. El dominio de Active Directory que se va a usar al iniciarse el proceso.La propiedad de dominio es especialmente interesante para los usuarios en entornos de empresa que usan Active Directory. 1 Obtiene o establece la aplicación o el documento que se va a iniciar. Nombre de la aplicación que se va a iniciar o nombre de un documento que tiene un tipo de archivo asociado a una aplicación que dispone de una acción de apertura predeterminada.El valor predeterminado es una cadena vacía (""). 1 Obtiene o establece un valor que indica si el perfil de usuario de Windows se va a cargar desde el registro. true si el perfil de usuario de Windows se debe cargar; de lo contrario, es false.De manera predeterminada, es false. 1 Obtiene o establece una cadena segura que contiene la contraseña del usuario que se va a usar al iniciar el proceso. Contraseña de usuario que se va a usar al iniciar el proceso. 1 Obtiene o establece un valor que indica si la salida de errores de una aplicación se escribe en la secuencia de . true si la salida de errores se debe escribir en ; en caso contrario, es false.De manera predeterminada, es false. 2 Obtiene o establece un valor que indica si la entrada para una aplicación se lee de la secuencia de . true si la entrada se debe leer desde ; en caso contrario, es false.De manera predeterminada, es false. 2 Obtiene o establece un valor que indica si la salida de una aplicación se escribe en la secuencia de . true si la salida se debe escribir en ; de lo contrario, es false.De manera predeterminada, es false. 2 Obtiene o establece la codificación preferente para la salida de errores. Objeto que representa la codificación preferente para la salida de errores.De manera predeterminada, es null. Obtiene o establece la codificación preferente para la salida estándar. Objeto que representa la codificación preferente para la salida estándar.De manera predeterminada, es null. Obtiene o establece el nombre de usuario que se va a usar al iniciar el proceso. Nombre de usuario que se va a utilizar al iniciarse el proceso. 1 Obtiene o establece un valor que indica si se va a usar el shell del sistema operativo para iniciar el proceso. true si el shell se debe usar al iniciar el proceso; false si el proceso debería crearse directamente desde el archivo ejecutable.De manera predeterminada, es true. 2 Cuando la propiedad de es false, obtiene o establece el directorio de trabajo para que el proceso se inicie.Cuando es true, obtiene o establece el directorio que contiene el proceso que se iniciará. Cuando es true, el nombre completo del directorio que contiene el proceso que se va a iniciar.Cuando la propiedad de es false, el directorio de trabajo para que el proceso se inicie.El valor predeterminado es una cadena vacía (""). 1 Representa un subproceso del sistema operativo. 2 Obtiene la prioridad base del subproceso. Prioridad base del subproceso, calculada por el sistema operativo mediante la combinación de la clase de prioridad del proceso y el nivel de prioridad del subproceso asociado. 2 Obtiene la prioridad actual del subproceso. Prioridad actual del subproceso, que puede variar respecto a la prioridad base en función de cómo programe el subproceso el sistema operativo.Es posible aumentar temporalmente la prioridad para un subproceso activo. 2 Obtiene el identificador único del subproceso. Identificador único asociado a un subproceso específico. 2 Establece el procesador preferido para ejecutar este subproceso. Procesador preferido para el subproceso, que se utiliza cuando el sistema programa los subprocesos, con el fin de determinar en qué procesador se ejecutará. El sistema no pudo establecer el subproceso para que se iniciara en el procesador especificado. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Obtiene o establece un valor que indica si el sistema operativo debe aumentar temporalmente la prioridad del subproceso asociado siempre que la ventana principal del proceso del subproceso reciba el foco. Es true para aumentar la prioridad del subproceso cuando el usuario interactúe con la interfaz del proceso; de lo contrario, es false.El valor predeterminado es false. No se pudo recuperar la información del aumento de prioridad.O bienNo se pudo establecer la información del aumento de prioridad. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Obtiene o establece el nivel de prioridad del subproceso. Uno de los valores de , que especifica un intervalo que limita la prioridad del subproceso. No se pudo recuperar la información del nivel de prioridad de subproceso. O bienNo se pudo establecer el nivel de prioridad del subproceso. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Obtiene el tiempo durante el cual el subproceso ha ejecutado código dentro del núcleo del sistema operativo. que indica la cantidad de tiempo que el subproceso ha estado ejecutando código dentro del núcleo del sistema operativo. No se pudo recuperar el tiempo del subproceso. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Establece los procesadores en los que puede ejecutarse el subproceso asociado. que señala a un conjunto de bits, cada uno de los cuales representa a un procesador en el que puede ejecutarse el subproceso. No se pudo establecer la afinidad de procesador. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Restablece el procesador ideal para este subproceso a fin de indicar que no hay un solo procesador ideal.En otras palabras, cualquier procesador es ideal. No se pudo restablecer el procesador ideal. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Obtiene la dirección de memoria de la función a la que llamó el sistema operativo para iniciar este subproceso. Dirección inicial del subproceso, que señala a la función definida por la aplicación que el subproceso ejecuta. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Obtiene la hora a la que el sistema operativo inició el subproceso. que representa la hora que tenía el sistema cuando el sistema operativo inició el subproceso. No se pudo recuperar el tiempo del subproceso. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Obtiene el estado actual de este subproceso. que indica el estado de ejecución del subproceso; por ejemplo, en ejecución, en espera o terminado. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Obtiene la cantidad total de tiempo que este subproceso ha estado usando el procesador. que indica la cantidad de tiempo que el subproceso ha tenido el control del procesador. No se pudo recuperar el tiempo del subproceso. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Obtiene el tiempo durante el cual el subproceso asociado ha ejecutado código dentro de la aplicación. que indica la cantidad de tiempo que el subproceso ha estado ejecutando código dentro de la aplicación, en lugar de dentro del núcleo del sistema operativo. No se pudo recuperar el tiempo del subproceso. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Obtiene la razón por la que el subproceso está esperando. que representa la razón por la cual el subproceso se encuentra en estado de espera. El subproceso no se encuentra en estado de espera. La plataforma es Windows 98 o Windows Millennium. El proceso está en un equipo remoto. 2 Proporciona una colección de objetos fuertemente tipados. 2 Inicializa una instancia nueva de la clase , sin instancias de asociadas. Inicializa una instancia nueva de la clase utilizando la matriz de instancias de especificada. Matriz de instancias de con la que se inicializa esta instancia de . Agrega un subproceso del proceso a la colección. Índice de base cero del subproceso de la colección. Subproceso que se va a agregar a la colección. 2 Determina si el subproceso de proceso especificado se encuentra en la colección. Es true si el subproceso está en la colección; en caso contrario, es false. Instancia de que indica el subproceso que se va a buscar en la colección. 2 Copia una matriz de instancias de en la colección, en el índice especificado. Matriz de instancias de que se va a agregar a la colección. Ubicación en la que se van a agregar las nuevas instancias. 2 Proporciona la ubicación de un subproceso especificado en la colección. Índice de base cero que define la ubicación del subproceso en la . cuyo índice se recupera. 2 Inserta un subproceso de proceso en la ubicación especificada de la colección. Índice de base cero que indica la ubicación en la que se va a insertar el subproceso. Subproceso que se va a insertar en la colección. 2 Obtiene un índice para recorrer en iteración el conjunto de subprocesos. Objeto que indiza los subprocesos de la colección. Valor del índice de base cero del subproceso de la colección. 2 Elimina un subproceso de proceso de la colección. Subproceso que se va a quitar de la colección. 2 Especifica el nivel de prioridad de un subproceso. 2 Especifica un paso por encima de la prioridad normal para la clase asociada. Especifica un paso por debajo de la prioridad normal para la clase asociada. Especifica la prioridad más alta.En otras palabras, dos pasos por encima de la prioridad normal para la clase asociada. Especifica la prioridad de inactividad.Éste es el valor de prioridad más bajo posible para todos los subprocesos, independientemente del valor de la clase asociada. Especifica la prioridad más baja.Es decir, dos pasos por debajo de la prioridad normal para la clase asociada. Especifica la prioridad normal para la clase asociada. Especifica la prioridad de tiempo crítico.Éste es el valor de prioridad más alto de todos los subprocesos, independientemente del valor de la clase asociada. Especifica el estado de ejecución actual del subproceso. 1 Estado que indica que el subproceso se ha inicializado, pero no se ha iniciado todavía. Estado que indica que el subproceso está esperando para usar un procesador porque no hay ninguno libre.El subproceso está preparado para ejecutarse en el primer procesador que quede disponible. Estado que indica que el subproceso está usando un procesador actualmente. Estado que indica que el subproceso va a empezar a usar un procesador.En un momento dado, sólo puede haber un subproceso en este estado. Estado que indica que el subproceso ha finalizado su ejecución y ha terminado. Estado que indica que el subproceso está esperando un recurso, que no es el procesador, para poder ejecutarse.Por ejemplo, puede estar esperando a que la pila de ejecución se pagine desde el disco. No se conoce el estado del subproceso. Estado que indica que el subproceso no está listo para usar el procesador porque está esperando a que termine una operación periférica o a que quede libre un recurso.Cuando el subproceso esté listo, se volverá a programar. Especifica la razón por la que el subproceso está esperando. 2 El subproceso está esperando un par de eventos alto. El subproceso está esperando un par de eventos bajo. La ejecución del subproceso está retardada. El subproceso está esperando al programador. El subproceso está esperando una página de memoria virtual libre. El subproceso está esperando a que llegue una llamada a procedimiento local. El subproceso está esperando a que llegue la respuesta a una llamada a procedimiento local. El subproceso está esperando a que llegue a la memoria una página de memoria virtual. El subproceso está esperando a que se escriba en el disco una página de memoria virtual. La ejecución del subproceso está suspendida. El subproceso está esperando la asignación del sistema. No se conoce la razón por la que el subproceso está esperando. El subproceso está esperando una solicitud del usuario. El subproceso está esperando a que el sistema asigne memoria virtual. ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/netstandard1.4/fr/System.Diagnostics.Process.xml ================================================  System.Diagnostics.Process [ESSENTIEL POUR LA SÉCURITÉ] Fournit un wrapper managé pour un handle de processus. [ESSENTIEL POUR LA SÉCURITÉ] Initialise une nouvelle instance de la classe à partir du handle spécifié, indiquant s'il faut libérer le handle pendant la phase de finalisation. Handle à encapsuler. truePour vous permettre de manière fiable libérer le handle pendant la phase de finalisation ; Sinon, false. Fournit des données pour les événements et . 2 Obtient la ligne de caractères qui a été écrite dans un flux de sortie redirigé. Ligne qui a été écrite par un associé à son redirigé ou à son flux . 2 Représente la méthode qui gérera l'événement ou l'événement de . Source de l'événement. qui contient les données d'événement. 2 Fournit l'accès à des processus locaux ainsi que distants, et vous permet de démarrer et d'arrêter des processus système locaux.Pour parcourir le code source de .NET Framework pour ce type, consultez la Source de référence. 1 Initialise une nouvelle instance de la classe . Obtient la priorité de base du processus associé. Priorité de base, calculée à partir du du processus associé. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. The process has exited.-or- The process has not started, so there is no process ID. 2 Commence des opérations de lecture asynchrones sur le flux de données redirigé de l'application. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Commence des opérations de lecture asynchrones sur le flux de données redirigé de l'application. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Annule l'opération de lecture asynchrone sur le flux redirigé d'une application. The stream is not enabled for asynchronous read operations. 2 Annule l'opération de lecture asynchrone sur le flux redirigé d'une application. The stream is not enabled for asynchronous read operations. 2 Libère toutes les ressources utilisées par ce processus. true pour libérer les ressources managées et non managées ; false pour ne libérer que les ressources non managées. Obtient ou définit une valeur indiquant si l'événement est déclenché quand le processus ne s'exécute plus. true si l'événement doit être déclenché une fois que le processus associé n'est plus exécuté (sortie ou appel à ) ; sinon, false.La valeur par défaut est false. 2 Met un composant en état d'interagir avec des processus du système d'exploitation qui s'exécutent en mode spécial en activant la propriété native SeDebugPrivilege sur le thread actuel. 2 Se produit quand une application écrit dans son flux redirigé. 2 Obtient la valeur spécifiée par le processus associé au moment où il s'est terminé. Code spécifié par le processus associé une fois celui-ci terminé. The process has not exited.-or- The process is not valid. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Se produit quand un processus se termine. 2 Obtient l'heure à laquelle le processus associé s'est terminé. qui indique le moment où le processus associé s'est terminé. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Obtient un nouveau composant et l'associe au processus actuellement actif. Nouveau composant associé à la ressource de processus qui exécute l'application appelante. 1 Retourne un nouveau composant , en fonction de l'identificateur d'un processus sur l'ordinateur local. Composant associé à la ressource de processus locale identifiée par le paramètre . Identificateur unique au système d'une ressource de processus. The process specified by the parameter is not running.The identifier might be expired. The process was not started by this object. 1 Retourne un nouveau composant , en fonction d'un identificateur de processus et du nom d'un ordinateur du réseau. Composant associé à une ressource de processus distante identifiée par le paramètre . Identificateur unique au système d'une ressource de processus. Nom d'un ordinateur du réseau. The process specified by the parameter is not running.The identifier might be expired.-or- The parameter syntax is invalid.The name might have length zero (0). The parameter is null. The process was not started by this object. 1 Crée un composant pour chaque ressource de processus sur l'ordinateur local. Tableau de type représentant toutes les ressources de processus exécutées sur l'ordinateur local. 1 Crée un composant pour chaque ressource de processus sur l'ordinateur spécifié. Tableau de type représentant toutes les ressources de processus exécutées sur l'ordinateur spécifié. Ordinateur à partir duquel lire la liste de processus. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Crée un tableau de nouveaux composants et les associe à toutes les ressources de processus de l'ordinateur local qui partagent le nom de processus spécifié. Tableau de type représentant les ressources de processus exécutant l'application ou le fichier spécifié. Nom convivial du processus. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. 1 Crée un tableau de nouveaux composants et les associe à toutes les ressources de processus sur l'ordinateur distant qui partagent le nom de processus spécifié. Tableau de type représentant les ressources de processus exécutant l'application ou le fichier spécifié. Nom convivial du processus. Nom d'un ordinateur du réseau. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Obtient une valeur indiquant si le processus associé s'est terminé. true si le processus du système d'exploitation référencé par le composant s'est terminé ; sinon, false. There is no process associated with the object. The exit code for the process could not be retrieved. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Obtient l'identificateur unique du processus associé. Identificateur unique généré par le système du processus référencé par cette instance de . The process's property has not been set.-or- There is no process associated with this object. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. 1 Arrête immédiatement le processus associé. The associated process could not be terminated. -or-The process is terminating.-or- The associated process is a Win16 executable. You are attempting to call for a process that is running on a remote computer.The method is available only for processes running on the local computer. The process has already exited. -or-There is no process associated with this object. 1 Met un composant hors de l'état qui lui permet d'interagir avec des processus du système d'exploitation qui s'exécutent en mode spécial. 2 Obtient le nom de l'ordinateur sur lequel s'exécute le processus associé. Nom de l'ordinateur sur lequel s'exécute le processus associé. There is no process associated with this object. 1 Obtient le module principal pour le processus associé. qui a été utilisé pour démarrer le processus. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. A 32-bit process is trying to access the modules of a 64-bit process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not available.-or- The process has exited. 1 Obtient ou définit la taille maximale autorisée du jeu de travail pour le processus associé. Taille maximale du jeu de travail pouvant être mise en mémoire pour le processus, en octets. The maximum working set size is invalid.It must be greater than or equal to the minimum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtient ou définit la taille minimale autorisée du jeu de travail pour le processus associé. Taille minimale du jeu de travail requise en mémoire pour le processus, en octets. The minimum working set size is invalid.It must be less than or equal to the maximum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtient les modules qui ont été chargés par le processus associé. Tableau de type représentant les modules qui ont été chargés par le processus associé. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. You are attempting to access the property for either the system process or the idle process.These processes do not have modules. 2 Obtient la quantité de mémoire système non paginée allouée pour le processus associé. Quantité de mémoire système, en octets, allouée au processus associé qui ne peut pas être écrite dans le fichier d'échange de la mémoire virtuelle. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Déclenche l'événement . Se produit quand une application écrit dans son flux redirigé. 2 Obtient la quantité de mémoire paginée allouée pour le processus associé. Quantité de mémoire, en octets, allouée dans le fichier d'échange de la mémoire virtuelle pour le processus associé. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtient la quantité de mémoire système paginable allouée pour le processus associé. Quantité de mémoire système, en octets, allouée au processus associé qui peut être écrite dans le fichier d'échange de la mémoire virtuelle. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtient la quantité maximale de mémoire dans le fichier d'échange de la mémoire virtuelle utilisée par le processus associé. Quantité de mémoire maximale, en octets, allouée dans le fichier d'échange de la mémoire virtuelle pour le processus associé depuis son démarrage. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtient la quantité maximale de la mémoire virtuelle utilisée par le processus associé. Quantité maximale de la mémoire virtuelle, en octets, allouée pour le processus associé depuis son démarrage. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtient la quantité maximale de la mémoire physique utilisée par le processus associé. Quantité maximale de la mémoire physique, en octets, allouée pour le processus associé depuis son démarrage. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtient ou définit une valeur indiquant si la priorité du processus associée doit être temporairement renforcée par le système d'exploitation quand la fenêtre principale a le focus. true si un renforcement dynamique de la priorité du processus doit être effectué pour un processus quand il quitte l'état d'attente ; sinon, false.La valeur par défaut est false. Priority boost information could not be retrieved from the associated process resource. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. 1 Obtient ou définit la catégorie de priorité générale pour le processus associé. Catégorie de priorité pour le processus associé, à partir de laquelle le du processus est calculé. Process priority information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. You have set the to AboveNormal or BelowNormal when using Windows 98 or Windows Millennium Edition (Windows Me).These platforms do not support those values for the priority class. Priority class cannot be set because it does not use a valid value, as defined in the enumeration. 1 Obtient la quantité de mémoire privée allouée pour le processus associé. Quantité de mémoire, en octets, allouée pour le processus associé qui ne peut pas être partagé avec d'autres processus. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Obtient le temps processeur privilégié pour ce processus. indiquant la durée d'exécution du code par le processus à l'intérieur du noyau du système d'exploitation. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Obtient le nom du processus. Nom utilisé par le système pour identifier le processus à l'intention de l'utilisateur. The process does not have an identifier, or no process is associated with the .-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not on this computer. 1 Obtient ou définit les processeurs sur lesquels l'exécution des threads de ce processus peut être planifiée. Masque de bits représentant les processeurs sur lesquels les threads du processus associé peuvent s'exécuter.La valeur par défaut dépend du nombre de processeurs dont est équipé l'ordinateur.La valeur par défaut est 2 n -1, où n est le nombre de processeurs. information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process was not available.-or- The process has exited. 2 Ignore toute information concernant le processus associé qui a été mis en cache dans le composant du processus. 1 Obtient le handle natif de ce processus. Handle natif de ce processus. Obtient l'identificateur de session Terminal Server du processus associé. Identificateur de session Terminal Server du processus associé. There is no session associated with this process. There is no process associated with this session identifier.-or-The associated process is not on this machine. The property is not supported on Windows 98. 1 Obtient un flux utilisé pour lire la sortie d'erreur de l'application. qui peut être utilisé pour lire le flux d'erreurs standard de l'application. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Obtient un flux utilisé pour écrire l'entrée de l'application. qui peut être utilisé pour écrire le flux d'entrée standard de l'application. The stream has not been defined because is set to false. 1 Obtient un flux utilisé pour lire la sortie textuelle de l'application. qui peut être utilisé pour lire le flux de sortie standard de l'application. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Démarre (ou réutilise) la ressource de processus qui est spécifiée par la propriété de ce composant et l'associe au composant. true si une ressource de processus est démarrée ; false si aucune ressource de processus n'est démarrée (par exemple, si un processus existant est réutilisé). No file name was specified in the component's .-or- The member of the property is true while , , or is true. There was an error in opening the associated file. The process object has already been disposed. 1 Démarre la ressource de processus qui est spécifiée par le paramètre contenant les informations de démarrage du processus (par exemple, le nom de fichier du processus à démarrer) et l'associe à un nouveau composant . Nouvel élément qui est associé à la ressource de processus, ou null si aucune ressource de processus n'est démarrée.Notez qu'un nouveau processus qui est démarré en même temps que les instances du même processus déjà en cours d'exécution sera indépendant des autres.En outre, le démarrage peut retourner un processus non null avec sa propriété déjà définie à true.Dans ce cas, le processus démarré peut avoir activé une instance existante de lui-même, puis s'être arrêté. qui contient les informations utilisées pour démarrer le processus, y compris le nom de fichier et d'éventuels arguments de ligne de commande. No file name was specified in the parameter's property.-or- The property of the parameter is true and the , , or property is also true.-or-The property of the parameter is true and the property is not null or empty or the property is not null. The parameter is null. The process object has already been disposed. The file specified in the parameter's property could not be found. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." 1 Démarre une ressource de processus en spécifiant le nom d'un document ou d'un fichier d'application et l'associe à un nouveau composant . Nouvel élément qui est associé à la ressource de processus, ou null si aucune ressource de processus n'est démarrée.Notez qu'un nouveau processus qui est démarré en même temps que les instances du même processus déjà en cours d'exécution sera indépendant des autres.En outre, le démarrage peut retourner un processus non null avec sa propriété déjà définie à true.Dans ce cas, le processus démarré peut avoir activé une instance existante de lui-même, puis s'être arrêté. Nom d'un document ou d'un fichier d'application à exécuter dans le processus. An error occurred when opening the associated file. The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Démarre une ressource de processus en spécifiant le nom d'une application et un jeu d'arguments de ligne de commande et l'associe à la ressource avec un nouveau composant . Nouvel élément qui est associé à la ressource de processus, ou null si aucune ressource de processus n'est démarrée.Notez qu'un nouveau processus qui est démarré en même temps que les instances du même processus déjà en cours d'exécution sera indépendant des autres.En outre, le démarrage peut retourner un processus non null avec sa propriété déjà définie à true.Dans ce cas, le processus démarré peut avoir activé une instance existante de lui-même, puis s'être arrêté. Nom d'un fichier d'application à exécuter dans le processus. Arguments de ligne de commande à passer au moment du démarrage du processus. The or parameter is null. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Démarre une ressource de processus en spécifiant le nom d'une application, un nom d'utilisateur, un mot de passe et un domaine et associe la ressource à un nouveau composant . Nouvel élément qui est associé à la ressource de processus, ou null si aucune ressource de processus n'est démarrée.Notez qu'un nouveau processus qui est démarré en même temps que les instances du même processus déjà en cours d'exécution sera indépendant des autres.En outre, le démarrage peut retourner un processus non null avec sa propriété déjà définie à true.Dans ce cas, le processus démarré peut avoir activé une instance existante de lui-même, puis s'être arrêté. Nom d'un fichier d'application à exécuter dans le processus. Nom d'utilisateur à utiliser au moment du démarrage du processus. qui contient le mot de passe à utiliser lors du démarrage du processus. Domaine à utiliser au moment du démarrage du processus. No file name was specified. is not an executable (.exe) file. There was an error in opening the associated file. The process object has already been disposed. 1 Démarre une ressource de processus en spécifiant le nom d'une application, un jeu d'arguments de ligne de commande, un nom d'utilisateur, un mot de passe et un domaine, et associe la ressource à un nouveau composant . Nouvel élément qui est associé à la ressource de processus, ou null si aucune ressource de processus n'est démarrée.Notez qu'un nouveau processus qui est démarré en même temps que les instances du même processus déjà en cours d'exécution sera indépendant des autres.En outre, le démarrage peut retourner un processus non null avec sa propriété déjà définie à true.Dans ce cas, le processus démarré peut avoir activé une instance existante de lui-même, puis s'être arrêté. Nom d'un fichier d'application à exécuter dans le processus. Arguments de ligne de commande à passer au moment du démarrage du processus. Nom d'utilisateur à utiliser au moment du démarrage du processus. qui contient le mot de passe à utiliser lors du démarrage du processus. Domaine à utiliser au moment du démarrage du processus. No file name was specified. is not an executable (.exe) file. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. 1 Obtient ou définit les propriétés à passer à la méthode de . qui représente les données avec lesquelles démarrer le processus.Ces arguments comprennent le nom du fichier exécutable ou du document utilisé pour démarrer le processus. The value that specifies the is null. 1 Obtient l'heure à laquelle le processus associé a démarré. Objet qui indique l'heure de démarrage du processus.Une exception est levée si le processus n'est pas en cours d'exécution. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process has exited.-or-The process has not been started. An error occurred in the call to the Windows function. 1 Obtient le jeu des threads en cours d'exécution dans le processus associé. Tableau de type représentant les threads du système d'exploitation en cours d'exécution dans le processus associé. The process does not have an , or no process is associated with the instance.-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. 1 Obtient le temps processeur total pour ce processus. qui indique la durée d'utilisation de l'unité centrale par le processus associé.Cette valeur est la somme de et de . The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Obtient le temps processeur utilisateur pour ce processus. qui indique la durée d'exécution du code par le processus associé à l'intérieur de la partie application du processus (plutôt qu'à l'intérieur du noyau du système d'exploitation). The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Obtient la quantité de mémoire virtuelle allouée pour le processus associé. Quantité de la mémoire virtuelle, en octets, allouée pour le processus associé. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Indique au composant d'attendre indéfiniment que le processus associé s'arrête. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 Indique au composant d'attendre le nombre de millisecondes spécifié que le processus associé s'arrête. true si le processus associé s'est arrêté ; sinon, false. Délai, en millisecondes, à attendre que le processus associé s'arrête.Le maximum est la plus grande valeur possible d'un entier 32 bits, qui représente l'infini pour le système d'exploitation. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 Obtient la quantité de mémoire physique allouée pour le processus associé. Quantité de la mémoire physique, en octets, allouée pour le processus associé. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Représente un fichier .dll ou .exe chargé dans un processus particulier. 2 Obtient l'adresse mémoire à laquelle le module a été chargé. Adresse de chargement du module. 2 Obtient l'adresse mémoire de la fonction qui s'exécute lorsque le système charge et exécute le module. Point d'entrée du module. 2 Obtient le chemin d'accès complet du module. Chemin d'accès qualifié complet qui définit l'emplacement du module. 2 Obtient la quantité de mémoire nécessaire au chargement du module. Taille en octets de la mémoire utilisée par le module. 2 Obtient le nom du module de processus. Nom du module. 2 Convertit le nom du module en chaîne. Valeur de la propriété . 2 Fournit une collection fortement typée d'objets . 2 Initialise une nouvelle instance de la classe à laquelle aucune instance de n'est associée. Initialise une nouvelle instance de la classe à l'aide du tableau spécifié d'instances de . Tableau d'instances de avec lequel initialiser cette instance de . Détermine si le module de processus spécifié existe dans la collection. true si le module existe dans la collection ; sinon, false. Instance de qui indique le module à rechercher dans cette collection. 2 Copie un tableau d'instances de vers la collection, à l'index spécifié. Tableau d'instances de à ajouter à la collection. Emplacement auquel ajouter les nouvelles instances. 2 Fournit l'emplacement d'un module spécifié dans la collection. Index de base zéro qui définit l'emplacement du module dans . dont l'index est récupéré. 2 Obtient un index pour itérer au sein du jeu de modules de processus. qui indexe les modules dans la collection. Valeur d'index de base zéro du module dans la collection. 2 Indique la priorité associée par le système à un processus.Cette valeur, ainsi que la valeur de priorité de chaque thread du processus, déterminent le niveau de priorité de base de chaque thread. 2 Spécifie que le processus a une priorité supérieure à Normal, mais inférieure à . Spécifie que le processus a une priorité supérieure à Idle, mais inférieure à Normal. Spécifie que le processus effectue des tâches en temps critique qui doivent être exécutées immédiatement, telles que la boîte de dialogue Task List qui doit répondre rapidement lorsqu'elle est appelée par l'utilisateur, peu importe la charge du système d'exploitation.Les threads du processus prévalent sur les threads de processus de classe de priorités normale ou inactive. Spécifie que les threads de ce processus ne s'exécutent que si le système est inactif, par exemple un écran de veille.Les threads de tout processus s'exécutant dans une classe de priorités supérieure prévalent sur les threads du processus. Spécifie que le processus ne possède aucune exigence de planification spéciale. Spécifie que le processus possède la priorité la plus élevée. Spécifie un jeu de valeurs utilisées lors du démarrage d'un processus. 2 Initialise une nouvelle instance de la classe sans spécifier le nom de fichier avec lequel démarrer le processus. Initialise une nouvelle instance de la classe et spécifie un nom de fichier (d'une application ou d'un document, par exemple) avec lequel démarrer le processus. Application ou document avec lequel démarrer un processus. Initialise une nouvelle instance de la classe et spécifie un nom de fichier d'application avec lequel démarrer le processus, ainsi qu'un jeu d'arguments de ligne de commande à passer à l'application. Application avec laquelle démarrer un processus. Arguments de ligne de commande à passer à l'application lors du démarrage du processus. Obtient ou définit le jeu d'arguments de ligne de commande à utiliser lors du démarrage de l'application. Chaîne unique contenant les arguments à passer à l'application cible spécifiée dans la propriété .La valeur par défaut est une chaîne vide ("").Sur Windows Vista et les versions antérieures du système d'exploitation Windows, la longueur des arguments ajoutés à la longueur du chemin d'accès complet au processus doit être inférieur à 2 080.Sur Windows 7 et versions ultérieures, la longueur doit être inférieure à 32 699.Les arguments étant analysés et interprétés par l'application cible, ils doivent correspondre aux attentes de cette application.Pour les applications .NET, comme illustré dans les exemples ci-dessous, les espaces sont interprétés comme un séparateur entre plusieurs arguments.Un argument unique qui comprend des espaces doit être placé entre guillemets, mais les guillemets ne sont pas transmises à l'application cible.Dans les guillemets du dernier argument analysé, vous devez affecter un triple échappement à chaque guillemet. 1 Obtient ou définit une valeur indiquant si le processus doit démarrer dans une nouvelle fenêtre. true si le processus doit démarrer sans créer de nouvelle fenêtre destinée à le contenir ; sinon, false.La valeur par défaut est false. 2 Obtient ou définit une valeur qui identifie le domaine à utiliser lors du démarrage du processus. Domaine Active Directory à utiliser lors du démarrage du processus.La propriété de domaine présente un intérêt particulier pour les utilisateurs dans les environnements d'entreprise qui utilisent Active Directory. 1 Obtient ou définit l'application ou le document à démarrer. Nom de l'application à démarrer, ou nom d'un document d'un type de fichier associé à une application et disposant d'une action d'ouverture par défaut.La valeur par défaut est une chaîne vide (""). 1 Obtient ou définit une valeur qui indique si le profil utilisateur Windows doit être chargé à partir du Registre. true si le profil utilisateur Windows doit être chargé ; sinon, false.La valeur par défaut est false. 1 Obtient ou définit une chaîne sécurisée contenant le mot de passe de l'utilisateur à utiliser lors du démarrage du processus. Mot de passe utilisateur à utiliser lors du démarrage du processus. 1 Obtient ou définit une valeur qui indique si la sortie d'erreur d'une application est écrite dans le flux . true si la sortie d'erreur est écrite dans  ; sinon, false.La valeur par défaut est false. 2 Obtient ou définit une valeur qui indique si l'entrée pour une application est lue à partir du flux . true si l'entrée est lue depuis  ; sinon, false.La valeur par défaut est false. 2 Obtient ou définit une valeur qui indique si la sortie textuelle d'une application est écrite dans le flux . true si la sortie doit être écrite dans  ; sinon, false.La valeur par défaut est false. 2 Obtient ou définit l'encodage recommandé pour la sortie d'erreur. Objet qui représente l'encodage recommandé pour la sortie d'erreur.La valeur par défaut est null. Obtient ou définit l'encodage recommandé pour la sortie standard. Objet qui représente l'encodage recommandé pour la sortie standard.La valeur par défaut est null. Obtient ou définit le nom d'utilisateur à utiliser lors du démarrage du processus. Nom d'utilisateur à utiliser au moment du démarrage du processus. 1 Obtient ou définit une valeur indiquant si le shell du système d'exploitation doit être utilisé pour démarrer le processus. true si le shell doit être utilisé lors du démarrage du processus ; false si le processus doit être créé directement à partir du fichier exécutable.La valeur par défaut est true. 2 Lorsque la propriété est false, obtient ou définit le répertoire de travail du processus à démarrer.Lorsque est true, obtient ou définit le répertoire qui contient le processus à démarrer. Lorsque est true, nom qualifié complet du répertoire qui contient le processus à démarrer.Lorsque la propriété est false, répertoire de travail du processus à démarrer.La valeur par défaut est une chaîne vide (""). 1 Représente un thread de processus du système d'exploitation. 2 Obtient la priorité de base du thread. Priorité de base du thread, calculée par le système d'exploitation en combinant la classe de priorité du processus avec le niveau de priorité du thread associé. 2 Obtient la priorité actuelle du thread. Priorité actuelle du thread, qui peut être différente de la priorité de base, selon la manière dont le système d'exploitation planifie le thread.La priorité peut être renforcée temporairement pour un thread actif. 2 Obtient l'identificateur unique du thread. Identificateur unique associé à un thread spécifique. 2 Définit le processeur par défaut sur lequel exécuter ce thread. Processeur par défaut pour le thread, utilisé lorsque le système planifie des threads, afin de déterminer le processeur sur lequel exécuter le thread. Le système n'a pas pu définir le thread pour qu'il démarre sur le processeur spécifié. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Obtient ou définit une valeur indiquant si le système d'exploitation doit renforcer temporairement la priorité du thread qui lui est associé chaque fois que la fenêtre principale du processus du thread reçoit le focus. true pour renforcer la priorité du thread en cas d'interaction de l'utilisateur avec l'interface du processus ; sinon, false.La valeur par défaut est false. Les informations sur le renforcement de la priorité n'ont pas pu être récupérées.ouLes informations sur le renforcement de la priorité n'ont pas pu être définies. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Obtient ou définit le niveau de priorité du thread. Une des valeurs spécifiant une plage qui limite la priorité du thread. Les informations sur le renforcement de la priorité du thread n'ont pas pu être récupérées. ouLe niveau de priorité du thread n'a pas pu être défini. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Obtient la durée d'exécution du code par le thread à l'intérieur du noyau du système d'exploitation. indiquant la durée d'exécution du code par le thread à l'intérieur du noyau du système d'exploitation. La durée du thread n'a pas pu être récupérée. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Définit les processeurs sur lesquels le thread associé peut s'exécuter. désignant un jeu de bits, chacun d'eux représentant un processeur sur lequel le thread peut s'exécuter. L'affinité du processeur n'a pas pu être définie. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Réinitialise le processeur idéal pour ce thread afin d'indiquer qu'il n'existe aucun processeur idéal.En d'autres termes, cela signifie que tous les processeurs sont idéaux. Le processeur idéal n'a pas pu être réinitialisé. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Obtient l'adresse mémoire de la fonction appelée par le système d'exploitation qui a démarré ce thread. Adresse de départ du thread, qui désigne la fonction définie par l'application exécutée par le thread. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Obtient l'heure à laquelle le système d'exploitation a démarré le thread. représentant l'heure du système au moment où le système d'exploitation a démarré le thread. La durée du thread n'a pas pu être récupérée. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Obtient l'état actuel de ce thread. indiquant l'exécution du thread (par exemple, s'il est en cours d'exécution, en attente ou terminé). La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Obtient la durée totale d'utilisation du processeur par ce thread. indiquant la durée pendant laquelle le thread contrôlait le processeur. La durée du thread n'a pas pu être récupérée. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Obtient la durée d'exécution du code par le thread associé au sein de l'application. indiquant la durée d'exécution du code par le thread à l'intérieur de l'application, et non à l'intérieur du noyau du système d'exploitation. La durée du thread n'a pas pu être récupérée. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Obtient la raison pour laquelle le thread est en attente. représentant la raison pour laquelle le thread est en état d'attente. Le thread n'est pas en état d'attente. La plateforme est Windows 98 ou Windows Millennium. Le processus se trouve sur un ordinateur distant. 2 Fournit une collection fortement typée d'objets . 2 Initialise une nouvelle instance de la classe à laquelle aucune instance de n'est associée. Initialise une nouvelle instance de la classe à l'aide du tableau spécifié d'instances de . Tableau d'instances de avec lequel initialiser cette instance de . Ajoute un thread de processus à la collection. Index de base zéro du thread dans la collection. Thread à ajouter à la collection. 2 Détermine si le thread de processus spécifié existe dans la collection. true si le thread existe dans la collection ; sinon, false. Instance de qui indique le thread à rechercher dans cette collection. 2 Copie un tableau d'instances de vers la collection, à l'index spécifié. Tableau d'instances de à ajouter à la collection. Emplacement auquel ajouter les nouvelles instances. 2 Fournit l'emplacement d'un thread spécifié dans la collection. Index de base zéro qui définit l'emplacement du thread dans . dont l'index est récupéré. 2 Insère un thread de processus à l'emplacement spécifié dans la collection. Index de base zéro indiquant l'emplacement dans lequel insérer le thread. Thread à insérer dans la collection. 2 Obtient un index pour itérer au sein du jeu de threads de processus. qui indexe les threads dans la collection. Valeur d'index de base zéro du thread dans la collection. 2 Supprime de la collection un thread de processus. Thread à supprimer de la collection. 2 Spécifie le niveau de priorité d'un thread. 2 Spécifie un niveau au-dessus de la priorité normale pour le associé. Spécifie un niveau en dessous de la priorité normale pour le associé. Spécifie la priorité la plus élevée.Elle se situe deux niveaux au-dessus de la priorité normale pour le associé. Spécifie la priorité du type inactif.Il s'agit de la plus basse priorité possible de tous les threads, indépendante de la valeur du associé. Spécifie la priorité la plus basse.Elle se situe deux niveaux en dessous de la priorité normale pour le associé. Spécifie la priorité normale pour le associé. Spécifie la priorité critique.Il s'agit de la priorité la plus élevée de tous les threads, indépendante de la valeur du associé. Spécifie l'état d'exécution actuel du thread. 1 État qui indique que le thread a été initialisé, mais n'a pas encore démarré. État qui indique que le thread attend de pouvoir utiliser un processeur, car aucun processeur n'est libre.Le thread est prêt à s'exécuter sur le prochain processeur disponible. État qui indique que le thread utilise actuellement un processeur. État qui indique que le thread est sur le point d'utiliser un processeur.Un seul thread peut être dans cet état à la fois. État qui indique que le thread a terminé de s'exécuter et s'est fermé. État qui indique que le thread attend une ressource autre que le processeur avant de pouvoir s'exécuter.Par exemple, il peut attendre que sa pile d'exécution soit paginée à partir du disque. L'état du thread est inconnu. État qui indique que le thread n'est pas prêt à utiliser le processeur, car il attend la fin d'une opération de périphérique ou la libération d'une ressource.Lorsque le thread est prêt, il est replanifié. Spécifie la raison pour laquelle un thread attend. 2 Le thread attend une paire d'événements haute. Le thread attend une paire d'événements basse. L'exécution du thread est différée. Le thread attend le planificateur. Le thread attend une page de mémoire virtuelle libre. Le thread attend l'arrivée d'un appel de procédure local. Le thread attend l'arrivée d'une réponse à un appel de procédure local. Le thread attend l'arrivée d'une page de mémoire virtuelle en mémoire. Le thread attend l'écriture d'une page de mémoire virtuelle sur le disque. L'exécution du thread est interrompue. Le thread attend une allocation système. Le thread attend pour une raison inconnue. Le thread attend une demande utilisateur. Le thread attend que le système alloue de la mémoire virtuelle. ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/netstandard1.4/it/System.Diagnostics.Process.xml ================================================  System.Diagnostics.Process [SecurityCritical] Fornisce un wrapper gestito per un handle di processo. [SecurityCritical] Inizializza una nuova istanza della classe dall'handle specificato, indicando se rilasciare l'handle durante la fase di finalizzazione. Handle di cui eseguire il wrapping. trueper consentire in modo affidabile rilasciare l'handle durante la fase di finalizzazione; in caso contrario, false. Fornisce i dati per gli eventi e . 2 Ottiene la riga di caratteri che è stata scritta in un flusso di output di reindirizzato. Riga scritta da un associato al relativo flusso di o di reindirizzato. 2 Rappresenta il metodo che gestirà l'evento o di un oggetto . Origine dell'evento. Oggetto che contiene i dati dell'evento. 2 Fornisce l'accesso ai processi locali e remoti e permette di avviare e arrestare i processi locali del sistema.Per esaminare il codice sorgente di .NET Framework per questo tipo, vedere Origine riferimento. 1 Inizializza una nuova istanza della classe . Ottiene la priorità base del processo associato. Priorità base, calcolata dalla proprietà del processo associato. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. The process has exited.-or- The process has not started, so there is no process ID. 2 Inizia le operazioni di lettura asincrona sul flusso reindirizzato dell'applicazione. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Inizia le operazioni di lettura asincrona sul flusso reindirizzato dell'applicazione. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Annulla l'operazione di lettura asincrona sul flusso reindirizzato di un'applicazione. The stream is not enabled for asynchronous read operations. 2 Annulla l'operazione di lettura asincrona sul flusso reindirizzato di un'applicazione. The stream is not enabled for asynchronous read operations. 2 Rilascia tutte le risorse usate dal processo. true per rilasciare sia le risorse gestite sia quelle non gestite; false per rilasciare solo le risorse non gestite. Ottiene o imposta la generazione dell'evento quando il processo viene terminato. true se l'evento dovrà essere generato quando il processo associato viene terminato (mediante un'uscita o una chiamata al metodo ); in caso contrario, false.Il valore predefinito è false. 2 Imposta un componente nello stato che gli permette di interagire con i processi del sistema operativo eseguiti in modalità speciale attivando la proprietà nativa SeDebugPrivilege sul thread corrente. 2 Si verifica quando un'applicazione scrive nel proprio flusso reindirizzato. 2 Ottiene il valore specificato dal processo associato quando è stato terminato. Codice specificato dal processo associato quando è stato terminato. The process has not exited.-or- The process is not valid. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Si verifica al termine di un processo. 2 Ottiene l'ora in cui il processo associato è stato terminato. Oggetto che indica il momento in cui il processo associato è stato terminato. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Ottiene un nuovo componente e lo associa al processo attivo. Nuovo componente associato alla risorsa di processo che sta eseguendo l'applicazione chiamante. 1 Restituisce un nuovo componente , dato l'identificatore di un processo nel computer locale. Componente associato alla risorsa locale del processo identificata dal parametro . Identificatore univoco nel sistema di una risorsa di processo. The process specified by the parameter is not running.The identifier might be expired. The process was not started by this object. 1 Restituisce un nuovo componente , dato un identificatore di processo e il nome di un computer sulla rete. Componente associato a una risorsa di processo remota identificata dal parametro . Identificatore univoco nel sistema di una risorsa di processo. Nome di un computer della rete. The process specified by the parameter is not running.The identifier might be expired.-or- The parameter syntax is invalid.The name might have length zero (0). The parameter is null. The process was not started by this object. 1 Crea un nuovo componente per ciascuna risorsa di processo del computer locale. Matrice di tipo che rappresenta tutte le risorse di processo in esecuzione sul computer locale. 1 Crea un nuovo componente per ciascuna risorsa di processo nel computer specificato. Matrice di tipo che rappresenta tutte le risorse di processo in esecuzione sul computer specificato. Computer da cui leggere l'elenco di processi. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Crea una matrice di nuovi componenti e li associa a tutte le risorse di processo nel computer locale che condividono il nome di processo specificato. Una matrice di tipo che rappresenta le risorse di processo che eseguono l'applicazione o il file specificati. Nome descrittivo del processo. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. 1 Crea una matrice di nuovi componenti e li associa a tutte le risorse di processo in un computer remoto che condividono il nome di processo specificato. Una matrice di tipo che rappresenta le risorse di processo che eseguono l'applicazione o il file specificati. Nome descrittivo del processo. Nome di un computer della rete. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Ottiene un valore che indica se il processo associato è stato terminato. true se il processo del sistema operativo cui fa riferimento il componente è stato terminato; in caso contrario, false. There is no process associated with the object. The exit code for the process could not be retrieved. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Ottiene l'identificatore univoco per il processo associato. Identificatore univoco generato dal sistema relativo al processo cui questa istanza di fa riferimento. The process's property has not been set.-or- There is no process associated with this object. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. 1 Arresta immediatamente il processo associato. The associated process could not be terminated. -or-The process is terminating.-or- The associated process is a Win16 executable. You are attempting to call for a process that is running on a remote computer.The method is available only for processes running on the local computer. The process has already exited. -or-There is no process associated with this object. 1 Fa uscire un componente dallo stato che permette di interagire con i processi del sistema operativo eseguiti in modalità speciale. 2 Ottiene il nome del computer sul quale è in esecuzione il processo associato. Nome del computer sul quale è in esecuzione il processo associato. There is no process associated with this object. 1 Ottiene il modulo principale del processo associato. Oggetto usato per avviare il processo. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. A 32-bit process is trying to access the modules of a 64-bit process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not available.-or- The process has exited. 1 Ottiene o imposta la dimensione massima del working set consentita per il processo associato. Dimensione massima del working set consentita in memoria per il processo, in byte. The maximum working set size is invalid.It must be greater than or equal to the minimum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ottiene o imposta la dimensione minima del working set consentita per il processo associato. Dimensione minima del working set richiesta in memoria per il processo, in byte. The minimum working set size is invalid.It must be less than or equal to the maximum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ottiene i moduli che sono stati caricati dal processo associato. Matrice di tipo che rappresenta i moduli caricati dal processo associato. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. You are attempting to access the property for either the system process or the idle process.These processes do not have modules. 2 Ottiene la quantità di memoria di sistema non di paging allocata per il processo associato. Quantità di memoria di sistema, in byte, allocata per il processo associato che non può essere scritta nel file di paging della memoria virtuale. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Genera l'evento . Si verifica quando un'applicazione scrive nel proprio flusso reindirizzato. 2 Ottiene la quantità di memoria di paging allocata per il processo associato. Quantità di memoria, in byte, allocata nel file di paging della memoria virtuale per il processo associato. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ottiene la quantità di memoria di sistema paginabile allocata per il processo associato. Quantità di memoria di sistema, in byte, allocata per il processo associato che può essere scritta nel file di paging della memoria virtuale. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ottiene la quantità massima di memoria nel file di paging della memoria virtuale usata dal processo associato. Quantità massima di memoria, in byte, allocata nel file di paging della memoria virtuale per il processo associato da quando è stato avviato. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ottiene la quantità massima di memoria virtuale usata dal processo associato. Quantità massima di memoria virtuale, in byte, allocata per il processo associato da quando è stato avviato. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ottiene la quantità massima di memoria fisica usata dal processo associato. Quantità massima di memoria fisica, in byte, allocata per il processo associato da quando è stato avviato. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ottiene o imposta un valore che indica se la priorità del processo associato deve essere incrementata temporaneamente dal sistema operativo quando la finestra principale è attiva. true se va eseguito l'incremento dinamico della priorità del processo uscito dallo stato di attesa; in caso contrario, false.Il valore predefinito è false. Priority boost information could not be retrieved from the associated process resource. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. 1 Ottiene o imposta la categoria di priorità globale per il processo associato. Categoria di priorità del processo associato, dalla quale viene calcolata la proprietà del processo. Process priority information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. You have set the to AboveNormal or BelowNormal when using Windows 98 or Windows Millennium Edition (Windows Me).These platforms do not support those values for the priority class. Priority class cannot be set because it does not use a valid value, as defined in the enumeration. 1 Ottiene la quantità di memoria privata allocata per il processo associato. Quantità di memoria, in byte, allocata per il processo associato che non può essere condivisa con altri processi. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Ottiene il tempo privilegiato del processore per questo processo. Valore che indica la quantità di tempo impiegato dal processore nell'eseguire il codice all'interno del nucleo centrale del sistema operativo. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Ottiene il nome del processo. Nome usato dal sistema per identificare il processo rispetto all'utente. The process does not have an identifier, or no process is associated with the .-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not on this computer. 1 Ottiene o imposta i processori nei quali è pianificata l'esecuzione dei thread di questo processo. Maschera di bit che rappresenta i processori con cui è possibile eseguire i thread del processo associato.Il valore predefinito dipende dal numero di processori presenti nel computer.Il valore predefinito è 2 n -1, dove n è il numero di processori. information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process was not available.-or- The process has exited. 2 Elimina le informazioni relative al processo associato memorizzate nella cache all'interno del componente del processo. 1 Ottiene l'handle nativo di questo processo. Handle nativo di questo processo. Ottiene l'identificatore della sessione di Servizi terminal per il processo associato. Identificatore della sessione di Servizi terminal per il processo associato. There is no session associated with this process. There is no process associated with this session identifier.-or-The associated process is not on this machine. The property is not supported on Windows 98. 1 Ottiene un flusso usato per leggere l'output di errore dell'applicazione. Oggetto che può essere usato per leggere il flusso di errore standard dell'applicazione. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Ottiene un flusso usato per scrivere l'input dell'applicazione. Oggetto che può essere usato per scrivere il flusso di input standard dell'applicazione. The stream has not been defined because is set to false. 1 Ottiene un flusso usato per leggere l'output dell'applicazione. Oggetto che può essere usato per leggere il flusso di output standard dell'applicazione. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Avvia (o riutilizza) la risorsa di processo specificata dalla proprietà di questo componente e la associa al componente. true se viene avviata una risorsa di processo, false se non viene avviata alcuna risorsa di processo nuova (ad esempio, se è stato riutilizzato un processo esistente). No file name was specified in the component's .-or- The member of the property is true while , , or is true. There was an error in opening the associated file. The process object has already been disposed. 1 Avvia la risorsa di processo specificata dal parametro contenente le informazioni di avvio del processo (ad esempio, il nome file del processo da avviare) e associa la risorsa a un nuovo componente . Nuovo associato alla risorsa di processo o null se non viene avviata alcuna risorsa di processo.Si noti che un nuovo processo avviato parallelamente a istanze dello stesso processo già in esecuzione sarà indipendente dalle altre.Inoltre, l'avvio può restituire un processo non Null con la relativa proprietà già impostata su true.In questo caso, è possibile che il processo avviato abbia attivato un'istanza esistente di se stesso e quindi sia terminato. Oggetto che contiene le informazioni usate per avviare il processo, tra cui il nome file e gli eventuali argomenti della riga di comando. No file name was specified in the parameter's property.-or- The property of the parameter is true and the , , or property is also true.-or-The property of the parameter is true and the property is not null or empty or the property is not null. The parameter is null. The process object has already been disposed. The file specified in the parameter's property could not be found. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." 1 Avvia una risorsa di processo specificando il nome di un documento o un file di applicazione e associa la risorsa a un nuovo componente . Nuovo associato alla risorsa di processo o null se non viene avviata alcuna risorsa di processo.Si noti che un nuovo processo avviato parallelamente a istanze dello stesso processo già in esecuzione sarà indipendente dalle altre.Inoltre, l'avvio può restituire un processo non Null con la relativa proprietà già impostata su true.In questo caso, è possibile che il processo avviato abbia attivato un'istanza esistente di se stesso e quindi sia terminato. Nome di un documento o di un file di applicazione da eseguire nel processo. An error occurred when opening the associated file. The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Avvia una risorsa di processo specificando il nome di un'applicazione e un insieme di argomenti della riga di comando e associa la risorsa a un nuovo componente . Nuovo associato alla risorsa di processo o null se non viene avviata alcuna risorsa di processo.Si noti che un nuovo processo avviato parallelamente a istanze dello stesso processo già in esecuzione sarà indipendente dalle altre.Inoltre, l'avvio può restituire un processo non Null con la relativa proprietà già impostata su true.In questo caso, è possibile che il processo avviato abbia attivato un'istanza esistente di se stesso e quindi sia terminato. Nome di un file di applicazione da eseguire nel processo. Argomenti della riga di comando da passare all'avvio del processo. The or parameter is null. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Avvia una risorsa di processo specificando il nome di un'applicazione, un nome utente, una password e un dominio e associa la risorsa a un nuovo componente . Nuovo associato alla risorsa di processo o null se non viene avviata alcuna risorsa di processo.Si noti che un nuovo processo avviato parallelamente a istanze dello stesso processo già in esecuzione sarà indipendente dalle altre.Inoltre, l'avvio può restituire un processo non Null con la relativa proprietà già impostata su true.In questo caso, è possibile che il processo avviato abbia attivato un'istanza esistente di se stesso e quindi sia terminato. Nome di un file di applicazione da eseguire nel processo. Nome utente da usare all'avvio del processo. Classe contenente la password da usare all'avvio del processo. Dominio da usare all'avvio del processo. No file name was specified. is not an executable (.exe) file. There was an error in opening the associated file. The process object has already been disposed. 1 Avvia una risorsa di processo specificando il nome di un'applicazione e un insieme di argomenti della riga di comando, un nome utente, una password e un dominio, e associa la risorsa a un nuovo componente . Nuovo associato alla risorsa di processo o null se non viene avviata alcuna risorsa di processo.Si noti che un nuovo processo avviato parallelamente a istanze dello stesso processo già in esecuzione sarà indipendente dalle altre.Inoltre, l'avvio può restituire un processo non Null con la relativa proprietà già impostata su true.In questo caso, è possibile che il processo avviato abbia attivato un'istanza esistente di se stesso e quindi sia terminato. Nome di un file di applicazione da eseguire nel processo. Argomenti della riga di comando da passare all'avvio del processo. Nome utente da usare all'avvio del processo. Classe contenente la password da usare all'avvio del processo. Dominio da usare all'avvio del processo. No file name was specified. is not an executable (.exe) file. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. 1 Ottiene o imposta le proprietà da passare al metodo del componente . Oggetto che rappresenta i dati con i quali avviare il processo.Tra gli argomenti sono compresi il nome del file eseguibile o il documento usato per avviare il processo. The value that specifies the is null. 1 Ottiene l'ora in cui è stato avviato il processo associato. Oggetto che indica il momento in cui è stato avviato il processo.Viene generata un eccezione se il processo non è in esecuzione. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process has exited.-or-The process has not been started. An error occurred in the call to the Windows function. 1 Ottiene il gruppo di thread in esecuzione nel processo associato. Matrice di tipo che rappresenta i thread del sistema operativo attualmente in esecuzione nel processo associato. The process does not have an , or no process is associated with the instance.-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. 1 Ottiene il tempo totale del processore per questo processo. Valore che indica la quantità di tempo impiegato dal processo associato nell'utilizzo della CPU.Questo valore è la somma delle proprietà e . The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Ottiene il tempo utente del processore per questo processo. Valore che indica la quantità di tempo impiegato dal processo associato nell'esecuzione del codice all'interno della parte di applicazione del processo (non all'interno del nucleo centrale del sistema operativo). The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Ottiene la quantità di memoria virtuale allocata per il processo associato. Quantità di memoria virtuale, in byte, allocata per il processo associato. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Indica al componente di attendere in modo indefinito la terminazione del processo associato. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 Indica al componente di attendere per il numero specificato di millisecondi che il processo venga terminato. true se il processo associato è stato terminato; in caso contrario, false. Quantità di tempo, espressa in millisecondi, in base alla quale viene attesa la terminazione del processo associato.Il valore massimo è il valore Integer a 32 bit più alto possibile, che rappresenta l'infinito per il sistema operativo. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 Ottiene la quantità di memoria fisica allocata per il processo associato. Quantità di memoria fisica, in byte, allocata per il processo associato. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Rappresenta un file DLL o EXE caricato in un particolare processo. 2 Ottiene l'indirizzo di memoria in cui è stato caricato il modulo. L'indirizzo di caricamento del modulo. 2 Ottiene l'indirizzo di memoria della funzione eseguita quando il sistema carica ed esegue il modulo. Il punto di ingresso del modulo. 2 Ottiene il percorso completo del modulo. Il percorso completo che definisce la posizione del modulo. 2 Ottiene la quantità di memoria richiesta per caricare il modulo. La dimensione in byte della memoria occupata dal modulo. 2 Ottiene il nome del modulo del processo. Nome del modulo. 2 Converte il nome del modulo in una stringa. Valore della proprietà . 2 Fornisce un insieme fortemente tipizzato di oggetti . 2 Consente di inizializzare una nuova istanza della classe , senza istanze di associate. Consente di inizializzare una nuova istanza della classe utilizzando la matrice specificata di istanze . Matrice di istanze di con la quale inizializzare questa istanza . Determina se il modulo di processo specificato è contenuto nell'insieme. Restituisce true se il modulo è presente nell'insieme; in caso contrario, false. Istanza che indica il modulo da trovare in questo insieme. 2 Copia una matrice di istanze nell'insieme, in corrispondenza dell'indice specificato. Matrice di istanze da aggiungere all'insieme. Posizione in cui aggiungere le nuove istanze. 2 Fornisce la posizione di un modulo specificato nell'insieme. Indice a base zero che definisce la posizione del modulo in . il cui indice viene richiamato. 2 Ottiene un indice per scorrere l'insieme di moduli di processo. che indicizza i moduli nell'insieme. Valore di indice a base zero del modulo dell'insieme. 2 Indica la priorità che il sistema associa a un processo.Questo valore, insieme al valore di priorità di ciascun thread del processo, determina il livello di priorità base di ogni thread. 2 Specifica che il processo ha una priorità superiore a Normal ma inferiore a . Specifica che il processo ha una priorità superiore a Idle ma inferiore a Normal. Specifica che il processo svolge attività critiche a livello temporale che richiedono un'immediata esecuzione, come ad esempio la finestra di dialogo Task List, la quale deve essere aperta velocemente in risposta a una chiamata dell'utente, a prescindere dal carico sul sistema operativo.I thread del processo hanno la precedenza sui thread dei processi con classe di priorità normal o idle. Specifica che i thread di questo processo vengono eseguiti soltanto quando il sistema è inattivo, ad esempio quando è in funzione uno screen saver.I thread del processo hanno la precedenza sui thread di qualsiasi processo con una classe di priorità superiore. Specifica che il processo non ha particolari esigenze di pianificazione. Specifica che la priorità del processo è la più alta possibile. Specifica un insieme di valori usati all'avvio di un processo. 2 Inizializza una nuova istanza della classe senza specificare un nome file con il quale avviare il processo. Inizializza una nuova istanza della classe e specifica un nome file, ad esempio un'applicazione o un documento, con il quale avviare il processo. Un'applicazione o un documento con il quale avviare un processo. Inizializza una nuova istanza della classe , specifica il nome file di un'applicazione con cui avviare il processo e determina un insieme di argomenti della riga di comando da passare all'applicazione. Un'applicazione con la quale avviare un processo. Argomenti della riga di comando da passare all'applicazione all'avvio del processo. Ottiene o imposta l'insieme di argomenti della riga di comando da usare all'avvio dell'applicazione. Una singola stringa contenente gli argomenti da passare all'applicazione di destinazione specificata nella proprietà .Il valore predefinito è una stringa vuota ("").In Windows Vista e nelle versioni precedenti del sistema operativo Windows, la lunghezza degli argomenti aggiunta alla lunghezza del percorso completo del processo deve essere minore di 2080.In Windows 7 e versioni successive la lunghezza deve essere minore di 32699.Gli argomenti vengono analizzati e interpretati dall'applicazione di destinazione, pertanto devono essere allineati con le aspettative dell'applicazione.Per le applicazioni .NET, come illustrato negli esempi seguenti, gli spazi vengono interpretati come un separatore tra più argomenti.Un singolo argomento che include spazi deve essere racchiuso tra virgolette, ma tali virgolette non vengono riportate nell'applicazione di destinazione.Nelle virgolette incluse nell'argomento analizzato finale, aggiungere tre caratteri di escape a ogni virgoletta. 1 Ottiene o imposta un valore che indica se avviare il processo in una nuova finestra. true se il processo deve essere avviato senza creare una nuova finestra; in caso contrario, false.Il valore predefinito è false. 2 Ottiene o imposta un valore che identifica il dominio da usare all'avvio del processo. Il dominio di Active Directory da usare all'avvio del processo.La proprietà del dominio interessa principalmente gli utenti in ambienti aziendali che usano Active Directory. 1 Ottiene o imposta l'applicazione o il documento da avviare. Il nome dell'applicazione da avviare oppure il nome di un documento di un tipo di file associato a un'applicazione con un'azione Open predefinita.Il valore predefinito è una stringa vuota (""). 1 Ottiene o imposta un valore che indica se deve essere caricato il profilo utente di Windows dal Registro di sistema. true se il profilo utente Windows deve essere caricato; in caso contrario, false.Il valore predefinito è false. 1 Ottiene o imposta una stringa sicura che contiene la password utente da usare all'avvio del processo. La password utente da usare all'avvio del processo. 1 Ottiene o imposta un valore che indica se l'output di errore di un'applicazione viene scritto nel flusso . true se l'output di errore deve essere scritto in ; in caso contrario, false.Il valore predefinito è false. 2 Ottiene o imposta un valore che indica se l'input per un'applicazione viene letto dal flusso . true se l'input deve essere letto da ; in caso contrario, false.Il valore predefinito è false. 2 Ottiene o imposta un valore che indica se l'output testuale di un'applicazione viene scritto nel flusso . true se l'output deve essere scritto in ; in caso contrario, false.Il valore predefinito è false. 2 Ottiene o imposta la codifica preferita per l'output di errore. Oggetto che rappresenta la codifica preferita per l'output di errore.Il valore predefinito è null. Ottiene o imposta la codifica preferita per l'output standard. Oggetto che rappresenta la codifica preferita per l'output standard.Il valore predefinito è null. Ottiene o imposta il nome utente da usare all'avvio del processo. Nome utente da usare all'avvio del processo. 1 Ottiene o imposta un valore che indica se usare la shell del sistema operativo per avviare il processo. true se la shell deve essere usata all'avvio del processo; false se il processo deve essere creato direttamente dal file eseguibile.Il valore predefinito è true. 2 Quando la proprietà è false, ottiene o imposta la directory di lavoro per il processo da avviare.Quando la proprietà è true, ottiene o imposta la directory che contiene il processo da avviare. Quando è true, il nome completo della directory contenente il processo da avviare.Quando la proprietà è false, la directory di lavoro per il processo da avviare.Il valore predefinito è una stringa vuota (""). 1 Rappresenta un thread di processo del sistema operativo. 2 Ottiene la priorità base del thread. La priorità base del thread, calcolata dal sistema operativo combinando la classe di priorità del processo con il livello di priorità del thread associato. 2 Ottiene la priorità corrente del thread. La priorità corrente del thread, che potrebbe essere diversa da quella di base a seconda del modo in cui il sistema operativo pianifica il thread.La priorità può essere temporaneamente aumentata per un thread attivo. 2 Ottiene l'identificatore univoco del thread. L'identificatore univoco associato a uno specifico thread. 2 Imposta il processore preferenziale su cui eseguire questo thread. Il processore preferenziale del thread, utilizzato quando il sistema pianifica i thread, per determinare il processore su cui eseguirlo. Il sistema non è stato in grado di impostare l'avvio del thread sul processore specificato. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Ottiene o imposta un valore che indica se il sistema operativo deve incrementare temporaneamente la priorità del thread associato ogni volta che la finestra principale del processo del thread diventa attiva. true per incrementare la priorità del thread quando l'utente interagisce con l'interfaccia del processo; in caso contrario, false .Il valore predefinito è false. Non è possibile recuperare le informazioni sull'incremento di priorità.- oppure -Non è possibile impostare le informazioni sull'incremento di priorità. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Ottiene o imposta il livello di priorità del thread. Uno dei valori di , che specifica un intervallo nel quale rientra la priorità del thread. Non è possibile recuperare le informazioni sul livello di priorità del thread. - oppure -Non è possibile impostare il livello di priorità del thread. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Ottiene l'intervallo di tempo che il thread ha impiegato nell'esecuzione del codice all'interno del nucleo centrale del sistema operativo. Valore che indica l'intervallo di tempo impiegato dal thread nell'esecuzione del codice all'interno del nucleo centrale del sistema operativo. Non è possibile recuperare l'intervallo di tempo del thread. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Imposta il processore sul quale può essere eseguito il thread associato. Un oggetto che punta a un insieme di bit, ciascuno dei quali rappresenta un processore sul quale può essere eseguito il thread. Non è stato possibile impostare l'affinità dei processori. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Reimposta il processore ideale di questo thread a indicare che non è presente un singolo processore ideale.In altre parole, ogni altro processore può essere ideale. Non è possibile reimpostare il processore ideale. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Ottiene l'indirizzo di memoria della funzione chiamata dal sistema operativo per l'avvio di questo thread. L'indirizzo iniziale del thread, che punta alla funzione definita dall'applicazione eseguita dal thread. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Ottiene l'ora in cui il sistema operativo ha iniziato il thread. Un oggetto che rappresenta l'ora di sistema al momento dell'avvio del thread da parte del sistema operativo. Non è possibile recuperare l'intervallo di tempo del thread. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Ottiene lo stato corrente di questo thread. Un oggetto che indica lo stato del thread, ad esempio in esecuzione, in attesa o completato. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Ottiene la quantità totale di tempo impiegata da questo thread nell'utilizzo del processore. Un oggetto che indica la quantità di tempo in base alla quale il thread ha avuto il controllo del processore. Non è possibile recuperare l'intervallo di tempo del thread. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Ottiene la quantità di tempo che il thread associato ha impiegato nell'esecuzione del codice all'interno dell'applicazione. Valore che indica la quantità di tempo impiegato dal thread nell'esecuzione del codice all'interno dell'applicazione, rispetto all'esecuzione all'interno del nucleo centrale del sistema operativo. Non è possibile recuperare l'intervallo di tempo del thread. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Ottiene il motivo per cui il thread è in attesa. Un oggetto che rappresenta il motivo per il quale il thread è nello stato di attesa. Il thread non è nello stato di attesa. La piattaforma è Windows 98 o Windows Millennium Edition. Il processo è eseguito su un computer remoto. 2 Fornisce un insieme fortemente tipizzato di oggetti . 2 Consente di inizializzare una nuova istanza della classe , senza istanze di associate. Consente di inizializzare una nuova istanza della classe utilizzando la matrice specificata di istanze . Matrice di istanze di con la quale inizializzare questa istanza . Accoda un thread di processo all'insieme. Indice a base zero del thread contenuto nell'insieme. Thread da aggiungere all'insieme. 2 Determina se il thread di processo specificato è contenuto nell'insieme. Restituisce true se il thread è presente nell'insieme; in caso contrario, false. Istanza che indica il thread da trovare in questo insieme. 2 Copia una matrice di istanze nell'insieme, in corrispondenza dell'indice specificato. Matrice di istanze da aggiungere all'insieme. Posizione in cui aggiungere le nuove istanze. 2 Fornisce la posizione di un thread specificato nell'insieme. Indice a base zero che definisce la posizione del thread all'interno di . il cui indice viene richiamato. 2 Inserisce un thread di processo nella posizione specificata dell'insieme. Indice a base zero che indica la posizione in cui inserire il thread. Thread da inserire nell'insieme. 2 Ottiene un indice per scorrere l'insieme di thread di processo. che indicizza i thread nell'insieme. Valore dell'indice a base zero del thread dell'insieme. 2 Elimina un thread di processo dall'insieme. Thread da rimuovere dall'insieme. 2 Specifica il livello di priorità di un thread. 2 Specifica un livello superiore alla priorità normale della classe associata. Specifica un livello inferiore alla priorità normale della classe associata. Specifica la massima priorità.Questa è di due livelli superiore alla priorità normale della classe associata. Specifica la priorità idle.Questo è il minimo valore possibile di priorità di tutti i thread, indipendentemente dal valore della classe associata. Specifica la minima priorità.Questa è di due livelli inferiore alla priorità normale della classe associata. Specifica la priorità normale della classe associata. Specifica la priorità critica a livello temporale.Questo è il massimo valore di priorità di tutti i thread, indipendentemente dal valore della classe associata. Specifica lo stato di esecuzione corrente del thread. 1 Uno stato che indica che il thread è stato inizializzato ma non è stato ancora avviato. Uno stato che indica che il thread è in attesa di utilizzare un processore in quanto nessun processore è disponibile.Il thread è pronto per essere eseguito sul prossimo processore disponibile. Uno stato che indica che il thread utilizza attualmente un processore. Uno stato che indica che il thread sta per utilizzare un processore.Un solo thread alla volta può trovarsi in questo stato. Uno stato che indica che il thread ha completato l'esecuzione ed è uscito. Uno stato che indica che il thread è in attesa di una risorsa, diversa dal processore, prima di poter essere eseguito.Può essere ad esempio in attesa che il proprio stack di esecuzione venga paginato dal disco. Lo stato del thread è sconosciuto. Uno stato che indica che il thread non è pronto per essere utilizzato dal processore in quanto è in attesa che un'operazione secondaria venga completata o che una risorsa venga resa disponibile.Quando il thread è pronto, viene ripianificato. Specifica il motivo per il quale un thread è in attesa. 2 Il thread è in attesa di Event Pair High. Il thread è in attesa di Event Pair Low. L'esecuzione del thread è stata rinviata. Il thread è in attesa della pianificazione. Il thread è in attesa di una pagina di memoria virtuale libera. Il thread è in attesa di una chiamata alla routine locale. Il thread è in attesa di una risposta a una chiamata di routine locale. Il thread è in attesa di una pagina di memoria virtuale nella memoria. Il thread è in attesa di una pagina di memoria virtuale da scrivere nel disco. L'esecuzione del thread è stata sospesa. Il thread è in attesa dell'allocazione di sistema. Il thread è in attesa per un motivo sconosciuto. Il thread è in attesa di una richiesta dell'utente. Il thread è in attesa che il sistema allochi la memoria virtuale. ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/netstandard1.4/ja/System.Diagnostics.Process.xml ================================================  System.Diagnostics.Process [セキュリティ クリティカル] プロセス ハンドルのためのマネージ ラッパーを提供します。 [セキュリティ クリティカル] 新しいインスタンスを初期化、ファイナライズ フェーズ中にハンドルを解放するかどうかを示す、指定したハンドルからクラスです。 ラップされるハンドル。 true確実にできるようにする終了処理中にハンドルを解放します。それ以外の場合、falseです。 イベントと イベントにデータを提供します。 2 リダイレクトされた 出力ストリームに書き込まれた文字の行を取得します。 関連する によって、リダイレクトされた または ストリームに書き込まれた行。 2 イベントまたは イベントを処理するメソッドを表します。 イベントのソース。 イベント データを格納している 2 ローカル プロセスとリモート プロセスにアクセスできるようにして、ローカル システム プロセスの起動と中断ができるようにします。この型の .NET Framework ソース コードを参照するには、参照ソースをご覧ください。 1 クラスの新しいインスタンスを初期化します。 関連付けられたプロセスの基本優先順位を取得します。 関連付けられたプロセスの から算出される基本優先順位。 The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. The process has exited.-or- The process has not started, so there is no process ID. 2 アプリケーションのリダイレクトされた ストリームで、非同期読み取り操作を開始します。 The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 アプリケーションのリダイレクトされた ストリームで、非同期読み取り操作を開始します。 The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 アプリケーションのリダイレクトされた ストリームで、非同期読み取り操作をキャンセルします。 The stream is not enabled for asynchronous read operations. 2 アプリケーションのリダイレクトされた ストリームで、非同期読み取り操作をキャンセルします。 The stream is not enabled for asynchronous read operations. 2 このプロセスによって使用されているすべてのリソースを解放します。 マネージ リソースとアンマネージ リソースの両方を解放する場合は true。アンマネージ リソースだけを解放する場合は false。 プロセスが終了したときに、 イベントを発生させるかどうかを取得または設定します。 正常終了または の呼び出しによって関連付けられたプロセスが終了したときに イベントを発生させる場合は true。それ以外の場合は false。既定値は、false です。 2 現在のスレッドのネイティブ プロパティ SeDebugPrivilege を有効にすることにより、 コンポーネントを、特殊なモードで実行されているオペレーティング システム プロセスと対話する状態にします。 2 アプリケーションがリダイレクトされた ストリームに書き込む場合に発生します。 2 関連付けられたプロセスが終了したときにプロセスによって指定された値を取得します。 関連付けられたプロセスが終了したときにプロセスによって指定されたコード。 The process has not exited.-or- The process is not valid. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 プロセスが終了したときに発生します。 2 関連付けられたプロセスが終了した時刻を取得します。 関連付けられたプロセスが終了した時刻を示す The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 新しい コンポーネントを取得し、現在アクティブなプロセスに関連付けます。 呼び出し元のアプリケーションを実行しているプロセス リソースに関連付けられた新しい コンポーネント。 1 ローカル コンピューター上のプロセス ID が指定された新しい コンポーネントを返します。 パラメーターで識別されるローカル プロセス リソースに関連付けられた コンポーネント。 システムで一意なプロセス リソースの識別子。 The process specified by the parameter is not running.The identifier might be expired. The process was not started by this object. 1 プロセス ID とネットワーク上のコンピューターの名前が指定された新しい コンポーネントを返します。 パラメーターで識別されるリモート プロセス リソースに関連付けられた コンポーネント。 システムで一意なプロセス リソースの識別子。 ネットワーク上のコンピューターの名前。 The process specified by the parameter is not running.The identifier might be expired.-or- The parameter syntax is invalid.The name might have length zero (0). The parameter is null. The process was not started by this object. 1 ローカル コンピューター上の各プロセス リソースごとに新しい コンポーネントを作成します。 ローカル コンピューター上で実行されているすべてのプロセス リソースを表す 型の配列。 1 指定したコンピューター上の各プロセス リソースごとに新しい コンポーネントを作成します。 指定したコンピューター上で実行されているすべてのプロセス リソースを表す 型の配列。 プロセスの一覧を読み取る対象のコンピューター。 The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 新しい コンポーネントの配列を作成し、指定したプロセス名を共有するローカル コンピューター上のすべてのプロセス リソースに関連付けます。 指定したアプリケーションまたはファイルを実行しているプロセス リソースを表す 型の配列。 プロセスのフレンドリ名。 There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. 1 新しい コンポーネントの配列を作成し、指定したプロセス名を共有するリモート コンピューター上のすべてのプロセス リソースに関連付けます。 指定したアプリケーションまたはファイルを実行しているプロセス リソースを表す 型の配列。 プロセスのフレンドリ名。 ネットワーク上のコンピューターの名前。 The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 関連付けられているプロセスが終了したかどうかを示す値を取得します。 コンポーネントが参照するオペレーティング システム プロセスが終了している場合は true。それ以外の場合は false。 There is no process associated with the object. The exit code for the process could not be retrieved. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 関連付けられたプロセスの一意の識別子を取得します。 この インスタンスが参照する、システムが生成したプロセスの一意の識別子。 The process's property has not been set.-or- There is no process associated with this object. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. 1 関連付けられたプロセスを即時中断します。 The associated process could not be terminated. -or-The process is terminating.-or- The associated process is a Win16 executable. You are attempting to call for a process that is running on a remote computer.The method is available only for processes running on the local computer. The process has already exited. -or-There is no process associated with this object. 1 コンポーネントを、特殊なモードで実行されているオペレーティング システム プロセスと対話する状態から解放します。 2 関連付けられたプロセスを実行しているコンピューターの名前を取得します。 関連付けられたプロセスを実行しているコンピューターの名前。 There is no process associated with this object. 1 関連付けられたプロセスのメイン モジュールを取得します。 プロセスを起動するときに使用した You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. A 32-bit process is trying to access the modules of a 64-bit process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not available.-or- The process has exited. 1 関連付けられたプロセスに許可されるワーキング セットの最大サイズを取得または設定します。 プロセスに許可されるメモリ上のワーキング セットの最大サイズ (バイト単位)。 The maximum working set size is invalid.It must be greater than or equal to the minimum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 関連付けられたプロセスに許可されるワーキング セットの最小サイズを取得または設定します。 プロセスに必要なメモリ上の最小ワーキング セット サイズ (バイト単位)。 The minimum working set size is invalid.It must be less than or equal to the maximum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 関連付けられたプロセスに読み込まれたモジュールを取得します。 関連付けられたプロセスに読み込まれたモジュールを表す 型の配列。 You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. You are attempting to access the property for either the system process or the idle process.These processes do not have modules. 2 関連付けられたプロセスに割り当てられたページングされないシステム メモリの量を取得します。 関連付けられたプロセスに割り当てられた、仮想メモリ ページング ファイルに書き込むことができないシステム メモリの容量 (バイト単位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 イベントを発生させます。 アプリケーションが、リダイレクトされた ストリームに行を書き込む度に発生します。 2 関連付けられたプロセスに割り当てられたページングされるシステム メモリの量を取得します。 関連付けられたプロセスの仮想メモリ ページング ファイル内で割り当てられたメモリの量 (バイト単位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 関連付けられたプロセスに割り当てられたページング可能なシステム メモリの量を取得します。 関連付けられたプロセスに割り当てられた、仮想メモリ ページング ファイルに書き込むことができるシステム メモリの容量 (バイト単位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 関連付けられたプロセスによって使用される、仮想メモリ ページング ファイル内のメモリの最大量を取得します。 プロセスの開始以降、関連付けられたプロセスの仮想メモリ ページング ファイル内で割り当てられたメモリの最大量 (バイト単位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 関連付けられたプロセスによって使用される仮想メモリの最大量を取得します。 プロセスの開始以降、関連付けられたプロセスに割り当てられた仮想メモリの最大量 (バイト単位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 関連付けられたプロセスによって使用される物理メモリの最大量を取得します。 プロセスの開始以降、関連付けられたプロセスに割り当てられた物理メモリの最大量 (バイト単位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 メイン ウィンドウのフォーカス時に、オペレーティング システムによって関連付けられたプロセスの優先順位を一時的に上げるかどうかを示す値を取得または設定します。 待機状態から抜けたときにプロセスの優先順位を動的に上げる場合は true。それ以外の場合は false。既定値は、false です。 Priority boost information could not be retrieved from the associated process resource. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. 1 関連付けられたプロセスの全体的な優先順位カテゴリを取得または設定します。 プロセスの を計算するときに使用する、関連付けられたプロセスの優先順位カテゴリ。 Process priority information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. You have set the to AboveNormal or BelowNormal when using Windows 98 or Windows Millennium Edition (Windows Me).These platforms do not support those values for the priority class. Priority class cannot be set because it does not use a valid value, as defined in the enumeration. 1 関連付けられたプロセスに割り当てられたプライベート メモリの量を取得します。 関連付けられたプロセスに割り当てられ、他のプロセスと共有できないメモリの量 (バイト単位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 このプロセスの特権プロセッサ時間を取得します。 プロセスが、オペレーティング システム コア内でコードを実行した合計時間を示す The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 プロセスの名前を取得します。 システムで使用する、ユーザーがプロセスを識別するための名前。 The process does not have an identifier, or no process is associated with the .-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not on this computer. 1 このプロセスでのスレッドの実行をスケジュールできるプロセッサを取得または設定します。 関連付けられたプロセスのスレッドを実行できるプロセッサを示すビットマスク。既定値は、コンピューターのプロセッサ数によって異なります。既定値は 2 n -1 で、n はプロセッサ数です。 information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process was not available.-or- The process has exited. 2 プロセス コンポーネントにキャッシュされている関連付けられたプロセスに関するすべての情報を破棄します。 1 このプロセスへのネイティブ ハンドルを取得します。 このプロセスへのネイティブ ハンドル。 関連付けられたプロセスのターミナル サービス セッション識別子を取得します。 関連付けられたプロセスのターミナル サービス セッション識別子。 There is no session associated with this process. There is no process associated with this session identifier.-or-The associated process is not on this machine. The property is not supported on Windows 98. 1 アプリケーションのエラー出力の読み取りに使用されるストリームを取得します。 アプリケーションの標準エラー ストリームの読み取りに使用できる The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 アプリケーションの入力の書き込みに使用されるストリームを取得します。 アプリケーションの標準入力ストリームの書き込みに使用できる The stream has not been defined because is set to false. 1 アプリケーションのテキスト出力の読み取りに使用されるストリームを取得します。 アプリケーションの標準出力ストリームの読み取りに使用できる The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 この コンポーネントの プロパティで指定されたプロセス リソースを起動 (または再利用) し、コンポーネントに関連付けます。 プロセス リソースが起動された場合は true。新しいプロセス リソースが起動されなかった場合は false (既存のプロセスを再利用した場合など)。 No file name was specified in the component's .-or- The member of the property is true while , , or is true. There was an error in opening the associated file. The process object has already been disposed. 1 プロセス起動情報 (起動するプロセスのファイル名など) が格納されているパラメーターで指定されたプロセス リソースを起動し、リソースを新しい コンポーネントに関連付けます。 プロセス リソースに関連付けられている新しい 。プロセス リソースが起動されていない場合は null。同じプロセスのインスタンスが既に実行されているときに起動された新しいプロセスは、他のインスタンスから独立します。また、Start では、 プロパティが既に true に設定されている null 以外の Process が返される場合があります。その場合、起動されたプロセス自体の既存のインスタンスがアクティブ化され、その後に終了されることがあります。 ファイル名やコマンド ライン引数など、プロセスの起動に使用する情報が格納されている No file name was specified in the parameter's property.-or- The property of the parameter is true and the , , or property is also true.-or-The property of the parameter is true and the property is not null or empty or the property is not null. The parameter is null. The process object has already been disposed. The file specified in the parameter's property could not be found. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." 1 文書またはアプリケーション ファイルの名前を指定してプロセス リソースを起動し、リソースを新しい コンポーネントに関連付けます。 プロセス リソースに関連付けられている新しい 。プロセス リソースが起動されていない場合は null。同じプロセスのインスタンスが既に実行されているときに起動された新しいプロセスは、他のインスタンスから独立します。また、Start では、 プロパティが既に true に設定されている null 以外の Process が返される場合があります。その場合、起動されたプロセス自体の既存のインスタンスがアクティブ化され、その後に終了されることがあります。 プロセスで実行する文書またはアプリケーション ファイルの名前。 An error occurred when opening the associated file. The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 アプリケーションの名前とコマンド ライン引数のセットを指定してプロセス リソースを起動し、リソースを新しい コンポーネントに関連付けます。 プロセス リソースに関連付けられている新しい 。プロセス リソースが起動されていない場合は null。同じプロセスのインスタンスが既に実行されているときに起動された新しいプロセスは、他のインスタンスから独立します。また、Start では、 プロパティが既に true に設定されている null 以外の Process が返される場合があります。その場合、起動されたプロセス自体の既存のインスタンスがアクティブ化され、その後に終了されることがあります。 プロセスで実行するアプリケーション ファイルの名前。 プロセスを起動するときに渡すコマンド ライン引数。 The or parameter is null. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 アプリケーションの名前、ユーザー名、パスワード、およびドメインを指定してプロセス リソースを起動し、リソースを新しい コンポーネントに関連付けます。 プロセス リソースに関連付けられている新しい 。プロセス リソースが起動されていない場合は null。同じプロセスのインスタンスが既に実行されているときに起動された新しいプロセスは、他のインスタンスから独立します。また、Start では、 プロパティが既に true に設定されている null 以外の Process が返される場合があります。その場合、起動されたプロセス自体の既存のインスタンスがアクティブ化され、その後に終了されることがあります。 プロセスで実行するアプリケーション ファイルの名前。 プロセスの開始時に使用するユーザー名。 プロセスを開始するときに使用されるパスワードを含んだ プロセスの開始時に使用するドメイン。 No file name was specified. is not an executable (.exe) file. There was an error in opening the associated file. The process object has already been disposed. 1 アプリケーションの名前、コマンド ライン引数のセット、ユーザー名、パスワード、およびドメインを指定してプロセス リソースを起動し、リソースを新しい コンポーネントに関連付けます。 プロセス リソースに関連付けられている新しい 。プロセス リソースが起動されていない場合は null。同じプロセスのインスタンスが既に実行されているときに起動された新しいプロセスは、他のインスタンスから独立します。また、Start では、 プロパティが既に true に設定されている null 以外の Process が返される場合があります。その場合、起動されたプロセス自体の既存のインスタンスがアクティブ化され、その後に終了されることがあります。 プロセスで実行するアプリケーション ファイルの名前。 プロセスを起動するときに渡すコマンド ライン引数。 プロセスの開始時に使用するユーザー名。 プロセスを開始するときに使用されるパスワードを含んだ プロセスの開始時に使用するドメイン。 No file name was specified. is not an executable (.exe) file. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. 1 メソッドに渡すプロパティを取得または設定します。 プロセスを起動するときに使用するデータを表す 。これらの引数には、プロセスの起動時に使用する実行可能ファイルまたは文書の名前があります。 The value that specifies the is null. 1 関連付けられたプロセスが起動された時刻を取得します。 プロセスが起動された時刻を示すオブジェクト。プロセスが実行中でない場合は、例外がスローされます。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process has exited.-or-The process has not been started. An error occurred in the call to the Windows function. 1 関連付けられたプロセスで実行されているスレッドのセットを取得します。 関連付けられたプロセスで現在実行中のオペレーティング システム スレッドを表す 型の配列。 The process does not have an , or no process is associated with the instance.-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. 1 このプロセスの合計プロセッサ時間を取得します。 関連付けられたプロセスが CPU を使用した合計時間を示す 。この値は、 の合計です。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 このプロセスのユーザー プロセッサ時間を取得します。 関連付けられたプロセスが、プロセスのアプリケーション部分の内部 (オペレーティング システム コアの外部) でコードを実行した合計時間を示す The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 関連付けられたプロセスに割り当てられた仮想メモリの量を取得します。 関連付けられたプロセスに割り当てられた仮想メモリの量 (バイト単位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 関連付けられたプロセスが終了するまで無期限に待機するように コンポーネントに指示します。 The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 関連付けられたプロセスが終了するまで、最大で指定したミリ秒間待機するように コンポーネントに指示します。 関連付けられたプロセスが終了した場合は true。それ以外の場合は false。 関連付けられたプロセスが終了するまで待機する時間。単位はミリ秒です。最大値は、32 ビット整数で表現できる最大値で、オペレーティング システムに対して無限大で表現される値です。 The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 関連付けられたプロセスに割り当てられた物理メモリの量を取得します。 関連付けられたプロセスに割り当てられた物理メモリの量 (バイト単位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 特定のプロセスに読み込まれた .dll ファイルまたは実行可能ファイル (.exe) を表します。 2 モジュールが読み込まれたメモリ アドレスを取得します。 モジュールの読み込みアドレス。 2 システムがモジュールを読み込んで実行するときに実行される関数のメモリ アドレスを取得します。 モジュールのエントリ ポイント。 2 モジュールの完全パスを取得します。 モジュールの位置を定義する絶対パス。 2 モジュールの読み込みに必要なメモリ容量を取得します。 モジュールが占有するメモリのサイズ。単位はバイトです。 2 プロセス モジュールの名前を取得します。 モジュールの名前です。 2 モジュールの名前を文字列に変換します。 プロパティの値。 2 オブジェクトの厳密に型指定されたコレクションを提供します。 2 インスタンスに関連付けずに、 クラスの新しいインスタンスを初期化します。 インスタンスの配列を指定して、 クラスの新しいインスタンスを初期化します。 この インスタンスを初期化するために使用する インスタンスの配列。 指定したプロセス モジュールがコレクション内にあるかどうかを調べます。 モジュールがコレクション内にある場合は true。それ以外の場合は false。 コレクション内にあるかどうかを調べるモジュールを示す インスタンス。 2 コレクションの指定したインデックスに インスタンスの配列をコピーします。 コレクションに追加する インスタンスの配列。 新しいインスタンスを追加する位置。 2 コレクション内の指定したモジュールの位置を提供します。 内のモジュールの位置を定義する 0 から始まるインデックス番号。 インデックスを取得する 2 一連のプロセス モジュールを反復処理するためのインデックスを取得します。 コレクション内のモジュールにインデックスを作成する コレクション内のモジュールの 0 から始まるインデックス値。 2 システムがプロセスに関連付ける優先順位を示します。この値は、プロセスの各スレッドの優先順位値と組み合わされ、各スレッドの基本優先順位を決定します。 2 プロセスの優先順位を Normal より高く より低く指定します。 プロセスの優先順位を Idle より高く Normal より低く指定します。 Task List ダイアログ ボックスなどの、ユーザーから呼び出されたらオペレーティング システムの負荷にかかわらずすぐに応答する必要のある、即時実行を要求される重要なタスクに対して、プロセス実行時間を指定します。このプロセスのスレッドは、Normal または Idle 優先順位クラスのプロセスのスレッドよりも優先します。 このプロセスのスレッドが、スクリーン セーバーなど、システムがアイドル状態のときにだけ実行されるよう指定します。このプロセスのスレッドよりも、より高い優先順位クラスで実行されているあらゆるプロセスのスレッドの方が優先します。 プロセスが特別なスケジューリングを必要としないよう指定します。 プロセスの優先順位をできるだけ高く指定します。 プロセスを起動するときに使用する値のセットを指定します。 2 プロセスを起動するときに使用するファイル名を指定せずに、 クラスの新しいインスタンスを初期化します。 クラスの新しいインスタンスを初期化し、アプリケーションやドキュメントなど、プロセスを起動するときに使用するファイル名を指定します。 プロセスを起動するときに使用するアプリケーションまたはドキュメント。 プロセスを起動するときに使用するアプリケーション ファイル名およびアプリケーションに渡すコマンド ライン引数のセットを指定して、 クラスの新しいインスタンスを初期化します。 プロセスを起動するときに使用するアプリケーション。 プロセスを起動するときにアプリケーションに渡すコマンド ライン引数。 アプリケーションを起動するときに使用するコマンド ライン引数のセットを取得または設定します。 プロパティで指定したターゲット アプリケーションに渡す引数を格納した単一の文字列。既定値は、空の文字列 ("") です。Windows オペレーティング システムの Windows Vista 以前のバージョンでは、プロセスへの完全パスの長さに追加される引数の長さは 2080 よりも小さくする必要があります。Windows 7 およびそれ以降のバージョンでは、長さは 32699 よりも小さくする必要があります。引数はターゲット アプリケーションで解析され、解釈されるため、そのアプリケーションの想定に合わせたものでなければなりません。下記の「例」で説明するとおり、.NET アプリケーションではスペースが複数の引数間の区切り記号として解釈されます。1 つの引数にスペースが含まれる場合は引用符で囲む必要がありますが、これらの引用符はターゲット アプリケーションに渡されません。解析後の最終的な引数に引用符を組み込むには、それぞれの記号をトリプル エスケープします。 1 プロセスを新しいウィンドウで起動するかどうかを示す値を取得または設定します。 プロセス用の新しいウィンドウを作成せずにプロセスを起動する場合は true。それ以外の場合は false。既定値は、false です。 2 プロセスを開始するときに使用されるドメインを指定する値を取得または設定します。 プロセスを開始するときに使用する Active Directory ドメイン。ドメイン プロパティは、主に、Active Directory を使用するエンタープライズ環境のユーザーにとって重要です。 1 起動するアプリケーションまたはドキュメントを取得または設定します。 起動するアプリケーション名。または、アプリケーションに関連付けられていて、既定の "open" アクションが利用できるファイル タイプのドキュメント名。既定値は、空の文字列 ("") です。 1 Windows ユーザー プロファイルをレジストリから読み込むかどうかを示す値を取得または設定します。 Windows ユーザー プロファイルを読み込む必要がある場合は true。それ以外の場合は false。既定値は、false です。 1 プロセスを開始するときに使用するユーザー パスワードを格納するセキュリティ文字列を取得または設定します。 プロセスの開始時に使用するユーザー パスワード。 1 アプリケーションのエラー出力を ストリームに書き込むかどうかを示す値を取得または設定します。 エラー出力を に書き込む場合は true。それ以外の場合は false。既定値は、false です。 2 アプリケーションの入力を ストリームから読み取るかどうかを示す値を取得または設定します。 から入力を読み取る場合は true。それ以外の場合は false。既定値は、false です。 2 アプリケーションのテキスト出力を ストリームに書き込むかどうかを示す値を取得または設定します。 出力を に書き込む場合は true。それ以外の場合は false。既定値は、false です。 2 エラー出力に最適なエンコーディングを取得または設定します。 エラー出力に最適なエンコーディングを表すオブジェクト。既定値は、null です。 標準出力に最適なエンコーディングを取得または設定します。 標準出力に最適なエンコーディングを表すオブジェクト。既定値は、null です。 プロセスを開始するときに使用するユーザー名を取得または設定します。 プロセスの開始時に使用するユーザー名。 1 プロセスの起動にオペレーティング システムのシェルを使用するかどうかを示す値を取得または設定します。 プロセスを起動するときにシェルを使用する場合は true。プロセスを実行可能ファイルから直接作成する場合は false。既定値は、true です。 2 プロパティが false の場合に、開始するプロセスの作業ディレクトリを取得または設定します。 が true の場合に、開始するプロセスを含むディレクトリを取得または設定します。 が true の場合、起動するプロセスがあるディレクトリの完全修飾名。 プロパティが false の場合、開始するプロセスの作業ディレクトリ。既定値は、空の文字列 ("") です。 1 オペレーティング システムのプロセス スレッドを表します。 2 スレッドの基本優先順位を取得します。 プロセスの優先順位クラスと関連付けられたスレッドの優先順位との組み合わせからオペレーティング システムが算出した、スレッドの基本優先順位。 2 スレッドの現在の優先順位を取得します。 オペレーティング システムがスレッドをスケジュールする方法によっては、スレッドの現在の優先順位が基本優先順位と異なることがあります。アクティブなスレッドの優先順位を一時的に上げることもできます。 2 スレッドの一意な識別子を取得します。 特定のスレッドに関連付けられた一意な識別子。 2 このスレッドを実行する優先プロセッサを設定します。 スレッドの優先プロセッサは、システムがスレッドをスケジュールするときに、スレッドを実行するプロセッサを決定するために使用します。 指定したプロセッサでスレッドを起動するよう設定できませんでした。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 スレッドのプロセスのメイン ウィンドウがフォーカスを受け取るたびに、関連付けられたスレッドの優先順位をオペレーティング システムが一時的に上げるかどうかを示す値を取得または設定します。 ユーザーがプロセスのインターフェイスと対話しているときにスレッドの優先順位を上げる場合は true。それ以外の場合は false。既定値は、false です。 優先順位上昇情報を取得できませんでした。または優先順位上昇情報を設定できませんでした。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 スレッドの優先順位を取得または設定します。 スレッドの優先順位の範囲を指定する 値のいずれか。 スレッドの優先順位情報を取得できませんでした。またはスレッドの優先順位を設定できませんでした。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 スレッドが、オペレーティング システム コアでコードを実行した時間を取得します。 スレッドが、オペレーティング システム コアでコードを実行した時間を示す スレッド時間を取得できませんでした。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 関連付けられたスレッドを実行できるプロセッサを設定します。 スレッドを実行できるプロセッサを表すビットのセットを指す プロセッサ アフィニティを設定できませんでした。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 このスレッドに最も適したプロセッサをリセットして、単一の最も適したプロセッサがないことを示します。つまり、どのプロセッサも適しています。 最適なプロセッサをリセットできませんでした。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 このスレッドを起動するときにオペレーティング システムが呼び出した関数のメモリ アドレスを取得します。 スレッドを実行するアプリケーション定義の関数を指すスレッドの起動アドレス。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 オペレーティング システムによってスレッドを起動した時刻を取得します。 オペレーティング システムがスレッドを起動したときのシステム上の時刻を表す スレッド時間を取得できませんでした。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 このスレッドの現在の状態を取得します。 実行中、待機中、終了など、スレッドの実行状態を示す プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 このスレッドがプロセッサを使用した時間の合計を取得します。 スレッドがプロセッサの制御を取得していた時間の合計を示す スレッド時間を取得できませんでした。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 関連付けられたスレッドが、アプリケーションでコードを実行した時間を取得します。 スレッドによるコード実行がオペレーティング システム コアではなくアプリケーションで行われた時間を示す スレッド時間を取得できませんでした。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 スレッドが待機している理由を取得します。 スレッドが待機状態にある理由を表す スレッドが待機状態にありません。 プラットフォームは、Windows 98 または Windows Millennium Edition です。 プロセスは、リモート コンピューター上にあります。 2 オブジェクトの厳密に型指定されたコレクションを提供します。 2 インスタンスに関連付けずに、 クラスの新しいインスタンスを初期化します。 インスタンスの配列を指定して、 クラスの新しいインスタンスを初期化します。 この インスタンスを初期化するために使用する インスタンスの配列。 プロセス スレッドをコレクションに追加します。 コレクション内のスレッドの 0 から始まるインデックス番号。 コレクションに追加するスレッド。 2 指定したプロセス スレッドがコレクション内にあるかどうかを調べます。 スレッドがコレクション内にある場合は true。それ以外の場合は false。 コレクション内にあるかどうかを調べるスレッドを示す インスタンス。 2 コレクションの指定したインデックスに インスタンスの配列をコピーします。 コレクションに追加する インスタンスの配列。 新しいインスタンスを追加する位置。 2 コレクション内の指定したスレッドの位置を提供します。 内のスレッドの位置を定義する 0 から始まるインデックス番号。 インデックスを取得する 2 コレクション内の指定した位置にプロセス スレッドを挿入します。 スレッドを挿入する位置を示す 0 から始まるインデックス番号。 コレクションに挿入するスレッド。 2 一連のプロセス スレッドを反復処理するためのインデックスを取得します。 コレクション内のスレッドにインデックスを作成する コレクション内のスレッドの 0 から始まるインデックス値。 2 コレクションからプロセス スレッドを削除します。 コレクションから削除するスレッド。 2 スレッドの優先順位を指定します。 2 関連付けられた の通常の優先順位を基準に 1 段階上を指定します。 関連付けられた の通常の優先順位を基準に 1 段階下を指定します。 最も高い優先順位を指定します。関連付けられた の通常の優先順位から 2 段階上です。 アイドル優先順位を指定します。関連付けられた の値とは関係なく、すべてのスレッドの優先順位値の中で最も低い優先順位です。 最も低い優先順位を指定します。関連付けられた の通常の優先順位から 2 段階下です。 関連付けられた の通常の優先順位を指定します。 時間が重要な優先順位を指定します。関連付けられた の値とは無関係に、すべてのスレッドの中で最も高い優先順位です。 スレッドの現在の実行状態を指定します。 1 スレッドは初期化されたが、まだ開始していないことを示す状態。 解放されているプロセッサがないため、スレッドがプロセッサの使用を待機していることを示す状態。スレッドは、次に利用可能になるプロセッサで実行する準備が整っています。 スレッドが現在プロセッサを使用していることを示す状態。 スレッドがすぐにプロセッサを使用することを示す状態。一度に 1 つのスレッドだけが、この状態になることができます。 スレッドが実行を終了しスレッド自身も終了したことを示す状態。 スレッドが、実行前にプロセッサ以外のリソースを待機していることを示す状態。たとえば、ディスクから実行スタックのページングを待機している場合があります。 スレッドの状態が不明です。 スレッドが、周辺操作の完了またはリソースの解放を待機しているために、プロセッサを使用する準備が整っていないことを示す状態。スレッドの準備が整うと、スケジュールが再設定されます。 スレッドが待機している理由を示します。 2 スレッドは、イベント ペア High を待機しています。 スレッドは、イベント ペア Low を待機しています。 スレッドの実行が遅延しています。 スレッドは、スケジューラを待機しています。 スレッドは、空き仮想メモリ ページを待機しています。 スレッドは、ローカル プロシージャ呼び出しの到達を待機しています。 スレッドは、ローカル プロシージャ呼び出しへの応答の到達を待機しています。 スレッドは、仮想メモリ ページのメモリへの到達を待機しています。 スレッドは、仮想メモリ ページのディスクへの書き込みを待機しています。 スレッドの実行は中断しています。 スレッドは、システムによる割り当てを待機しています。 スレッドは、不明な理由のために待機しています。 スレッドは、ユーザー要求を待機しています。 スレッドは、仮想メモリの割り当てを待機しています。 ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/netstandard1.4/ko/System.Diagnostics.Process.xml ================================================  System.Diagnostics.Process [보안 중요] 프로세스 핸들에 대해 관리되는 래퍼를 제공합니다. [보안 중요] 새 인스턴스를 초기화는 에서 지정된 된 핸들을 종료 단계 핸들을 해제 여부를 나타내는 클래스입니다. 래핑될 핸들입니다. true안정적으로 있도록 종료 단계 핸들을 해제 합니다. 그렇지 않은 경우 false. 이벤트에 대한 데이터를 제공합니다. 2 리디렉션된 출력 스트림에 쓰여진 문자 줄을 가져옵니다. 연결된 가 리디렉션된 또는 스트림에 쓴 줄입니다. 2 이벤트 또는 이벤트를 처리할 메서드를 나타냅니다. 이벤트 소스입니다. 이벤트 데이터가 포함된 입니다. 2 로컬 및 원격 프로세스에 대한 액세스를 제공하고 로컬 시스템 프로세스를 시작하고 중지할 수 있습니다.이 형식에 대한 .NET Framework 소스 코드를 찾아보려면 참조 원본을 참조하세요. 1 클래스의 새 인스턴스를 초기화합니다. 연결된 프로세스의 기본 우선 순위를 가져옵니다. 연결된 프로세스의 에서 계산되는 기본 우선 순위입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. The process has exited.-or- The process has not started, so there is no process ID. 2 응용 프로그램의 리디렉션된 스트림에 대해 비동기 읽기 작업을 시작합니다. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 응용 프로그램의 리디렉션된 스트림에 대해 비동기 읽기 작업을 시작합니다. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 응용 프로그램의 리디렉션된 스트림에 대해 비동기 읽기 작업을 취소합니다. The stream is not enabled for asynchronous read operations. 2 응용 프로그램의 리디렉션된 스트림에 대해 비동기 읽기 작업을 취소합니다. The stream is not enabled for asynchronous read operations. 2 이 프로세스에서 사용하는 리소스를 모두 해제합니다. 관리되는 리소스와 관리되지 않는 리소스를 모두 해제하려면 true로 설정하고, 관리되지 않는 리소스만 해제하려면 false로 설정합니다. 프로세스가 종료될 때 이벤트를 발생시켜야 하는지를 나타내는 값을 가져오거나 설정합니다. 종료 명령 또는 호출을 통해 연결된 프로세스가 종료될 때 이벤트가 발생해야 한다면 true이고, 그러지 않으면 false입니다.기본값은 false입니다. 2 현재 스레드에서 네이티브 속성 SeDebugPrivilege를 활성화하여 구성 요소를 특수 모드에서 실행되는 운영 체제 프로세스와 상호 작용하는 상태로 만듭니다. 2 응용 프로그램이 리디렉션된 스트림에 쓸 때 발생합니다. 2 연결된 프로세스가 종료될 때 연결된 프로세스에서 지정한 값을 가져옵니다. 연결된 프로세스가 종료될 때 연결된 프로세스에서 지정한 코드입니다. The process has not exited.-or- The process is not valid. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 프로세스가 종료될 때 발생합니다. 2 연결된 프로세스가 종료된 시간을 가져옵니다. 연결된 프로세스가 종료된 시간을 나타내는 입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 구성 요소를 가져온 후 현재 활성화되어 있는 프로세스에 연결합니다. 호출하는 응용 프로그램에서 실행 중인 프로세스 리소스에 연결된 새 구성 요소입니다. 1 로컬 컴퓨터의 프로세서에 대한 식별자가 주어지면 새 구성 요소를 반환합니다. 매개 변수에 의해 식별되는 로컬 프로세스 리소스에 연결된 구성 요소입니다. 프로세스 리소스의 시스템 고유 식별자입니다. The process specified by the parameter is not running.The identifier might be expired. The process was not started by this object. 1 프로세스 식별자 및 네트워크에 있는 컴퓨터의 이름이 주어지면 새 구성 요소를 반환합니다. 매개 변수에 의해 식별되는 원격 프로세스 리소스에 연결된 구성 요소입니다. 프로세스 리소스의 시스템 고유 식별자입니다. 네트워크에 있는 컴퓨터 이름입니다. The process specified by the parameter is not running.The identifier might be expired.-or- The parameter syntax is invalid.The name might have length zero (0). The parameter is null. The process was not started by this object. 1 로컬 컴퓨터의 각 프로세스 리소스에 대해 새 구성 요소를 만듭니다. 로컬 컴퓨터에서 실행 중인 모든 프로세스 리소스를 나타내는 형식의 배열입니다. 1 지정한 컴퓨터의 각 프로세스 리소스에 대해 새 구성 요소를 만듭니다. 지정된 컴퓨터에서 실행 중인 모든 프로세스 리소스를 나타내는 형식의 배열입니다. 프로세스 목록을 읽어 올 컴퓨터입니다. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 구성 요소로 이루어진 새 배열을 만들어 지정한 프로세스 이름을 공유하는 로컬 컴퓨터의 모든 프로세스 리소스에 연결합니다. 지정한 응용 프로그램 또는 파일을 실행 중인 프로세스 리소스를 나타내는 형식의 배열입니다. 프로세스의 이름입니다. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. 1 구성 요소로 이루어진 새 배열을 만들어 지정한 프로세스 이름을 공유하는 원격 컴퓨터에 있는 모든 프로세스 리소스에 연결합니다. 지정한 응용 프로그램 또는 파일을 실행 중인 프로세스 리소스를 나타내는 형식의 배열입니다. 프로세스의 이름입니다. 네트워크에 있는 컴퓨터 이름입니다. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 연결된 프로세스가 종료되었는지를 나타내는 값을 가져옵니다. 구성 요소가 참조하는 운영 체제 프로세스가 종료되었으면 true이고, 그러지 않으면 false입니다. There is no process associated with the object. The exit code for the process could not be retrieved. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 연결된 프로세스의 고유 식별자를 가져옵니다. 인스턴스에서 참조하는 프로세스의 고유 식별자입니다. 이 식별자는 시스템에서 생성됩니다. The process's property has not been set.-or- There is no process associated with this object. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. 1 연결된 프로세스를 즉시 중지합니다. The associated process could not be terminated. -or-The process is terminating.-or- The associated process is a Win16 executable. You are attempting to call for a process that is running on a remote computer.The method is available only for processes running on the local computer. The process has already exited. -or-There is no process associated with this object. 1 구성 요소를 특수 모드에서 실행되는 운영 체제 프로세스와 상호 작용할 수 없는 상태로 만듭니다. 2 연결된 프로세스가 실행 중인 컴퓨터 이름을 가져옵니다. 연결된 프로세스가 실행 중인 컴퓨터 이름입니다. There is no process associated with this object. 1 연결된 프로세스의 주 모듈을 가져옵니다. 프로세스를 시작하는 데 사용된 입니다. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. A 32-bit process is trying to access the modules of a 64-bit process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not available.-or- The process has exited. 1 연결된 프로세스에 대해 허용되는 작업 집합의 최대 크기를 가져오거나 설정합니다. 프로세스에 대해 메모리에서 허용된 작업 집합의 최대 크기(바이트)입니다. The maximum working set size is invalid.It must be greater than or equal to the minimum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 연결된 프로세스에 대해 허용되는 작업 집합의 최소 크기를 가져오거나 설정합니다. 프로세스에 대해 메모리에서 필요로 하는 작업 집합의 최소 크기(바이트)입니다. The minimum working set size is invalid.It must be less than or equal to the maximum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 연결된 프로세스에 의해 로드된 모듈을 가져옵니다. 연결된 프로세스에 의해 로드된 모듈을 나타내는 형식의 배열입니다. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. You are attempting to access the property for either the system process or the idle process.These processes do not have modules. 2 연결된 프로세스에 할당된 비페이징 시스템 메모리의 양을 가져옵니다. 가상 메모리 페이징 파일에 쓸 수 없는 연결된 프로세스에 대해 시스템에서 할당한 메모리의 양(바이트)입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 이벤트를 발생시킵니다. 응용 프로그램이 리디렉션된 스트림에 쓸 때마다 발생합니다. 2 연결된 프로세스에 할당된 페이징 메모리의 양을 가져옵니다. 연결된 프로세스의 가상 메모리 페이징 파일에 할당된 메모리의 양(바이트)입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 연결된 프로세스에 할당된 페이징할 수 있는 시스템 메모리의 양을 가져옵니다. 가상 메모리 페이징 파일에 쓸 수 있는 연결된 프로세스에 대해 할당된 시스템 메모리의 양(바이트)입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 연결된 프로세스에서 사용하는 가상 메모리 페이징 파일의 최대 메모리 양을 가져옵니다. 연결된 프로세스가 시작된 이후 연결된 프로세스의 가상 메모리 페이징 파일에 할당된 메모리의 최대 양(바이트)입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 연결된 프로세스에서 사용된 가상 메모리의 최대 양을 가져옵니다. 연결된 프로세스가 시작된 이후 해당 프로세스에 할당된 가상 메모리의 최대 양(바이트)입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 연결된 프로세스에서 사용된 실제 메모리의 최대 양을 가져옵니다. 연결된 프로세스가 시작된 이후 해당 프로세스에 할당된 실제 메모리의 최대 양(바이트)입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 포커스가 주 창에 있을 때 운영 체제가 연결된 프로세스의 우선 순위를 일시적으로 높일지를 나타내는 값을 가져오거나 설정합니다. 프로세스가 대기 상태에서 빠져나올 때 프로세스의 우선 순위를 동적으로 높여야 하는 경우 true이고, 그러지 않으면 false입니다.기본값은 false입니다. Priority boost information could not be retrieved from the associated process resource. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. 1 연결된 프로세스에 대한 전체 우선 순위 범주를 가져오거나 설정합니다. 연결된 프로세스에 대한 우선 순위 범주입니다. 이를 통해 해당 프로세스의 를 계산할 수 있습니다. Process priority information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. You have set the to AboveNormal or BelowNormal when using Windows 98 or Windows Millennium Edition (Windows Me).These platforms do not support those values for the priority class. Priority class cannot be set because it does not use a valid value, as defined in the enumeration. 1 연결된 프로세스에 할당된 전용 메모리의 양을 가져옵니다. 연결된 프로세스에 할당되어 다른 프로세스와는 공유할 수 없는 메모리의 양(바이트)입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 해당 프로세스의 권한 있는 프로세서 시간을 가져옵니다. 프로세스가 운영 체제 코어 내부에서 코드를 실행하는 데 소비한 시간을 나타내는 입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 프로세스의 이름을 가져옵니다. 사용자가 프로세스를 식별할 수 있도록 시스템에서 사용하는 이름입니다. The process does not have an identifier, or no process is associated with the .-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not on this computer. 1 이 프로세스에 포함된 스레드의 실행을 예약할 수 있는 프로세서를 가져오거나 설정합니다. 연결된 프로세스의 스레드가 실행될 수 있는 프로세서를 나타내는 비트 마스크입니다.기본값은 컴퓨터의 프로세서 수에 따라 다릅니다.기본값은 2 n -1입니다. 여기서 n은 프로세서 수입니다. information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process was not available.-or- The process has exited. 2 프로세스 구성 요소 내에 캐시되어 있는 연결된 프로세스 정보를 모두 삭제합니다. 1 이 프로세스에 대한 기본 핸들을 가져옵니다. 이 프로세스에 대한 기본 핸들입니다. 연결된 프로세스의 터미널 서비스 세션 식별자를 가져옵니다. 연결된 프로세스의 터미널 서비스 세션 식별자입니다. There is no session associated with this process. There is no process associated with this session identifier.-or-The associated process is not on this machine. The property is not supported on Windows 98. 1 응용 프로그램의 오류 출력을 읽는 데 사용되는 스트림을 가져옵니다. 응용 프로그램의 표준 오류 스트림을 읽는 데 사용할 수 있는 입니다. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 응용 프로그램의 입력을 쓰는 데 사용되는 스트림을 가져옵니다. 응용 프로그램의 표준 입력 스트림을 쓰는 데 사용할 수 있는 입니다. The stream has not been defined because is set to false. 1 응용 프로그램의 텍스트 출력을 읽는 데 사용되는 스트림을 가져옵니다. 응용 프로그램의 표준 출력 스트림을 읽는 데 사용할 수 있는 입니다. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 구성 요소의 속성으로 지정된 프로세스 리소스를 시작하거나 다시 사용하여 구성 요소에 연결합니다. 프로세스 리소스가 시작된 경우에는 true이고 기존 프로세스를 다시 사용한 경우처럼 새 프로세스 리소스가 시작되지 않은 경우에는 false입니다. No file name was specified in the component's .-or- The member of the property is true while , , or is true. There was an error in opening the associated file. The process object has already been disposed. 1 시작할 프로세스의 파일 이름 같은 프로세스 시작 정보가 포함된 매개 변수에 의해 지정된 프로세스 리소스를 시작하고 해당 리소스를 새 구성 요소에 연결합니다. 프로세스 리소스와 연결되거나 시작된 프로세스가 없는 경우 null에 연결되는 새 입니다.같은 프로세스에서 이미 실행 중인 인스턴스와 함께 시작되는 새 프로세스는 서로 독립적인 관계입니다.뿐만 아니라 시작 시 속성이 이미 true로 설정되어 있는 null이 아닌 프로세스가 반환될 수 있습니다.이 경우 시작된 프로세스가 자체의 기존 인스턴스를 활성화한 후 종료될 수 있습니다. 파일 이름 및 모든 명령줄 인수를 포함하여 프로세스를 시작하는 데 사용되는 정보가 들어 있는 입니다. No file name was specified in the parameter's property.-or- The property of the parameter is true and the , , or property is also true.-or-The property of the parameter is true and the property is not null or empty or the property is not null. The parameter is null. The process object has already been disposed. The file specified in the parameter's property could not be found. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." 1 문서 또는 응용 프로그램 파일 이름을 지정하여 프로세스 리소스를 시작하고 해당 리소스를 새 구성 요소에 연결합니다. 프로세스 리소스와 연결되거나 시작된 프로세스가 없는 경우 null에 연결되는 새 입니다.같은 프로세스에서 이미 실행 중인 인스턴스와 함께 시작되는 새 프로세스는 서로 독립적인 관계입니다.뿐만 아니라 시작 시 속성이 이미 true로 설정되어 있는 null이 아닌 프로세스가 반환될 수 있습니다.이 경우 시작된 프로세스가 자체의 기존 인스턴스를 활성화한 후 종료될 수 있습니다. 프로세스에서 실행될 문서 또는 응용 프로그램 파일의 이름입니다. An error occurred when opening the associated file. The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 응용 프로그램 이름 및 명령줄 인수 집합을 지정하여 프로세스 리소스를 시작하고 해당 리소스를 새 구성 요소에 연결합니다. 프로세스 리소스와 연결되거나 시작된 프로세스가 없는 경우 null에 연결되는 새 입니다.같은 프로세스에서 이미 실행 중인 인스턴스와 함께 시작되는 새 프로세스는 서로 독립적인 관계입니다.뿐만 아니라 시작 시 속성이 이미 true로 설정되어 있는 null이 아닌 프로세스가 반환될 수 있습니다.이 경우 시작된 프로세스가 자체의 기존 인스턴스를 활성화한 후 종료될 수 있습니다. 프로세스에서 실행될 응용 프로그램 파일 이름입니다. 프로세스를 시작할 때 전달할 명령줄 인수입니다. The or parameter is null. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 응용 프로그램 이름, 사용자 이름, 암호 및 도메인을 지정하여 프로세스 리소스를 시작하고 해당 리소스를 새 구성 요소에 연결합니다. 프로세스 리소스와 연결되거나 시작된 프로세스가 없는 경우 null에 연결되는 새 입니다.같은 프로세스에서 이미 실행 중인 인스턴스와 함께 시작되는 새 프로세스는 서로 독립적인 관계입니다.뿐만 아니라 시작 시 속성이 이미 true로 설정되어 있는 null이 아닌 프로세스가 반환될 수 있습니다.이 경우 시작된 프로세스가 자체의 기존 인스턴스를 활성화한 후 종료될 수 있습니다. 프로세스에서 실행될 응용 프로그램 파일 이름입니다. 프로세스를 시작할 때 사용할 사용자 이름입니다. 프로세스를 시작할 때 사용할 암호가 포함된 입니다. 프로세스를 시작할 때 사용할 도메인입니다. No file name was specified. is not an executable (.exe) file. There was an error in opening the associated file. The process object has already been disposed. 1 응용 프로그램 이름, 명령줄 인수 집합, 사용자 이름, 암호 및 도메인을 지정하여 프로세스 리소스를 시작하고 해당 리소스를 새 구성 요소에 연결합니다. 프로세스 리소스와 연결되거나 시작된 프로세스가 없는 경우 null에 연결되는 새 입니다.같은 프로세스에서 이미 실행 중인 인스턴스와 함께 시작되는 새 프로세스는 서로 독립적인 관계입니다.뿐만 아니라 시작 시 속성이 이미 true로 설정되어 있는 null이 아닌 프로세스가 반환될 수 있습니다.이 경우 시작된 프로세스가 자체의 기존 인스턴스를 활성화한 후 종료될 수 있습니다. 프로세스에서 실행될 응용 프로그램 파일 이름입니다. 프로세스를 시작할 때 전달할 명령줄 인수입니다. 프로세스를 시작할 때 사용할 사용자 이름입니다. 프로세스를 시작할 때 사용할 암호가 포함된 입니다. 프로세스를 시작할 때 사용할 도메인입니다. No file name was specified. is not an executable (.exe) file. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. 1 메서드에 전달할 속성을 가져오거나 설정합니다. 프로세스를 시작하는 데 사용된 데이터를 나타내는 입니다.이러한 인수에는 프로세스를 시작하는 데 사용된 실행 파일이나 문서 이름이 포함됩니다. The value that specifies the is null. 1 연결된 프로세스가 시작된 시간을 가져옵니다. 해당 프로세스가 시작된 시간을 나타내는 개체입니다.프로세스가 실행되고 있지 않으면 예외가 throw됩니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process has exited.-or-The process has not been started. An error occurred in the call to the Windows function. 1 연결된 프로세스에서 실행 중인 스레드를 가져오거나 설정합니다. 연결된 프로세스에서 현재 실행 중인 운영 체제 스레드를 나타내는 형식의 배열입니다. The process does not have an , or no process is associated with the instance.-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. 1 이 프로세스의 총 프로세서 시간을 가져옵니다. 연결된 프로세스에서 CPU를 사용해 소비한 시간을 나타내는 입니다.이 값은 의 합입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 이 프로세스의 사용자 프로세서 시간을 가져옵니다. 연결된 프로세스가 운영 체제 코어 내부가 아닌 프로세스의 응용 프로그램 부분 내부에서 코드를 실행하는 데 소비한 시간을 나타내는 입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 연결된 프로세스에 할당된 가상 메모리의 양을 가져옵니다. 연결된 프로세스에 할당된 가상 메모리의 양(바이트)입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 연결된 프로세스가 종료될 때까지 구성 요소를 무기한 대기하게 합니다. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 연결된 프로세스가 종료되도록 지정한 밀리초 동안 구성 요소를 대기하게 합니다. 연결된 프로세스가 종료된 경우 true이고, 그러지 않으면 false입니다. 연결된 프로세스가 종료될 때까지 대기하는 시간(밀리초)입니다.최대값은 사용 가능한 가장 큰 32비트 정수 값이며, 이는 운영 체제에서 사실상 무기한 대기한다는 것을 나타냅니다. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 연결된 프로세스에 할당된 실제 메모리의 양을 가져옵니다. 연결된 프로세스에 할당된 실제 메모리의 양(바이트)입니다. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 특정 프로세스에 로드된 .dll 또는 .exe 파일을 나타냅니다. 2 모듈이 로드된 메모리 주소를 가져옵니다. 모듈의 로드 주소입니다. 2 시스템에서 모듈을 로드하고 실행할 때 실행되는 함수의 메모리 주소를 가져옵니다. 모듈의 진입점입니다. 2 모듈의 전체 경로를 가져옵니다. 모듈의 위치를 정의하는 정규화된 경로입니다. 2 모듈을 로드하는 데 필요한 메모리의 양을 가져옵니다. 모듈이 자치하는 메모리의 크기(바이트)입니다. 2 프로세스 모듈의 이름을 가져옵니다. 모듈의 이름입니다. 2 모듈 이름을 문자열로 변환합니다. 속성의 값입니다. 2 개체의 강력한 형식의 컬렉션을 제공합니다. 2 연결된 인스턴스 없이 클래스의 새 인스턴스를 초기화합니다. 인스턴스의 지정된 배열을 사용하여 클래스의 새 인스턴스를 초기화합니다. 인스턴스를 초기화하는 데 사용할 인스턴스의 배열입니다. 지정한 프로세스 모듈이 컬렉션에 있는지 여부를 확인합니다. 해당 모듈이 컬렉션에 있으면 true이고, 그렇지 않으면 false입니다. 이 컬렉션에서 찾을 모듈을 나타내는 인스턴스입니다. 2 인스턴스의 배열을 컬렉션 내의 지정된 인덱스에 복사합니다. 컬렉션에 추가할 인스턴스의 배열입니다. 새 인스턴스를 추가할 위치입니다. 2 컬렉션 내에서 지정된 모듈의 위치를 제공합니다. 내에서 모듈의 위치를 정의하는 인덱스(0부터 시작)입니다. 해당 인덱스가 검색되는 입니다. 2 프로세스 모듈 집합 전체를 반복하기 위한 인덱스를 가져옵니다. 컬렉션의 모듈을 인덱싱하는 입니다. 컬렉션 내의 모듈 값에 대한 0부터 시작하는 인덱스입니다. 2 시스템이 프로세스와 연결되는 우선 순위를 나타냅니다.이 값은 각 프로세스 스레드의 우선 순위 값과 더불어 각 스레드의 기본 우선 순위 수준을 결정합니다. 2 프로세스 우선 순위를 Normal보다는 높게, 보다는 낮게 지정합니다. 프로세스 우선 순위를 Idle보다는 높게, Normal보다는 낮게 지정합니다. 운영 체제의 부하와 관계없이 사용자가 호출하면 즉시 응답해야 하는 Task List 대화 상자 같이 즉각 실행되어야 하는 시간 위험 작업을 프로세스가 수행하도록 지정합니다.프로세스의 스레드는 정상 또는 유휴 우선 순위 클래스 프로세스의 스레드를 우선합니다. 화면 보호기와 같이 시스템이 유휴 상태일 때에만 이 프로세스의 스레드가 실행되도록 지정합니다.프로세스의 스레드는 더 높은 우선 순위 클래스에서 실행되는 프로세스의 스레드가 우선합니다. 프로세스를 특별히 예약할 필요가 없도록 지정합니다. 프로세스의 우선 순위가 최고가 되도록 지정합니다. 프로세스를 시작할 때 사용되는 값 집합을 지정합니다. 2 프로세스를 시작할 때 사용할 파일 이름을 지정하지 않고 클래스의 새 인스턴스를 초기화합니다. 클래스의 새 인스턴스를 초기화하고 프로세스를 시작할 때 사용할 응용 프로그램이나 문서와 같은 파일 이름을 지정합니다. 프로세스를 시작할 때 사용할 응용 프로그램이나 문서입니다. 클래스의 새 인스턴스를 초기화하고, 프로세스를 시작할 응용 프로그램 파일 이름과 응용 프로그램에 전달할 명령줄 인수 집합을 지정합니다. 프로세스를 시작할 때 사용할 응용 프로그램입니다. 프로세스가 시작될 때 응용 프로그램에 전달할 명령줄 인수입니다. 응용 프로그램을 시작할 때 사용할 명령줄 인수 집합을 가져오거나 설정합니다. 속성에 지정된 대상 응용 프로그램으로 전달할 인수를 포함한 단일 문자열입니다.기본값은 빈 문자열("")입니다.Windows Vista 및 Windows 운영 체제의 이전 버전에서 프로세스의 전체 경로 길이에 추가되는 인수의 길이는 2080자보다 짧아야 합니다.Windows 7 이상 버전에서는 길이가 32699 미만이어야 합니다.인수가 대상 응용 프로그램에서 분석 및 해석되므로 이 응용 프로그램의 예상과 일치해야 합니다.아래 예제와 같은 .NET 응용 프로그램의 경우 공백은 여러 인수 사이의 구분 기호로 해석됩니다.공백이 포함된 단일 인수는 따옴표로 묶어야 하지만 따옴표 자체는 대상 응용 프로그램으로 전달되지 않습니다.최종 분석 인수에 따옴표를 포함하려면 각 따옴표에 트리플 이스케이프를 적용합니다. 1 프로세스를 새 창에서 시작할지 여부를 나타내는 값을 가져오거나 설정합니다. 프로세스를 포함할 새 창을 만들지 않고 프로세스를 시작해야 하면 true이고, 그러지 않으면 false 입니다.기본값은 false입니다. 2 프로세스를 시작할 때 사용할 도메인을 식별하는 값을 가져오거나 설정합니다. 프로세스를 시작할 때 사용할 Active Directory 도메인입니다.도메인 속성은 Active Directory를 사용하는 엔터프라이즈 환경 내의 사용자가 주로 사용합니다. 1 시작할 응용 프로그램 또는 문서를 가져오거나 설정합니다. 응용 프로그램과 연결되며 그 응용 프로그램에서 사용할 수 있는 기본 열기 동작이 있는 파일 형식의 문서 이름 또는 시작할 응용 프로그램의 이름입니다.기본값은 빈 문자열("")입니다. 1 Windows 사용자 프로필을 레지스트리에서 로드할지 여부를 나타내는 값을 가져오거나 설정합니다. Windows 사용자 프로필을 로드해야 하는 경우 true이고, 그러지 않으면 false입니다.기본값은 false입니다. 1 프로세스를 시작할 때 사용할 사용자 암호가 포함된 보안 문자열을 가져오거나 설정합니다. 프로세스를 시작할 때 사용할 사용자 암호입니다. 1 응용 프로그램의 오류 출력을 스트림에 쓸지 여부를 나타내는 값을 가져오거나 설정합니다. 오류 출력을 true에 써야 하는 경우 이고, 그러지 않으면false입니다.기본값은 false입니다. 2 응용 프로그램의 입력을 스트림에서 읽을지 여부를 나타내는 값을 가져오거나 설정합니다. 입력을 에서 읽어야 하는 경우 true이고, 그러지 않으면 false입니다.기본값은 false입니다. 2 응용 프로그램의 텍스트 출력을 스트림에 쓸지 여부를 나타내는 값을 가져오거나 설정합니다. 출력을 에 써야 하는 경우 true이고, 그러지 않으면 false입니다.기본값은 false입니다. 2 오류 출력에 대한 기본 설정 인코딩을 가져오거나 설정합니다. 오류 출력에 대한 기본 설정 인코딩을 나타내는 개체입니다.기본값은 null입니다. 표준 출력에 대한 기본 설정 인코딩을 가져오거나 설정합니다. 표준 출력에 대한 기본 설정 인코딩을 나타내는 개체입니다.기본값은 null입니다. 프로세스를 시작할 때 사용할 사용자 이름을 가져오거나 설정합니다. 프로세스를 시작할 때 사용할 사용자 이름입니다. 1 프로세스를 시작할 때 운영 체제 셸을 사용할지 여부를 나타내는 값을 가져오거나 설정합니다. 프로세스를 시작할 때 셸을 사용하려면 true이고, 실행 파일에서 직접 프로세스를 만들어야 하면 false입니다.기본값은 true입니다. 2 속성이 false인 경우 시작할 프로세스의 작업 디렉터리를 가져오거나 설정합니다.가 true인 경우 시작할 프로세스가 포함된 디렉터리를 가져오거나 설정합니다. 가 true이면 시작할 프로세스가 들어 있는 디렉터리의 정규화된 이름입니다. 속성이 false인 경우 시작할 프로세스의 작업 디렉터리입니다.기본값은 빈 문자열("")입니다. 1 운영 체제 프로세스 스레드를 나타냅니다. 2 스레드의 기본 우선 순위를 가져옵니다. 프로세스 우선 순위 클래스와 관련 스레드의 우선 순위 수준을 결합하여 계산되는 스레드의 기본 우선 순위입니다. 2 스레드의 현재 우선 순위를 가져옵니다. 운영 체제에서 스레드를 예약하는 방법에 따라 기본 우선 순위에서 벗어날 수도 있는 스레드의 현재 우선 순위입니다.활성 스레드의 경우 우선 순위가 일시적으로 높아질 수 있습니다. 2 스레드의 고유 식별자를 가져옵니다. 특정 스레드와 관련된 고유 식별자입니다. 2 이 스레드가 실행될 기본 설정 프로세서를 설정합니다. 스레드를 실행할 프로세서를 결정하기 위해 시스템에서 스레드를 예약할 때 사용하는 스레드의 기본 설정 프로세서입니다. 지정한 프로세스에서 스레드가 시작되도록 설정할 수 없는 경우 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 스레드 프로세스의 주 창이 포커스를 받을 때마다 운영 체제에서 관련 스레드의 우선 순위를 일시적으로 높여야 하는지 여부를 나타내는 값을 가져오거나 설정합니다. 프로세스의 인터페이스와 상호 작용할 때 스레드의 우선 순위를 높이려면 true이고, 그렇지 않으면 false입니다.기본값은 false입니다. 우선 순위 높임 정보를 검색할 수 없는 경우또는우선 순위 높임 정보를 설정할 수 없는 경우 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 스레드의 우선 순위 수준을 가져오거나 설정합니다. 스레드의 우선 순위를 한정하는 범위를 지정하는 값 중 하나입니다. 스레드 우선 순위 수준 정보를 검색할 수 없는 경우 또는스레드 우선 순위 수준을 설정할 수 없는 경우 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 스레드가 운영 체제 코어 내부에서 코드를 실행하는데 사용한 시간을 가져옵니다. 스레드가 운영 체제 코어 내부에서 코드를 실행하는데 사용한 시간을 나타내는 입니다. 스레드 시간을 검색할 수 없는 경우 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 관련 스레드가 실행될 수 있는 프로세서를 설정합니다. 비트 집합을 가리키는 입니다. 각각의 비트는 스레드가 실행될 수 있는 프로세서를 나타냅니다. 프로세서 선호도를 설정할 수 없는 경우 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 이 스레드의 최적 프로세서를 다시 설정하여 단일 최적 프로세서가 없음을 나타냅니다.다시 말해서 모든 프로세서가 최적 프로세서가 되도록 다시 설정합니다. 최적 프로세서를 다시 설정할 수 없는 경우 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 이 스레드를 시작한 운영 체제가 호출한 함수의 메모리 주소를 가져옵니다. 스레드가 실행하는 응용 프로그램 정의 함수를 가리키는 스레드의 시작 주소입니다. 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 운영 체제가 스레드를 시작한 시간을 가져옵니다. 운영 체제가 스레드를 시작했을 때의 시스템 시간을 나타내는 입니다. 스레드 시간을 검색할 수 없는 경우 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 이 스레드의 현재 상태를 가져옵니다. 실행, 대기, 종료 등 스레드의 실행을 나타내는 입니다. 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 이 스레드가 프로세서를 사용하는데 소비한 총 시간을 가져옵니다. 스레드가 프로세서의 제어를 받고 있던 시간을 나타내는 입니다. 스레드 시간을 검색할 수 없는 경우 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 관련 스레드가 응용 프로그램 내부에서 코드를 실행하는데 사용한 시간을 가져옵니다. 운영 체제 코어 내부와 반대로 스레드가 응용 프로그램 내부에서 코드를 실행하는데 사용한 시간을 나타내는 입니다. 스레드 시간을 검색할 수 없는 경우 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 스레드가 대기 상태에 있는 이유를 가져옵니다. 은 스레드가 대기 상태에 있는 이유를 나타냅니다. 스레드가 대기 상태에 있지 않은 경우 플랫폼이 Windows 98 또는 Windows Millennium Edition인 경우 프로세스가 원격 컴퓨터에 있는 경우 2 개체의 강력한 형식의 컬렉션을 제공합니다. 2 연결된 인스턴스 없이 클래스의 새 인스턴스를 초기화합니다. 인스턴스의 지정된 배열을 사용하여 클래스의 새 인스턴스를 초기화합니다. 인스턴스를 초기화하는 데 사용할 인스턴스의 배열입니다. 컬렉션에 프로세스 스레드를 추가합니다. 컬렉션 스레드의 인덱스(0부터 시작)입니다. 컬렉션에 추가할 스레드입니다. 2 지정한 프로세스 스레드가 컬렉션에 있는지 여부를 확인합니다. 해당 스레드가 컬렉션에 있으면 true이고, 그렇지 않으면 false입니다. 이 컬렉션에서 찾을 스레드를 나타내는 인스턴스입니다. 2 인스턴스의 배열을 컬렉션 내의 지정된 인덱스에 복사합니다. 컬렉션에 추가할 인스턴스의 배열입니다. 새 인스턴스를 추가할 위치입니다. 2 컬렉션 내에서 지정된 스레드의 위치를 제공합니다. 내에서 스레드의 위치를 정의하는 인덱스(0부터 시작)입니다. 해당 인덱스가 검색되는 입니다. 2 컬렉션의 지정된 위치에 프로세스 스레드를 삽입합니다. 스레드가 삽입될 위치를 나타내는 인덱스(0부터 시작)입니다. 컬렉션에 삽입할 스레드입니다. 2 프로세스 스레드 집합 전체를 반복하기 위한 인덱스를 가져옵니다. 컬렉션의 스레드를 인덱싱하는 입니다. 컬렉션 내의 스레드 값에 대한 인덱스(0부터 시작)입니다. 2 컬렉션에서 프로세스 스레드를 삭제합니다. 컬렉션에서 제거할 스레드입니다. 2 스레드의 우선 순위 수준을 지정합니다. 2 관련된 의 보통 우선 순위 보다 한 단계 높게 지정합니다. 관련된 의 보통 우선 순위 보다 한 단계 낮게 지정합니다. 최고 우선 순위를 지정합니다.이는 관련된 의 보통 우선 순위보다 두 단계 높습니다. 유휴 우선 순위를 지정합니다.이는 관련된 의 값에 관계없이 모든 스레드의 우선 순위 값중 가장 낮습니다. 최저 우선 순위를 지정합니다.이는 관련된 의 보통 우선 순위보다 두 단계 낮습니다. 관련된 의 보통 우선 순위를 지정합니다. 시간 위험 우선 순위를 지정합니다.이는 관련된 의 값에 관계없이 모든 스레드의 최고 우선 순위입니다. 스레드의 현재 실행 상태를 지정합니다. 1 스레드가 초기화되었으나 아직 시작되지 않았음을 나타내는 상태입니다. 사용 가능한 프로세서가 없으므로 스레드가 프로세서를 사용하기 위해 대기 중임을 나타내는 상태입니다.스레드는 사용 가능한 다음 프로세서에서 실행될 준비가 되어 있습니다. 스레드가 현재 프로세서를 사용 중임을 나타내는 상태입니다. 스레드가 곧 프로세서를 사용할 것임을 나타내는 상태입니다.한 번에 하나의 스레드만 이 상태가 될 수 있습니다. 스레드가 실행을 마치고 종료되었음을 나타내는 상태입니다. 스레드가 실행 전에 프로세서가 아닌 리소스를 대기하고 있음을 나타내는 상태입니다.예를 들어, 디스크에서 해당 실행 스택을 페이지로 나누기 위해 대기하고 있을 수 있습니다. 스레드의 상태를 알 수 없습니다. 스레드가 주변 작업이 완료되거나 리소스가 사용 가능해질 때까지 기다리고 있으므로 프로세서를 사용할 준비가 되어 있지 않음을 나타내는 상태입니다.스레드가 준비 상태가 되면 다시 일정을 잡습니다. 스레드 대기 원인을 지정합니다. 2 스레드가 상위 이벤트 쌍을 기다리고 있습니다. 스레드가 하위 이벤트 쌍을 기다리고 있습니다. 스레드 실행이 지연됩니다. 스레드가 스케줄러를 기다리고 있습니다. 스레드가 사용 가능한 가상 메모리 페이지를 기다리고 있습니다. 스레드가 로컬 프로시저 호출이 도착하기를 기다리고 있습니다. 스레드가 로컬 프로시저 호출의 응답이 도착하기를 기다리고 있습니다. 스레드가 메모리에 가상 메모리 페이지가 도착하기를 기다리고 있습니다. 스레드가 디스크에 가상 메모리 페이지가 쓰여지기를 기다리고 있습니다. 스레드 실행이 일시 중단됩니다. 스레드가 시스템 할당을 기다리고 있습니다. 스레드가 알 수 없는 이유로 기다리고 있습니다. 스레드가 사용자 요청을 기다리고 있습니다. 스레드가 시스템에서 가상 메모리를 할당하기를 기다리고 있습니다. ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/netstandard1.4/ru/System.Diagnostics.Process.xml ================================================  System.Diagnostics.Process [SECURITY CRITICAL] Предоставляет управляемую оболочку для дескриптора процесса. [SECURITY CRITICAL] Инициализирует новый экземпляр класса класса для указанного дескриптора, указывающее, следует ли освободить дескриптор на стадии завершения. Инкапсулируемый дескриптор. trueЧтобы надежно освободить дескриптор на стадии завершения; в противном случае — false. Предоставляет данные для событий и . 2 Возвращает строку символов, записанную в перенаправленный поток вывода . Строка, записанная соответствующим процессом в перенаправленный поток или . 2 Представляет метод, обрабатывающий событие или событие объекта . Источник события. Объект , содержащий данные, которые относятся к событию. 2 Предоставляет доступ к локальным и удаленным процессам и позволяет запускать и останавливать локальные системные процессы.Исходный код .NET Framework для этого типа см. в указанном источнике. 1 Инициализирует новый экземпляр класса . Получает базовый приоритет связанного процесса. Базовый приоритет, который вычисляется свойством связанного процесса. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. The process has exited.-or- The process has not started, so there is no process ID. 2 Начинает операции асинхронного чтения с перенаправленного потока приложения. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Начинает операции асинхронного чтения с перенаправленного потока приложения. The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 Отменяет операцию асинхронного чтения в перенаправленном потоке приложения. The stream is not enabled for asynchronous read operations. 2 Отменяет операцию асинхронного чтения в перенаправленном потоке приложения. The stream is not enabled for asynchronous read operations. 2 Освобождает все ресурсы, используемые этим процессом. Значение true позволяет освободить как управляемые, так и неуправляемые ресурсы; значение false освобождает только неуправляемые ресурсы. Получает или задает значение, указывающее, следует ли вызывать событие при прекращении процесса. Значение true, если событие должно быть вызвано при завершении связанного процесса (выход или вызов метода ); в противном случае — значение false.Значение по умолчанию — false. 2 Помещает компонент в состояние взаимодействия с работающим системным процессом, выполняющимся в специальном режиме путем включения встроенного свойства SeDebugPrivilege в данном потоке. 2 Происходит, когда приложение выполняет запись в свой перенаправленный поток . 2 Получает значение, заданное связанным процессом при завершении. Код, который задал связанный процесс при завершении. The process has not exited.-or- The process is not valid. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Происходит при завершении процесса. 2 Получает время завершения связанного процесса. Класс , показывающий время завершения связанного процесса. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Получает новый компонент и связывает его с активным в данный момент процессом. Новый компонент , связанный с ресурсом выполняющегося процесса в приложении. 1 Возвращает новый компонент , по заданному идентификатору процесса на локальном компьютере. Компонент , связанный с локальным ресурсом процесса, определенного параметром . Уникальный в системе идентификатор ресурса процесса. The process specified by the parameter is not running.The identifier might be expired. The process was not started by this object. 1 Возвращает новый компонент , по заданному идентификатору процесса и имени компьютера в сети. Компонент , связанный с удаленным ресурсом процесса, определенного параметром . Уникальный в системе идентификатор ресурса процесса. Имя компьютера в сети. The process specified by the parameter is not running.The identifier might be expired.-or- The parameter syntax is invalid.The name might have length zero (0). The parameter is null. The process was not started by this object. 1 Создает новый компонент для каждого ресурса процесса на локальном компьютере. Массив типа , представляющий все ресурсы процесса, выполняющегося на локальном компьютере. 1 Создает новый компонент для каждого ресурса процесса на указанном компьютере. Массив типа , представляющий все ресурсы процесса, выполняющегося на указанном компьютере. Компьютер, из которого читается список процессов. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Создает массив из новых компонентов и связывает их со всеми ресурсами процесса на локальном компьютере, для которых заданное имя процесса является общедоступным. Массив типа , представляющий ресурсы процесса, выполняющего указанное приложение или файл. Понятное имя процесса. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. 1 Создает массив из новых компонентов и связывает их со всеми ресурсами процесса на удаленном компьютере, для которых заданное имя процесса является общедоступным. Массив типа , представляющий ресурсы процесса, выполняющего указанное приложение или файл. Понятное имя процесса. Имя компьютера в сети. The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 Получает значение, определяющее завершение связанного процесса. Значение true, если процесс операционной системы, на который ссылается компонент , был завершен; в противном случае — значение false. There is no process associated with the object. The exit code for the process could not be retrieved. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 Получает уникальный идентификатор связанного процесса. Созданный системой уникальный идентификатор, на который ссылается этот экземпляр . The process's property has not been set.-or- There is no process associated with this object. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. 1 Немедленно останавливает связанный процесс. The associated process could not be terminated. -or-The process is terminating.-or- The associated process is a Win16 executable. You are attempting to call for a process that is running on a remote computer.The method is available only for processes running on the local computer. The process has already exited. -or-There is no process associated with this object. 1 Выбирает компонент из состояния, позволяющего ему взаимодействовать с процессами операционной системы, запущенными в специальном режиме. 2 Получает имя компьютера, на котором выполняется связанный процесс. Имя компьютера, на котором выполняется связанный процесс. There is no process associated with this object. 1 Получает главный модуль связанного процесса. Модуль , который был использован для запуска процесса. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. A 32-bit process is trying to access the modules of a 64-bit process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not available.-or- The process has exited. 1 Возвращает или задает максимальный размер доступного рабочего множества для связанного процесса. Максимальный размер рабочего множества в байтах, доступного в памяти для процесса. The maximum working set size is invalid.It must be greater than or equal to the minimum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Возвращает или задает минимальный размер доступного рабочего множества для связанного процесса. Минимальный размер рабочего множества в байтах, требуемый в памяти для процесса. The minimum working set size is invalid.It must be less than or equal to the maximum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Получает модули, которые были загружены связанным процессом. Массив объектов типа , который предоставляет модули, загруженные связанным процессом. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. You are attempting to access the property for either the system process or the idle process.These processes do not have modules. 2 Получает количество невыгружаемой системной памяти, выделенной для связанного процесса. Количество системной памяти в байтах, выделенной для связанного процесса, которую нельзя записать в файл подкачки виртуальной памяти. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Вызывает событие . Происходит, когда приложение записывает строку в свой перенаправленный поток . 2 Получает количество выгружаемой системной памяти, выделенной для связанного процесса. Количество памяти в байтах, выделенной в файле подкачки виртуальной памяти для связанного процесса. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Возвращает объем выгружаемой системной памяти, выделенной для связанного процесса. Количество системной памяти в байтах, выделенной для связанного процесса, которую можно записать в файл подкачки виртуальной памяти. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Получает максимальное количество памяти в файле подкачки виртуальной памяти, используемой связанным процессом. Максимальное количество памяти в байтах, выделенной в файле подкачки виртуальной памяти для связанного процесса с момента его запуска. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Получает максимальное количество виртуальной памяти, используемой связанным процессом. Максимальное количество виртуальной памяти в байтах, выделенной для связанного процесса с момента его запуска. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Получает максимальное количество физической памяти, используемой связанным процессом. Максимальное количество физической памяти в байтах, выделенной для связанного процесса с момента его запуска. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Возвращает или задает значение, указывающее, должна ли операционная система временно увеличить приоритет связанного процесса, когда основное окно процесса получит фокус. Значение true, если требуется динамическое увеличение приоритета процесса, когда процесс выходит из состояния ожидания; в противном случае — значение false.Значение по умолчанию — false. Priority boost information could not be retrieved from the associated process resource. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. 1 Возвращает или задает общую категорию приоритета для процесса. Категория приоритета для связанного процесса, из которой вычисляется свойство . Process priority information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. You have set the to AboveNormal or BelowNormal when using Windows 98 or Windows Millennium Edition (Windows Me).These platforms do not support those values for the priority class. Priority class cannot be set because it does not use a valid value, as defined in the enumeration. 1 Получает количество закрытой памяти, выделенной для связанного процесса. Количество памяти в байтах, выделенное для связанного процесса, который не может быть доступен другим процессам. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Получает права доступа на время процессора для этого процесса. Класс , показывающий количество времени, которое процесс потратил на выполнение кода внутри ядра операционной системы. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Получает имя процесса. Имя, которое использует система для идентификации процесса для пользователя. The process does not have an identifier, or no process is associated with the .-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not on this computer. 1 Возвращает или задает процессоры, на которых может быть запланировано выполнение потоков данного процесса. Битовая маска, представляющая процессоры, на которых могут выполняться потоки связанного процесса.По умолчанию маска зависит от числа процессоров в компьютере.Значение по умолчанию равно 2 n -1, где n — число процессоров. information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process was not available.-or- The process has exited. 2 Удаляет любые кэшированные внутри компонента процесса сведения о связанном процессе. 1 Возвращает собственный дескриптор процесса. Собственный дескриптор процесса. Получает идентификатор сеанса служб терминалов для связанного процесса. Идентификатор сеанса служба терминалов для связанного процесса. There is no session associated with this process. There is no process associated with this session identifier.-or-The associated process is not on this machine. The property is not supported on Windows 98. 1 Получает поток, используемый для чтения вывода ошибок приложения. Объект , используемый для чтения стандартного потока ошибок приложения. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Получает поток, используемый для записи ввода приложения. Объект , используемый для записи стандартного входного потока приложения. The stream has not been defined because is set to false. 1 Получает поток, используемый для чтения текстовых выходных данных приложения. Объект , используемый для чтения стандартного потока вывода приложения. The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 Запускает (или повторно использует) ресурс процесса, определенный свойством этого компонента , и связывает его с компонентом. Значение true, если ресурс процесса запущен; значение false, если новый ресурс процесса не был запущен (например, при повторном использовании существующего процесса). No file name was specified in the component's .-or- The member of the property is true while , , or is true. There was an error in opening the associated file. The process object has already been disposed. 1 Запускает ресурс процесса, определенный параметром, содержащим стартовую информацию процесса (например, имя файла запускаемого процесса), и связывает ресурс с новым компонентом . Новый процесс , связанный с ресурсом процесса, или null, если ресурс процесса не запущен.Обратите внимание, что новый процесс, запущенный с уже выполняющимися экземплярами того же процесса, будет независимым от других.Кроме того, метод Start может вернуть ненулевой тип Process, свойство которого равно true.В этом случае запущенный процесс может активировать существующий экземпляр самого себя, а затем завершить работу. Объект , который содержит информацию, использующуюся для запуска процесса, включая имя файла и все аргументы командной строки. No file name was specified in the parameter's property.-or- The property of the parameter is true and the , , or property is also true.-or-The property of the parameter is true and the property is not null or empty or the property is not null. The parameter is null. The process object has already been disposed. The file specified in the parameter's property could not be found. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." 1 Запускает ресурс процесса путем указания имени документа или файла приложения и связывает ресурс с новым компонентом . Новый процесс , связанный с ресурсом процесса, или null, если ресурс процесса не запущен.Обратите внимание, что новый процесс, запущенный наряду с уже выполняющимися экземплярами того же процесса, будет независимым от других.Кроме того, метод Start может вернуть ненулевой тип Process, свойство которого равно true.В этом случае запущенный процесс может активировать существующий экземпляр самого себя, а затем завершить работу. Имя документа или файла приложения для запуска в процессе. An error occurred when opening the associated file. The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Запускает ресурс процесса путем указания имени приложения и набора аргументов командной строки и связывает ресурс с новым компонентом . Новый процесс , связанный с ресурсом процесса, или null, если ресурс процесса не запущен.Обратите внимание, что новый процесс, запущенный наряду с уже выполняющимися экземплярами того же процесса, будет независимым от других.Кроме того, метод Start может вернуть ненулевой тип Process, свойство которого равно true.В этом случае запущенный процесс может активировать существующий экземпляр самого себя, а затем завершить работу. Имя файла приложения для запуска в процессе. Аргументы командной строки для передачи при запуске процесса. The or parameter is null. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 Запускает ресурс процесса путем указания имени приложения, имени пользователя, пароля и домена и связывает ресурс с новым компонентом . Новый процесс , связанный с ресурсом процесса, или null, если ресурс процесса не запущен.Обратите внимание, что новый процесс, запущенный наряду с уже выполняющимися экземплярами того же процесса, будет независимым от других.Кроме того, метод Start может вернуть ненулевой тип Process, свойство которого равно true.В этом случае запущенный процесс может активировать существующий экземпляр самого себя, а затем завершить работу. Имя файла приложения для запуска в процессе. Имя пользователя, используемое при запуске процесса. Объект , содержащий пароль для использования при запуске процесса. Домен, используемый при запуске процесса. No file name was specified. is not an executable (.exe) file. There was an error in opening the associated file. The process object has already been disposed. 1 Запускает ресурс процесса путем указания имени приложения, набора аргументов командной строки, имени пользователя, пароля и домена и связывает ресурс с новым компонентом . Новый процесс , связанный с ресурсом процесса, или null, если ресурс процесса не запущен.Обратите внимание, что новый процесс, запущенный наряду с уже выполняющимися экземплярами того же процесса, будет независимым от других.Кроме того, метод Start может вернуть ненулевой тип Process, свойство которого равно true.В этом случае запущенный процесс может активировать существующий экземпляр самого себя, а затем завершить работу. Имя файла приложения для запуска в процессе. Аргументы командной строки для передачи при запуске процесса. Имя пользователя, используемое при запуске процесса. Объект , содержащий пароль для использования при запуске процесса. Домен, используемый при запуске процесса. No file name was specified. is not an executable (.exe) file. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. 1 Получает или задает свойства для передачи их методу объекта . Класс , который представляет данные для запуска процесса.Эти аргументы включают имя исполняемого файла или документа, использованного для запуска процесса. The value that specifies the is null. 1 Получает время запуска связанного процесса. Объект, показывающий время запуска процесса.Если процесс не выполняется, возникает исключение. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process has exited.-or-The process has not been started. An error occurred in the call to the Windows function. 1 Получает множество потоков, выполняющихся в связанном процессе. Массив объектов типа , представляющий потоки операционной системы, которые в настоящий момент выполняются в связанном процессе. The process does not have an , or no process is associated with the instance.-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. 1 Получает полное время процессора для этого процесса. Объект , указывающий количество времени, потраченного процессом на загрузку ЦП.Это значение является суммой значений свойств и . The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Получает пользовательское время процессора для этого процесса. Класс , показывающий количество времени, которое связанный процесс потратил на выполнение кода внутри приложения (не внутри ядра операционной системы). The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 Получает количество виртуальной памяти, выделенной для связанного процесса. Возвращает количество виртуальной памяти в байтах, выделенной для связанного процесса. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Дает компоненту команду ожидать завершения связанного процесса в течение неограниченного времени. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 Дает компоненту команду ожидать завершения связанного процесса в течение указанного времени в миллисекундах. Значение true, если связанный процесс завершился; в противном случае — значение false. Количество времени в миллисекундах для ожидания завершения связанного процесса.Максимальным является наибольшее возможное 32-битное целое число, которое представляет для операционной системы бесконечность. The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 Получает количество физической памяти, выделенной для связанного процесса. Количество физической памяти в байтах, выделенной для связанного процесса. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 Представляет файл с расширением .dll или .exe, загруженный в определенный процесс. 2 Возвращает адрес в памяти, куда был загружен модуль. Адрес загрузки модуля. 2 Возвращает адрес памяти для функции, выполняющейся при загрузке и выполнении модуля системой. Точка входа модуля. 2 Возвращает полный путь к модулю. Полный путь, который определяет место модуля. 2 Возвращает объем памяти, необходимый для загрузки модуля. Размер памяти в байтах, которую занимает модуль. 2 Возвращает имя модуля процесса. Имя модуля. 2 Преобразует имя модуля в строку. Значение свойства . 2 Предоставляет строго типизированную коллекцию объектов . 2 Инициализирует новый экземпляр класса без использования связанных экземпляров . Инициализирует новый экземпляр класса , используя указанный массив экземпляров . Массив экземпляров , с помощью которого инициализируется экземпляр . Определяет, существует ли в коллекции указанный модуль процесса. Значение true, если модуль присутствует в коллекции; в противном случае — значение false. Экземпляр , указывающий на искомый модуль в коллекции. 2 Копирует в коллекцию массив экземпляров по указанному индексу. Массив экземпляров для добавления в коллекцию. Место, куда добавляются новые экземпляры. 2 Предоставляет расположение указанного модуля в коллекции. Отсчитываемый от нуля индекс, по которому определяется место модуля в коллекции . Класс , чей индекс извлекается. 2 Возвращает индекс для выполнения итерации по набору модулей процесса. Класс , который индексирует модули в коллекции. Отсчитываемое от нуля индексное значение модуля в коллекции. 2 Указывает приоритет, который система связывает с процессом.Это значение вместе со значением приоритета каждого потока процесса определяет базовый уровень приоритета каждого потока. 2 Указывает, что значение приоритета процесса находится между Normal и . Указывает, что значение приоритета процесса находится между Idle и Normal. Указывает, что процесс выполняет срочные задачи, которые должны быть выполнены немедленно, например диалоговое окно Task List, которое должно быстро отвечать при вызове пользователя независимо от загрузки операционной системы.Потоки процесса выгружают потоки процессов с нормальными или низкими приоритетами. Указывает, что потоки этого процесса выполняются, только когда система не занята. Примером может служить программа-заставка.Потоки данного процесса выгружаются потоками любых процессов с более высоким приоритетом. Указывает, что у процесса нет особых запланированных потребностей. Указывает, что процесс обладает максимально высоким приоритетом. Задает набор значений, используемых при запуске процесса. 2 Инициализирует новый экземпляр класса , не указывая имени файла, вместе с которым должен запускаться процесс. Инициализирует новый экземпляр класса и задает имя файла, например приложение или документ, вместе с которым должен запускаться процесс. Приложение или документ, вместе с которыми должен запускаться процесс. Инициализирует новый экземпляр класса , задает имя файла приложения, вместе с которым должен запускаться процесс, и указывает передаваемые в приложение аргументы командной строки. Приложение, с которым должен запускаться процесс. Аргументы командной строки, передаваемые в приложение при запуске процесса. Возвращает или задает набор аргументов командной строки, используемых при запуске приложения. Одна строка, содержащая аргументы для передачи в целевое приложение, указанное в свойстве .Значение по умолчанию — пустая строка ("").В Windows Vista и более ранних версиях операционной системы Windows длина аргументов, добавляемых к длине полного пути к процессу, должна быть меньше 2080.В Windows 7 и более поздних версиях длина должна быть меньше 32699.Аргументы анализируются и интерпретируются целевым приложением, поэтому они должны соответствовать ожидаемым аргументам приложения.Как показано в примерах ниже, для приложений .NET пробелы считаются разделителями между несколькими аргументами.Одиночный аргумент, включающий пробелы, должен быть заключен в кавычки, но кавычки не указываются в целевом приложении.В финальном проанализированном аргументе при включении кавычек к каждому знаку следует добавить escape-символ. 1 Возвращает или задает значение, позволяющее определить, нужно ли запускать процесс в новом окне. Значение true, если процесс должен быть запущен без создания для него нового окна; в противном случае — значение false.Значение по умолчанию — false. 2 Возвращает или задает значение, позволяющее идентифицировать домен, используемый при запуске процесса. Домен Active Directory, используемый при запуске процесса.Свойство домена актуально преимущественно для пользователей, работающих в корпоративной среде и использующих службу Active Directory. 1 Возвращает или задает приложение или документ для запуска. Имя запускаемого приложения или имя документа, тип файла которого связан с приложением и для которого доступно действие открытия по умолчанию.Значение по умолчанию — пустая строка (""). 1 Возвращает или задает значение, позволяющее определить, следует ли загружать профиль пользователя Windows из реестра. Значение true, если должен быть загружен профиль пользователя Windows; в противном случае — значение false.Значение по умолчанию — false. 1 Возвращает или задает параметр безопасности, в котором содержится пароль пользователя, используемый при запуске процесса. Пароль пользователя, используемый при запуске процесса. 1 Возвращает или задает значение, позволяющее определить, записываются ли выходные данные об ошибках приложения в поток . Значение true, если выходные данные должны записываться в ; в противном случае — значение false.Значение по умолчанию — false. 2 Возвращает или задает значение, позволяющее определить, будут ли считываться входные данные приложения из потока . Значение true, если входные данные должны считываться из ; в противном случае — значение false.Значение по умолчанию — false. 2 Возвращает или задает значение, позволяющее определить, записываются ли текстовые выходные данные приложения в поток . Значение true, если выходные данные должны записываться в ; в противном случае — значение false.Значение по умолчанию — false. 2 Возвращает или задает предпочтительную кодировку для вывода ошибок. Объект, представляющий предпочтительную кодировку для вывода ошибок.Значение по умолчанию — null. Возвращает или задает предпочтительную кодировку для стандартного вывода. Объект, представляющий предпочтительную кодировку для стандартного вывода.Значение по умолчанию — null. Возвращает или задает имя пользователя, которое следует использовать при запуске процесса. Имя пользователя, используемое при запуске процесса. 1 Возвращает или задает значение, позволяющее определить, нужно ли использовать оболочку операционной системы для запуска процесса. Значение true, если оболочка должна использоваться при запуске процесса; значение false, если процесс должен создаваться непосредственно из исполняемого файла.Значение по умолчанию — true. 2 Если свойство имеет значение false, возвращает или задает рабочую папку для процесса для запуска.Если параметру присвоено значение true, возвращает или задает каталог, содержащий процесс, который требуется запустить. Если имеет значение true, полное имя каталога, в котором содержится запускаемый процесс.Если свойство имеет значение false, рабочая папка для запускаемого процесса.Значение по умолчанию — пустая строка (""). 1 Представляет поток процесса операционной системы. 2 Возвращает базовый приоритет потока. Базовый приоритет потока, вычисляемый операционной системой путем совмещения класса приоритета процесса с уровнем приоритета соответствующего потока. 2 Возвращает текущий приоритет потока. Текущий приоритет потока, который может отклоняться от базового, в зависимости от способа планирования потока в операционной системе.Для активного потока приоритет может быть временно увеличен. 2 Возвращает уникальный идентификатор потока. Уникальный идентификатор связан с конкретным потоком. 2 Устанавливает предпочтительный процессор для выполнения этого потока. Предпочтительный процессор для потока, используемый при планировании потока системой для определения процессора, на котором будет выполняться поток. Системе не удалось задать поток для запуска на указанном процессоре. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Возвращает или задает значение, указывающее, должна ли операционная система временно увеличивать приоритет соответствующего потока всякий раз, когда основное окно процесса, которому принадлежит данный поток, получает фокус. Значение true для увеличения приоритета потока при взаимодействии пользователя с интерфейсом процесса или значение false в противном случае.Значение по умолчанию — false. Не удается извлечь информацию о повышении приоритета.– или –Не удается задать информацию о повышении приоритета. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Возвращает или задает уровень приоритета потока. Одно из значений , задающих диапазон, который ограничивает приоритет потока. Не удается извлечь информацию об уровне приоритета потока. – или –Не удается задать информацию об уровне приоритета потока. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Возвращает количество времени, затрачиваемое потоком на выполнение кода внутри ядра операционной системы. Объект , указывающий количество времени, которое поток потратил на выполнение кода внутри ядра операционной системы. Не удалось извлечь затраченное потоком время. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Задает процессоры, на которых может выполняться соответствующий поток. Объект , указывающий на набор битов, каждый из которых представляет процессор, где может выполняться поток. Не удается задать сходство процессоров. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Отменяет идеальный процессор для данного потока, указывая тем самым на отсутствие единственного идеального процессора.Другими словами, для потока идеален любой процессор. Не удается сбросить идеальный процессор. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Возвращает адрес функции в памяти, которая была вызвана операционной системой и запустила этот поток. Начальный адрес потока, указывающий на определенную приложением функцию, которую выполняет данный поток. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Возвращает время запуска потока операционной системой. Класс , представляющий системное время запуска потока операционной системой. Не удалось извлечь затраченное потоком время. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Возвращает текущее состояние данного потока. Объект , указывающий на состояние выполнения потока, например, выполняется, ожидает или прекращен. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Возвращает общее количество времени, которое потратил поток на обработку процессором. Объект , указывающий количество времени, на протяжении которого поток контролировал процессор. Не удалось извлечь затраченное потоком время. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Возвращает количество времени, которое поток потратил на выполнение кода внутри приложения. Объект , указывающий количество времени, которое поток потратил на выполнение кода внутри приложения, в отличие от выполнения в ядре операционной системы. Не удалось извлечь затраченное потоком время. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Возвращает причину, по которой поток находится в состоянии ожидания. Объект , представляющий причину нахождения потока в состоянии ожидания. Поток не находится в состоянии ожидания. Используется платформа Windows 98 или Windows Millennium Edition. Данный процесс выполняется на удаленном компьютере. 2 Содержит строго типизированную коллекцию объектов . 2 Инициализирует новый экземпляр класса без использования связанных экземпляров . Инициализирует новый экземпляр класса , используя указанный массив экземпляров . Массив экземпляров , с помощью которого инициализируется экземпляр . Добавляет поток процесса в коллекцию. Отсчитываемый с нуля индекс потока в коллекции. Поток, который требуется добавить в коллекцию. 2 Определяет, существует ли указанный поток процесса в коллекции. Значение true, если поток присутствует в коллекции; в противном случае — значение false. Экземпляр , указывающий на искомый поток в коллекции. 2 Копирует в коллекцию массив экземпляров по указанному индексу. Массив экземпляров для добавления в коллекцию. Место, куда добавляются новые экземпляры. 2 Предоставляет место указанного потока в коллекции. Отсчитываемый с нуля индекс, который определяет место потока в коллекции . Класс , чей индекс извлекается. 2 Вставляет поток процесса в указанное место в коллекции. Отсчитываемый с нуля индекс, указывающий на место, в которое должен быть вставлен поток. Поток, вставляемый в коллекцию. 2 Получает индекс для итерационного перебора набора потоков процесса. Класс , который индексирует потоки в коллекции. Отсчитываемое с нуля значение потока в коллекции. 2 Удаляет поток процесса из коллекции. Поток, который нужно удалить из коллекции. 2 Задает уровень приоритета потока. 2 Задает приоритет на один уровень выше нормального для связанного . Задает приоритет на один уровень ниже нормального для связанного . Задает высший приоритет.Он на два уровня выше нормального приоритета для связанного . Задает приоритет простоя.Это самое низкое из возможных значений приоритета всех потоков, независимо от значения связанного . Задает низший приоритет.Он на два уровня ниже нормального приоритета для связанного . Задает нормальный приоритет для связанного . Задает критичный по времени приоритет.Это самый высокий приоритет всех потоков, независимо от значения связанного . Задает текущее состояние выполнения потока. 1 Состояние, указывающее, что поток инициализирован, но еще не запущен. Состояние, указывающее, что поток ожидает освобождения процессора.Поток готов к выполнению на следующем доступном процессоре. Состояние, указывающее, что поток в данный момент использует процессор. Состояние, указывающее, что поток приступает к использованию процессора.В каждый момент времени в этом состоянии может быть только один поток. Состояние, указывающее, что выполнение потока завершено и он выполнил выход. Состояние, указывающее, что поток ожидает ресурс (не процессор), необходимый для его выполнения.Например, он может ожидать считывания с диска стека его выполнения. Состояние потока неизвестно. Состояние, указывающее, что поток не готов использовать процессор, поскольку ожидает завершения внешней операции или освобождения ресурса.Когда поток становится готовым, его выполнение планируется повторно. Указывает причину, по которой поток находится в состоянии ожидания. 2 Поток ожидает старшую составляющую пары события. Поток ожидает младшую составляющую пары события. Выполнение потока отложено. Поток ожидает планировщик. Поток ожидает свободную страницу виртуальной памяти. Поток ожидает поступления вызова локальной процедуры. Поток ожидает поступления ответа на вызов локальной процедуры. Поток ожидает поступления страницы виртуальной памяти в память. Поток ожидает записи страницы виртуальной памяти на диск. Выполнение потока приостановлено. Поток ожидает системных ресурсов. Причина ожидания потока неизвестна. Поток ожидает запроса пользователя. Поток ожидает выделения системой виртуальной памяти. ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/netstandard1.4/zh-hans/System.Diagnostics.Process.xml ================================================  System.Diagnostics.Process [SECURITY CRITICAL] 为一个进程句柄提供托管包装。 [SECURITY CRITICAL] 初始化的新实例从,该值指示是否在终结阶段释放该句柄指定的句柄的类。 要包装的句柄。 true若要可靠地让在终结阶段 ; 释放该句柄否则为false。 事件提供数据。 2 获取写入到重定向 输出流的字符行。 由关联的 写入到其重定向 流中的行。 2 表示将要处理 事件或 事件的方法。 事件源。 包含事件数据的 2 提供对本地和远程进程的访问权限并使你能够启动和停止本地系统进程。若要浏览此类型的 .NET Framework 源代码,请参阅引用源。 1 初始化 类的新实例。 获取关联进程的基本优先级。 基本优先级别,它从关联进程的 计算。 The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. The process has exited.-or- The process has not started, so there is no process ID. 2 在应用程序的重定向 流上开始进行异步读取操作。 The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 在应用程序的重定向 流上开始进行异步读取操作。 The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 取消在应用程序的重定向 流上执行的异步读取操作。 The stream is not enabled for asynchronous read operations. 2 取消在应用程序的重定向 流上执行的异步读取操作。 The stream is not enabled for asynchronous read operations. 2 释放此进程使用的所有资源。 若要释放托管资源和非托管资源,则为 true;若仅释放非托管资源,则为 false。 获取或设置在进程终止时是否应激发 事件。 如果关联的进程终止(通过退出或者调用 )时应引发 事件,则为 true;否则为 false。默认值为 false。 2 通过启用当前线程的本机属性 SeDebugPrivilege,将 组件置于与以特殊模式运行的操作系统进程交互的状态。 2 当应用程序写入其重定向 流中时发生。 2 获取关联进程终止时指定的值。 关联进程终止时指定的代码。 The process has not exited.-or- The process is not valid. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 在进程退出时发生。 2 获取关联进程退出的时间。 ,它指示关联进程终止的时间。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 获取新的 组件并将其与当前活动的进程关联。 与运行调用应用程序的进程资源关联的新的 组件。 1 返回新的 组件(给定本地计算机上某个进程的标识符)。 一个与 参数标识的本地进程资源关联的 组件。 进程资源的系统唯一标识符。 The process specified by the parameter is not running.The identifier might be expired. The process was not started by this object. 1 返回新的 组件(给定进程标识符和网络中计算机的名称)。 一个与 参数标识的远程进程资源关联的 组件。 进程资源的系统唯一标识符。 网络上计算机的名称。 The process specified by the parameter is not running.The identifier might be expired.-or- The parameter syntax is invalid.The name might have length zero (0). The parameter is null. The process was not started by this object. 1 为本地计算机上的每个进程资源创建一个新的 组件。 类型的数组,它表示本地计算机上运行的所有进程资源。 1 为指定计算机上的每个进程资源创建一个新的 组件。 类型的数组,表示指定计算机上运行的所有进程资源。 从其中读取进程列表的计算机。 The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 创建新的 组件的数组,并将它们与本地计算机上共享指定的进程名称的所有进程资源关联。 类型的数组,表示运行指定应用程序或文件的进程资源。 该进程的友好名称。 There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. 1 创建新的 组件的数组,并将它们与远程计算机上共享指定进程名称的所有进程资源关联。 类型的数组,表示运行指定应用程序或文件的进程资源。 该进程的友好名称。 网络上计算机的名称。 The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 获取指示关联进程是否已终止的值。 如果 组件引用的操作系统进程已终止,则为 true;否则为 false。 There is no process associated with the object. The exit code for the process could not be retrieved. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 获取关联进程的唯一标识符。 实例引用的、由系统生成的进程的唯一标识符。 The process's property has not been set.-or- There is no process associated with this object. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. 1 立即停止关联的进程。 The associated process could not be terminated. -or-The process is terminating.-or- The associated process is a Win16 executable. You are attempting to call for a process that is running on a remote computer.The method is available only for processes running on the local computer. The process has already exited. -or-There is no process associated with this object. 1 使 组件离开允许它与以特殊模式运行的操作系统进程交互的状态。 2 获取关联进程正在其上运行的计算机的名称。 关联进程正在其上运行的计算机的名称。 There is no process associated with this object. 1 获取关联进程的主模块。 用于启动进程的 You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. A 32-bit process is trying to access the modules of a 64-bit process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not available.-or- The process has exited. 1 获取或设置关联进程的允许的最大工作集大小。 内存中允许的进程的最大工作集大小(以字节为单位)。 The maximum working set size is invalid.It must be greater than or equal to the minimum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 获取或设置关联进程的允许的最小工作集大小。 内存中进程所需的最小工作集大小(以字节为单位)。 The minimum working set size is invalid.It must be less than or equal to the maximum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 获取已由关联进程加载的模块。 类型的数组,它表示已由关联进程加载的模块。 You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. You are attempting to access the property for either the system process or the idle process.These processes do not have modules. 2 获取为关联的进程分配的非分页系统内存量。 为关联的进程分配的、不能写入虚拟内存分页文件中的系统内存量(以字节为单位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 引发 事件。 每次应用程序向其重定向 流中写入行时发生。 2 获取为关联的进程分配的分页内存量。 在虚拟内存分页文件中为关联进程分配的内存量(以字节为单位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 获取为关联进程分配的可分页系统内存量。 为可写入虚拟内存分页文件的关联内存分配的系统内存量(以字节为单位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 获取关联的进程使用的虚拟内存分页文件中的最大内存量。 从启动关联的进程以来在为虚拟内存分页文件中关联进程分配的最大内存量(以字节为单位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 获取关联进程使用的最大虚拟内存量。 从关联进程启动以来为关联进程分配的最大虚拟内存量(以字节为单位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 获取关联进程使用的最大物理内存量。 从启动关联进程以来为关联进程分配的最大物理内存量(以字节为单位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 获取或设置一个值,该值指示主窗口拥有焦点时是否应由操作系统暂时提升关联进程优先级。 如果进程离开等待状态时应动态提升进程优先级别,则为 true;否则为 false。默认值为 false。 Priority boost information could not be retrieved from the associated process resource. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. 1 获取或设置关联进程的总体优先级类别。 关联进程的优先级别类别,可从该类别计算进程的 Process priority information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. You have set the to AboveNormal or BelowNormal when using Windows 98 or Windows Millennium Edition (Windows Me).These platforms do not support those values for the priority class. Priority class cannot be set because it does not use a valid value, as defined in the enumeration. 1 获取为关联进程分配的专用内存量。 为关联进程分配的不能与其他进程共享的内存量(以字节为单位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 获取此进程的特权处理器时间。 ,它指示进程在操作系统内核中运行代码所用的时间。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 获取该进程的名称。 系统用以向用户标识该进程的名称。 The process does not have an identifier, or no process is associated with the .-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not on this computer. 1 获取或设置一些处理器,此进程中的线程可以按计划在这些处理器上运行。 位掩码,表示关联进程内的线程可以在其上运行的处理器。默认值取决于计算机上的处理器数。默认值为 2 n -1,其中 n 是处理器数。 information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process was not available.-or- The process has exited. 2 放弃已缓存到进程组件的关联仅存的任何相关信息。 1 获取此进程的本机句柄。 此进程的本机句柄。 获取关联进程的终端服务会话标识符。 关联进程的终端服务会话标识符。 There is no session associated with this process. There is no process associated with this session identifier.-or-The associated process is not on this machine. The property is not supported on Windows 98. 1 获取用于读取应用程序错误输出的流。 一个 ,可用于读取应用程序的标准错误流。 The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 获取用于写入应用程序输入的流。 ,可用于写入应用程序的标准输入流。 The stream has not been defined because is set to false. 1 获取用于读取应用程序文本输出的流。 ,可用于读取应用程序的标准输出流。 The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 启动(或重用)此 组件的 属性指定的进程资源,并将其与该组件关联。 如果启动了进程资源,则为 true;如果没有启动新的进程资源(例如,如果重用了现有进程),则为 false。 No file name was specified in the component's .-or- The member of the property is true while , , or is true. There was an error in opening the associated file. The process object has already been disposed. 1 启动由包含进程启动信息(例如,要启动的进程的文件名)的参数指定的进程资源,并将该资源与新的 组件关联。 一个与进程资源关联的新 ,如果未启动进程资源,则为 null。请注意,随着同一进程已在运行的实例启动的新进程将独立于其他进程。此外,启动可能返回一个 属性已设置为 true 的非 null 进程。在这种情况下,启动的进程可能已激活现有实例自身,然后退出。 ,包含用于启动进程的信息(包括文件名和任何命令行参数)。 No file name was specified in the parameter's property.-or- The property of the parameter is true and the , , or property is also true.-or-The property of the parameter is true and the property is not null or empty or the property is not null. The parameter is null. The process object has already been disposed. The file specified in the parameter's property could not be found. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." 1 通过指定文档或应用程序文件的名称来启动进程资源,并将资源与新的 组件关联。 一个与进程资源关联的新 ,如果未启动进程资源,则为 null。请注意,随着同一进程已在运行的实例启动的新进程将独立于其他进程。此外,启动可能返回一个 属性已设置为 true 的非 null 进程。在这种情况下,启动的进程可能已激活现有实例自身,然后退出。 要在进程中运行的文档或应用程序文件的名称。 An error occurred when opening the associated file. The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 通过指定应用程序的名称和一组命令行参数来启动一个进程资源,并将该资源与新的 组件相关联。 一个与进程资源关联的新 ,如果未启动进程资源,则为 null。请注意,随着同一进程已在运行的实例启动的新进程将独立于其他进程。此外,启动可能返回一个 属性已设置为 true 的非 null 进程。在这种情况下,启动的进程可能已激活现有实例自身,然后退出。 要在进程中运行的应用程序文件的名称。 启动该进程时传递的命令行参数。 The or parameter is null. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 通过指定应用程序的名称、用户名、密码和域来启动一个进程资源,并将该资源与新的 组件关联起来。 一个与进程资源关联的新 ,如果未启动进程资源,则为 null。请注意,随着同一进程已在运行的实例启动的新进程将独立于其他进程。此外,启动可能返回一个 属性已设置为 true 的非 null 进程。在这种情况下,启动的进程可能已激活现有实例自身,然后退出。 要在进程中运行的应用程序文件的名称。 启动进程时使用的用户名。 一个 ,它包含启动进程时要使用的密码。 启动进程时要使用的域。 No file name was specified. is not an executable (.exe) file. There was an error in opening the associated file. The process object has already been disposed. 1 通过指定应用程序的名称、一组命令行参数、用户名、密码和域来启动一个进程资源,并将该资源与新的 组件关联起来。 一个与进程资源关联的新 ,如果未启动进程资源,则为 null。请注意,随着同一进程已在运行的实例启动的新进程将独立于其他进程。此外,启动可能返回一个 属性已设置为 true 的非 null 进程。在这种情况下,启动的进程可能已激活现有实例自身,然后退出。 要在进程中运行的应用程序文件的名称。 启动该进程时传递的命令行参数。 启动进程时使用的用户名。 一个 ,它包含启动进程时要使用的密码。 启动进程时要使用的域。 No file name was specified. is not an executable (.exe) file. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. 1 获取或设置要传递给 方法的属性。 ,它表示启动该进程时要使用的数据。这些参数包括用于启动该进程的可执行文件或文档的名称。 The value that specifies the is null. 1 获取关联进程启动的时间。 指示进程启动的时间的对象。如果进程未运行,将会引发异常。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process has exited.-or-The process has not been started. An error occurred in the call to the Windows function. 1 获取在关联进程中运行的一组线程。 类型的数组,它表示当前在关联进程中运行的操作系统线程。 The process does not have an , or no process is associated with the instance.-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. 1 获取此进程的总的处理器时间。 ,它指示关联进程使用 CPU 的时间。此值是 的和。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 获取此进程的用户处理器时间。 ,它指示关联进程在该进程的应用程序部分内(而不是在操作系统内核中)运行代码所用的时间。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 获取为关联进程分配的虚拟内存量。 为关联进程分配的虚拟内存量(以字节为单位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 指示 组件无限期地等待关联进程退出。 The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 指示 组件在指定的毫秒数内等待关联进程退出。 如果关联进程已退出,则为 true;否则为 false。 等待关联进程退出的时间(以毫秒为单位)。最大值为 32 位整数的最大可能值,这对于操作系统而言表示无限大。 The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 获取为关联进程分配的物理内存量。 为关的进程分配的物理内存量(以字节为单位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 表示加载到特定进程中的 .dll 或 .exe 文件。 2 获取加载模块的内存地址。 模块的加载地址。 2 获取在系统加载和运行模块时运行的函数的内存地址。 模块的入口点。 2 获取模块的完整路径。 定义模块位置的完全限定路径。 2 获取加载模块所需内存量。 模块占用的内存大小(以字节为单位)。 2 获取进程模块的名称。 模块的名称。 2 将模块的名称转换为字符串。 属性的值。 2 提供 对象的强类型集合。 2 在没有关联的 实例的情况下,初始化 类的新实例。 使用指定的 实例数组来初始化 类的新实例。 用来初始化该 实例的 实例的数组。 确定集合中是否存在指定的进程模块。 如果集合中存在该模块,则为 true;否则为 false。 一个 实例,它指示要该集合中查找的模块。 2 实例的数组复制到集合的指定索引处。 要添加到集合的 实例的数组。 要添加新实例的位置。 2 提供指定模块在集合中的位置。 从零开始的索引,它定义模块在 中的位置。 检索其索引的 2 获取用于循环访问进程模块集的索引。 一个 ,它对集合中的模块进行索引 集合中该模块的从零开始的索引值。 2 指示系统将与进程关联的优先级。此值与进程的每个线程的优先级值一起来确定每个线程的基本优先级别。 2 指定进程的优先级在 Normal 之上,但在 之下。 指定进程的优先级在 Idle 之上,但在 Normal 之下。 指定进程执行必须立即执行的时间关键任务,如 Task List 对话框,不管操作系统的负荷如何,用户调用该对话框后均必须迅速响应。该进程的线程优先于普通或空闲优先级类进程的线程。 指定此进程的线程只能在系统空闲时运行,如屏幕保护程序。更高优先级类中运行的任何进程的线程都优先于此进程的线程。 指定进程没有特殊的安排需求。 指定进程拥有可能的最高优先级。 指定启动进程时使用的一组值。 2 初始化 类的新实例,而不指定启动进程时使用的文件名。 初始化 类的新实例,并指定启动进程时使用的诸如应用程序或文档的文件名。 启动进程时使用的应用程序或文档。 初始化 类的新实例,指定启动该进程时使用的应用程序文件名以及要传递给该应用程序的一组命令行参数。 启动进程时使用的应用程序。 进程启动时要传递给应用程序的命令行参数。 获取或设置启动应用程序时要使用的一组命令行参数。 单个字符串包含要传递给在 属性中指定的目标应用程序的参数。默认值为空字符串 ("")。在 Windows Vista 和早期的 Windows 操作系统上,添加至进程全径的长度的参数长度必须小于 2080。在 Windows 7 和更高版本,此长度必须小于 32699。参数由目标应用程序进行分析和解释,因此必须与该应用程序的预期保持一致。对于以下示例中所演示的 .NET 的应用程序,空格被解释为多个参数之间的分隔符。包含空格的单个参数必须用引号引起来,但这些引号不会传递到目标应用程序。在包括引号在内的最终已分析的参数中,每个标记均会进行三重转义。 1 获取或设置指示是否在新窗口中启动该进程的值。 如果应启动该进程而不创建包含它的新窗口,则为 true;否则为 false。默认值为 false。 2 获取或设置一个值,该值标识要在启动进程时使用的域。 要在启动进程时使用的 Active Directory 域。域属性主要与使用 Active Directory 的企业级环境内的用户相关。 1 获取或设置要启动的应用程序或文档。 要启动的应用程序的名称或某文件类型的文档的名称,该文件类型与应用程序关联并且拥有可用的默认打开操作。默认值为空字符串 ("")。 1 获取或设置一个值,该值指示是否从注册表加载 Windows 用户配置文件。 如果应加载 Windows 用户概况,则为 true;否则为 false。默认值为 false。 1 获取或设置一个安全字符串,其中包含要在启动进程时使用的用户密码。 启动进程时使用的用户密码。 1 获取或设置一个值,该值指示是否将应用程序的错误输出写入 流中。 如果错误输出应写入 ,则为 true;否则为 false。默认值为 false。 2 获取或设置一个值,该值指示应用程序的输入是否从 流中读取。 如果应从 读取输入,则为 true;否则为 false。默认值为 false。 2 获取或设置一个值,该值指示是否将应用程序的输出写入 流中。 如果输出应写入 ,则为 true;否则为 false。默认值为 false。 2 获取或设置错误输出的首选编码。 一个对象,表示错误输出的首选编码。默认值为 null。 获取或设置标准输出的首选编码。 一个对象,表示标准输出的首选编码。默认值为 null。 获取或设置在启动进程时使用的用户名。 启动进程时使用的用户名。 1 获取或设置一个值,该值指示是否使用操作系统 shell 启动进程。 如果应在启动进程时使用 shell,则为 true;如果直接从可执行文件创建进程,则为 false。默认值为 true。 2 属性为 false 时,将获取或设置要启动的进程的工作目录。当 为 true 时,获取或设置包含要启动的进程的目录。 为 true 时,是包含要启动的进程的目录的完全限定名。当 属性为 false 时,则为要启动的进程的工作目录。默认值为空字符串 ("")。 1 表示操作系统进程线程。 2 获取线程的基本优先级。 线程的基本优先级,它由操作系统通过将进程优先级类与关联线程的优先级别相结合进行计算。 2 获取线程的当前优先级。 线程的当前优先级,可根据操作系统如何安排该线程而偏离基本优先级。可为活动线程暂时提升优先级。 2 获取线程的唯一标识符。 与指定线程关联的唯一标识符。 2 设置让此线程在其上运行的首选处理器。 线程的首选处理器,用来在系统安排线程时确定在哪个处理器上运行线程。 系统未能设置线程在指定的处理器上启动。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 获取或设置一个值,该值指示每当关联线程的进程主窗口接收焦点时,操作系统是否暂时提升该线程的优先级。 若要在用户与进程的界面交互时提升线程的优先级,则为 true;否则为 false。默认值为 false。 未能检索到优先级提升信息。- 或 -未能设置优先级提升信息。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 获取或设置线程的优先级别。 值之一,它指定限制线程优先级的范围。 未能检索到线程优先级别信息。- 或 -未能设置线程优先级别。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 获取线程在操作系统内核中运行代码所用的时间。 ,它指示线程在操作系统内核中运行代码所用的时间。 未能检索到线程时间。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 设置关联线程可以在其上运行的处理器。 指向一组位的 ,每个位表示该线程可在其上运行的一个处理器。 未能设置处理器关联。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 重置此线程的理想处理器,以指示没有单个的理想处理器。换言之,任何处理器都是理想处理器。 未能重置理想处理器。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 获取操作系统调用的、启动此线程的函数的内存地址。 线程的起始地址,它指向线程执行的应用程序定义的函数。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 获取操作系统启动该线程的时间。 ,它表示操作系统启动该线程时系统上的时间。 未能检索到线程时间。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 获取此线程的当前状态。 指示线程执行情况的 (例如运行、等待或终止)。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 获取此线程使用处理器的时间总量。 ,它指示线程控制处理器的时间。 未能检索到线程时间。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 获取关联的线程在应用程序内运行代码所用的时间。 ,它指示线程在应用程序内(相对于在操作系统内核中)运行代码所用的时间。 未能检索到线程时间。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 获取线程等待的原因。 一个 ,表示线程处于等待状态的原因。 线程不在等待状态。 平台为 Windows 98 或 Windows Millennium Edition。 进程在远程计算机上。 2 提供 对象的强类型集合。 2 在没有关联的 实例的情况下,初始化 类的新实例。 使用指定的 实例数组来初始化 类的新实例。 用来初始化该 实例的 实例的数组。 将进程线程附加到集合。 集合中线程的从零开始的索引。 要添加到集合中的线程。 2 确定集合中是否存在指定的进程线程。 如果集合中存在该线程,则为 true;否则为 false。 一个 实例,它指示要在该集合中查找的线程。 2 实例的数组复制到集合的指定索引处。 要添加到集合的 实例的数组。 要添加新实例的位置。 2 提供指定线程在集合中的位置。 从零开始的索引,它定义线程在 中的位置。 检索其索引的 2 在集合中的指定位置插入进程线程。 从零开始的索引,指示插入线程的位置。 要插入到集合中的线程。 2 获取用于循环访问进程线程集的索引。 一个 ,它对集合中的线程进行索引。 集合中该值的从零开始的索引。 2 从集合中删除进程线程。 要从该集合中移除的线程。 2 指定线程的优先级别。 2 指定的优先级比关联的 的普通优先级高一级。 指定的优先级比关联的 的普通优先级低一级。 指定最高优先级。这比关联的 的普通优先级高两级。 指定空闲优先级。它是所有线程的可能的最低优先级值,与关联的 的值无关。 指定最低优先级。这比关联的 的普通优先级低两级。 指定关联的 的普通优先级。 指定时间关键优先级。这是所有线程中的最高优先级,与关联的 的值无关。 指定线程的当前执行状态。 1 此状态指示线程已初始化但尚未启动。 此状态指示线程因无可用的处理器而等待使用处理器。线程准备在下一个可用的处理器上运行。 此状态指示线程当前正在使用处理器。 此状态指示线程将要使用处理器。一次只能有一个线程处于此状态。 此状态指示线程已完成执行并已退出。 此状态指示线程在可以执行前等待处理器之外的资源。例如,它可能正在等待其执行堆栈从磁盘中分页。 线程的状态未知。 此状态指示线程尚未准备好使用处理器,因为它正在等待外围操作完成或等待资源释放。当线程就绪后,将对其进行重排。 指定线程等待的原因。 2 线程正在等待事件对高。 线程正在等待事件对低。 线程执行延迟。 线程正在等待计划程序。 线程正在等待可用的虚拟内存页。 线程正在等待本地过程调用到达。 线程正在等待对本地过程调用的回复到达。 线程正在等待虚拟内存页到达内存。 线程正在等待虚拟内存页写入磁盘。 线程执行暂停。 线程正在等待系统分配。 线程正在因未知原因而等待。 线程正在等待用户请求。 线程正在等待系统分配虚拟内存。 ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/netstandard1.4/zh-hant/System.Diagnostics.Process.xml ================================================  System.Diagnostics.Process [安全性關鍵] 提供處理序控制代碼的 Managed 包裝函式。 [安全性關鍵] 初始化的新執行個體從指定的控制代碼,指出是否要在完成階段期間釋放控制代碼的類別。 要被包裝的控制代碼。 true若要可靠地讓放開最終處理階段中,控點否則, false。 事件提供資料。 2 取得已寫入至重新導向 輸出資料流的字元行。 由關聯的 寫入至其重新導向的 資料流的字行。 2 表示將處理 事件或 事件的方法。 事件的來源。 包含事件資料的 2 提供對本機和遠端處理序的存取,並讓您能夠啟動和停止本機系統處理序。若要瀏覽此類型的 .NET Framework 原始程式碼,請參閱參考來源。 1 初始化 類別的新執行個體。 取得相關處理序的基礎優先權 (Base Priority)。 基礎優先權,它是從相關聯處理序的 計算出來的。 The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. The process has exited.-or- The process has not started, so there is no process ID. 2 在應用程式的重新導向 資料流上開始非同步讀取作業。 The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 在應用程式的重新導向 資料流上開始非同步讀取作業。 The property is false.- or - An asynchronous read operation is already in progress on the stream.- or - The stream has been used by a synchronous read operation. 2 在應用程式的重新導向 資料流上取消非同步讀取作業。 The stream is not enabled for asynchronous read operations. 2 在應用程式的重新導向 資料流上取消非同步讀取作業。 The stream is not enabled for asynchronous read operations. 2 釋放這個處理序使用的所有資源。 true 表示釋放 Managed 和 Unmanaged 資源,false 則表示只釋放 Unmanaged 資源。 取得或設定是否應該在處理序終止時引發 事件。 如果應該在相關聯處理序終止時引發 事件 (經由結束或呼叫 ),則為 true,否則為 false。預設為 false。 2 啟用目前執行緒上的原生屬性 SeDebugPrivilege,將 元件置於某種狀態,以便與使用特殊模式執行的作業系統處理序互動。 2 發生於應用程式寫入至其重新導向的 資料流時。 2 取得相關處理序終止時指定的值。 相關處理序終止時指定的程式碼。 The process has not exited.-or- The process is not valid. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 發生於處理序結束時。 2 取得相關的處理序結束的時間。 ,表示相關聯處理序何時終止。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 取得新的 元件,並將其與目前現用處理序相關聯。 新的 元件,與正在執行呼叫應用程式的處理序資源相關聯。 1 傳回新的 元件,需指定本機電腦上的處理序識別項。 元件,與 參數所識別的本機處理序資源相關聯。 處理序資源的系統唯一識別項。 The process specified by the parameter is not running.The identifier might be expired. The process was not started by this object. 1 傳回新的 元件,需指定網路上電腦的處理序識別項和名稱。 元件,與 參數所識別的遠端處理序資源相關聯。 處理序資源的系統唯一識別項。 網路上的電腦名稱。 The process specified by the parameter is not running.The identifier might be expired.-or- The parameter syntax is invalid.The name might have length zero (0). The parameter is null. The process was not started by this object. 1 為本機電腦上的每個處理序資源建立新的 元件。 類型的陣列,代表正在本機電腦上執行的所有處理序資源。 1 為指定電腦上的每個處理序資源建立新的 元件。 類型的陣列,代表正在指定的電腦上執行的所有處理序資源。 要讀取處理序清單的電腦。 The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 建立新 元件的陣列,並將其與本機電腦上共用指定處理序名稱的所有處理序資源相關聯。 類型的陣列,代表正在執行指定的應用程式或檔案的處理序資源。 處理序的易記名稱。 There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. 1 建立新 元件的陣列,並將其與遠端電腦上共用指定處理序名稱的所有處理序資源相關聯。 類型的陣列,代表正在執行指定的應用程式或檔案的處理序資源。 處理序的易記名稱。 網路上的電腦名稱。 The parameter syntax is invalid.It might have length zero (0). The parameter is null. The operating system platform does not support this operation on remote computers. There are problems accessing the performance counter API's used to get process information.This exception is specific to Windows NT, Windows 2000, and Windows XP. A problem occurred accessing an underlying system API. 1 取得值,指出相關的處理序是否已經終止。 如果 元件所參考的作業系統處理序已終止,則為 true,否則為 false。 There is no process associated with the object. The exit code for the process could not be retrieved. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 1 取得相關處理序的唯一識別項。 這個 執行個體所參考的處理序之系統產生的唯一識別項。 The process's property has not been set.-or- There is no process associated with this object. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set the property to false to access this property on Windows 98 and Windows Me. 1 立即停止相關的處理序。 The associated process could not be terminated. -or-The process is terminating.-or- The associated process is a Win16 executable. You are attempting to call for a process that is running on a remote computer.The method is available only for processes running on the local computer. The process has already exited. -or-There is no process associated with this object. 1 元件離開可與使用特殊模式執行的作業系統處理序互動的狀態。 2 取得相關處理序正在執行的所在電腦的名稱。 相關處理序正在執行的所在電腦的名稱。 There is no process associated with this object. 1 取得相關處理序的主要模組。 ,用來啟動處理序。 You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. A 32-bit process is trying to access the modules of a 64-bit process. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not available.-or- The process has exited. 1 取得或設定相關處理序的允許工作集 (Working Set) 大小的上限。 處理序所需記憶體中工作集大小的最大值,以位元組 (Byte) 為單位。 The maximum working set size is invalid.It must be greater than or equal to the minimum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 取得或設定相關處理序的最小允許工作集大小。 處理序所需記憶體中工作集大小的最小值,以位元組 (Byte) 為單位。 The minimum working set size is invalid.It must be less than or equal to the maximum working set size. Working set information cannot be retrieved from the associated process resource.-or- The process identifier or process handle is zero because the process has not been started. You are trying to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available.-or- The process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 取得相關的處理序所載入的模組。 類型的陣列,代表相關聯處理序所載入的模組。 You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. You are attempting to access the property for either the system process or the idle process.These processes do not have modules. 2 取得配置給關聯處理序的未分頁系統記憶體量。 配置給關聯處理序的系統記憶體量 (以位元組為單位),不能寫入虛擬記憶體分頁檔案。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 引發 事件。 發生於應用程式將某行寫入至其重新導向的 資料流時。 2 取得配置給關聯處理序的分頁記憶體量。 虛擬記憶體分頁檔案中,配置給關聯處理序的記憶體量 (以位元組為單位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 取得配置給關聯處理序的可分頁系統記憶體量。 配置給關聯處理序的系統記憶體量 (以位元組為單位),可以寫入虛擬記憶體分頁檔案。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 取得關聯處理序所使用之虛擬記憶體分頁檔的最大記憶體量。 虛擬記憶體分頁檔案中,從啟動以來配置給關聯處理序的最大記憶體量 (以位元組為單位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 取得關聯處理序所使用的最大虛擬記憶體量。 從啟動以來配置給關聯處理序的最大虛擬記憶體量 (以位元組為單位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 取得關聯處理序所使用最大實體記憶體量。 從啟動以來配置給關聯處理序的最大實體記憶體量 (以位元組為單位)。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 取得或設定值,指出作業系統是否應該在主視窗有焦點 (Focus) 時,暫時提高相關的處理序優先權。 當處理序離開等候狀態時,如果應動態提高處理序優先權,則為 true,否則為 false。預設為 false。 Priority boost information could not be retrieved from the associated process resource. The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. 1 取得或設定相關處理序的整體優先權分類。 相關聯處理序的優先權分類,處理序的 由此計算出來。 Process priority information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process is not available. You have set the to AboveNormal or BelowNormal when using Windows 98 or Windows Millennium Edition (Windows Me).These platforms do not support those values for the priority class. Priority class cannot be set because it does not use a valid value, as defined in the enumeration. 1 取得配置給關聯處理序的私用記憶體量。 配置給關聯處理序的記憶體量 (以位元組為單位),不能與其他處理序共用。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 取得這個處理序使用處理器的授權時間。 ,表示處理序在作業系統核心內執行程式碼所花費的時間。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 取得處理序的名稱。 名稱,系統用來向使用者識別處理序。 The process does not have an identifier, or no process is associated with the .-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. The process is not on this computer. 1 取得或設定處理器,這個處理序中的執行緒可以在其上排程執行。 位元遮罩,表示相關的處理序中的執行緒可以在其上執行的處理器。預設值取決於電腦上的處理器數目。預設值為 2 n -1,其中的 n 是處理器的數目。 information could not be set or retrieved from the associated process resource.-or- The process identifier or process handle is zero.(The process has not been started.) You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process was not available.-or- The process has exited. 2 捨棄快取於處理序元件內之相關處理序的任何資訊。 1 取得這個處理序的原生控制代碼。 這個處理序的原生控制代碼。 取得相關處理序的終端機服務工作階段識別項。 相關處理序的終端機服務工作階段識別項。 There is no session associated with this process. There is no process associated with this session identifier.-or-The associated process is not on this machine. The property is not supported on Windows 98. 1 取得用來讀取應用程式錯誤輸出的資料流。 ,可用來讀取應用程式的標準錯誤資料流。 The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 取得用來寫入應用程式輸入的資料流。 ,可用來寫入應用程式的標準輸入資料流。 The stream has not been defined because is set to false. 1 取得用來讀取應用程式文字輸出的資料流。 ,可用來讀取應用程式的標準輸出資料流。 The stream has not been defined for redirection; ensure is set to true and is set to false.- or - The stream has been opened for asynchronous read operations with . 1 啟動 (或重複使用) 這個 元件的 屬性指定的處理序資源,並將其與元件相關聯。 如果啟動處理序資源,則為 true;如果沒有啟動任何新的處理序資源 (例如,如果重複使用現有的處理序),則為 false。 No file name was specified in the component's .-or- The member of the property is true while , , or is true. There was an error in opening the associated file. The process object has already been disposed. 1 啟動含有處理序啟動資訊 (例如,要啟動之處理序的檔名) 的參數所指定的處理序資源,並將該資源與新的 元件相關聯。 與處理程序資源關聯的新 ,或者是 null (若未啟動任何處理程序資源)。請注意,隨著已在執行中之相同處理程序啟動的新處理程序將獨立於其他處理程序之外。此外,啟動可能會傳回非空值處理程序,且其 屬性會設定為 true。在此案例中,已啟動的處理程序可能已啟用本身的現有執行個體並結束。 ,包含用來啟動處理序的資訊,包括檔名和任何命令列引數。 No file name was specified in the parameter's property.-or- The property of the parameter is true and the , , or property is also true.-or-The property of the parameter is true and the property is not null or empty or the property is not null. The parameter is null. The process object has already been disposed. The file specified in the parameter's property could not be found. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." 1 藉由指定文件或應用程式檔案的名稱啟動處理序資源,並將該資源與新的 元件相關聯。 與處理程序資源關聯的新 ,或者是 null (若未啟動任何處理程序資源)。請注意,隨著已在執行中之相同處理程序啟動的新處理程序將獨立於其他處理程序之外。此外,啟動可能會傳回非空值處理程序,且其 屬性會設定為 true。在此案例中,已啟動的處理程序可能已啟用本身的現有執行個體並結束。 要在處理序中執行之文件或應用程式檔案的名稱。 An error occurred when opening the associated file. The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 藉由指定應用程式的名稱和一組命令列引數來啟動處理序資源,並將該資源與新的 元件相關聯。 與處理程序資源關聯的新 ,或者是 null (若未啟動任何處理程序資源)。請注意,隨著已在執行中之相同處理程序啟動的新處理程序將獨立於其他處理程序之外。此外,啟動可能會傳回非空值處理程序,且其 屬性會設定為 true。在此案例中,已啟動的處理程序可能已啟用本身的現有執行個體並結束。 要在處理序中執行之應用程式檔案的名稱。 啟動處理程序時要傳遞的命令列引數。 The or parameter is null. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the process exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. The PATH environment variable has a string containing quotes. 1 藉由指定應用程式的名稱、使用者名稱、密碼和網域來啟動處理序資源,並將該資源與新的 元件相關聯。 與處理程序資源關聯的新 ,或者是 null (若未啟動任何處理程序資源)。請注意,隨著已在執行中之相同處理程序啟動的新處理程序將獨立於其他處理程序之外。此外,啟動可能會傳回非空值處理程序,且其 屬性會設定為 true。在此案例中,已啟動的處理程序可能已啟用本身的現有執行個體並結束。 要在處理序中執行之應用程式檔案的名稱。 要在啟動處理序時使用的使用者名稱。 ,包含啟動處理序時要使用的密碼。 要在啟動處理序時使用的網域。 No file name was specified. is not an executable (.exe) file. There was an error in opening the associated file. The process object has already been disposed. 1 藉由指定應用程式的名稱、一組命令列引數、使用者名稱、密碼和網域來啟動處理序資源,並將該資源與新的 元件相關聯。 與處理程序資源關聯的新 ,或者是 null (若未啟動任何處理程序資源)。請注意,隨著已在執行中之相同處理程序啟動的新處理程序將獨立於其他處理程序之外。此外,啟動可能會傳回非空值處理程序,且其 屬性會設定為 true。在此案例中,已啟動的處理程序可能已啟用本身的現有執行個體並結束。 要在處理序中執行之應用程式檔案的名稱。 啟動處理程序時要傳遞的命令列引數。 要在啟動處理序時使用的使用者名稱。 ,包含啟動處理序時要使用的密碼。 要在啟動處理序時使用的網域。 No file name was specified. is not an executable (.exe) file. An error occurred when opening the associated file. -or-The sum of the length of the arguments and the length of the full path to the associated file exceeds 2080.The error message associated with this exception can be one of the following: "The data area passed to a system call is too small." or "Access is denied." The process object has already been disposed. 1 取得或設定要傳遞給 方法的屬性。 ,代表用來啟動處理序的資料。這些引數包括用來啟動處理序的可執行檔或文件的名稱。 The value that specifies the is null. 1 取得相關的處理序啟動的時間。 物件,指出處理序何時啟動。如果處理序並未執行,則會擲回例外狀況。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. The process has exited.-or-The process has not been started. An error occurred in the call to the Windows function. 1 取得正在相關的處理序中執行的執行緒集。 類型的陣列,代表目前正在相關聯處理序中執行的作業系統執行緒。 The process does not have an , or no process is associated with the instance.-or- The associated process has exited. The platform is Windows 98 or Windows Millennium Edition (Windows Me); set to false to access this property on Windows 98 and Windows Me. 1 取得這個處理序的總處理器時間。 ,表示相關聯處理序花在使用 CPU 的時間。這個值是 的總和。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 取得這個處理序的使用者處理器時間。 ,表示相關聯處理序花在處理序的應用程式部分內 (而不是在作業系統核心內) 執行程式碼的時間。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. You are attempting to access the property for a process that is running on a remote computer.This property is available only for processes that are running on the local computer. 2 取得配置給關聯處理序的虛擬記憶體量。 配置給關聯處理序的虛擬記憶體量,以位元組為單位。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 指示 元件無限期等候相關聯處理序結束。 The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 指示 元件等候相關聯處理序結束的指定毫秒數。 如果相關聯處理序已結束,則為 true,否則為 false。 等候相關的處理序結束的時間量,以毫秒計算。最大值是 32 位元整數的最大可能值,對作業系統來說,這表示無限。 The wait setting could not be accessed. No process has been set, and a from which the property can be determined does not exist.-or- There is no process associated with this object.-or- You are attempting to call for a process that is running on a remote computer.This method is available only for processes that are running on the local computer. 1 取得配置給關聯處理序的實體記憶體量。 配置給關聯處理序的實體記憶體量,以位元組為單位。 The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. 2 表示載入至特定處理序的 .dll 或 .exe 檔。 2 取得模組載入的記憶體位址。 模組的載入位址。 2 取得系統載入和執行模組時所執行的函式記憶體位址。 模組的進入點 (Entry Point)。 2 取得通往模組的完整路徑。 完整路徑,定義模組的位置。 2 取得載入模組所需的記憶體數量。 模組所佔有的記憶體大小 (以位元組為單位)。 2 取得處理序模組的名稱。 模組名稱。 2 將模組名稱轉換為字串。 屬性的值。 2 提供 物件的強型別 (Strongly Typed) 集合。 2 不使用相關的 執行個體,初始化 類別的新執行個體。 使用 執行個體指定的陣列,初始化 類別的新執行個體。 執行個體的陣列,用來初始化這個 執行個體。 判斷指定的處理序模組是否在集合中。 如果模組在集合中,則為 true,否則為 false。 執行個體,表示要在這個集合中搜尋的模組。 2 執行個體的陣列複製至集合的指定索引位置。 要加入至集合的 執行個體的陣列。 要加入新執行個體的所在位置。 2 提供指定模組在集合中的位置。 以零起始的索引,定義模組在 中的位置。 ,其索引已擷取。 2 取得逐一查看處理序 (Process) 模組集的索引。 ,建立集合的模組索引。 集合中模組的以零起始的索引值。 2 表示系統與處理序 (Process) 關聯的優先權。這個值與處理序每個執行緒的優先權值會判斷每個執行緒的基礎優先權層級。 2 指定處理序具有高於 Normal 但低於 的優先權。 指定處理序具有高於 Idle 但低於 Normal 的優先權。 指定處理序執行必須立即執行的時間緊急工作,例如 Task List 對話方塊,而這項工作必須在使用者呼叫時迅速回應,而不管作業系統上的載入。該處理序的執行緒會優先於正常或閒置優先權類別處理序的執行緒。 指定這個處理序的執行緒只於系統閒置時執行,例如螢幕保護程式。該處理序之執行緒會由任何具有較高優先權類別的處理序之執行緒優先佔用。 指定處理序不需特別的排程。 指定處理序具有最高的可能優先權。 指定一組啟動處理序時所使用的值。 2 不指定用來啟動處理序的檔案名稱,初始化 類別的新執行個體。 初始化 類別的新執行個體,並指定用來啟動處理序的檔案名稱 (例如應用程式或文件)。 用來啟動處理序的應用程式或文件。 初始化 類別的新執行個體,並指定用來啟動處理序的應用程式檔案名稱,以及指定要傳遞至應用程式的命令列引數集。 用來啟動處理序的應用程式。 要在處理序啟動時傳遞至應用程式的命令列引數。 取得或設定啟動應用程式時要使用的命令列引數集。 單一字串,包含要傳遞至 屬性中所指定之目標應用程式的引數。預設為空字串 ("")。在 Windows Vista 及較早版本的 Windows 作業系統上,加入處理序之完整路徑長度的引數長度必須小於 2080。在 Windows 7 及更新版本中,長度必須小於 32699。引數會由目標應用程式剖析及解譯,因此必須配合該應用程式的期望。針對下列範例所示的 .NET 應用程式,空格會解譯為多個引數之間的分隔符號。您必須以引號括住含有空格的單一引數,但這些引號不會傳送至目標應用程式。在最後剖析之引數所包含的引號中,三重逸出 (Triple-Escape) 每個標記。 1 取得或設定值,表示是否要在新視窗中啟動處理序。 如果應該啟動處理序而不建立要包含處理序的新視窗,則為 true,否則為 false。預設為 false。 2 取得或設定值,識別在啟動處理序時要使用的網域。 啟動處理序時要使用的 Active Directory 網域。網域屬性主要是對使用 Active Directory 之企業環境內的使用者有利。 1 取得或設定要啟動的應用程式或文件。 要啟動的應用程式名稱,或是與應用程式相關聯且具有可用預設開啟動作之檔案類型的文件名稱。預設為空字串 ("")。 1 取得或設定值,表示是否要從登錄載入 Windows 使用者設定檔。 如果應該載入 Windows 使用者設定檔,則為 true,否則為 false。預設為 false。 1 取得或設定安全字串,其中包含啟動處理序時要使用的使用者密碼。 要在啟動處理序時使用的使用者密碼。 1 取得或設定值,表示應用程式的錯誤輸出是否寫入至 資料流。 如果錯誤輸出應該寫入至 ,則為 true,否則為 false。預設為 false。 2 取得或設定值,表示應用程式的輸入是否從 資料流讀取。 如果應該從 讀取輸入,則為 true,否則為false。預設為 false。 2 取得或設定值,表示應用程式的文字輸出是否寫入至 資料流。 如果輸出應該寫入至 ,則為 true,否則為 false。預設為 false。 2 取得或設定錯誤輸出的慣用編碼。 物件,代表錯誤輸出的慣用編碼。預設為 null。 取得或設定標準輸出的慣用編碼。 物件,代表標準輸出的慣用編碼。預設為 null。 取得或設定要在啟動處理序時使用的使用者名稱。 要在啟動處理序時使用的使用者名稱。 1 取得或設定值,表示是否要使用作業系統 Shell 來啟動處理序。 如果在啟動處理序時使用 Shell,則為 true;如果處理序應直接從可執行檔建立,則為 false。預設為 true。 2 屬性為 false 時,取得或設定要啟動之處理序的工作目錄。當 為 true 時,取得或設定包含要啟動之處理序的目錄。 如果 為 true,則為包含要啟動之處理序的目錄完整名稱。當 屬性為 false 時,則為要啟動之處理序的工作目錄。預設為空字串 ("")。 1 表示作業系統處理序 (Process) 執行緒。 2 取得執行緒的基礎優先權 (Base Priority)。 執行緒的基礎優先權,由作業系統結合處理序的優先權類別和相關執行緒的優先權層級計算所得。 2 取得執行緒的目前優先權。 執行緒目前的優先權,可能與基礎優先權 (根據作業系統如何排程執行緒) 不符合。針對作用中的執行緒,可能暫時提高優先權。 2 取得執行緒的唯一識別項。 與特定執行緒相關的唯一識別項。 2 設定執行這個執行緒的慣用處理器。 執行緒的慣用處理器,用於系統排程執行緒時,以判斷執行執行緒所在的處理器。 系統無法設定在指定的處理器上啟動執行緒。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 取得或設定數值,表示每當執行緒的處理序之主視窗接收到焦點 (Focus) 時,作業系統是否應該暫時提高相關執行緒的優先權。 若要在使用者與處理序的介面互動時,提高執行緒的優先權,則為 true,否則為 false。預設為 false。 無法擷取優先權提高資訊。-或-無法設定優先權提高資訊。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 取得或設定執行緒的優先權層級。 其中一個 值,指定限定執行緒優先權的範圍。 無法擷取執行緒優先權層級資訊。-或-無法設定執行緒優先權層級。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 取得執行緒在作業系統核心中執行程式碼所耗用的時間量。 ,表示執行緒在作業系統核心中執行程式碼所耗用的時間量。 無法擷取執行緒時間。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 設定可以執行相關執行緒的處理器。 指向一組位元的 ,其中每個位元表示執行緒可以在其上執行的處理器。 處理序相似性不能被設定。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 重設這個執行緒的理想處理器,以指示沒有一個的理想處理器。換句話說,沒有任何處理器是理想的。 無法重設理想處理器。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 取得作業系統啟動這個執行緒所呼叫之函式的記憶體位址。 執行緒的起始位址,指向執行緒執行之應用程式定義的函式。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 取得作業系統啟動執行緒的時間。 ,表示當作業系統啟動執行緒時的系統時間。 無法擷取執行緒時間。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 取得這個執行緒目前的狀態。 ,表示執行緒的執行,例如,執行中、等候中或終止。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 取得這個執行緒使用處理器所耗用的總時間量。 ,表示執行緒已控制處理器的時間量。 無法擷取執行緒時間。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 取得相關執行緒在應用程式內部執行程式碼所耗用的時間量。 ,表示執行緒在應用程式內部 (相對於在作業系統核心中) 執行程式碼所耗用的時間量。 無法擷取執行緒時間。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 取得執行緒正在等候的原因。 ,表示執行緒在等候狀態的原因。 執行緒不在等候狀態。 平台為 Windows 98 或 Windows Millennium Edition。 處理序位於遠端電腦上。 2 提供 物件的強型別 (Strongly Typed) 集合。 2 不使用相關的 執行個體,初始化 類別的新執行個體。 使用 執行個體指定的陣列,初始化 類別的新執行個體。 執行個體的陣列,用來初始化這個 執行個體。 將處理序執行緒附加至集合。 集合中執行緒之以零起始的索引。 要加入至集合的執行緒。 2 判斷指定的處理序執行緒是否在集合中。 如果執行緒在集合中,則為 true,否則為 false。 執行個體,表示要在這個集合中搜尋的執行緒。 2 執行個體的陣列複製至集合的指定索引位置。 要加入至集合的 執行個體的陣列。 要加入新執行個體的所在位置。 2 提供指定執行緒在集合中的位置。 以零起始的索引,定義執行緒在 中的位置。 ,其索引已擷取。 2 將處理序執行緒插入於集合中的指定位置。 以零起始的索引,表示要插入執行緒的所在位置。 要插入至集合的執行緒。 2 取得逐一查看處理序 (Process) 執行緒集的索引。 ,建立集合的執行緒索引。 集合中執行緒的以零起始的索引值。 2 從集合刪除處理序執行緒。 要從集合移除的執行緒。 2 指定執行緒的優先權層級。 2 指定相關 的高於一般優先權一級的優先權。 指定相關 的低於一般優先權一級的優先權。 指定最高優先權。這是相關 的高於一般優先權兩級的優先權。 指定閒置優先權。這是所有執行緒的最低可能優先權值,與相關 的值無關。 指定最低優先權。這是相關 的低於一般優先權兩級的優先權。 指定相關 的一般優先權。 指定時間關鍵 (Time Critical) 優先權。這是所有執行緒的最高優先權,與相關 的值無關。 指定執行緒的目前執行狀態。 1 指示執行緒已經初始化,但尚未啟動的狀態。 該狀態指示沒有可用的處理器,所以執行緒正在等待以使用處理器。執行緒準備在下一個可用的處理器上執行。 該狀態指示執行緒目前正在使用處理器。 該狀態指示執行緒正要使用處理器。一次只能有一個執行緒可以處於這個狀態。 該狀態指示執行緒已經執行完成並離開。 該狀態指示執行緒在可以執行之前正在等待資源,而不是等待處理器。例如,它可能正在等待其執行堆疊從磁碟分頁進來。 執行緒的狀態不明。 該狀態指示執行緒尚未準備使用處理器,因為它正在等待要完成的週邊作業或可以使用的資源。執行緒會在備妥時重新排程。 指定執行緒正在等待的原因。 2 執行緒正在等待 Event Pair High。 執行緒正在等待 Event Pair Low。 執行緒的執行受延遲。 執行緒正在等待排程器。 執行緒正在等待可用的虛擬記憶體分頁。 執行緒正在等待本機程序呼叫到達。 執行緒正在等待對本機程序呼叫的回應到達。 執行緒正在等待虛擬記憶體分頁到達記憶體。 執行緒正在等待虛擬記憶體分頁寫入至磁碟。 執行緒的執行受暫止。 執行緒正在等待系統配置。 執行緒正在等待不明原因。 執行緒正在等待使用者要求。 執行緒正在等待系統配置虛擬記憶體。 ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/xamarinios10/_._ ================================================ ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/xamarinmac20/_._ ================================================ ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/xamarintvos10/_._ ================================================ ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/ref/xamarinwatchos10/_._ ================================================ ================================================ FILE: packages/System.Diagnostics.Process.4.3.0/runtimes/win7/lib/netcore50/_._ ================================================ ================================================ FILE: packages/System.Memory.4.5.5/LICENSE.TXT ================================================ The MIT License (MIT) Copyright (c) .NET Foundation and Contributors All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: packages/System.Memory.4.5.5/THIRD-PARTY-NOTICES.TXT ================================================ .NET Core uses third-party libraries or other resources that may be distributed under licenses different than the .NET Core software. In the event that we accidentally failed to list a required notice, please bring it to our attention. Post an issue or email us: dotnet@microsoft.com The attached notices are provided for information only. License notice for Slicing-by-8 ------------------------------- http://sourceforge.net/projects/slicing-by-8/ Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved This software program is licensed subject to the BSD License, available at http://www.opensource.org/licenses/bsd-license.html. License notice for Unicode data ------------------------------- http://www.unicode.org/copyright.html#License Copyright © 1991-2017 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html. Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that either (a) this copyright and permission notice appear with all copies of the Data Files or Software, or (b) this copyright and permission notice appear in associated Documentation. THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE. Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder. License notice for Zlib ----------------------- https://github.com/madler/zlib http://zlib.net/zlib_license.html /* zlib.h -- interface of the 'zlib' general purpose compression library version 1.2.11, January 15th, 2017 Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. Jean-loup Gailly Mark Adler jloup@gzip.org madler@alumni.caltech.edu */ License notice for Mono ------------------------------- http://www.mono-project.com/docs/about-mono/ Copyright (c) .NET Foundation Contributors MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the Software), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for International Organization for Standardization ----------------------------------------------------------------- Portions (C) International Organization for Standardization 1986: Permission to copy in any form is granted for use with conforming SGML systems and applications as defined in ISO 8879, provided this notice is included in all copies. License notice for Intel ------------------------ "Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. License notice for Xamarin and Novell ------------------------------------- Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Copyright (c) 2011 Novell, Inc (http://www.novell.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Third party notice for W3C -------------------------- "W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE Status: This license takes effect 13 May, 2015. This work is being provided by the copyright holders under the following license. License By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." Disclaimers THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." License notice for Bit Twiddling Hacks -------------------------------------- Bit Twiddling Hacks By Sean Eron Anderson seander@cs.stanford.edu Individually, the code snippets here are in the public domain (unless otherwise noted) — feel free to use them however you please. The aggregate collection and descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and without even the implied warranty of merchantability or fitness for a particular purpose. License notice for Brotli -------------------------------------- Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. compress_fragment.c: Copyright (c) 2011, Google Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. decode_fuzzer.c: Copyright (c) 2015 The Chromium Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ================================================ FILE: packages/System.Memory.4.5.5/lib/net461/System.Memory.xml ================================================  System.Memory ================================================ FILE: packages/System.Memory.4.5.5/lib/netcoreapp2.1/_._ ================================================ ================================================ FILE: packages/System.Memory.4.5.5/lib/netstandard1.1/System.Memory.xml ================================================  System.Memory ================================================ FILE: packages/System.Memory.4.5.5/lib/netstandard2.0/System.Memory.xml ================================================  System.Memory ================================================ FILE: packages/System.Memory.4.5.5/ref/netcoreapp2.1/_._ ================================================ ================================================ FILE: packages/System.Memory.4.5.5/useSharedDesignerContext.txt ================================================ ================================================ FILE: packages/System.Memory.4.5.5/version.txt ================================================ 32b491939fbd125f304031c35038b1e14b4e3958 ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/LICENSE.TXT ================================================ The MIT License (MIT) Copyright (c) .NET Foundation and Contributors All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/THIRD-PARTY-NOTICES.TXT ================================================ .NET Core uses third-party libraries or other resources that may be distributed under licenses different than the .NET Core software. In the event that we accidentally failed to list a required notice, please bring it to our attention. Post an issue or email us: dotnet@microsoft.com The attached notices are provided for information only. License notice for Slicing-by-8 ------------------------------- http://sourceforge.net/projects/slicing-by-8/ Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved This software program is licensed subject to the BSD License, available at http://www.opensource.org/licenses/bsd-license.html. License notice for Unicode data ------------------------------- http://www.unicode.org/copyright.html#License Copyright © 1991-2017 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in http://www.unicode.org/copyright.html. Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that either (a) this copyright and permission notice appear with all copies of the Data Files or Software, or (b) this copyright and permission notice appear in associated Documentation. THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE. Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder. License notice for Zlib ----------------------- https://github.com/madler/zlib http://zlib.net/zlib_license.html /* zlib.h -- interface of the 'zlib' general purpose compression library version 1.2.11, January 15th, 2017 Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. Jean-loup Gailly Mark Adler jloup@gzip.org madler@alumni.caltech.edu */ License notice for Mono ------------------------------- http://www.mono-project.com/docs/about-mono/ Copyright (c) .NET Foundation Contributors MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the Software), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for International Organization for Standardization ----------------------------------------------------------------- Portions (C) International Organization for Standardization 1986: Permission to copy in any form is granted for use with conforming SGML systems and applications as defined in ISO 8879, provided this notice is included in all copies. License notice for Intel ------------------------ "Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. License notice for Xamarin and Novell ------------------------------------- Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Copyright (c) 2011 Novell, Inc (http://www.novell.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Third party notice for W3C -------------------------- "W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE Status: This license takes effect 13 May, 2015. This work is being provided by the copyright holders under the following license. License By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." Disclaimers THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." License notice for Bit Twiddling Hacks -------------------------------------- Bit Twiddling Hacks By Sean Eron Anderson seander@cs.stanford.edu Individually, the code snippets here are in the public domain (unless otherwise noted) — feel free to use them however you please. The aggregate collection and descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and without even the implied warranty of merchantability or fitness for a particular purpose. License notice for Brotli -------------------------------------- Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. compress_fragment.c: Copyright (c) 2011, Google Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. decode_fuzzer.c: Copyright (c) 2015 The Chromium Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/lib/MonoAndroid10/_._ ================================================ ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/lib/MonoTouch10/_._ ================================================ ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/lib/net46/System.Numerics.Vectors.xml ================================================  System.Numerics.Vectors Represents a 3x2 matrix. Creates a 3x2 matrix from the specified components. The value to assign to the first element in the first row. The value to assign to the second element in the first row. The value to assign to the first element in the second row. The value to assign to the second element in the second row. The value to assign to the first element in the third row. The value to assign to the second element in the third row. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values of value1 and value2. Creates a rotation matrix using the given rotation in radians. The amount of rotation, in radians. The rotation matrix. Creates a rotation matrix using the specified rotation in radians and a center point. The amount of rotation, in radians. The center point. The rotation matrix. Creates a scaling matrix from the specified X and Y components. The value to scale by on the X axis. The value to scale by on the Y axis. The scaling matrix. Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. The uniform scale to use. The center offset. The scaling matrix. Creates a scaling matrix that is offset by a given center point. The value to scale by on the X axis. The value to scale by on the Y axis. The center point. The scaling matrix. Creates a scaling matrix that scales uniformly with the given scale. The uniform scale to use. The scaling matrix. Creates a scaling matrix from the specified vector scale. The scale to use. The scaling matrix. Creates a scaling matrix from the specified vector scale with an offset from the specified center point. The scale to use. The center offset. The scaling matrix. Creates a skew matrix from the specified angles in radians. The X angle, in radians. The Y angle, in radians. The skew matrix. Creates a skew matrix from the specified angles in radians and a center point. The X angle, in radians. The Y angle, in radians. The center point. The skew matrix. Creates a translation matrix from the specified 2-dimensional vector. The translation position. The translation matrix. Creates a translation matrix from the specified X and Y components. The X position. The Y position. The translation matrix. Returns a value that indicates whether this instance and another 3x2 matrix are equal. The other matrix. true if the two matrices are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Calculates the determinant for this matrix. The determinant. Returns the hash code for this instance. The hash code. Gets the multiplicative identity matrix. The multiplicative identify matrix. Inverts the specified matrix. The return value indicates whether the operation succeeded. The matrix to invert. When this method returns, contains the inverted matrix if the operation succeeded. true if matrix was converted successfully; otherwise, false. Indicates whether the current matrix is the identity matrix. true if the current matrix is the identity matrix; otherwise, false. Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. The first matrix. The second matrix. The relative weighting of matrix2. The interpolated matrix. The first element of the first row. The second element of the first row. The first element of the second row. The second element of the second row. The first element of the third row. The second element of the third row. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values. Returns a value that indicates whether the specified matrices are equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether the specified matrices are not equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are not equal; otherwise, false. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this matrix. The string representation of this matrix. Gets or sets the translation component of this matrix. The translation component of the current instance. Represents a 4x4 matrix. Creates a object from a specified object. A 3x2 matrix. Creates a 4x4 matrix from the specified components. The value to assign to the first element in the first row. The value to assign to the second element in the first row. The value to assign to the third element in the first row. The value to assign to the fourth element in the first row. The value to assign to the first element in the second row. The value to assign to the second element in the second row. The value to assign to the third element in the second row. The value to assign to the third element in the second row. The value to assign to the first element in the third row. The value to assign to the second element in the third row. The value to assign to the third element in the third row. The value to assign to the fourth element in the third row. The value to assign to the first element in the fourth row. The value to assign to the second element in the fourth row. The value to assign to the third element in the fourth row. The value to assign to the fourth element in the fourth row. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values of value1 and value2. Creates a spherical billboard that rotates around a specified object position. The position of the object that the billboard will rotate around. The position of the camera. The up vector of the camera. The forward vector of the camera. The created billboard. Creates a cylindrical billboard that rotates around a specified axis. The position of the object that the billboard will rotate around. The position of the camera. The axis to rotate the billboard around. The forward vector of the camera. The forward vector of the object. The billboard matrix. Creates a matrix that rotates around an arbitrary vector. The axis to rotate around. The angle to rotate around axis, in radians. The rotation matrix. Creates a rotation matrix from the specified Quaternion rotation value. The source Quaternion. The rotation matrix. Creates a rotation matrix from the specified yaw, pitch, and roll. The angle of rotation, in radians, around the Y axis. The angle of rotation, in radians, around the X axis. The angle of rotation, in radians, around the Z axis. The rotation matrix. Creates a view matrix. The position of the camera. The target towards which the camera is pointing. The direction that is &quot;up&quot; from the camera&#39;s point of view. The view matrix. Creates an orthographic perspective matrix from the given view volume dimensions. The width of the view volume. The height of the view volume. The minimum Z-value of the view volume. The maximum Z-value of the view volume. The orthographic projection matrix. Creates a customized orthographic projection matrix. The minimum X-value of the view volume. The maximum X-value of the view volume. The minimum Y-value of the view volume. The maximum Y-value of the view volume. The minimum Z-value of the view volume. The maximum Z-value of the view volume. The orthographic projection matrix. Creates a perspective projection matrix from the given view volume dimensions. The width of the view volume at the near view plane. The height of the view volume at the near view plane. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. The field of view in the y direction, in radians. The aspect ratio, defined as view space width divided by height. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. fieldOfView is less than or equal to zero. -or- fieldOfView is greater than or equal to . nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a customized perspective projection matrix. The minimum x-value of the view volume at the near view plane. The maximum x-value of the view volume at the near view plane. The minimum y-value of the view volume at the near view plane. The maximum y-value of the view volume at the near view plane. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a matrix that reflects the coordinate system about a specified plane. The plane about which to create a reflection. A new matrix expressing the reflection. Creates a matrix for rotating points around the X axis. The amount, in radians, by which to rotate around the X axis. The rotation matrix. Creates a matrix for rotating points around the X axis from a center point. The amount, in radians, by which to rotate around the X axis. The center point. The rotation matrix. The amount, in radians, by which to rotate around the Y axis from a center point. The amount, in radians, by which to rotate around the Y-axis. The center point. The rotation matrix. Creates a matrix for rotating points around the Y axis. The amount, in radians, by which to rotate around the Y-axis. The rotation matrix. Creates a matrix for rotating points around the Z axis. The amount, in radians, by which to rotate around the Z-axis. The rotation matrix. Creates a matrix for rotating points around the Z axis from a center point. The amount, in radians, by which to rotate around the Z-axis. The center point. The rotation matrix. Creates a scaling matrix from the specified vector scale. The scale to use. The scaling matrix. Creates a uniform scaling matrix that scale equally on each axis. The uniform scaling factor. The scaling matrix. Creates a scaling matrix with a center point. The vector that contains the amount to scale on each axis. The center point. The scaling matrix. Creates a uniform scaling matrix that scales equally on each axis with a center point. The uniform scaling factor. The center point. The scaling matrix. Creates a scaling matrix from the specified X, Y, and Z components. The value to scale by on the X axis. The value to scale by on the Y axis. The value to scale by on the Z axis. The scaling matrix. Creates a scaling matrix that is offset by a given center point. The value to scale by on the X axis. The value to scale by on the Y axis. The value to scale by on the Z axis. The center point. The scaling matrix. Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. The direction from which the light that will cast the shadow is coming. The plane onto which the new matrix should flatten geometry so as to cast a shadow. A new matrix that can be used to flatten geometry onto the specified plane from the specified direction. Creates a translation matrix from the specified 3-dimensional vector. The amount to translate in each axis. The translation matrix. Creates a translation matrix from the specified X, Y, and Z components. The amount to translate on the X axis. The amount to translate on the Y axis. The amount to translate on the Z axis. The translation matrix. Creates a world matrix with the specified parameters. The position of the object. The forward direction of the object. The upward direction of the object. Its value is usually [0, 1, 0]. The world matrix. Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. The source matrix. When this method returns, contains the scaling component of the transformation matrix if the operation succeeded. When this method returns, contains the rotation component of the transformation matrix if the operation succeeded. When the method returns, contains the translation component of the transformation matrix if the operation succeeded. true if matrix was decomposed successfully; otherwise, false. Returns a value that indicates whether this instance and another 4x4 matrix are equal. The other matrix. true if the two matrices are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Calculates the determinant of the current 4x4 matrix. The determinant. Returns the hash code for this instance. The hash code. Gets the multiplicative identity matrix. Gets the multiplicative identity matrix. Inverts the specified matrix. The return value indicates whether the operation succeeded. The matrix to invert. When this method returns, contains the inverted matrix if the operation succeeded. true if matrix was converted successfully; otherwise, false. Indicates whether the current matrix is the identity matrix. true if the current matrix is the identity matrix; otherwise, false. Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. The first matrix. The second matrix. The relative weighting of matrix2. The interpolated matrix. The first element of the first row. The second element of the first row. The third element of the first row. The fourth element of the first row. The first element of the second row. The second element of the second row. The third element of the second row. The fourth element of the second row. The first element of the third row. The second element of the third row. The third element of the third row. The fourth element of the third row. The first element of the fourth row. The second element of the fourth row. The third element of the fourth row. The fourth element of the fourth row. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values. Returns a value that indicates whether the specified matrices are equal. The first matrix to compare. The second matrix to care true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether the specified matrices are not equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are not equal; otherwise, false. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this matrix. The string representation of this matrix. Transforms the specified matrix by applying the specified Quaternion rotation. The matrix to transform. The rotation t apply. The transformed matrix. Gets or sets the translation component of this matrix. The translation component of the current instance. Transposes the rows and columns of a matrix. The matrix to transpose. The transposed matrix. Represents a three-dimensional plane. Creates a object from a specified four-dimensional vector. A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin. Creates a object from a specified normal and the distance along the normal from the origin. The plane&#39;s normal vector. The plane&#39;s distance from the origin along its normal vector. Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. The X component of the normal. The Y component of the normal. The Z component of the normal. The distance of the plane along its normal from the origin. Creates a object that contains three specified points. The first point defining the plane. The second point defining the plane. The third point defining the plane. The plane containing the three points. The distance of the plane along its normal from the origin. Calculates the dot product of a plane and a 4-dimensional vector. The plane. The four-dimensional vector. The dot product. Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane. The plane. The 3-dimensional vector. The dot product. Returns the dot product of a specified three-dimensional vector and the vector of this plane. The plane. The three-dimensional vector. The dot product. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns a value that indicates whether this instance and another plane object are equal. The other plane. true if the two planes are equal; otherwise, false. Returns the hash code for this instance. The hash code. The normal vector of the plane. Creates a new object whose normal vector is the source plane&#39;s normal vector normalized. The source plane. The normalized plane. Returns a value that indicates whether two planes are equal. The first plane to compare. The second plane to compare. true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether two planes are not equal. The first plane to compare. The second plane to compare. true if value1 and value2 are not equal; otherwise, false. Returns the string representation of this plane object. A string that represents this object. Transforms a normalized plane by a 4x4 matrix. The normalized plane to transform. The transformation matrix to apply to plane. The transformed plane. Transforms a normalized plane by a Quaternion rotation. The normalized plane to transform. The Quaternion rotation to apply to the plane. A new plane that results from applying the Quaternion rotation. Represents a vector that is used to encode three-dimensional physical rotations. Creates a quaternion from the specified vector and rotation parts. The vector part of the quaternion. The rotation part of the quaternion. Constructs a quaternion from the specified components. The value to assign to the X component of the quaternion. The value to assign to the Y component of the quaternion. The value to assign to the Z component of the quaternion. The value to assign to the W component of the quaternion. Adds each element in one quaternion with its corresponding element in a second quaternion. The first quaternion. The second quaternion. The quaternion that contains the summed values of value1 and value2. Concatenates two quaternions. The first quaternion rotation in the series. The second quaternion rotation in the series. A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. Returns the conjugate of a specified quaternion. The quaternion. A new quaternion that is the conjugate of value. Creates a quaternion from a vector and an angle to rotate about the vector. The vector to rotate around. The angle, in radians, to rotate around the vector. The newly created quaternion. Creates a quaternion from the specified rotation matrix. The rotation matrix. The newly created quaternion. Creates a new quaternion from the given yaw, pitch, and roll. The yaw angle, in radians, around the Y axis. The pitch angle, in radians, around the X axis. The roll angle, in radians, around the Z axis. The resulting quaternion. Divides one quaternion by a second quaternion. The dividend. The divisor. The quaternion that results from dividing value1 by value2. Calculates the dot product of two quaternions. The first quaternion. The second quaternion. The dot product. Returns a value that indicates whether this instance and another quaternion are equal. The other quaternion. true if the two quaternions are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Gets a quaternion that represents no rotation. A quaternion whose values are (0, 0, 0, 1). Returns the inverse of a quaternion. The quaternion. The inverted quaternion. Gets a value that indicates whether the current instance is the identity quaternion. true if the current instance is the identity quaternion; otherwise, false. Calculates the length of the quaternion. The computed length of the quaternion. Calculates the squared length of the quaternion. The length squared of the quaternion. Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion. The first quaternion. The second quaternion. The relative weight of quaternion2 in the interpolation. The interpolated quaternion. Returns the quaternion that results from multiplying two quaternions together. The first quaternion. The second quaternion. The product quaternion. Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. The source quaternion. The scalar value. The scaled quaternion. Reverses the sign of each component of the quaternion. The quaternion to negate. The negated quaternion. Divides each component of a specified by its length. The quaternion to normalize. The normalized quaternion. Adds each element in one quaternion with its corresponding element in a second quaternion. The first quaternion. The second quaternion. The quaternion that contains the summed values of value1 and value2. Divides one quaternion by a second quaternion. The dividend. The divisor. The quaternion that results from dividing value1 by value2. Returns a value that indicates whether two quaternions are equal. The first quaternion to compare. The second quaternion to compare. true if the two quaternions are equal; otherwise, false. Returns a value that indicates whether two quaternions are not equal. The first quaternion to compare. The second quaternion to compare. true if value1 and value2 are not equal; otherwise, false. Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. The source quaternion. The scalar value. The scaled quaternion. Returns the quaternion that results from multiplying two quaternions together. The first quaternion. The second quaternion. The product quaternion. Subtracts each element in a second quaternion from its corresponding element in a first quaternion. The first quaternion. The second quaternion. The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. Reverses the sign of each component of the quaternion. The quaternion to negate. The negated quaternion. Interpolates between two quaternions, using spherical linear interpolation. The first quaternion. The second quaternion. The relative weight of the second quaternion in the interpolation. The interpolated quaternion. Subtracts each element in a second quaternion from its corresponding element in a first quaternion. The first quaternion. The second quaternion. The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this quaternion. The string representation of this quaternion. The rotation component of the quaternion. The X value of the vector component of the quaternion. The Y value of the vector component of the quaternion. The Z value of the vector component of the quaternion. Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms. The vector type. T can be any primitive numeric type. Creates a vector whose components are of a specified type. The numeric type that defines the type of the components in the vector. Creates a vector from a specified array. A numeric array. values is null. Creates a vector from a specified array starting at a specified index position. A numeric array. The starting index position from which to create the vector. values is null. index is less than zero. -or- The length of values minus index is less than . Copies the vector instance to a specified destination array. The array to receive a copy of the vector values. destination is null. The number of elements in the current vector is greater than the number of elements available in the destination array. Copies the vector instance to a specified destination array starting at a specified index position. The array to receive a copy of the vector values. The starting index in destination at which to begin the copy operation. destination is null. The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array. index is less than zero or greater than the last index in destination. Returns the number of elements stored in the vector. The number of elements stored in the vector. Access to the property getter via reflection is not supported. Returns a value that indicates whether this instance is equal to a specified vector. The vector to compare with this instance. true if the current instance and other are equal; otherwise, false. Returns a value that indicates whether this instance is equal to a specified object. The object to compare with this instance. true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance. Returns the hash code for this instance. The hash code. Gets the element at a specified index. The index of the element to return. The element at index index. index is less than zero. -or- index is greater than or equal to . Returns a vector containing all ones. A vector containing all ones. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Returns a new vector by performing a bitwise And operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise And of left and right. Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise Or of the elements in left and right. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Returns a value that indicates whether each pair of elements in two specified vectors are equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise XOr of the elements in left and right. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Returns a value that indicates whether any single pair of elements in the specified vectors is equal. The first vector to compare. The second vector to compare. true if any element pairs in left and right are equal. false if no element pairs are equal. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar value. The source vector. A scalar value. The scaled vector. Multiplies a vector by the given scalar. The scalar value. The source vector. The scaled vector. Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. The source vector. The one&#39;s complement vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates a given vector. The vector to negate. The negated vector. Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Returns the string representation of this vector using default formatting. The string representation of this vector. Returns the string representation of this vector using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns a vector containing all zeroes. A vector containing all zeroes. Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors. Returns a new vector whose elements are the absolute values of the given vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The absolute value vector. Returns a new vector whose values are the sum of each pair of elements from two given vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The summed vector. Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Reinterprets the bits of a specified vector into those of a vector of unsigned bytes. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a double-precision floating-point vector. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of 16-bit integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of long integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of signed bytes. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a single-precision floating-point vector. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned long integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The new vector with elements selected based on the mask. Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The new vector with elements selected based on the mask. Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The vector type. T can be any primitive numeric type. The new vector with elements selected based on the mask. Returns a new vector whose values are the result of dividing the first vector&#39;s elements by the corresponding elements in the second vector. The first vector. The second vector. The vector type. T can be any primitive numeric type. The divided vector. Returns the dot product of two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The dot product. Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether each pair of elements in the given vectors is equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left and right are equal; otherwise, false. Returns a value that indicates whether any single pair of elements in the given vectors is equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element pair in left and right is equal; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left are greater than the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is greater than the corresponding element in right; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is greater than or equal to the corresponding element in right; otherwise, false. Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support. true if vector operations are subject to hardware acceleration; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all of the elements in left are less than the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is less than the corresponding element in right; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is less than or equal to the corresponding element in right; otherwise, false. Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The maximum vector. Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The minimum vector. Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector. The scalar value. The vector. The vector type. T can be any primitive numeric type. The scaled vector. Returns a new vector whose values are the product of each pair of elements in two specified vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The product vector. Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value. The vector. The scalar value. The vector type. T can be any primitive numeric type. The scaled vector. Returns a new vector whose elements are the negation of the corresponding element in the specified vector. The source vector. The vector type. T can be any primitive numeric type. The negated vector. Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The resulting vector. Returns a new vector whose elements are the square roots of a specified vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The square root vector. Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector. The first vector. The second vector. The vector type. T can be any primitive numeric type. The difference vector. Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Represents a vector with two single-precision floating-point values. Creates a new object whose two elements have the same value. The value to assign to both elements. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns the hash code for this instance. The hash code. Returns the length of the vector. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 2 elements are equal to one. A vector whose two elements are equal to one (that is, it returns the vector (1,1). Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns the reflection of a vector off a surface that has the specified normal. The source vector. The normal of the surface being reflected off. The reflected vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a vector by a specified 3x2 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a vector normal by the given 3x2 matrix. The source vector. The matrix. The transformed vector. Transforms a vector normal by the given 4x4 matrix. The source vector. The matrix. The transformed vector. Gets the vector (1,0). The vector (1,0). Gets the vector (0,1). The vector (0,1). The X component of the vector. The Y component of the vector. Returns a vector whose 2 elements are equal to zero. A vector whose two elements are equal to zero (that is, it returns the vector (0,0). Represents a vector with three single-precision floating-point values. Creates a new object whose three elements have the same value. The value to assign to all three elements. Creates a new object from the specified object and the specified value. The vector with two elements. The additional value to assign to the field. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the cross product of two vectors. The first vector. The second vector. The cross product. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Returns the length of this vector object. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 3 elements are equal to one. A vector whose three elements are equal to one (that is, it returns the vector (1,1,1). Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns the reflection of a vector off a surface that has the specified normal. The source vector. The normal of the surface being reflected off. The reflected vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a vector normal by the given 4x4 matrix. The source vector. The matrix. The transformed vector. Gets the vector (1,0,0). The vector (1,0,0). Gets the vector (0,1,0). The vector (0,1,0).. Gets the vector (0,0,1). The vector (0,0,1). The X component of the vector. The Y component of the vector. The Z component of the vector. Gets a vector whose 3 elements are equal to zero. A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0). Represents a vector with four single-precision floating-point values. Creates a new object whose four elements have the same value. The value to assign to all four elements. Constructs a new object from the specified object and a W component. The vector to use for the X, Y, and Z components. The W component. Creates a new object from the specified object and a Z and a W component. The vector to use for the X and Y components. The Z component. The W component. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Returns the length of this vector object. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 4 elements are equal to one. Returns . Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a four-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a four-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a three-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a two-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a two-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a three-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Gets the vector (0,0,0,1). The vector (0,0,0,1). Gets the vector (1,0,0,0). The vector (1,0,0,0). Gets the vector (0,1,0,0). The vector (0,1,0,0).. Gets a vector whose 4 elements are equal to zero. The vector (0,0,1,0). The W component of the vector. The X component of the vector. The Y component of the vector. The Z component of the vector. Gets a vector whose 4 elements are equal to zero. A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0). ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/lib/netcoreapp2.0/_._ ================================================ ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/lib/netstandard1.0/System.Numerics.Vectors.xml ================================================  System.Numerics.Vectors Represents a 3x2 matrix. Creates a 3x2 matrix from the specified components. The value to assign to the first element in the first row. The value to assign to the second element in the first row. The value to assign to the first element in the second row. The value to assign to the second element in the second row. The value to assign to the first element in the third row. The value to assign to the second element in the third row. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values of value1 and value2. Creates a rotation matrix using the given rotation in radians. The amount of rotation, in radians. The rotation matrix. Creates a rotation matrix using the specified rotation in radians and a center point. The amount of rotation, in radians. The center point. The rotation matrix. Creates a scaling matrix from the specified X and Y components. The value to scale by on the X axis. The value to scale by on the Y axis. The scaling matrix. Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. The uniform scale to use. The center offset. The scaling matrix. Creates a scaling matrix that is offset by a given center point. The value to scale by on the X axis. The value to scale by on the Y axis. The center point. The scaling matrix. Creates a scaling matrix that scales uniformly with the given scale. The uniform scale to use. The scaling matrix. Creates a scaling matrix from the specified vector scale. The scale to use. The scaling matrix. Creates a scaling matrix from the specified vector scale with an offset from the specified center point. The scale to use. The center offset. The scaling matrix. Creates a skew matrix from the specified angles in radians. The X angle, in radians. The Y angle, in radians. The skew matrix. Creates a skew matrix from the specified angles in radians and a center point. The X angle, in radians. The Y angle, in radians. The center point. The skew matrix. Creates a translation matrix from the specified 2-dimensional vector. The translation position. The translation matrix. Creates a translation matrix from the specified X and Y components. The X position. The Y position. The translation matrix. Returns a value that indicates whether this instance and another 3x2 matrix are equal. The other matrix. true if the two matrices are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Calculates the determinant for this matrix. The determinant. Returns the hash code for this instance. The hash code. Gets the multiplicative identity matrix. The multiplicative identify matrix. Inverts the specified matrix. The return value indicates whether the operation succeeded. The matrix to invert. When this method returns, contains the inverted matrix if the operation succeeded. true if matrix was converted successfully; otherwise, false. Indicates whether the current matrix is the identity matrix. true if the current matrix is the identity matrix; otherwise, false. Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. The first matrix. The second matrix. The relative weighting of matrix2. The interpolated matrix. The first element of the first row. The second element of the first row. The first element of the second row. The second element of the second row. The first element of the third row. The second element of the third row. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values. Returns a value that indicates whether the specified matrices are equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether the specified matrices are not equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are not equal; otherwise, false. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this matrix. The string representation of this matrix. Gets or sets the translation component of this matrix. The translation component of the current instance. Represents a 4x4 matrix. Creates a object from a specified object. A 3x2 matrix. Creates a 4x4 matrix from the specified components. The value to assign to the first element in the first row. The value to assign to the second element in the first row. The value to assign to the third element in the first row. The value to assign to the fourth element in the first row. The value to assign to the first element in the second row. The value to assign to the second element in the second row. The value to assign to the third element in the second row. The value to assign to the third element in the second row. The value to assign to the first element in the third row. The value to assign to the second element in the third row. The value to assign to the third element in the third row. The value to assign to the fourth element in the third row. The value to assign to the first element in the fourth row. The value to assign to the second element in the fourth row. The value to assign to the third element in the fourth row. The value to assign to the fourth element in the fourth row. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values of value1 and value2. Creates a spherical billboard that rotates around a specified object position. The position of the object that the billboard will rotate around. The position of the camera. The up vector of the camera. The forward vector of the camera. The created billboard. Creates a cylindrical billboard that rotates around a specified axis. The position of the object that the billboard will rotate around. The position of the camera. The axis to rotate the billboard around. The forward vector of the camera. The forward vector of the object. The billboard matrix. Creates a matrix that rotates around an arbitrary vector. The axis to rotate around. The angle to rotate around axis, in radians. The rotation matrix. Creates a rotation matrix from the specified Quaternion rotation value. The source Quaternion. The rotation matrix. Creates a rotation matrix from the specified yaw, pitch, and roll. The angle of rotation, in radians, around the Y axis. The angle of rotation, in radians, around the X axis. The angle of rotation, in radians, around the Z axis. The rotation matrix. Creates a view matrix. The position of the camera. The target towards which the camera is pointing. The direction that is &quot;up&quot; from the camera&#39;s point of view. The view matrix. Creates an orthographic perspective matrix from the given view volume dimensions. The width of the view volume. The height of the view volume. The minimum Z-value of the view volume. The maximum Z-value of the view volume. The orthographic projection matrix. Creates a customized orthographic projection matrix. The minimum X-value of the view volume. The maximum X-value of the view volume. The minimum Y-value of the view volume. The maximum Y-value of the view volume. The minimum Z-value of the view volume. The maximum Z-value of the view volume. The orthographic projection matrix. Creates a perspective projection matrix from the given view volume dimensions. The width of the view volume at the near view plane. The height of the view volume at the near view plane. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. The field of view in the y direction, in radians. The aspect ratio, defined as view space width divided by height. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. fieldOfView is less than or equal to zero. -or- fieldOfView is greater than or equal to . nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a customized perspective projection matrix. The minimum x-value of the view volume at the near view plane. The maximum x-value of the view volume at the near view plane. The minimum y-value of the view volume at the near view plane. The maximum y-value of the view volume at the near view plane. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a matrix that reflects the coordinate system about a specified plane. The plane about which to create a reflection. A new matrix expressing the reflection. Creates a matrix for rotating points around the X axis. The amount, in radians, by which to rotate around the X axis. The rotation matrix. Creates a matrix for rotating points around the X axis from a center point. The amount, in radians, by which to rotate around the X axis. The center point. The rotation matrix. The amount, in radians, by which to rotate around the Y axis from a center point. The amount, in radians, by which to rotate around the Y-axis. The center point. The rotation matrix. Creates a matrix for rotating points around the Y axis. The amount, in radians, by which to rotate around the Y-axis. The rotation matrix. Creates a matrix for rotating points around the Z axis. The amount, in radians, by which to rotate around the Z-axis. The rotation matrix. Creates a matrix for rotating points around the Z axis from a center point. The amount, in radians, by which to rotate around the Z-axis. The center point. The rotation matrix. Creates a scaling matrix from the specified vector scale. The scale to use. The scaling matrix. Creates a uniform scaling matrix that scale equally on each axis. The uniform scaling factor. The scaling matrix. Creates a scaling matrix with a center point. The vector that contains the amount to scale on each axis. The center point. The scaling matrix. Creates a uniform scaling matrix that scales equally on each axis with a center point. The uniform scaling factor. The center point. The scaling matrix. Creates a scaling matrix from the specified X, Y, and Z components. The value to scale by on the X axis. The value to scale by on the Y axis. The value to scale by on the Z axis. The scaling matrix. Creates a scaling matrix that is offset by a given center point. The value to scale by on the X axis. The value to scale by on the Y axis. The value to scale by on the Z axis. The center point. The scaling matrix. Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. The direction from which the light that will cast the shadow is coming. The plane onto which the new matrix should flatten geometry so as to cast a shadow. A new matrix that can be used to flatten geometry onto the specified plane from the specified direction. Creates a translation matrix from the specified 3-dimensional vector. The amount to translate in each axis. The translation matrix. Creates a translation matrix from the specified X, Y, and Z components. The amount to translate on the X axis. The amount to translate on the Y axis. The amount to translate on the Z axis. The translation matrix. Creates a world matrix with the specified parameters. The position of the object. The forward direction of the object. The upward direction of the object. Its value is usually [0, 1, 0]. The world matrix. Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. The source matrix. When this method returns, contains the scaling component of the transformation matrix if the operation succeeded. When this method returns, contains the rotation component of the transformation matrix if the operation succeeded. When the method returns, contains the translation component of the transformation matrix if the operation succeeded. true if matrix was decomposed successfully; otherwise, false. Returns a value that indicates whether this instance and another 4x4 matrix are equal. The other matrix. true if the two matrices are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Calculates the determinant of the current 4x4 matrix. The determinant. Returns the hash code for this instance. The hash code. Gets the multiplicative identity matrix. Gets the multiplicative identity matrix. Inverts the specified matrix. The return value indicates whether the operation succeeded. The matrix to invert. When this method returns, contains the inverted matrix if the operation succeeded. true if matrix was converted successfully; otherwise, false. Indicates whether the current matrix is the identity matrix. true if the current matrix is the identity matrix; otherwise, false. Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. The first matrix. The second matrix. The relative weighting of matrix2. The interpolated matrix. The first element of the first row. The second element of the first row. The third element of the first row. The fourth element of the first row. The first element of the second row. The second element of the second row. The third element of the second row. The fourth element of the second row. The first element of the third row. The second element of the third row. The third element of the third row. The fourth element of the third row. The first element of the fourth row. The second element of the fourth row. The third element of the fourth row. The fourth element of the fourth row. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values. Returns a value that indicates whether the specified matrices are equal. The first matrix to compare. The second matrix to care true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether the specified matrices are not equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are not equal; otherwise, false. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this matrix. The string representation of this matrix. Transforms the specified matrix by applying the specified Quaternion rotation. The matrix to transform. The rotation t apply. The transformed matrix. Gets or sets the translation component of this matrix. The translation component of the current instance. Transposes the rows and columns of a matrix. The matrix to transpose. The transposed matrix. Represents a three-dimensional plane. Creates a object from a specified four-dimensional vector. A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin. Creates a object from a specified normal and the distance along the normal from the origin. The plane&#39;s normal vector. The plane&#39;s distance from the origin along its normal vector. Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. The X component of the normal. The Y component of the normal. The Z component of the normal. The distance of the plane along its normal from the origin. Creates a object that contains three specified points. The first point defining the plane. The second point defining the plane. The third point defining the plane. The plane containing the three points. The distance of the plane along its normal from the origin. Calculates the dot product of a plane and a 4-dimensional vector. The plane. The four-dimensional vector. The dot product. Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane. The plane. The 3-dimensional vector. The dot product. Returns the dot product of a specified three-dimensional vector and the vector of this plane. The plane. The three-dimensional vector. The dot product. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns a value that indicates whether this instance and another plane object are equal. The other plane. true if the two planes are equal; otherwise, false. Returns the hash code for this instance. The hash code. The normal vector of the plane. Creates a new object whose normal vector is the source plane&#39;s normal vector normalized. The source plane. The normalized plane. Returns a value that indicates whether two planes are equal. The first plane to compare. The second plane to compare. true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether two planes are not equal. The first plane to compare. The second plane to compare. true if value1 and value2 are not equal; otherwise, false. Returns the string representation of this plane object. A string that represents this object. Transforms a normalized plane by a 4x4 matrix. The normalized plane to transform. The transformation matrix to apply to plane. The transformed plane. Transforms a normalized plane by a Quaternion rotation. The normalized plane to transform. The Quaternion rotation to apply to the plane. A new plane that results from applying the Quaternion rotation. Represents a vector that is used to encode three-dimensional physical rotations. Creates a quaternion from the specified vector and rotation parts. The vector part of the quaternion. The rotation part of the quaternion. Constructs a quaternion from the specified components. The value to assign to the X component of the quaternion. The value to assign to the Y component of the quaternion. The value to assign to the Z component of the quaternion. The value to assign to the W component of the quaternion. Adds each element in one quaternion with its corresponding element in a second quaternion. The first quaternion. The second quaternion. The quaternion that contains the summed values of value1 and value2. Concatenates two quaternions. The first quaternion rotation in the series. The second quaternion rotation in the series. A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. Returns the conjugate of a specified quaternion. The quaternion. A new quaternion that is the conjugate of value. Creates a quaternion from a vector and an angle to rotate about the vector. The vector to rotate around. The angle, in radians, to rotate around the vector. The newly created quaternion. Creates a quaternion from the specified rotation matrix. The rotation matrix. The newly created quaternion. Creates a new quaternion from the given yaw, pitch, and roll. The yaw angle, in radians, around the Y axis. The pitch angle, in radians, around the X axis. The roll angle, in radians, around the Z axis. The resulting quaternion. Divides one quaternion by a second quaternion. The dividend. The divisor. The quaternion that results from dividing value1 by value2. Calculates the dot product of two quaternions. The first quaternion. The second quaternion. The dot product. Returns a value that indicates whether this instance and another quaternion are equal. The other quaternion. true if the two quaternions are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Gets a quaternion that represents no rotation. A quaternion whose values are (0, 0, 0, 1). Returns the inverse of a quaternion. The quaternion. The inverted quaternion. Gets a value that indicates whether the current instance is the identity quaternion. true if the current instance is the identity quaternion; otherwise, false. Calculates the length of the quaternion. The computed length of the quaternion. Calculates the squared length of the quaternion. The length squared of the quaternion. Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion. The first quaternion. The second quaternion. The relative weight of quaternion2 in the interpolation. The interpolated quaternion. Returns the quaternion that results from multiplying two quaternions together. The first quaternion. The second quaternion. The product quaternion. Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. The source quaternion. The scalar value. The scaled quaternion. Reverses the sign of each component of the quaternion. The quaternion to negate. The negated quaternion. Divides each component of a specified by its length. The quaternion to normalize. The normalized quaternion. Adds each element in one quaternion with its corresponding element in a second quaternion. The first quaternion. The second quaternion. The quaternion that contains the summed values of value1 and value2. Divides one quaternion by a second quaternion. The dividend. The divisor. The quaternion that results from dividing value1 by value2. Returns a value that indicates whether two quaternions are equal. The first quaternion to compare. The second quaternion to compare. true if the two quaternions are equal; otherwise, false. Returns a value that indicates whether two quaternions are not equal. The first quaternion to compare. The second quaternion to compare. true if value1 and value2 are not equal; otherwise, false. Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. The source quaternion. The scalar value. The scaled quaternion. Returns the quaternion that results from multiplying two quaternions together. The first quaternion. The second quaternion. The product quaternion. Subtracts each element in a second quaternion from its corresponding element in a first quaternion. The first quaternion. The second quaternion. The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. Reverses the sign of each component of the quaternion. The quaternion to negate. The negated quaternion. Interpolates between two quaternions, using spherical linear interpolation. The first quaternion. The second quaternion. The relative weight of the second quaternion in the interpolation. The interpolated quaternion. Subtracts each element in a second quaternion from its corresponding element in a first quaternion. The first quaternion. The second quaternion. The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this quaternion. The string representation of this quaternion. The rotation component of the quaternion. The X value of the vector component of the quaternion. The Y value of the vector component of the quaternion. The Z value of the vector component of the quaternion. Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms. The vector type. T can be any primitive numeric type. Creates a vector whose components are of a specified type. The numeric type that defines the type of the components in the vector. Creates a vector from a specified array. A numeric array. values is null. Creates a vector from a specified array starting at a specified index position. A numeric array. The starting index position from which to create the vector. values is null. index is less than zero. -or- The length of values minus index is less than . Copies the vector instance to a specified destination array. The array to receive a copy of the vector values. destination is null. The number of elements in the current vector is greater than the number of elements available in the destination array. Copies the vector instance to a specified destination array starting at a specified index position. The array to receive a copy of the vector values. The starting index in destination at which to begin the copy operation. destination is null. The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array. index is less than zero or greater than the last index in destination. Returns the number of elements stored in the vector. The number of elements stored in the vector. Access to the property getter via reflection is not supported. Returns a value that indicates whether this instance is equal to a specified vector. The vector to compare with this instance. true if the current instance and other are equal; otherwise, false. Returns a value that indicates whether this instance is equal to a specified object. The object to compare with this instance. true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance. Returns the hash code for this instance. The hash code. Gets the element at a specified index. The index of the element to return. The element at index index. index is less than zero. -or- index is greater than or equal to . Returns a vector containing all ones. A vector containing all ones. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Returns a new vector by performing a bitwise And operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise And of left and right. Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise Or of the elements in left and right. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Returns a value that indicates whether each pair of elements in two specified vectors are equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise XOr of the elements in left and right. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Returns a value that indicates whether any single pair of elements in the specified vectors is equal. The first vector to compare. The second vector to compare. true if any element pairs in left and right are equal. false if no element pairs are equal. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar value. The source vector. A scalar value. The scaled vector. Multiplies a vector by the given scalar. The scalar value. The source vector. The scaled vector. Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. The source vector. The one&#39;s complement vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates a given vector. The vector to negate. The negated vector. Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Returns the string representation of this vector using default formatting. The string representation of this vector. Returns the string representation of this vector using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns a vector containing all zeroes. A vector containing all zeroes. Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors. Returns a new vector whose elements are the absolute values of the given vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The absolute value vector. Returns a new vector whose values are the sum of each pair of elements from two given vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The summed vector. Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Reinterprets the bits of a specified vector into those of a vector of unsigned bytes. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a double-precision floating-point vector. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of 16-bit integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of long integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of signed bytes. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a single-precision floating-point vector. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned long integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The new vector with elements selected based on the mask. Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The new vector with elements selected based on the mask. Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The vector type. T can be any primitive numeric type. The new vector with elements selected based on the mask. Returns a new vector whose values are the result of dividing the first vector&#39;s elements by the corresponding elements in the second vector. The first vector. The second vector. The vector type. T can be any primitive numeric type. The divided vector. Returns the dot product of two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The dot product. Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether each pair of elements in the given vectors is equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left and right are equal; otherwise, false. Returns a value that indicates whether any single pair of elements in the given vectors is equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element pair in left and right is equal; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left are greater than the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is greater than the corresponding element in right; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is greater than or equal to the corresponding element in right; otherwise, false. Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support. true if vector operations are subject to hardware acceleration; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all of the elements in left are less than the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is less than the corresponding element in right; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is less than or equal to the corresponding element in right; otherwise, false. Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The maximum vector. Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The minimum vector. Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector. The scalar value. The vector. The vector type. T can be any primitive numeric type. The scaled vector. Returns a new vector whose values are the product of each pair of elements in two specified vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The product vector. Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value. The vector. The scalar value. The vector type. T can be any primitive numeric type. The scaled vector. Returns a new vector whose elements are the negation of the corresponding element in the specified vector. The source vector. The vector type. T can be any primitive numeric type. The negated vector. Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The resulting vector. Returns a new vector whose elements are the square roots of a specified vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The square root vector. Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector. The first vector. The second vector. The vector type. T can be any primitive numeric type. The difference vector. Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Represents a vector with two single-precision floating-point values. Creates a new object whose two elements have the same value. The value to assign to both elements. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns the hash code for this instance. The hash code. Returns the length of the vector. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 2 elements are equal to one. A vector whose two elements are equal to one (that is, it returns the vector (1,1). Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns the reflection of a vector off a surface that has the specified normal. The source vector. The normal of the surface being reflected off. The reflected vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a vector by a specified 3x2 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a vector normal by the given 3x2 matrix. The source vector. The matrix. The transformed vector. Transforms a vector normal by the given 4x4 matrix. The source vector. The matrix. The transformed vector. Gets the vector (1,0). The vector (1,0). Gets the vector (0,1). The vector (0,1). The X component of the vector. The Y component of the vector. Returns a vector whose 2 elements are equal to zero. A vector whose two elements are equal to zero (that is, it returns the vector (0,0). Represents a vector with three single-precision floating-point values. Creates a new object whose three elements have the same value. The value to assign to all three elements. Creates a new object from the specified object and the specified value. The vector with two elements. The additional value to assign to the field. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the cross product of two vectors. The first vector. The second vector. The cross product. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Returns the length of this vector object. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 3 elements are equal to one. A vector whose three elements are equal to one (that is, it returns the vector (1,1,1). Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns the reflection of a vector off a surface that has the specified normal. The source vector. The normal of the surface being reflected off. The reflected vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a vector normal by the given 4x4 matrix. The source vector. The matrix. The transformed vector. Gets the vector (1,0,0). The vector (1,0,0). Gets the vector (0,1,0). The vector (0,1,0).. Gets the vector (0,0,1). The vector (0,0,1). The X component of the vector. The Y component of the vector. The Z component of the vector. Gets a vector whose 3 elements are equal to zero. A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0). Represents a vector with four single-precision floating-point values. Creates a new object whose four elements have the same value. The value to assign to all four elements. Constructs a new object from the specified object and a W component. The vector to use for the X, Y, and Z components. The W component. Creates a new object from the specified object and a Z and a W component. The vector to use for the X and Y components. The Z component. The W component. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Returns the length of this vector object. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 4 elements are equal to one. Returns . Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a four-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a four-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a three-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a two-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a two-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a three-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Gets the vector (0,0,0,1). The vector (0,0,0,1). Gets the vector (1,0,0,0). The vector (1,0,0,0). Gets the vector (0,1,0,0). The vector (0,1,0,0).. Gets a vector whose 4 elements are equal to zero. The vector (0,0,1,0). The W component of the vector. The X component of the vector. The Y component of the vector. The Z component of the vector. Gets a vector whose 4 elements are equal to zero. A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0). ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/lib/netstandard2.0/System.Numerics.Vectors.xml ================================================  System.Numerics.Vectors Represents a 3x2 matrix. Creates a 3x2 matrix from the specified components. The value to assign to the first element in the first row. The value to assign to the second element in the first row. The value to assign to the first element in the second row. The value to assign to the second element in the second row. The value to assign to the first element in the third row. The value to assign to the second element in the third row. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values of value1 and value2. Creates a rotation matrix using the given rotation in radians. The amount of rotation, in radians. The rotation matrix. Creates a rotation matrix using the specified rotation in radians and a center point. The amount of rotation, in radians. The center point. The rotation matrix. Creates a scaling matrix from the specified X and Y components. The value to scale by on the X axis. The value to scale by on the Y axis. The scaling matrix. Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. The uniform scale to use. The center offset. The scaling matrix. Creates a scaling matrix that is offset by a given center point. The value to scale by on the X axis. The value to scale by on the Y axis. The center point. The scaling matrix. Creates a scaling matrix that scales uniformly with the given scale. The uniform scale to use. The scaling matrix. Creates a scaling matrix from the specified vector scale. The scale to use. The scaling matrix. Creates a scaling matrix from the specified vector scale with an offset from the specified center point. The scale to use. The center offset. The scaling matrix. Creates a skew matrix from the specified angles in radians. The X angle, in radians. The Y angle, in radians. The skew matrix. Creates a skew matrix from the specified angles in radians and a center point. The X angle, in radians. The Y angle, in radians. The center point. The skew matrix. Creates a translation matrix from the specified 2-dimensional vector. The translation position. The translation matrix. Creates a translation matrix from the specified X and Y components. The X position. The Y position. The translation matrix. Returns a value that indicates whether this instance and another 3x2 matrix are equal. The other matrix. true if the two matrices are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Calculates the determinant for this matrix. The determinant. Returns the hash code for this instance. The hash code. Gets the multiplicative identity matrix. The multiplicative identify matrix. Inverts the specified matrix. The return value indicates whether the operation succeeded. The matrix to invert. When this method returns, contains the inverted matrix if the operation succeeded. true if matrix was converted successfully; otherwise, false. Indicates whether the current matrix is the identity matrix. true if the current matrix is the identity matrix; otherwise, false. Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. The first matrix. The second matrix. The relative weighting of matrix2. The interpolated matrix. The first element of the first row. The second element of the first row. The first element of the second row. The second element of the second row. The first element of the third row. The second element of the third row. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values. Returns a value that indicates whether the specified matrices are equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether the specified matrices are not equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are not equal; otherwise, false. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this matrix. The string representation of this matrix. Gets or sets the translation component of this matrix. The translation component of the current instance. Represents a 4x4 matrix. Creates a object from a specified object. A 3x2 matrix. Creates a 4x4 matrix from the specified components. The value to assign to the first element in the first row. The value to assign to the second element in the first row. The value to assign to the third element in the first row. The value to assign to the fourth element in the first row. The value to assign to the first element in the second row. The value to assign to the second element in the second row. The value to assign to the third element in the second row. The value to assign to the third element in the second row. The value to assign to the first element in the third row. The value to assign to the second element in the third row. The value to assign to the third element in the third row. The value to assign to the fourth element in the third row. The value to assign to the first element in the fourth row. The value to assign to the second element in the fourth row. The value to assign to the third element in the fourth row. The value to assign to the fourth element in the fourth row. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values of value1 and value2. Creates a spherical billboard that rotates around a specified object position. The position of the object that the billboard will rotate around. The position of the camera. The up vector of the camera. The forward vector of the camera. The created billboard. Creates a cylindrical billboard that rotates around a specified axis. The position of the object that the billboard will rotate around. The position of the camera. The axis to rotate the billboard around. The forward vector of the camera. The forward vector of the object. The billboard matrix. Creates a matrix that rotates around an arbitrary vector. The axis to rotate around. The angle to rotate around axis, in radians. The rotation matrix. Creates a rotation matrix from the specified Quaternion rotation value. The source Quaternion. The rotation matrix. Creates a rotation matrix from the specified yaw, pitch, and roll. The angle of rotation, in radians, around the Y axis. The angle of rotation, in radians, around the X axis. The angle of rotation, in radians, around the Z axis. The rotation matrix. Creates a view matrix. The position of the camera. The target towards which the camera is pointing. The direction that is &quot;up&quot; from the camera&#39;s point of view. The view matrix. Creates an orthographic perspective matrix from the given view volume dimensions. The width of the view volume. The height of the view volume. The minimum Z-value of the view volume. The maximum Z-value of the view volume. The orthographic projection matrix. Creates a customized orthographic projection matrix. The minimum X-value of the view volume. The maximum X-value of the view volume. The minimum Y-value of the view volume. The maximum Y-value of the view volume. The minimum Z-value of the view volume. The maximum Z-value of the view volume. The orthographic projection matrix. Creates a perspective projection matrix from the given view volume dimensions. The width of the view volume at the near view plane. The height of the view volume at the near view plane. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. The field of view in the y direction, in radians. The aspect ratio, defined as view space width divided by height. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. fieldOfView is less than or equal to zero. -or- fieldOfView is greater than or equal to . nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a customized perspective projection matrix. The minimum x-value of the view volume at the near view plane. The maximum x-value of the view volume at the near view plane. The minimum y-value of the view volume at the near view plane. The maximum y-value of the view volume at the near view plane. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a matrix that reflects the coordinate system about a specified plane. The plane about which to create a reflection. A new matrix expressing the reflection. Creates a matrix for rotating points around the X axis. The amount, in radians, by which to rotate around the X axis. The rotation matrix. Creates a matrix for rotating points around the X axis from a center point. The amount, in radians, by which to rotate around the X axis. The center point. The rotation matrix. The amount, in radians, by which to rotate around the Y axis from a center point. The amount, in radians, by which to rotate around the Y-axis. The center point. The rotation matrix. Creates a matrix for rotating points around the Y axis. The amount, in radians, by which to rotate around the Y-axis. The rotation matrix. Creates a matrix for rotating points around the Z axis. The amount, in radians, by which to rotate around the Z-axis. The rotation matrix. Creates a matrix for rotating points around the Z axis from a center point. The amount, in radians, by which to rotate around the Z-axis. The center point. The rotation matrix. Creates a scaling matrix from the specified vector scale. The scale to use. The scaling matrix. Creates a uniform scaling matrix that scale equally on each axis. The uniform scaling factor. The scaling matrix. Creates a scaling matrix with a center point. The vector that contains the amount to scale on each axis. The center point. The scaling matrix. Creates a uniform scaling matrix that scales equally on each axis with a center point. The uniform scaling factor. The center point. The scaling matrix. Creates a scaling matrix from the specified X, Y, and Z components. The value to scale by on the X axis. The value to scale by on the Y axis. The value to scale by on the Z axis. The scaling matrix. Creates a scaling matrix that is offset by a given center point. The value to scale by on the X axis. The value to scale by on the Y axis. The value to scale by on the Z axis. The center point. The scaling matrix. Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. The direction from which the light that will cast the shadow is coming. The plane onto which the new matrix should flatten geometry so as to cast a shadow. A new matrix that can be used to flatten geometry onto the specified plane from the specified direction. Creates a translation matrix from the specified 3-dimensional vector. The amount to translate in each axis. The translation matrix. Creates a translation matrix from the specified X, Y, and Z components. The amount to translate on the X axis. The amount to translate on the Y axis. The amount to translate on the Z axis. The translation matrix. Creates a world matrix with the specified parameters. The position of the object. The forward direction of the object. The upward direction of the object. Its value is usually [0, 1, 0]. The world matrix. Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. The source matrix. When this method returns, contains the scaling component of the transformation matrix if the operation succeeded. When this method returns, contains the rotation component of the transformation matrix if the operation succeeded. When the method returns, contains the translation component of the transformation matrix if the operation succeeded. true if matrix was decomposed successfully; otherwise, false. Returns a value that indicates whether this instance and another 4x4 matrix are equal. The other matrix. true if the two matrices are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Calculates the determinant of the current 4x4 matrix. The determinant. Returns the hash code for this instance. The hash code. Gets the multiplicative identity matrix. Gets the multiplicative identity matrix. Inverts the specified matrix. The return value indicates whether the operation succeeded. The matrix to invert. When this method returns, contains the inverted matrix if the operation succeeded. true if matrix was converted successfully; otherwise, false. Indicates whether the current matrix is the identity matrix. true if the current matrix is the identity matrix; otherwise, false. Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. The first matrix. The second matrix. The relative weighting of matrix2. The interpolated matrix. The first element of the first row. The second element of the first row. The third element of the first row. The fourth element of the first row. The first element of the second row. The second element of the second row. The third element of the second row. The fourth element of the second row. The first element of the third row. The second element of the third row. The third element of the third row. The fourth element of the third row. The first element of the fourth row. The second element of the fourth row. The third element of the fourth row. The fourth element of the fourth row. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values. Returns a value that indicates whether the specified matrices are equal. The first matrix to compare. The second matrix to care true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether the specified matrices are not equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are not equal; otherwise, false. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this matrix. The string representation of this matrix. Transforms the specified matrix by applying the specified Quaternion rotation. The matrix to transform. The rotation t apply. The transformed matrix. Gets or sets the translation component of this matrix. The translation component of the current instance. Transposes the rows and columns of a matrix. The matrix to transpose. The transposed matrix. Represents a three-dimensional plane. Creates a object from a specified four-dimensional vector. A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin. Creates a object from a specified normal and the distance along the normal from the origin. The plane&#39;s normal vector. The plane&#39;s distance from the origin along its normal vector. Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. The X component of the normal. The Y component of the normal. The Z component of the normal. The distance of the plane along its normal from the origin. Creates a object that contains three specified points. The first point defining the plane. The second point defining the plane. The third point defining the plane. The plane containing the three points. The distance of the plane along its normal from the origin. Calculates the dot product of a plane and a 4-dimensional vector. The plane. The four-dimensional vector. The dot product. Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane. The plane. The 3-dimensional vector. The dot product. Returns the dot product of a specified three-dimensional vector and the vector of this plane. The plane. The three-dimensional vector. The dot product. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns a value that indicates whether this instance and another plane object are equal. The other plane. true if the two planes are equal; otherwise, false. Returns the hash code for this instance. The hash code. The normal vector of the plane. Creates a new object whose normal vector is the source plane&#39;s normal vector normalized. The source plane. The normalized plane. Returns a value that indicates whether two planes are equal. The first plane to compare. The second plane to compare. true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether two planes are not equal. The first plane to compare. The second plane to compare. true if value1 and value2 are not equal; otherwise, false. Returns the string representation of this plane object. A string that represents this object. Transforms a normalized plane by a 4x4 matrix. The normalized plane to transform. The transformation matrix to apply to plane. The transformed plane. Transforms a normalized plane by a Quaternion rotation. The normalized plane to transform. The Quaternion rotation to apply to the plane. A new plane that results from applying the Quaternion rotation. Represents a vector that is used to encode three-dimensional physical rotations. Creates a quaternion from the specified vector and rotation parts. The vector part of the quaternion. The rotation part of the quaternion. Constructs a quaternion from the specified components. The value to assign to the X component of the quaternion. The value to assign to the Y component of the quaternion. The value to assign to the Z component of the quaternion. The value to assign to the W component of the quaternion. Adds each element in one quaternion with its corresponding element in a second quaternion. The first quaternion. The second quaternion. The quaternion that contains the summed values of value1 and value2. Concatenates two quaternions. The first quaternion rotation in the series. The second quaternion rotation in the series. A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. Returns the conjugate of a specified quaternion. The quaternion. A new quaternion that is the conjugate of value. Creates a quaternion from a vector and an angle to rotate about the vector. The vector to rotate around. The angle, in radians, to rotate around the vector. The newly created quaternion. Creates a quaternion from the specified rotation matrix. The rotation matrix. The newly created quaternion. Creates a new quaternion from the given yaw, pitch, and roll. The yaw angle, in radians, around the Y axis. The pitch angle, in radians, around the X axis. The roll angle, in radians, around the Z axis. The resulting quaternion. Divides one quaternion by a second quaternion. The dividend. The divisor. The quaternion that results from dividing value1 by value2. Calculates the dot product of two quaternions. The first quaternion. The second quaternion. The dot product. Returns a value that indicates whether this instance and another quaternion are equal. The other quaternion. true if the two quaternions are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Gets a quaternion that represents no rotation. A quaternion whose values are (0, 0, 0, 1). Returns the inverse of a quaternion. The quaternion. The inverted quaternion. Gets a value that indicates whether the current instance is the identity quaternion. true if the current instance is the identity quaternion; otherwise, false. Calculates the length of the quaternion. The computed length of the quaternion. Calculates the squared length of the quaternion. The length squared of the quaternion. Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion. The first quaternion. The second quaternion. The relative weight of quaternion2 in the interpolation. The interpolated quaternion. Returns the quaternion that results from multiplying two quaternions together. The first quaternion. The second quaternion. The product quaternion. Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. The source quaternion. The scalar value. The scaled quaternion. Reverses the sign of each component of the quaternion. The quaternion to negate. The negated quaternion. Divides each component of a specified by its length. The quaternion to normalize. The normalized quaternion. Adds each element in one quaternion with its corresponding element in a second quaternion. The first quaternion. The second quaternion. The quaternion that contains the summed values of value1 and value2. Divides one quaternion by a second quaternion. The dividend. The divisor. The quaternion that results from dividing value1 by value2. Returns a value that indicates whether two quaternions are equal. The first quaternion to compare. The second quaternion to compare. true if the two quaternions are equal; otherwise, false. Returns a value that indicates whether two quaternions are not equal. The first quaternion to compare. The second quaternion to compare. true if value1 and value2 are not equal; otherwise, false. Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. The source quaternion. The scalar value. The scaled quaternion. Returns the quaternion that results from multiplying two quaternions together. The first quaternion. The second quaternion. The product quaternion. Subtracts each element in a second quaternion from its corresponding element in a first quaternion. The first quaternion. The second quaternion. The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. Reverses the sign of each component of the quaternion. The quaternion to negate. The negated quaternion. Interpolates between two quaternions, using spherical linear interpolation. The first quaternion. The second quaternion. The relative weight of the second quaternion in the interpolation. The interpolated quaternion. Subtracts each element in a second quaternion from its corresponding element in a first quaternion. The first quaternion. The second quaternion. The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this quaternion. The string representation of this quaternion. The rotation component of the quaternion. The X value of the vector component of the quaternion. The Y value of the vector component of the quaternion. The Z value of the vector component of the quaternion. Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms. The vector type. T can be any primitive numeric type. Creates a vector whose components are of a specified type. The numeric type that defines the type of the components in the vector. Creates a vector from a specified array. A numeric array. values is null. Creates a vector from a specified array starting at a specified index position. A numeric array. The starting index position from which to create the vector. values is null. index is less than zero. -or- The length of values minus index is less than . Copies the vector instance to a specified destination array. The array to receive a copy of the vector values. destination is null. The number of elements in the current vector is greater than the number of elements available in the destination array. Copies the vector instance to a specified destination array starting at a specified index position. The array to receive a copy of the vector values. The starting index in destination at which to begin the copy operation. destination is null. The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array. index is less than zero or greater than the last index in destination. Returns the number of elements stored in the vector. The number of elements stored in the vector. Access to the property getter via reflection is not supported. Returns a value that indicates whether this instance is equal to a specified vector. The vector to compare with this instance. true if the current instance and other are equal; otherwise, false. Returns a value that indicates whether this instance is equal to a specified object. The object to compare with this instance. true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance. Returns the hash code for this instance. The hash code. Gets the element at a specified index. The index of the element to return. The element at index index. index is less than zero. -or- index is greater than or equal to . Returns a vector containing all ones. A vector containing all ones. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Returns a new vector by performing a bitwise And operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise And of left and right. Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise Or of the elements in left and right. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Returns a value that indicates whether each pair of elements in two specified vectors are equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise XOr of the elements in left and right. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Returns a value that indicates whether any single pair of elements in the specified vectors is equal. The first vector to compare. The second vector to compare. true if any element pairs in left and right are equal. false if no element pairs are equal. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar value. The source vector. A scalar value. The scaled vector. Multiplies a vector by the given scalar. The scalar value. The source vector. The scaled vector. Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. The source vector. The one&#39;s complement vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates a given vector. The vector to negate. The negated vector. Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Returns the string representation of this vector using default formatting. The string representation of this vector. Returns the string representation of this vector using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns a vector containing all zeroes. A vector containing all zeroes. Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors. Returns a new vector whose elements are the absolute values of the given vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The absolute value vector. Returns a new vector whose values are the sum of each pair of elements from two given vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The summed vector. Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Reinterprets the bits of a specified vector into those of a vector of unsigned bytes. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a double-precision floating-point vector. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of 16-bit integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of long integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of signed bytes. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a single-precision floating-point vector. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned long integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The new vector with elements selected based on the mask. Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The new vector with elements selected based on the mask. Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The vector type. T can be any primitive numeric type. The new vector with elements selected based on the mask. Returns a new vector whose values are the result of dividing the first vector&#39;s elements by the corresponding elements in the second vector. The first vector. The second vector. The vector type. T can be any primitive numeric type. The divided vector. Returns the dot product of two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The dot product. Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether each pair of elements in the given vectors is equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left and right are equal; otherwise, false. Returns a value that indicates whether any single pair of elements in the given vectors is equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element pair in left and right is equal; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left are greater than the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is greater than the corresponding element in right; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is greater than or equal to the corresponding element in right; otherwise, false. Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support. true if vector operations are subject to hardware acceleration; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all of the elements in left are less than the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is less than the corresponding element in right; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is less than or equal to the corresponding element in right; otherwise, false. Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The maximum vector. Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The minimum vector. Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector. The scalar value. The vector. The vector type. T can be any primitive numeric type. The scaled vector. Returns a new vector whose values are the product of each pair of elements in two specified vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The product vector. Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value. The vector. The scalar value. The vector type. T can be any primitive numeric type. The scaled vector. Returns a new vector whose elements are the negation of the corresponding element in the specified vector. The source vector. The vector type. T can be any primitive numeric type. The negated vector. Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The resulting vector. Returns a new vector whose elements are the square roots of a specified vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The square root vector. Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector. The first vector. The second vector. The vector type. T can be any primitive numeric type. The difference vector. Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Represents a vector with two single-precision floating-point values. Creates a new object whose two elements have the same value. The value to assign to both elements. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns the hash code for this instance. The hash code. Returns the length of the vector. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 2 elements are equal to one. A vector whose two elements are equal to one (that is, it returns the vector (1,1). Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns the reflection of a vector off a surface that has the specified normal. The source vector. The normal of the surface being reflected off. The reflected vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a vector by a specified 3x2 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a vector normal by the given 3x2 matrix. The source vector. The matrix. The transformed vector. Transforms a vector normal by the given 4x4 matrix. The source vector. The matrix. The transformed vector. Gets the vector (1,0). The vector (1,0). Gets the vector (0,1). The vector (0,1). The X component of the vector. The Y component of the vector. Returns a vector whose 2 elements are equal to zero. A vector whose two elements are equal to zero (that is, it returns the vector (0,0). Represents a vector with three single-precision floating-point values. Creates a new object whose three elements have the same value. The value to assign to all three elements. Creates a new object from the specified object and the specified value. The vector with two elements. The additional value to assign to the field. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the cross product of two vectors. The first vector. The second vector. The cross product. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Returns the length of this vector object. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 3 elements are equal to one. A vector whose three elements are equal to one (that is, it returns the vector (1,1,1). Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns the reflection of a vector off a surface that has the specified normal. The source vector. The normal of the surface being reflected off. The reflected vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a vector normal by the given 4x4 matrix. The source vector. The matrix. The transformed vector. Gets the vector (1,0,0). The vector (1,0,0). Gets the vector (0,1,0). The vector (0,1,0).. Gets the vector (0,0,1). The vector (0,0,1). The X component of the vector. The Y component of the vector. The Z component of the vector. Gets a vector whose 3 elements are equal to zero. A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0). Represents a vector with four single-precision floating-point values. Creates a new object whose four elements have the same value. The value to assign to all four elements. Constructs a new object from the specified object and a W component. The vector to use for the X, Y, and Z components. The W component. Creates a new object from the specified object and a Z and a W component. The vector to use for the X and Y components. The Z component. The W component. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Returns the length of this vector object. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 4 elements are equal to one. Returns . Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a four-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a four-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a three-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a two-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a two-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a three-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Gets the vector (0,0,0,1). The vector (0,0,0,1). Gets the vector (1,0,0,0). The vector (1,0,0,0). Gets the vector (0,1,0,0). The vector (0,1,0,0).. Gets a vector whose 4 elements are equal to zero. The vector (0,0,1,0). The W component of the vector. The X component of the vector. The Y component of the vector. The Z component of the vector. Gets a vector whose 4 elements are equal to zero. A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0). ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.xml ================================================  System.Numerics.Vectors Represents a 3x2 matrix. Creates a 3x2 matrix from the specified components. The value to assign to the first element in the first row. The value to assign to the second element in the first row. The value to assign to the first element in the second row. The value to assign to the second element in the second row. The value to assign to the first element in the third row. The value to assign to the second element in the third row. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values of value1 and value2. Creates a rotation matrix using the given rotation in radians. The amount of rotation, in radians. The rotation matrix. Creates a rotation matrix using the specified rotation in radians and a center point. The amount of rotation, in radians. The center point. The rotation matrix. Creates a scaling matrix from the specified X and Y components. The value to scale by on the X axis. The value to scale by on the Y axis. The scaling matrix. Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. The uniform scale to use. The center offset. The scaling matrix. Creates a scaling matrix that is offset by a given center point. The value to scale by on the X axis. The value to scale by on the Y axis. The center point. The scaling matrix. Creates a scaling matrix that scales uniformly with the given scale. The uniform scale to use. The scaling matrix. Creates a scaling matrix from the specified vector scale. The scale to use. The scaling matrix. Creates a scaling matrix from the specified vector scale with an offset from the specified center point. The scale to use. The center offset. The scaling matrix. Creates a skew matrix from the specified angles in radians. The X angle, in radians. The Y angle, in radians. The skew matrix. Creates a skew matrix from the specified angles in radians and a center point. The X angle, in radians. The Y angle, in radians. The center point. The skew matrix. Creates a translation matrix from the specified 2-dimensional vector. The translation position. The translation matrix. Creates a translation matrix from the specified X and Y components. The X position. The Y position. The translation matrix. Returns a value that indicates whether this instance and another 3x2 matrix are equal. The other matrix. true if the two matrices are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Calculates the determinant for this matrix. The determinant. Returns the hash code for this instance. The hash code. Gets the multiplicative identity matrix. The multiplicative identify matrix. Inverts the specified matrix. The return value indicates whether the operation succeeded. The matrix to invert. When this method returns, contains the inverted matrix if the operation succeeded. true if matrix was converted successfully; otherwise, false. Indicates whether the current matrix is the identity matrix. true if the current matrix is the identity matrix; otherwise, false. Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. The first matrix. The second matrix. The relative weighting of matrix2. The interpolated matrix. The first element of the first row. The second element of the first row. The first element of the second row. The second element of the second row. The first element of the third row. The second element of the third row. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values. Returns a value that indicates whether the specified matrices are equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether the specified matrices are not equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are not equal; otherwise, false. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this matrix. The string representation of this matrix. Gets or sets the translation component of this matrix. The translation component of the current instance. Represents a 4x4 matrix. Creates a object from a specified object. A 3x2 matrix. Creates a 4x4 matrix from the specified components. The value to assign to the first element in the first row. The value to assign to the second element in the first row. The value to assign to the third element in the first row. The value to assign to the fourth element in the first row. The value to assign to the first element in the second row. The value to assign to the second element in the second row. The value to assign to the third element in the second row. The value to assign to the third element in the second row. The value to assign to the first element in the third row. The value to assign to the second element in the third row. The value to assign to the third element in the third row. The value to assign to the fourth element in the third row. The value to assign to the first element in the fourth row. The value to assign to the second element in the fourth row. The value to assign to the third element in the fourth row. The value to assign to the fourth element in the fourth row. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values of value1 and value2. Creates a spherical billboard that rotates around a specified object position. The position of the object that the billboard will rotate around. The position of the camera. The up vector of the camera. The forward vector of the camera. The created billboard. Creates a cylindrical billboard that rotates around a specified axis. The position of the object that the billboard will rotate around. The position of the camera. The axis to rotate the billboard around. The forward vector of the camera. The forward vector of the object. The billboard matrix. Creates a matrix that rotates around an arbitrary vector. The axis to rotate around. The angle to rotate around axis, in radians. The rotation matrix. Creates a rotation matrix from the specified Quaternion rotation value. The source Quaternion. The rotation matrix. Creates a rotation matrix from the specified yaw, pitch, and roll. The angle of rotation, in radians, around the Y axis. The angle of rotation, in radians, around the X axis. The angle of rotation, in radians, around the Z axis. The rotation matrix. Creates a view matrix. The position of the camera. The target towards which the camera is pointing. The direction that is &quot;up&quot; from the camera&#39;s point of view. The view matrix. Creates an orthographic perspective matrix from the given view volume dimensions. The width of the view volume. The height of the view volume. The minimum Z-value of the view volume. The maximum Z-value of the view volume. The orthographic projection matrix. Creates a customized orthographic projection matrix. The minimum X-value of the view volume. The maximum X-value of the view volume. The minimum Y-value of the view volume. The maximum Y-value of the view volume. The minimum Z-value of the view volume. The maximum Z-value of the view volume. The orthographic projection matrix. Creates a perspective projection matrix from the given view volume dimensions. The width of the view volume at the near view plane. The height of the view volume at the near view plane. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. The field of view in the y direction, in radians. The aspect ratio, defined as view space width divided by height. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. fieldOfView is less than or equal to zero. -or- fieldOfView is greater than or equal to . nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a customized perspective projection matrix. The minimum x-value of the view volume at the near view plane. The maximum x-value of the view volume at the near view plane. The minimum y-value of the view volume at the near view plane. The maximum y-value of the view volume at the near view plane. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a matrix that reflects the coordinate system about a specified plane. The plane about which to create a reflection. A new matrix expressing the reflection. Creates a matrix for rotating points around the X axis. The amount, in radians, by which to rotate around the X axis. The rotation matrix. Creates a matrix for rotating points around the X axis from a center point. The amount, in radians, by which to rotate around the X axis. The center point. The rotation matrix. The amount, in radians, by which to rotate around the Y axis from a center point. The amount, in radians, by which to rotate around the Y-axis. The center point. The rotation matrix. Creates a matrix for rotating points around the Y axis. The amount, in radians, by which to rotate around the Y-axis. The rotation matrix. Creates a matrix for rotating points around the Z axis. The amount, in radians, by which to rotate around the Z-axis. The rotation matrix. Creates a matrix for rotating points around the Z axis from a center point. The amount, in radians, by which to rotate around the Z-axis. The center point. The rotation matrix. Creates a scaling matrix from the specified vector scale. The scale to use. The scaling matrix. Creates a uniform scaling matrix that scale equally on each axis. The uniform scaling factor. The scaling matrix. Creates a scaling matrix with a center point. The vector that contains the amount to scale on each axis. The center point. The scaling matrix. Creates a uniform scaling matrix that scales equally on each axis with a center point. The uniform scaling factor. The center point. The scaling matrix. Creates a scaling matrix from the specified X, Y, and Z components. The value to scale by on the X axis. The value to scale by on the Y axis. The value to scale by on the Z axis. The scaling matrix. Creates a scaling matrix that is offset by a given center point. The value to scale by on the X axis. The value to scale by on the Y axis. The value to scale by on the Z axis. The center point. The scaling matrix. Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. The direction from which the light that will cast the shadow is coming. The plane onto which the new matrix should flatten geometry so as to cast a shadow. A new matrix that can be used to flatten geometry onto the specified plane from the specified direction. Creates a translation matrix from the specified 3-dimensional vector. The amount to translate in each axis. The translation matrix. Creates a translation matrix from the specified X, Y, and Z components. The amount to translate on the X axis. The amount to translate on the Y axis. The amount to translate on the Z axis. The translation matrix. Creates a world matrix with the specified parameters. The position of the object. The forward direction of the object. The upward direction of the object. Its value is usually [0, 1, 0]. The world matrix. Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. The source matrix. When this method returns, contains the scaling component of the transformation matrix if the operation succeeded. When this method returns, contains the rotation component of the transformation matrix if the operation succeeded. When the method returns, contains the translation component of the transformation matrix if the operation succeeded. true if matrix was decomposed successfully; otherwise, false. Returns a value that indicates whether this instance and another 4x4 matrix are equal. The other matrix. true if the two matrices are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Calculates the determinant of the current 4x4 matrix. The determinant. Returns the hash code for this instance. The hash code. Gets the multiplicative identity matrix. Gets the multiplicative identity matrix. Inverts the specified matrix. The return value indicates whether the operation succeeded. The matrix to invert. When this method returns, contains the inverted matrix if the operation succeeded. true if matrix was converted successfully; otherwise, false. Indicates whether the current matrix is the identity matrix. true if the current matrix is the identity matrix; otherwise, false. Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. The first matrix. The second matrix. The relative weighting of matrix2. The interpolated matrix. The first element of the first row. The second element of the first row. The third element of the first row. The fourth element of the first row. The first element of the second row. The second element of the second row. The third element of the second row. The fourth element of the second row. The first element of the third row. The second element of the third row. The third element of the third row. The fourth element of the third row. The first element of the fourth row. The second element of the fourth row. The third element of the fourth row. The fourth element of the fourth row. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values. Returns a value that indicates whether the specified matrices are equal. The first matrix to compare. The second matrix to care true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether the specified matrices are not equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are not equal; otherwise, false. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this matrix. The string representation of this matrix. Transforms the specified matrix by applying the specified Quaternion rotation. The matrix to transform. The rotation t apply. The transformed matrix. Gets or sets the translation component of this matrix. The translation component of the current instance. Transposes the rows and columns of a matrix. The matrix to transpose. The transposed matrix. Represents a three-dimensional plane. Creates a object from a specified four-dimensional vector. A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin. Creates a object from a specified normal and the distance along the normal from the origin. The plane&#39;s normal vector. The plane&#39;s distance from the origin along its normal vector. Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. The X component of the normal. The Y component of the normal. The Z component of the normal. The distance of the plane along its normal from the origin. Creates a object that contains three specified points. The first point defining the plane. The second point defining the plane. The third point defining the plane. The plane containing the three points. The distance of the plane along its normal from the origin. Calculates the dot product of a plane and a 4-dimensional vector. The plane. The four-dimensional vector. The dot product. Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane. The plane. The 3-dimensional vector. The dot product. Returns the dot product of a specified three-dimensional vector and the vector of this plane. The plane. The three-dimensional vector. The dot product. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns a value that indicates whether this instance and another plane object are equal. The other plane. true if the two planes are equal; otherwise, false. Returns the hash code for this instance. The hash code. The normal vector of the plane. Creates a new object whose normal vector is the source plane&#39;s normal vector normalized. The source plane. The normalized plane. Returns a value that indicates whether two planes are equal. The first plane to compare. The second plane to compare. true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether two planes are not equal. The first plane to compare. The second plane to compare. true if value1 and value2 are not equal; otherwise, false. Returns the string representation of this plane object. A string that represents this object. Transforms a normalized plane by a 4x4 matrix. The normalized plane to transform. The transformation matrix to apply to plane. The transformed plane. Transforms a normalized plane by a Quaternion rotation. The normalized plane to transform. The Quaternion rotation to apply to the plane. A new plane that results from applying the Quaternion rotation. Represents a vector that is used to encode three-dimensional physical rotations. Creates a quaternion from the specified vector and rotation parts. The vector part of the quaternion. The rotation part of the quaternion. Constructs a quaternion from the specified components. The value to assign to the X component of the quaternion. The value to assign to the Y component of the quaternion. The value to assign to the Z component of the quaternion. The value to assign to the W component of the quaternion. Adds each element in one quaternion with its corresponding element in a second quaternion. The first quaternion. The second quaternion. The quaternion that contains the summed values of value1 and value2. Concatenates two quaternions. The first quaternion rotation in the series. The second quaternion rotation in the series. A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. Returns the conjugate of a specified quaternion. The quaternion. A new quaternion that is the conjugate of value. Creates a quaternion from a vector and an angle to rotate about the vector. The vector to rotate around. The angle, in radians, to rotate around the vector. The newly created quaternion. Creates a quaternion from the specified rotation matrix. The rotation matrix. The newly created quaternion. Creates a new quaternion from the given yaw, pitch, and roll. The yaw angle, in radians, around the Y axis. The pitch angle, in radians, around the X axis. The roll angle, in radians, around the Z axis. The resulting quaternion. Divides one quaternion by a second quaternion. The dividend. The divisor. The quaternion that results from dividing value1 by value2. Calculates the dot product of two quaternions. The first quaternion. The second quaternion. The dot product. Returns a value that indicates whether this instance and another quaternion are equal. The other quaternion. true if the two quaternions are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Gets a quaternion that represents no rotation. A quaternion whose values are (0, 0, 0, 1). Returns the inverse of a quaternion. The quaternion. The inverted quaternion. Gets a value that indicates whether the current instance is the identity quaternion. true if the current instance is the identity quaternion; otherwise, false. Calculates the length of the quaternion. The computed length of the quaternion. Calculates the squared length of the quaternion. The length squared of the quaternion. Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion. The first quaternion. The second quaternion. The relative weight of quaternion2 in the interpolation. The interpolated quaternion. Returns the quaternion that results from multiplying two quaternions together. The first quaternion. The second quaternion. The product quaternion. Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. The source quaternion. The scalar value. The scaled quaternion. Reverses the sign of each component of the quaternion. The quaternion to negate. The negated quaternion. Divides each component of a specified by its length. The quaternion to normalize. The normalized quaternion. Adds each element in one quaternion with its corresponding element in a second quaternion. The first quaternion. The second quaternion. The quaternion that contains the summed values of value1 and value2. Divides one quaternion by a second quaternion. The dividend. The divisor. The quaternion that results from dividing value1 by value2. Returns a value that indicates whether two quaternions are equal. The first quaternion to compare. The second quaternion to compare. true if the two quaternions are equal; otherwise, false. Returns a value that indicates whether two quaternions are not equal. The first quaternion to compare. The second quaternion to compare. true if value1 and value2 are not equal; otherwise, false. Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. The source quaternion. The scalar value. The scaled quaternion. Returns the quaternion that results from multiplying two quaternions together. The first quaternion. The second quaternion. The product quaternion. Subtracts each element in a second quaternion from its corresponding element in a first quaternion. The first quaternion. The second quaternion. The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. Reverses the sign of each component of the quaternion. The quaternion to negate. The negated quaternion. Interpolates between two quaternions, using spherical linear interpolation. The first quaternion. The second quaternion. The relative weight of the second quaternion in the interpolation. The interpolated quaternion. Subtracts each element in a second quaternion from its corresponding element in a first quaternion. The first quaternion. The second quaternion. The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this quaternion. The string representation of this quaternion. The rotation component of the quaternion. The X value of the vector component of the quaternion. The Y value of the vector component of the quaternion. The Z value of the vector component of the quaternion. Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms. The vector type. T can be any primitive numeric type. Creates a vector whose components are of a specified type. The numeric type that defines the type of the components in the vector. Creates a vector from a specified array. A numeric array. values is null. Creates a vector from a specified array starting at a specified index position. A numeric array. The starting index position from which to create the vector. values is null. index is less than zero. -or- The length of values minus index is less than . Copies the vector instance to a specified destination array. The array to receive a copy of the vector values. destination is null. The number of elements in the current vector is greater than the number of elements available in the destination array. Copies the vector instance to a specified destination array starting at a specified index position. The array to receive a copy of the vector values. The starting index in destination at which to begin the copy operation. destination is null. The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array. index is less than zero or greater than the last index in destination. Returns the number of elements stored in the vector. The number of elements stored in the vector. Access to the property getter via reflection is not supported. Returns a value that indicates whether this instance is equal to a specified vector. The vector to compare with this instance. true if the current instance and other are equal; otherwise, false. Returns a value that indicates whether this instance is equal to a specified object. The object to compare with this instance. true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance. Returns the hash code for this instance. The hash code. Gets the element at a specified index. The index of the element to return. The element at index index. index is less than zero. -or- index is greater than or equal to . Returns a vector containing all ones. A vector containing all ones. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Returns a new vector by performing a bitwise And operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise And of left and right. Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise Or of the elements in left and right. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Returns a value that indicates whether each pair of elements in two specified vectors are equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise XOr of the elements in left and right. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Returns a value that indicates whether any single pair of elements in the specified vectors is equal. The first vector to compare. The second vector to compare. true if any element pairs in left and right are equal. false if no element pairs are equal. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar value. The source vector. A scalar value. The scaled vector. Multiplies a vector by the given scalar. The scalar value. The source vector. The scaled vector. Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. The source vector. The one&#39;s complement vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates a given vector. The vector to negate. The negated vector. Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Returns the string representation of this vector using default formatting. The string representation of this vector. Returns the string representation of this vector using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns a vector containing all zeroes. A vector containing all zeroes. Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors. Returns a new vector whose elements are the absolute values of the given vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The absolute value vector. Returns a new vector whose values are the sum of each pair of elements from two given vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The summed vector. Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Reinterprets the bits of a specified vector into those of a vector of unsigned bytes. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a double-precision floating-point vector. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of 16-bit integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of long integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of signed bytes. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a single-precision floating-point vector. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned long integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The new vector with elements selected based on the mask. Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The new vector with elements selected based on the mask. Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The vector type. T can be any primitive numeric type. The new vector with elements selected based on the mask. Returns a new vector whose values are the result of dividing the first vector&#39;s elements by the corresponding elements in the second vector. The first vector. The second vector. The vector type. T can be any primitive numeric type. The divided vector. Returns the dot product of two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The dot product. Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether each pair of elements in the given vectors is equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left and right are equal; otherwise, false. Returns a value that indicates whether any single pair of elements in the given vectors is equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element pair in left and right is equal; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left are greater than the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is greater than the corresponding element in right; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is greater than or equal to the corresponding element in right; otherwise, false. Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support. true if vector operations are subject to hardware acceleration; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all of the elements in left are less than the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is less than the corresponding element in right; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is less than or equal to the corresponding element in right; otherwise, false. Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The maximum vector. Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The minimum vector. Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector. The scalar value. The vector. The vector type. T can be any primitive numeric type. The scaled vector. Returns a new vector whose values are the product of each pair of elements in two specified vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The product vector. Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value. The vector. The scalar value. The vector type. T can be any primitive numeric type. The scaled vector. Returns a new vector whose elements are the negation of the corresponding element in the specified vector. The source vector. The vector type. T can be any primitive numeric type. The negated vector. Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The resulting vector. Returns a new vector whose elements are the square roots of a specified vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The square root vector. Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector. The first vector. The second vector. The vector type. T can be any primitive numeric type. The difference vector. Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Represents a vector with two single-precision floating-point values. Creates a new object whose two elements have the same value. The value to assign to both elements. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns the hash code for this instance. The hash code. Returns the length of the vector. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 2 elements are equal to one. A vector whose two elements are equal to one (that is, it returns the vector (1,1). Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns the reflection of a vector off a surface that has the specified normal. The source vector. The normal of the surface being reflected off. The reflected vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a vector by a specified 3x2 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a vector normal by the given 3x2 matrix. The source vector. The matrix. The transformed vector. Transforms a vector normal by the given 4x4 matrix. The source vector. The matrix. The transformed vector. Gets the vector (1,0). The vector (1,0). Gets the vector (0,1). The vector (0,1). The X component of the vector. The Y component of the vector. Returns a vector whose 2 elements are equal to zero. A vector whose two elements are equal to zero (that is, it returns the vector (0,0). Represents a vector with three single-precision floating-point values. Creates a new object whose three elements have the same value. The value to assign to all three elements. Creates a new object from the specified object and the specified value. The vector with two elements. The additional value to assign to the field. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the cross product of two vectors. The first vector. The second vector. The cross product. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Returns the length of this vector object. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 3 elements are equal to one. A vector whose three elements are equal to one (that is, it returns the vector (1,1,1). Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns the reflection of a vector off a surface that has the specified normal. The source vector. The normal of the surface being reflected off. The reflected vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a vector normal by the given 4x4 matrix. The source vector. The matrix. The transformed vector. Gets the vector (1,0,0). The vector (1,0,0). Gets the vector (0,1,0). The vector (0,1,0).. Gets the vector (0,0,1). The vector (0,0,1). The X component of the vector. The Y component of the vector. The Z component of the vector. Gets a vector whose 3 elements are equal to zero. A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0). Represents a vector with four single-precision floating-point values. Creates a new object whose four elements have the same value. The value to assign to all four elements. Constructs a new object from the specified object and a W component. The vector to use for the X, Y, and Z components. The W component. Creates a new object from the specified object and a Z and a W component. The vector to use for the X and Y components. The Z component. The W component. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Returns the length of this vector object. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 4 elements are equal to one. Returns . Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a four-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a four-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a three-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a two-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a two-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a three-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Gets the vector (0,0,0,1). The vector (0,0,0,1). Gets the vector (1,0,0,0). The vector (1,0,0,0). Gets the vector (0,1,0,0). The vector (0,1,0,0).. Gets a vector whose 4 elements are equal to zero. The vector (0,0,1,0). The W component of the vector. The X component of the vector. The Y component of the vector. The Z component of the vector. Gets a vector whose 4 elements are equal to zero. A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0). ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/lib/uap10.0.16299/_._ ================================================ ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/lib/xamarinios10/_._ ================================================ ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/lib/xamarinmac20/_._ ================================================ ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/lib/xamarintvos10/_._ ================================================ ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/lib/xamarinwatchos10/_._ ================================================ ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/ref/MonoAndroid10/_._ ================================================ ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/ref/MonoTouch10/_._ ================================================ ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/ref/net45/System.Numerics.Vectors.xml ================================================  System.Numerics.Vectors Represents a 3x2 matrix. Creates a 3x2 matrix from the specified components. The value to assign to the first element in the first row. The value to assign to the second element in the first row. The value to assign to the first element in the second row. The value to assign to the second element in the second row. The value to assign to the first element in the third row. The value to assign to the second element in the third row. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values of value1 and value2. Creates a rotation matrix using the given rotation in radians. The amount of rotation, in radians. The rotation matrix. Creates a rotation matrix using the specified rotation in radians and a center point. The amount of rotation, in radians. The center point. The rotation matrix. Creates a scaling matrix from the specified X and Y components. The value to scale by on the X axis. The value to scale by on the Y axis. The scaling matrix. Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. The uniform scale to use. The center offset. The scaling matrix. Creates a scaling matrix that is offset by a given center point. The value to scale by on the X axis. The value to scale by on the Y axis. The center point. The scaling matrix. Creates a scaling matrix that scales uniformly with the given scale. The uniform scale to use. The scaling matrix. Creates a scaling matrix from the specified vector scale. The scale to use. The scaling matrix. Creates a scaling matrix from the specified vector scale with an offset from the specified center point. The scale to use. The center offset. The scaling matrix. Creates a skew matrix from the specified angles in radians. The X angle, in radians. The Y angle, in radians. The skew matrix. Creates a skew matrix from the specified angles in radians and a center point. The X angle, in radians. The Y angle, in radians. The center point. The skew matrix. Creates a translation matrix from the specified 2-dimensional vector. The translation position. The translation matrix. Creates a translation matrix from the specified X and Y components. The X position. The Y position. The translation matrix. Returns a value that indicates whether this instance and another 3x2 matrix are equal. The other matrix. true if the two matrices are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Calculates the determinant for this matrix. The determinant. Returns the hash code for this instance. The hash code. Gets the multiplicative identity matrix. The multiplicative identify matrix. Inverts the specified matrix. The return value indicates whether the operation succeeded. The matrix to invert. When this method returns, contains the inverted matrix if the operation succeeded. true if matrix was converted successfully; otherwise, false. Indicates whether the current matrix is the identity matrix. true if the current matrix is the identity matrix; otherwise, false. Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. The first matrix. The second matrix. The relative weighting of matrix2. The interpolated matrix. The first element of the first row. The second element of the first row. The first element of the second row. The second element of the second row. The first element of the third row. The second element of the third row. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values. Returns a value that indicates whether the specified matrices are equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether the specified matrices are not equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are not equal; otherwise, false. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this matrix. The string representation of this matrix. Gets or sets the translation component of this matrix. The translation component of the current instance. Represents a 4x4 matrix. Creates a object from a specified object. A 3x2 matrix. Creates a 4x4 matrix from the specified components. The value to assign to the first element in the first row. The value to assign to the second element in the first row. The value to assign to the third element in the first row. The value to assign to the fourth element in the first row. The value to assign to the first element in the second row. The value to assign to the second element in the second row. The value to assign to the third element in the second row. The value to assign to the third element in the second row. The value to assign to the first element in the third row. The value to assign to the second element in the third row. The value to assign to the third element in the third row. The value to assign to the fourth element in the third row. The value to assign to the first element in the fourth row. The value to assign to the second element in the fourth row. The value to assign to the third element in the fourth row. The value to assign to the fourth element in the fourth row. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values of value1 and value2. Creates a spherical billboard that rotates around a specified object position. The position of the object that the billboard will rotate around. The position of the camera. The up vector of the camera. The forward vector of the camera. The created billboard. Creates a cylindrical billboard that rotates around a specified axis. The position of the object that the billboard will rotate around. The position of the camera. The axis to rotate the billboard around. The forward vector of the camera. The forward vector of the object. The billboard matrix. Creates a matrix that rotates around an arbitrary vector. The axis to rotate around. The angle to rotate around axis, in radians. The rotation matrix. Creates a rotation matrix from the specified Quaternion rotation value. The source Quaternion. The rotation matrix. Creates a rotation matrix from the specified yaw, pitch, and roll. The angle of rotation, in radians, around the Y axis. The angle of rotation, in radians, around the X axis. The angle of rotation, in radians, around the Z axis. The rotation matrix. Creates a view matrix. The position of the camera. The target towards which the camera is pointing. The direction that is &quot;up&quot; from the camera&#39;s point of view. The view matrix. Creates an orthographic perspective matrix from the given view volume dimensions. The width of the view volume. The height of the view volume. The minimum Z-value of the view volume. The maximum Z-value of the view volume. The orthographic projection matrix. Creates a customized orthographic projection matrix. The minimum X-value of the view volume. The maximum X-value of the view volume. The minimum Y-value of the view volume. The maximum Y-value of the view volume. The minimum Z-value of the view volume. The maximum Z-value of the view volume. The orthographic projection matrix. Creates a perspective projection matrix from the given view volume dimensions. The width of the view volume at the near view plane. The height of the view volume at the near view plane. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. The field of view in the y direction, in radians. The aspect ratio, defined as view space width divided by height. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. fieldOfView is less than or equal to zero. -or- fieldOfView is greater than or equal to . nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a customized perspective projection matrix. The minimum x-value of the view volume at the near view plane. The maximum x-value of the view volume at the near view plane. The minimum y-value of the view volume at the near view plane. The maximum y-value of the view volume at the near view plane. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a matrix that reflects the coordinate system about a specified plane. The plane about which to create a reflection. A new matrix expressing the reflection. Creates a matrix for rotating points around the X axis. The amount, in radians, by which to rotate around the X axis. The rotation matrix. Creates a matrix for rotating points around the X axis from a center point. The amount, in radians, by which to rotate around the X axis. The center point. The rotation matrix. The amount, in radians, by which to rotate around the Y axis from a center point. The amount, in radians, by which to rotate around the Y-axis. The center point. The rotation matrix. Creates a matrix for rotating points around the Y axis. The amount, in radians, by which to rotate around the Y-axis. The rotation matrix. Creates a matrix for rotating points around the Z axis. The amount, in radians, by which to rotate around the Z-axis. The rotation matrix. Creates a matrix for rotating points around the Z axis from a center point. The amount, in radians, by which to rotate around the Z-axis. The center point. The rotation matrix. Creates a scaling matrix from the specified vector scale. The scale to use. The scaling matrix. Creates a uniform scaling matrix that scale equally on each axis. The uniform scaling factor. The scaling matrix. Creates a scaling matrix with a center point. The vector that contains the amount to scale on each axis. The center point. The scaling matrix. Creates a uniform scaling matrix that scales equally on each axis with a center point. The uniform scaling factor. The center point. The scaling matrix. Creates a scaling matrix from the specified X, Y, and Z components. The value to scale by on the X axis. The value to scale by on the Y axis. The value to scale by on the Z axis. The scaling matrix. Creates a scaling matrix that is offset by a given center point. The value to scale by on the X axis. The value to scale by on the Y axis. The value to scale by on the Z axis. The center point. The scaling matrix. Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. The direction from which the light that will cast the shadow is coming. The plane onto which the new matrix should flatten geometry so as to cast a shadow. A new matrix that can be used to flatten geometry onto the specified plane from the specified direction. Creates a translation matrix from the specified 3-dimensional vector. The amount to translate in each axis. The translation matrix. Creates a translation matrix from the specified X, Y, and Z components. The amount to translate on the X axis. The amount to translate on the Y axis. The amount to translate on the Z axis. The translation matrix. Creates a world matrix with the specified parameters. The position of the object. The forward direction of the object. The upward direction of the object. Its value is usually [0, 1, 0]. The world matrix. Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. The source matrix. When this method returns, contains the scaling component of the transformation matrix if the operation succeeded. When this method returns, contains the rotation component of the transformation matrix if the operation succeeded. When the method returns, contains the translation component of the transformation matrix if the operation succeeded. true if matrix was decomposed successfully; otherwise, false. Returns a value that indicates whether this instance and another 4x4 matrix are equal. The other matrix. true if the two matrices are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Calculates the determinant of the current 4x4 matrix. The determinant. Returns the hash code for this instance. The hash code. Gets the multiplicative identity matrix. Gets the multiplicative identity matrix. Inverts the specified matrix. The return value indicates whether the operation succeeded. The matrix to invert. When this method returns, contains the inverted matrix if the operation succeeded. true if matrix was converted successfully; otherwise, false. Indicates whether the current matrix is the identity matrix. true if the current matrix is the identity matrix; otherwise, false. Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. The first matrix. The second matrix. The relative weighting of matrix2. The interpolated matrix. The first element of the first row. The second element of the first row. The third element of the first row. The fourth element of the first row. The first element of the second row. The second element of the second row. The third element of the second row. The fourth element of the second row. The first element of the third row. The second element of the third row. The third element of the third row. The fourth element of the third row. The first element of the fourth row. The second element of the fourth row. The third element of the fourth row. The fourth element of the fourth row. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values. Returns a value that indicates whether the specified matrices are equal. The first matrix to compare. The second matrix to care true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether the specified matrices are not equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are not equal; otherwise, false. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this matrix. The string representation of this matrix. Transforms the specified matrix by applying the specified Quaternion rotation. The matrix to transform. The rotation t apply. The transformed matrix. Gets or sets the translation component of this matrix. The translation component of the current instance. Transposes the rows and columns of a matrix. The matrix to transpose. The transposed matrix. Represents a three-dimensional plane. Creates a object from a specified four-dimensional vector. A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin. Creates a object from a specified normal and the distance along the normal from the origin. The plane&#39;s normal vector. The plane&#39;s distance from the origin along its normal vector. Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. The X component of the normal. The Y component of the normal. The Z component of the normal. The distance of the plane along its normal from the origin. Creates a object that contains three specified points. The first point defining the plane. The second point defining the plane. The third point defining the plane. The plane containing the three points. The distance of the plane along its normal from the origin. Calculates the dot product of a plane and a 4-dimensional vector. The plane. The four-dimensional vector. The dot product. Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane. The plane. The 3-dimensional vector. The dot product. Returns the dot product of a specified three-dimensional vector and the vector of this plane. The plane. The three-dimensional vector. The dot product. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns a value that indicates whether this instance and another plane object are equal. The other plane. true if the two planes are equal; otherwise, false. Returns the hash code for this instance. The hash code. The normal vector of the plane. Creates a new object whose normal vector is the source plane&#39;s normal vector normalized. The source plane. The normalized plane. Returns a value that indicates whether two planes are equal. The first plane to compare. The second plane to compare. true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether two planes are not equal. The first plane to compare. The second plane to compare. true if value1 and value2 are not equal; otherwise, false. Returns the string representation of this plane object. A string that represents this object. Transforms a normalized plane by a 4x4 matrix. The normalized plane to transform. The transformation matrix to apply to plane. The transformed plane. Transforms a normalized plane by a Quaternion rotation. The normalized plane to transform. The Quaternion rotation to apply to the plane. A new plane that results from applying the Quaternion rotation. Represents a vector that is used to encode three-dimensional physical rotations. Creates a quaternion from the specified vector and rotation parts. The vector part of the quaternion. The rotation part of the quaternion. Constructs a quaternion from the specified components. The value to assign to the X component of the quaternion. The value to assign to the Y component of the quaternion. The value to assign to the Z component of the quaternion. The value to assign to the W component of the quaternion. Adds each element in one quaternion with its corresponding element in a second quaternion. The first quaternion. The second quaternion. The quaternion that contains the summed values of value1 and value2. Concatenates two quaternions. The first quaternion rotation in the series. The second quaternion rotation in the series. A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. Returns the conjugate of a specified quaternion. The quaternion. A new quaternion that is the conjugate of value. Creates a quaternion from a vector and an angle to rotate about the vector. The vector to rotate around. The angle, in radians, to rotate around the vector. The newly created quaternion. Creates a quaternion from the specified rotation matrix. The rotation matrix. The newly created quaternion. Creates a new quaternion from the given yaw, pitch, and roll. The yaw angle, in radians, around the Y axis. The pitch angle, in radians, around the X axis. The roll angle, in radians, around the Z axis. The resulting quaternion. Divides one quaternion by a second quaternion. The dividend. The divisor. The quaternion that results from dividing value1 by value2. Calculates the dot product of two quaternions. The first quaternion. The second quaternion. The dot product. Returns a value that indicates whether this instance and another quaternion are equal. The other quaternion. true if the two quaternions are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Gets a quaternion that represents no rotation. A quaternion whose values are (0, 0, 0, 1). Returns the inverse of a quaternion. The quaternion. The inverted quaternion. Gets a value that indicates whether the current instance is the identity quaternion. true if the current instance is the identity quaternion; otherwise, false. Calculates the length of the quaternion. The computed length of the quaternion. Calculates the squared length of the quaternion. The length squared of the quaternion. Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion. The first quaternion. The second quaternion. The relative weight of quaternion2 in the interpolation. The interpolated quaternion. Returns the quaternion that results from multiplying two quaternions together. The first quaternion. The second quaternion. The product quaternion. Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. The source quaternion. The scalar value. The scaled quaternion. Reverses the sign of each component of the quaternion. The quaternion to negate. The negated quaternion. Divides each component of a specified by its length. The quaternion to normalize. The normalized quaternion. Adds each element in one quaternion with its corresponding element in a second quaternion. The first quaternion. The second quaternion. The quaternion that contains the summed values of value1 and value2. Divides one quaternion by a second quaternion. The dividend. The divisor. The quaternion that results from dividing value1 by value2. Returns a value that indicates whether two quaternions are equal. The first quaternion to compare. The second quaternion to compare. true if the two quaternions are equal; otherwise, false. Returns a value that indicates whether two quaternions are not equal. The first quaternion to compare. The second quaternion to compare. true if value1 and value2 are not equal; otherwise, false. Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. The source quaternion. The scalar value. The scaled quaternion. Returns the quaternion that results from multiplying two quaternions together. The first quaternion. The second quaternion. The product quaternion. Subtracts each element in a second quaternion from its corresponding element in a first quaternion. The first quaternion. The second quaternion. The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. Reverses the sign of each component of the quaternion. The quaternion to negate. The negated quaternion. Interpolates between two quaternions, using spherical linear interpolation. The first quaternion. The second quaternion. The relative weight of the second quaternion in the interpolation. The interpolated quaternion. Subtracts each element in a second quaternion from its corresponding element in a first quaternion. The first quaternion. The second quaternion. The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this quaternion. The string representation of this quaternion. The rotation component of the quaternion. The X value of the vector component of the quaternion. The Y value of the vector component of the quaternion. The Z value of the vector component of the quaternion. Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms. The vector type. T can be any primitive numeric type. Creates a vector whose components are of a specified type. The numeric type that defines the type of the components in the vector. Creates a vector from a specified array. A numeric array. values is null. Creates a vector from a specified array starting at a specified index position. A numeric array. The starting index position from which to create the vector. values is null. index is less than zero. -or- The length of values minus index is less than . Copies the vector instance to a specified destination array. The array to receive a copy of the vector values. destination is null. The number of elements in the current vector is greater than the number of elements available in the destination array. Copies the vector instance to a specified destination array starting at a specified index position. The array to receive a copy of the vector values. The starting index in destination at which to begin the copy operation. destination is null. The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array. index is less than zero or greater than the last index in destination. Returns the number of elements stored in the vector. The number of elements stored in the vector. Access to the property getter via reflection is not supported. Returns a value that indicates whether this instance is equal to a specified vector. The vector to compare with this instance. true if the current instance and other are equal; otherwise, false. Returns a value that indicates whether this instance is equal to a specified object. The object to compare with this instance. true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance. Returns the hash code for this instance. The hash code. Gets the element at a specified index. The index of the element to return. The element at index index. index is less than zero. -or- index is greater than or equal to . Returns a vector containing all ones. A vector containing all ones. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Returns a new vector by performing a bitwise And operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise And of left and right. Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise Or of the elements in left and right. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Returns a value that indicates whether each pair of elements in two specified vectors are equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise XOr of the elements in left and right. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Returns a value that indicates whether any single pair of elements in the specified vectors is equal. The first vector to compare. The second vector to compare. true if any element pairs in left and right are equal. false if no element pairs are equal. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar value. The source vector. A scalar value. The scaled vector. Multiplies a vector by the given scalar. The scalar value. The source vector. The scaled vector. Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. The source vector. The one&#39;s complement vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates a given vector. The vector to negate. The negated vector. Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Returns the string representation of this vector using default formatting. The string representation of this vector. Returns the string representation of this vector using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns a vector containing all zeroes. A vector containing all zeroes. Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors. Returns a new vector whose elements are the absolute values of the given vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The absolute value vector. Returns a new vector whose values are the sum of each pair of elements from two given vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The summed vector. Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Reinterprets the bits of a specified vector into those of a vector of unsigned bytes. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a double-precision floating-point vector. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of 16-bit integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of long integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of signed bytes. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a single-precision floating-point vector. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned long integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The new vector with elements selected based on the mask. Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The new vector with elements selected based on the mask. Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The vector type. T can be any primitive numeric type. The new vector with elements selected based on the mask. Returns a new vector whose values are the result of dividing the first vector&#39;s elements by the corresponding elements in the second vector. The first vector. The second vector. The vector type. T can be any primitive numeric type. The divided vector. Returns the dot product of two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The dot product. Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether each pair of elements in the given vectors is equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left and right are equal; otherwise, false. Returns a value that indicates whether any single pair of elements in the given vectors is equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element pair in left and right is equal; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left are greater than the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is greater than the corresponding element in right; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is greater than or equal to the corresponding element in right; otherwise, false. Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support. true if vector operations are subject to hardware acceleration; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all of the elements in left are less than the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is less than the corresponding element in right; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is less than or equal to the corresponding element in right; otherwise, false. Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The maximum vector. Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The minimum vector. Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector. The scalar value. The vector. The vector type. T can be any primitive numeric type. The scaled vector. Returns a new vector whose values are the product of each pair of elements in two specified vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The product vector. Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value. The vector. The scalar value. The vector type. T can be any primitive numeric type. The scaled vector. Returns a new vector whose elements are the negation of the corresponding element in the specified vector. The source vector. The vector type. T can be any primitive numeric type. The negated vector. Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The resulting vector. Returns a new vector whose elements are the square roots of a specified vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The square root vector. Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector. The first vector. The second vector. The vector type. T can be any primitive numeric type. The difference vector. Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Represents a vector with two single-precision floating-point values. Creates a new object whose two elements have the same value. The value to assign to both elements. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns the hash code for this instance. The hash code. Returns the length of the vector. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 2 elements are equal to one. A vector whose two elements are equal to one (that is, it returns the vector (1,1). Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns the reflection of a vector off a surface that has the specified normal. The source vector. The normal of the surface being reflected off. The reflected vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a vector by a specified 3x2 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a vector normal by the given 3x2 matrix. The source vector. The matrix. The transformed vector. Transforms a vector normal by the given 4x4 matrix. The source vector. The matrix. The transformed vector. Gets the vector (1,0). The vector (1,0). Gets the vector (0,1). The vector (0,1). The X component of the vector. The Y component of the vector. Returns a vector whose 2 elements are equal to zero. A vector whose two elements are equal to zero (that is, it returns the vector (0,0). Represents a vector with three single-precision floating-point values. Creates a new object whose three elements have the same value. The value to assign to all three elements. Creates a new object from the specified object and the specified value. The vector with two elements. The additional value to assign to the field. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the cross product of two vectors. The first vector. The second vector. The cross product. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Returns the length of this vector object. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 3 elements are equal to one. A vector whose three elements are equal to one (that is, it returns the vector (1,1,1). Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns the reflection of a vector off a surface that has the specified normal. The source vector. The normal of the surface being reflected off. The reflected vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a vector normal by the given 4x4 matrix. The source vector. The matrix. The transformed vector. Gets the vector (1,0,0). The vector (1,0,0). Gets the vector (0,1,0). The vector (0,1,0).. Gets the vector (0,0,1). The vector (0,0,1). The X component of the vector. The Y component of the vector. The Z component of the vector. Gets a vector whose 3 elements are equal to zero. A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0). Represents a vector with four single-precision floating-point values. Creates a new object whose four elements have the same value. The value to assign to all four elements. Constructs a new object from the specified object and a W component. The vector to use for the X, Y, and Z components. The W component. Creates a new object from the specified object and a Z and a W component. The vector to use for the X and Y components. The Z component. The W component. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Returns the length of this vector object. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 4 elements are equal to one. Returns . Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a four-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a four-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a three-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a two-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a two-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a three-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Gets the vector (0,0,0,1). The vector (0,0,0,1). Gets the vector (1,0,0,0). The vector (1,0,0,0). Gets the vector (0,1,0,0). The vector (0,1,0,0).. Gets a vector whose 4 elements are equal to zero. The vector (0,0,1,0). The W component of the vector. The X component of the vector. The Y component of the vector. The Z component of the vector. Gets a vector whose 4 elements are equal to zero. A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0). ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/ref/net46/System.Numerics.Vectors.xml ================================================  System.Numerics.Vectors Represents a 3x2 matrix. Creates a 3x2 matrix from the specified components. The value to assign to the first element in the first row. The value to assign to the second element in the first row. The value to assign to the first element in the second row. The value to assign to the second element in the second row. The value to assign to the first element in the third row. The value to assign to the second element in the third row. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values of value1 and value2. Creates a rotation matrix using the given rotation in radians. The amount of rotation, in radians. The rotation matrix. Creates a rotation matrix using the specified rotation in radians and a center point. The amount of rotation, in radians. The center point. The rotation matrix. Creates a scaling matrix from the specified X and Y components. The value to scale by on the X axis. The value to scale by on the Y axis. The scaling matrix. Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. The uniform scale to use. The center offset. The scaling matrix. Creates a scaling matrix that is offset by a given center point. The value to scale by on the X axis. The value to scale by on the Y axis. The center point. The scaling matrix. Creates a scaling matrix that scales uniformly with the given scale. The uniform scale to use. The scaling matrix. Creates a scaling matrix from the specified vector scale. The scale to use. The scaling matrix. Creates a scaling matrix from the specified vector scale with an offset from the specified center point. The scale to use. The center offset. The scaling matrix. Creates a skew matrix from the specified angles in radians. The X angle, in radians. The Y angle, in radians. The skew matrix. Creates a skew matrix from the specified angles in radians and a center point. The X angle, in radians. The Y angle, in radians. The center point. The skew matrix. Creates a translation matrix from the specified 2-dimensional vector. The translation position. The translation matrix. Creates a translation matrix from the specified X and Y components. The X position. The Y position. The translation matrix. Returns a value that indicates whether this instance and another 3x2 matrix are equal. The other matrix. true if the two matrices are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Calculates the determinant for this matrix. The determinant. Returns the hash code for this instance. The hash code. Gets the multiplicative identity matrix. The multiplicative identify matrix. Inverts the specified matrix. The return value indicates whether the operation succeeded. The matrix to invert. When this method returns, contains the inverted matrix if the operation succeeded. true if matrix was converted successfully; otherwise, false. Indicates whether the current matrix is the identity matrix. true if the current matrix is the identity matrix; otherwise, false. Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. The first matrix. The second matrix. The relative weighting of matrix2. The interpolated matrix. The first element of the first row. The second element of the first row. The first element of the second row. The second element of the second row. The first element of the third row. The second element of the third row. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values. Returns a value that indicates whether the specified matrices are equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether the specified matrices are not equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are not equal; otherwise, false. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this matrix. The string representation of this matrix. Gets or sets the translation component of this matrix. The translation component of the current instance. Represents a 4x4 matrix. Creates a object from a specified object. A 3x2 matrix. Creates a 4x4 matrix from the specified components. The value to assign to the first element in the first row. The value to assign to the second element in the first row. The value to assign to the third element in the first row. The value to assign to the fourth element in the first row. The value to assign to the first element in the second row. The value to assign to the second element in the second row. The value to assign to the third element in the second row. The value to assign to the third element in the second row. The value to assign to the first element in the third row. The value to assign to the second element in the third row. The value to assign to the third element in the third row. The value to assign to the fourth element in the third row. The value to assign to the first element in the fourth row. The value to assign to the second element in the fourth row. The value to assign to the third element in the fourth row. The value to assign to the fourth element in the fourth row. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values of value1 and value2. Creates a spherical billboard that rotates around a specified object position. The position of the object that the billboard will rotate around. The position of the camera. The up vector of the camera. The forward vector of the camera. The created billboard. Creates a cylindrical billboard that rotates around a specified axis. The position of the object that the billboard will rotate around. The position of the camera. The axis to rotate the billboard around. The forward vector of the camera. The forward vector of the object. The billboard matrix. Creates a matrix that rotates around an arbitrary vector. The axis to rotate around. The angle to rotate around axis, in radians. The rotation matrix. Creates a rotation matrix from the specified Quaternion rotation value. The source Quaternion. The rotation matrix. Creates a rotation matrix from the specified yaw, pitch, and roll. The angle of rotation, in radians, around the Y axis. The angle of rotation, in radians, around the X axis. The angle of rotation, in radians, around the Z axis. The rotation matrix. Creates a view matrix. The position of the camera. The target towards which the camera is pointing. The direction that is &quot;up&quot; from the camera&#39;s point of view. The view matrix. Creates an orthographic perspective matrix from the given view volume dimensions. The width of the view volume. The height of the view volume. The minimum Z-value of the view volume. The maximum Z-value of the view volume. The orthographic projection matrix. Creates a customized orthographic projection matrix. The minimum X-value of the view volume. The maximum X-value of the view volume. The minimum Y-value of the view volume. The maximum Y-value of the view volume. The minimum Z-value of the view volume. The maximum Z-value of the view volume. The orthographic projection matrix. Creates a perspective projection matrix from the given view volume dimensions. The width of the view volume at the near view plane. The height of the view volume at the near view plane. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. The field of view in the y direction, in radians. The aspect ratio, defined as view space width divided by height. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. fieldOfView is less than or equal to zero. -or- fieldOfView is greater than or equal to . nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a customized perspective projection matrix. The minimum x-value of the view volume at the near view plane. The maximum x-value of the view volume at the near view plane. The minimum y-value of the view volume at the near view plane. The maximum y-value of the view volume at the near view plane. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a matrix that reflects the coordinate system about a specified plane. The plane about which to create a reflection. A new matrix expressing the reflection. Creates a matrix for rotating points around the X axis. The amount, in radians, by which to rotate around the X axis. The rotation matrix. Creates a matrix for rotating points around the X axis from a center point. The amount, in radians, by which to rotate around the X axis. The center point. The rotation matrix. The amount, in radians, by which to rotate around the Y axis from a center point. The amount, in radians, by which to rotate around the Y-axis. The center point. The rotation matrix. Creates a matrix for rotating points around the Y axis. The amount, in radians, by which to rotate around the Y-axis. The rotation matrix. Creates a matrix for rotating points around the Z axis. The amount, in radians, by which to rotate around the Z-axis. The rotation matrix. Creates a matrix for rotating points around the Z axis from a center point. The amount, in radians, by which to rotate around the Z-axis. The center point. The rotation matrix. Creates a scaling matrix from the specified vector scale. The scale to use. The scaling matrix. Creates a uniform scaling matrix that scale equally on each axis. The uniform scaling factor. The scaling matrix. Creates a scaling matrix with a center point. The vector that contains the amount to scale on each axis. The center point. The scaling matrix. Creates a uniform scaling matrix that scales equally on each axis with a center point. The uniform scaling factor. The center point. The scaling matrix. Creates a scaling matrix from the specified X, Y, and Z components. The value to scale by on the X axis. The value to scale by on the Y axis. The value to scale by on the Z axis. The scaling matrix. Creates a scaling matrix that is offset by a given center point. The value to scale by on the X axis. The value to scale by on the Y axis. The value to scale by on the Z axis. The center point. The scaling matrix. Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. The direction from which the light that will cast the shadow is coming. The plane onto which the new matrix should flatten geometry so as to cast a shadow. A new matrix that can be used to flatten geometry onto the specified plane from the specified direction. Creates a translation matrix from the specified 3-dimensional vector. The amount to translate in each axis. The translation matrix. Creates a translation matrix from the specified X, Y, and Z components. The amount to translate on the X axis. The amount to translate on the Y axis. The amount to translate on the Z axis. The translation matrix. Creates a world matrix with the specified parameters. The position of the object. The forward direction of the object. The upward direction of the object. Its value is usually [0, 1, 0]. The world matrix. Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. The source matrix. When this method returns, contains the scaling component of the transformation matrix if the operation succeeded. When this method returns, contains the rotation component of the transformation matrix if the operation succeeded. When the method returns, contains the translation component of the transformation matrix if the operation succeeded. true if matrix was decomposed successfully; otherwise, false. Returns a value that indicates whether this instance and another 4x4 matrix are equal. The other matrix. true if the two matrices are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Calculates the determinant of the current 4x4 matrix. The determinant. Returns the hash code for this instance. The hash code. Gets the multiplicative identity matrix. Gets the multiplicative identity matrix. Inverts the specified matrix. The return value indicates whether the operation succeeded. The matrix to invert. When this method returns, contains the inverted matrix if the operation succeeded. true if matrix was converted successfully; otherwise, false. Indicates whether the current matrix is the identity matrix. true if the current matrix is the identity matrix; otherwise, false. Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. The first matrix. The second matrix. The relative weighting of matrix2. The interpolated matrix. The first element of the first row. The second element of the first row. The third element of the first row. The fourth element of the first row. The first element of the second row. The second element of the second row. The third element of the second row. The fourth element of the second row. The first element of the third row. The second element of the third row. The third element of the third row. The fourth element of the third row. The first element of the fourth row. The second element of the fourth row. The third element of the fourth row. The fourth element of the fourth row. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values. Returns a value that indicates whether the specified matrices are equal. The first matrix to compare. The second matrix to care true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether the specified matrices are not equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are not equal; otherwise, false. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this matrix. The string representation of this matrix. Transforms the specified matrix by applying the specified Quaternion rotation. The matrix to transform. The rotation t apply. The transformed matrix. Gets or sets the translation component of this matrix. The translation component of the current instance. Transposes the rows and columns of a matrix. The matrix to transpose. The transposed matrix. Represents a three-dimensional plane. Creates a object from a specified four-dimensional vector. A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin. Creates a object from a specified normal and the distance along the normal from the origin. The plane&#39;s normal vector. The plane&#39;s distance from the origin along its normal vector. Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. The X component of the normal. The Y component of the normal. The Z component of the normal. The distance of the plane along its normal from the origin. Creates a object that contains three specified points. The first point defining the plane. The second point defining the plane. The third point defining the plane. The plane containing the three points. The distance of the plane along its normal from the origin. Calculates the dot product of a plane and a 4-dimensional vector. The plane. The four-dimensional vector. The dot product. Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane. The plane. The 3-dimensional vector. The dot product. Returns the dot product of a specified three-dimensional vector and the vector of this plane. The plane. The three-dimensional vector. The dot product. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns a value that indicates whether this instance and another plane object are equal. The other plane. true if the two planes are equal; otherwise, false. Returns the hash code for this instance. The hash code. The normal vector of the plane. Creates a new object whose normal vector is the source plane&#39;s normal vector normalized. The source plane. The normalized plane. Returns a value that indicates whether two planes are equal. The first plane to compare. The second plane to compare. true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether two planes are not equal. The first plane to compare. The second plane to compare. true if value1 and value2 are not equal; otherwise, false. Returns the string representation of this plane object. A string that represents this object. Transforms a normalized plane by a 4x4 matrix. The normalized plane to transform. The transformation matrix to apply to plane. The transformed plane. Transforms a normalized plane by a Quaternion rotation. The normalized plane to transform. The Quaternion rotation to apply to the plane. A new plane that results from applying the Quaternion rotation. Represents a vector that is used to encode three-dimensional physical rotations. Creates a quaternion from the specified vector and rotation parts. The vector part of the quaternion. The rotation part of the quaternion. Constructs a quaternion from the specified components. The value to assign to the X component of the quaternion. The value to assign to the Y component of the quaternion. The value to assign to the Z component of the quaternion. The value to assign to the W component of the quaternion. Adds each element in one quaternion with its corresponding element in a second quaternion. The first quaternion. The second quaternion. The quaternion that contains the summed values of value1 and value2. Concatenates two quaternions. The first quaternion rotation in the series. The second quaternion rotation in the series. A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. Returns the conjugate of a specified quaternion. The quaternion. A new quaternion that is the conjugate of value. Creates a quaternion from a vector and an angle to rotate about the vector. The vector to rotate around. The angle, in radians, to rotate around the vector. The newly created quaternion. Creates a quaternion from the specified rotation matrix. The rotation matrix. The newly created quaternion. Creates a new quaternion from the given yaw, pitch, and roll. The yaw angle, in radians, around the Y axis. The pitch angle, in radians, around the X axis. The roll angle, in radians, around the Z axis. The resulting quaternion. Divides one quaternion by a second quaternion. The dividend. The divisor. The quaternion that results from dividing value1 by value2. Calculates the dot product of two quaternions. The first quaternion. The second quaternion. The dot product. Returns a value that indicates whether this instance and another quaternion are equal. The other quaternion. true if the two quaternions are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Gets a quaternion that represents no rotation. A quaternion whose values are (0, 0, 0, 1). Returns the inverse of a quaternion. The quaternion. The inverted quaternion. Gets a value that indicates whether the current instance is the identity quaternion. true if the current instance is the identity quaternion; otherwise, false. Calculates the length of the quaternion. The computed length of the quaternion. Calculates the squared length of the quaternion. The length squared of the quaternion. Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion. The first quaternion. The second quaternion. The relative weight of quaternion2 in the interpolation. The interpolated quaternion. Returns the quaternion that results from multiplying two quaternions together. The first quaternion. The second quaternion. The product quaternion. Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. The source quaternion. The scalar value. The scaled quaternion. Reverses the sign of each component of the quaternion. The quaternion to negate. The negated quaternion. Divides each component of a specified by its length. The quaternion to normalize. The normalized quaternion. Adds each element in one quaternion with its corresponding element in a second quaternion. The first quaternion. The second quaternion. The quaternion that contains the summed values of value1 and value2. Divides one quaternion by a second quaternion. The dividend. The divisor. The quaternion that results from dividing value1 by value2. Returns a value that indicates whether two quaternions are equal. The first quaternion to compare. The second quaternion to compare. true if the two quaternions are equal; otherwise, false. Returns a value that indicates whether two quaternions are not equal. The first quaternion to compare. The second quaternion to compare. true if value1 and value2 are not equal; otherwise, false. Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. The source quaternion. The scalar value. The scaled quaternion. Returns the quaternion that results from multiplying two quaternions together. The first quaternion. The second quaternion. The product quaternion. Subtracts each element in a second quaternion from its corresponding element in a first quaternion. The first quaternion. The second quaternion. The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. Reverses the sign of each component of the quaternion. The quaternion to negate. The negated quaternion. Interpolates between two quaternions, using spherical linear interpolation. The first quaternion. The second quaternion. The relative weight of the second quaternion in the interpolation. The interpolated quaternion. Subtracts each element in a second quaternion from its corresponding element in a first quaternion. The first quaternion. The second quaternion. The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this quaternion. The string representation of this quaternion. The rotation component of the quaternion. The X value of the vector component of the quaternion. The Y value of the vector component of the quaternion. The Z value of the vector component of the quaternion. Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms. The vector type. T can be any primitive numeric type. Creates a vector whose components are of a specified type. The numeric type that defines the type of the components in the vector. Creates a vector from a specified array. A numeric array. values is null. Creates a vector from a specified array starting at a specified index position. A numeric array. The starting index position from which to create the vector. values is null. index is less than zero. -or- The length of values minus index is less than . Copies the vector instance to a specified destination array. The array to receive a copy of the vector values. destination is null. The number of elements in the current vector is greater than the number of elements available in the destination array. Copies the vector instance to a specified destination array starting at a specified index position. The array to receive a copy of the vector values. The starting index in destination at which to begin the copy operation. destination is null. The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array. index is less than zero or greater than the last index in destination. Returns the number of elements stored in the vector. The number of elements stored in the vector. Access to the property getter via reflection is not supported. Returns a value that indicates whether this instance is equal to a specified vector. The vector to compare with this instance. true if the current instance and other are equal; otherwise, false. Returns a value that indicates whether this instance is equal to a specified object. The object to compare with this instance. true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance. Returns the hash code for this instance. The hash code. Gets the element at a specified index. The index of the element to return. The element at index index. index is less than zero. -or- index is greater than or equal to . Returns a vector containing all ones. A vector containing all ones. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Returns a new vector by performing a bitwise And operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise And of left and right. Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise Or of the elements in left and right. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Returns a value that indicates whether each pair of elements in two specified vectors are equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise XOr of the elements in left and right. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Returns a value that indicates whether any single pair of elements in the specified vectors is equal. The first vector to compare. The second vector to compare. true if any element pairs in left and right are equal. false if no element pairs are equal. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar value. The source vector. A scalar value. The scaled vector. Multiplies a vector by the given scalar. The scalar value. The source vector. The scaled vector. Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. The source vector. The one&#39;s complement vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates a given vector. The vector to negate. The negated vector. Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Returns the string representation of this vector using default formatting. The string representation of this vector. Returns the string representation of this vector using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns a vector containing all zeroes. A vector containing all zeroes. Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors. Returns a new vector whose elements are the absolute values of the given vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The absolute value vector. Returns a new vector whose values are the sum of each pair of elements from two given vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The summed vector. Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Reinterprets the bits of a specified vector into those of a vector of unsigned bytes. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a double-precision floating-point vector. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of 16-bit integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of long integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of signed bytes. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a single-precision floating-point vector. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned long integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The new vector with elements selected based on the mask. Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The new vector with elements selected based on the mask. Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The vector type. T can be any primitive numeric type. The new vector with elements selected based on the mask. Returns a new vector whose values are the result of dividing the first vector&#39;s elements by the corresponding elements in the second vector. The first vector. The second vector. The vector type. T can be any primitive numeric type. The divided vector. Returns the dot product of two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The dot product. Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether each pair of elements in the given vectors is equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left and right are equal; otherwise, false. Returns a value that indicates whether any single pair of elements in the given vectors is equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element pair in left and right is equal; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left are greater than the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is greater than the corresponding element in right; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is greater than or equal to the corresponding element in right; otherwise, false. Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support. true if vector operations are subject to hardware acceleration; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all of the elements in left are less than the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is less than the corresponding element in right; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is less than or equal to the corresponding element in right; otherwise, false. Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The maximum vector. Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The minimum vector. Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector. The scalar value. The vector. The vector type. T can be any primitive numeric type. The scaled vector. Returns a new vector whose values are the product of each pair of elements in two specified vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The product vector. Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value. The vector. The scalar value. The vector type. T can be any primitive numeric type. The scaled vector. Returns a new vector whose elements are the negation of the corresponding element in the specified vector. The source vector. The vector type. T can be any primitive numeric type. The negated vector. Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The resulting vector. Returns a new vector whose elements are the square roots of a specified vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The square root vector. Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector. The first vector. The second vector. The vector type. T can be any primitive numeric type. The difference vector. Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Represents a vector with two single-precision floating-point values. Creates a new object whose two elements have the same value. The value to assign to both elements. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns the hash code for this instance. The hash code. Returns the length of the vector. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 2 elements are equal to one. A vector whose two elements are equal to one (that is, it returns the vector (1,1). Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns the reflection of a vector off a surface that has the specified normal. The source vector. The normal of the surface being reflected off. The reflected vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a vector by a specified 3x2 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a vector normal by the given 3x2 matrix. The source vector. The matrix. The transformed vector. Transforms a vector normal by the given 4x4 matrix. The source vector. The matrix. The transformed vector. Gets the vector (1,0). The vector (1,0). Gets the vector (0,1). The vector (0,1). The X component of the vector. The Y component of the vector. Returns a vector whose 2 elements are equal to zero. A vector whose two elements are equal to zero (that is, it returns the vector (0,0). Represents a vector with three single-precision floating-point values. Creates a new object whose three elements have the same value. The value to assign to all three elements. Creates a new object from the specified object and the specified value. The vector with two elements. The additional value to assign to the field. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the cross product of two vectors. The first vector. The second vector. The cross product. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Returns the length of this vector object. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 3 elements are equal to one. A vector whose three elements are equal to one (that is, it returns the vector (1,1,1). Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns the reflection of a vector off a surface that has the specified normal. The source vector. The normal of the surface being reflected off. The reflected vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a vector normal by the given 4x4 matrix. The source vector. The matrix. The transformed vector. Gets the vector (1,0,0). The vector (1,0,0). Gets the vector (0,1,0). The vector (0,1,0).. Gets the vector (0,0,1). The vector (0,0,1). The X component of the vector. The Y component of the vector. The Z component of the vector. Gets a vector whose 3 elements are equal to zero. A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0). Represents a vector with four single-precision floating-point values. Creates a new object whose four elements have the same value. The value to assign to all four elements. Constructs a new object from the specified object and a W component. The vector to use for the X, Y, and Z components. The W component. Creates a new object from the specified object and a Z and a W component. The vector to use for the X and Y components. The Z component. The W component. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Returns the length of this vector object. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 4 elements are equal to one. Returns . Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a four-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a four-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a three-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a two-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a two-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a three-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Gets the vector (0,0,0,1). The vector (0,0,0,1). Gets the vector (1,0,0,0). The vector (1,0,0,0). Gets the vector (0,1,0,0). The vector (0,1,0,0).. Gets a vector whose 4 elements are equal to zero. The vector (0,0,1,0). The W component of the vector. The X component of the vector. The Y component of the vector. The Z component of the vector. Gets a vector whose 4 elements are equal to zero. A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0). ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/ref/netcoreapp2.0/_._ ================================================ ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/ref/netstandard1.0/System.Numerics.Vectors.xml ================================================  System.Numerics.Vectors Represents a 3x2 matrix. Creates a 3x2 matrix from the specified components. The value to assign to the first element in the first row. The value to assign to the second element in the first row. The value to assign to the first element in the second row. The value to assign to the second element in the second row. The value to assign to the first element in the third row. The value to assign to the second element in the third row. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values of value1 and value2. Creates a rotation matrix using the given rotation in radians. The amount of rotation, in radians. The rotation matrix. Creates a rotation matrix using the specified rotation in radians and a center point. The amount of rotation, in radians. The center point. The rotation matrix. Creates a scaling matrix from the specified X and Y components. The value to scale by on the X axis. The value to scale by on the Y axis. The scaling matrix. Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. The uniform scale to use. The center offset. The scaling matrix. Creates a scaling matrix that is offset by a given center point. The value to scale by on the X axis. The value to scale by on the Y axis. The center point. The scaling matrix. Creates a scaling matrix that scales uniformly with the given scale. The uniform scale to use. The scaling matrix. Creates a scaling matrix from the specified vector scale. The scale to use. The scaling matrix. Creates a scaling matrix from the specified vector scale with an offset from the specified center point. The scale to use. The center offset. The scaling matrix. Creates a skew matrix from the specified angles in radians. The X angle, in radians. The Y angle, in radians. The skew matrix. Creates a skew matrix from the specified angles in radians and a center point. The X angle, in radians. The Y angle, in radians. The center point. The skew matrix. Creates a translation matrix from the specified 2-dimensional vector. The translation position. The translation matrix. Creates a translation matrix from the specified X and Y components. The X position. The Y position. The translation matrix. Returns a value that indicates whether this instance and another 3x2 matrix are equal. The other matrix. true if the two matrices are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Calculates the determinant for this matrix. The determinant. Returns the hash code for this instance. The hash code. Gets the multiplicative identity matrix. The multiplicative identify matrix. Inverts the specified matrix. The return value indicates whether the operation succeeded. The matrix to invert. When this method returns, contains the inverted matrix if the operation succeeded. true if matrix was converted successfully; otherwise, false. Indicates whether the current matrix is the identity matrix. true if the current matrix is the identity matrix; otherwise, false. Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. The first matrix. The second matrix. The relative weighting of matrix2. The interpolated matrix. The first element of the first row. The second element of the first row. The first element of the second row. The second element of the second row. The first element of the third row. The second element of the third row. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values. Returns a value that indicates whether the specified matrices are equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether the specified matrices are not equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are not equal; otherwise, false. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this matrix. The string representation of this matrix. Gets or sets the translation component of this matrix. The translation component of the current instance. Represents a 4x4 matrix. Creates a object from a specified object. A 3x2 matrix. Creates a 4x4 matrix from the specified components. The value to assign to the first element in the first row. The value to assign to the second element in the first row. The value to assign to the third element in the first row. The value to assign to the fourth element in the first row. The value to assign to the first element in the second row. The value to assign to the second element in the second row. The value to assign to the third element in the second row. The value to assign to the third element in the second row. The value to assign to the first element in the third row. The value to assign to the second element in the third row. The value to assign to the third element in the third row. The value to assign to the fourth element in the third row. The value to assign to the first element in the fourth row. The value to assign to the second element in the fourth row. The value to assign to the third element in the fourth row. The value to assign to the fourth element in the fourth row. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values of value1 and value2. Creates a spherical billboard that rotates around a specified object position. The position of the object that the billboard will rotate around. The position of the camera. The up vector of the camera. The forward vector of the camera. The created billboard. Creates a cylindrical billboard that rotates around a specified axis. The position of the object that the billboard will rotate around. The position of the camera. The axis to rotate the billboard around. The forward vector of the camera. The forward vector of the object. The billboard matrix. Creates a matrix that rotates around an arbitrary vector. The axis to rotate around. The angle to rotate around axis, in radians. The rotation matrix. Creates a rotation matrix from the specified Quaternion rotation value. The source Quaternion. The rotation matrix. Creates a rotation matrix from the specified yaw, pitch, and roll. The angle of rotation, in radians, around the Y axis. The angle of rotation, in radians, around the X axis. The angle of rotation, in radians, around the Z axis. The rotation matrix. Creates a view matrix. The position of the camera. The target towards which the camera is pointing. The direction that is &quot;up&quot; from the camera&#39;s point of view. The view matrix. Creates an orthographic perspective matrix from the given view volume dimensions. The width of the view volume. The height of the view volume. The minimum Z-value of the view volume. The maximum Z-value of the view volume. The orthographic projection matrix. Creates a customized orthographic projection matrix. The minimum X-value of the view volume. The maximum X-value of the view volume. The minimum Y-value of the view volume. The maximum Y-value of the view volume. The minimum Z-value of the view volume. The maximum Z-value of the view volume. The orthographic projection matrix. Creates a perspective projection matrix from the given view volume dimensions. The width of the view volume at the near view plane. The height of the view volume at the near view plane. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. The field of view in the y direction, in radians. The aspect ratio, defined as view space width divided by height. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. fieldOfView is less than or equal to zero. -or- fieldOfView is greater than or equal to . nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a customized perspective projection matrix. The minimum x-value of the view volume at the near view plane. The maximum x-value of the view volume at the near view plane. The minimum y-value of the view volume at the near view plane. The maximum y-value of the view volume at the near view plane. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a matrix that reflects the coordinate system about a specified plane. The plane about which to create a reflection. A new matrix expressing the reflection. Creates a matrix for rotating points around the X axis. The amount, in radians, by which to rotate around the X axis. The rotation matrix. Creates a matrix for rotating points around the X axis from a center point. The amount, in radians, by which to rotate around the X axis. The center point. The rotation matrix. The amount, in radians, by which to rotate around the Y axis from a center point. The amount, in radians, by which to rotate around the Y-axis. The center point. The rotation matrix. Creates a matrix for rotating points around the Y axis. The amount, in radians, by which to rotate around the Y-axis. The rotation matrix. Creates a matrix for rotating points around the Z axis. The amount, in radians, by which to rotate around the Z-axis. The rotation matrix. Creates a matrix for rotating points around the Z axis from a center point. The amount, in radians, by which to rotate around the Z-axis. The center point. The rotation matrix. Creates a scaling matrix from the specified vector scale. The scale to use. The scaling matrix. Creates a uniform scaling matrix that scale equally on each axis. The uniform scaling factor. The scaling matrix. Creates a scaling matrix with a center point. The vector that contains the amount to scale on each axis. The center point. The scaling matrix. Creates a uniform scaling matrix that scales equally on each axis with a center point. The uniform scaling factor. The center point. The scaling matrix. Creates a scaling matrix from the specified X, Y, and Z components. The value to scale by on the X axis. The value to scale by on the Y axis. The value to scale by on the Z axis. The scaling matrix. Creates a scaling matrix that is offset by a given center point. The value to scale by on the X axis. The value to scale by on the Y axis. The value to scale by on the Z axis. The center point. The scaling matrix. Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. The direction from which the light that will cast the shadow is coming. The plane onto which the new matrix should flatten geometry so as to cast a shadow. A new matrix that can be used to flatten geometry onto the specified plane from the specified direction. Creates a translation matrix from the specified 3-dimensional vector. The amount to translate in each axis. The translation matrix. Creates a translation matrix from the specified X, Y, and Z components. The amount to translate on the X axis. The amount to translate on the Y axis. The amount to translate on the Z axis. The translation matrix. Creates a world matrix with the specified parameters. The position of the object. The forward direction of the object. The upward direction of the object. Its value is usually [0, 1, 0]. The world matrix. Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. The source matrix. When this method returns, contains the scaling component of the transformation matrix if the operation succeeded. When this method returns, contains the rotation component of the transformation matrix if the operation succeeded. When the method returns, contains the translation component of the transformation matrix if the operation succeeded. true if matrix was decomposed successfully; otherwise, false. Returns a value that indicates whether this instance and another 4x4 matrix are equal. The other matrix. true if the two matrices are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Calculates the determinant of the current 4x4 matrix. The determinant. Returns the hash code for this instance. The hash code. Gets the multiplicative identity matrix. Gets the multiplicative identity matrix. Inverts the specified matrix. The return value indicates whether the operation succeeded. The matrix to invert. When this method returns, contains the inverted matrix if the operation succeeded. true if matrix was converted successfully; otherwise, false. Indicates whether the current matrix is the identity matrix. true if the current matrix is the identity matrix; otherwise, false. Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. The first matrix. The second matrix. The relative weighting of matrix2. The interpolated matrix. The first element of the first row. The second element of the first row. The third element of the first row. The fourth element of the first row. The first element of the second row. The second element of the second row. The third element of the second row. The fourth element of the second row. The first element of the third row. The second element of the third row. The third element of the third row. The fourth element of the third row. The first element of the fourth row. The second element of the fourth row. The third element of the fourth row. The fourth element of the fourth row. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values. Returns a value that indicates whether the specified matrices are equal. The first matrix to compare. The second matrix to care true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether the specified matrices are not equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are not equal; otherwise, false. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this matrix. The string representation of this matrix. Transforms the specified matrix by applying the specified Quaternion rotation. The matrix to transform. The rotation t apply. The transformed matrix. Gets or sets the translation component of this matrix. The translation component of the current instance. Transposes the rows and columns of a matrix. The matrix to transpose. The transposed matrix. Represents a three-dimensional plane. Creates a object from a specified four-dimensional vector. A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin. Creates a object from a specified normal and the distance along the normal from the origin. The plane&#39;s normal vector. The plane&#39;s distance from the origin along its normal vector. Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. The X component of the normal. The Y component of the normal. The Z component of the normal. The distance of the plane along its normal from the origin. Creates a object that contains three specified points. The first point defining the plane. The second point defining the plane. The third point defining the plane. The plane containing the three points. The distance of the plane along its normal from the origin. Calculates the dot product of a plane and a 4-dimensional vector. The plane. The four-dimensional vector. The dot product. Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane. The plane. The 3-dimensional vector. The dot product. Returns the dot product of a specified three-dimensional vector and the vector of this plane. The plane. The three-dimensional vector. The dot product. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns a value that indicates whether this instance and another plane object are equal. The other plane. true if the two planes are equal; otherwise, false. Returns the hash code for this instance. The hash code. The normal vector of the plane. Creates a new object whose normal vector is the source plane&#39;s normal vector normalized. The source plane. The normalized plane. Returns a value that indicates whether two planes are equal. The first plane to compare. The second plane to compare. true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether two planes are not equal. The first plane to compare. The second plane to compare. true if value1 and value2 are not equal; otherwise, false. Returns the string representation of this plane object. A string that represents this object. Transforms a normalized plane by a 4x4 matrix. The normalized plane to transform. The transformation matrix to apply to plane. The transformed plane. Transforms a normalized plane by a Quaternion rotation. The normalized plane to transform. The Quaternion rotation to apply to the plane. A new plane that results from applying the Quaternion rotation. Represents a vector that is used to encode three-dimensional physical rotations. Creates a quaternion from the specified vector and rotation parts. The vector part of the quaternion. The rotation part of the quaternion. Constructs a quaternion from the specified components. The value to assign to the X component of the quaternion. The value to assign to the Y component of the quaternion. The value to assign to the Z component of the quaternion. The value to assign to the W component of the quaternion. Adds each element in one quaternion with its corresponding element in a second quaternion. The first quaternion. The second quaternion. The quaternion that contains the summed values of value1 and value2. Concatenates two quaternions. The first quaternion rotation in the series. The second quaternion rotation in the series. A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. Returns the conjugate of a specified quaternion. The quaternion. A new quaternion that is the conjugate of value. Creates a quaternion from a vector and an angle to rotate about the vector. The vector to rotate around. The angle, in radians, to rotate around the vector. The newly created quaternion. Creates a quaternion from the specified rotation matrix. The rotation matrix. The newly created quaternion. Creates a new quaternion from the given yaw, pitch, and roll. The yaw angle, in radians, around the Y axis. The pitch angle, in radians, around the X axis. The roll angle, in radians, around the Z axis. The resulting quaternion. Divides one quaternion by a second quaternion. The dividend. The divisor. The quaternion that results from dividing value1 by value2. Calculates the dot product of two quaternions. The first quaternion. The second quaternion. The dot product. Returns a value that indicates whether this instance and another quaternion are equal. The other quaternion. true if the two quaternions are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Gets a quaternion that represents no rotation. A quaternion whose values are (0, 0, 0, 1). Returns the inverse of a quaternion. The quaternion. The inverted quaternion. Gets a value that indicates whether the current instance is the identity quaternion. true if the current instance is the identity quaternion; otherwise, false. Calculates the length of the quaternion. The computed length of the quaternion. Calculates the squared length of the quaternion. The length squared of the quaternion. Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion. The first quaternion. The second quaternion. The relative weight of quaternion2 in the interpolation. The interpolated quaternion. Returns the quaternion that results from multiplying two quaternions together. The first quaternion. The second quaternion. The product quaternion. Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. The source quaternion. The scalar value. The scaled quaternion. Reverses the sign of each component of the quaternion. The quaternion to negate. The negated quaternion. Divides each component of a specified by its length. The quaternion to normalize. The normalized quaternion. Adds each element in one quaternion with its corresponding element in a second quaternion. The first quaternion. The second quaternion. The quaternion that contains the summed values of value1 and value2. Divides one quaternion by a second quaternion. The dividend. The divisor. The quaternion that results from dividing value1 by value2. Returns a value that indicates whether two quaternions are equal. The first quaternion to compare. The second quaternion to compare. true if the two quaternions are equal; otherwise, false. Returns a value that indicates whether two quaternions are not equal. The first quaternion to compare. The second quaternion to compare. true if value1 and value2 are not equal; otherwise, false. Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. The source quaternion. The scalar value. The scaled quaternion. Returns the quaternion that results from multiplying two quaternions together. The first quaternion. The second quaternion. The product quaternion. Subtracts each element in a second quaternion from its corresponding element in a first quaternion. The first quaternion. The second quaternion. The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. Reverses the sign of each component of the quaternion. The quaternion to negate. The negated quaternion. Interpolates between two quaternions, using spherical linear interpolation. The first quaternion. The second quaternion. The relative weight of the second quaternion in the interpolation. The interpolated quaternion. Subtracts each element in a second quaternion from its corresponding element in a first quaternion. The first quaternion. The second quaternion. The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this quaternion. The string representation of this quaternion. The rotation component of the quaternion. The X value of the vector component of the quaternion. The Y value of the vector component of the quaternion. The Z value of the vector component of the quaternion. Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms. The vector type. T can be any primitive numeric type. Creates a vector whose components are of a specified type. The numeric type that defines the type of the components in the vector. Creates a vector from a specified array. A numeric array. values is null. Creates a vector from a specified array starting at a specified index position. A numeric array. The starting index position from which to create the vector. values is null. index is less than zero. -or- The length of values minus index is less than . Copies the vector instance to a specified destination array. The array to receive a copy of the vector values. destination is null. The number of elements in the current vector is greater than the number of elements available in the destination array. Copies the vector instance to a specified destination array starting at a specified index position. The array to receive a copy of the vector values. The starting index in destination at which to begin the copy operation. destination is null. The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array. index is less than zero or greater than the last index in destination. Returns the number of elements stored in the vector. The number of elements stored in the vector. Access to the property getter via reflection is not supported. Returns a value that indicates whether this instance is equal to a specified vector. The vector to compare with this instance. true if the current instance and other are equal; otherwise, false. Returns a value that indicates whether this instance is equal to a specified object. The object to compare with this instance. true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance. Returns the hash code for this instance. The hash code. Gets the element at a specified index. The index of the element to return. The element at index index. index is less than zero. -or- index is greater than or equal to . Returns a vector containing all ones. A vector containing all ones. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Returns a new vector by performing a bitwise And operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise And of left and right. Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise Or of the elements in left and right. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Returns a value that indicates whether each pair of elements in two specified vectors are equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise XOr of the elements in left and right. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Returns a value that indicates whether any single pair of elements in the specified vectors is equal. The first vector to compare. The second vector to compare. true if any element pairs in left and right are equal. false if no element pairs are equal. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar value. The source vector. A scalar value. The scaled vector. Multiplies a vector by the given scalar. The scalar value. The source vector. The scaled vector. Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. The source vector. The one&#39;s complement vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates a given vector. The vector to negate. The negated vector. Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Returns the string representation of this vector using default formatting. The string representation of this vector. Returns the string representation of this vector using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns a vector containing all zeroes. A vector containing all zeroes. Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors. Returns a new vector whose elements are the absolute values of the given vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The absolute value vector. Returns a new vector whose values are the sum of each pair of elements from two given vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The summed vector. Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Reinterprets the bits of a specified vector into those of a vector of unsigned bytes. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a double-precision floating-point vector. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of 16-bit integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of long integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of signed bytes. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a single-precision floating-point vector. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned long integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The new vector with elements selected based on the mask. Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The new vector with elements selected based on the mask. Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The vector type. T can be any primitive numeric type. The new vector with elements selected based on the mask. Returns a new vector whose values are the result of dividing the first vector&#39;s elements by the corresponding elements in the second vector. The first vector. The second vector. The vector type. T can be any primitive numeric type. The divided vector. Returns the dot product of two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The dot product. Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether each pair of elements in the given vectors is equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left and right are equal; otherwise, false. Returns a value that indicates whether any single pair of elements in the given vectors is equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element pair in left and right is equal; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left are greater than the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is greater than the corresponding element in right; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is greater than or equal to the corresponding element in right; otherwise, false. Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support. true if vector operations are subject to hardware acceleration; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all of the elements in left are less than the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is less than the corresponding element in right; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is less than or equal to the corresponding element in right; otherwise, false. Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The maximum vector. Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The minimum vector. Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector. The scalar value. The vector. The vector type. T can be any primitive numeric type. The scaled vector. Returns a new vector whose values are the product of each pair of elements in two specified vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The product vector. Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value. The vector. The scalar value. The vector type. T can be any primitive numeric type. The scaled vector. Returns a new vector whose elements are the negation of the corresponding element in the specified vector. The source vector. The vector type. T can be any primitive numeric type. The negated vector. Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The resulting vector. Returns a new vector whose elements are the square roots of a specified vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The square root vector. Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector. The first vector. The second vector. The vector type. T can be any primitive numeric type. The difference vector. Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Represents a vector with two single-precision floating-point values. Creates a new object whose two elements have the same value. The value to assign to both elements. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns the hash code for this instance. The hash code. Returns the length of the vector. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 2 elements are equal to one. A vector whose two elements are equal to one (that is, it returns the vector (1,1). Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns the reflection of a vector off a surface that has the specified normal. The source vector. The normal of the surface being reflected off. The reflected vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a vector by a specified 3x2 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a vector normal by the given 3x2 matrix. The source vector. The matrix. The transformed vector. Transforms a vector normal by the given 4x4 matrix. The source vector. The matrix. The transformed vector. Gets the vector (1,0). The vector (1,0). Gets the vector (0,1). The vector (0,1). The X component of the vector. The Y component of the vector. Returns a vector whose 2 elements are equal to zero. A vector whose two elements are equal to zero (that is, it returns the vector (0,0). Represents a vector with three single-precision floating-point values. Creates a new object whose three elements have the same value. The value to assign to all three elements. Creates a new object from the specified object and the specified value. The vector with two elements. The additional value to assign to the field. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the cross product of two vectors. The first vector. The second vector. The cross product. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Returns the length of this vector object. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 3 elements are equal to one. A vector whose three elements are equal to one (that is, it returns the vector (1,1,1). Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns the reflection of a vector off a surface that has the specified normal. The source vector. The normal of the surface being reflected off. The reflected vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a vector normal by the given 4x4 matrix. The source vector. The matrix. The transformed vector. Gets the vector (1,0,0). The vector (1,0,0). Gets the vector (0,1,0). The vector (0,1,0).. Gets the vector (0,0,1). The vector (0,0,1). The X component of the vector. The Y component of the vector. The Z component of the vector. Gets a vector whose 3 elements are equal to zero. A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0). Represents a vector with four single-precision floating-point values. Creates a new object whose four elements have the same value. The value to assign to all four elements. Constructs a new object from the specified object and a W component. The vector to use for the X, Y, and Z components. The W component. Creates a new object from the specified object and a Z and a W component. The vector to use for the X and Y components. The Z component. The W component. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Returns the length of this vector object. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 4 elements are equal to one. Returns . Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a four-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a four-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a three-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a two-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a two-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a three-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Gets the vector (0,0,0,1). The vector (0,0,0,1). Gets the vector (1,0,0,0). The vector (1,0,0,0). Gets the vector (0,1,0,0). The vector (0,1,0,0).. Gets a vector whose 4 elements are equal to zero. The vector (0,0,1,0). The W component of the vector. The X component of the vector. The Y component of the vector. The Z component of the vector. Gets a vector whose 4 elements are equal to zero. A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0). ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/ref/netstandard2.0/System.Numerics.Vectors.xml ================================================  System.Numerics.Vectors Represents a 3x2 matrix. Creates a 3x2 matrix from the specified components. The value to assign to the first element in the first row. The value to assign to the second element in the first row. The value to assign to the first element in the second row. The value to assign to the second element in the second row. The value to assign to the first element in the third row. The value to assign to the second element in the third row. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values of value1 and value2. Creates a rotation matrix using the given rotation in radians. The amount of rotation, in radians. The rotation matrix. Creates a rotation matrix using the specified rotation in radians and a center point. The amount of rotation, in radians. The center point. The rotation matrix. Creates a scaling matrix from the specified X and Y components. The value to scale by on the X axis. The value to scale by on the Y axis. The scaling matrix. Creates a scaling matrix that scales uniformly with the specified scale with an offset from the specified center. The uniform scale to use. The center offset. The scaling matrix. Creates a scaling matrix that is offset by a given center point. The value to scale by on the X axis. The value to scale by on the Y axis. The center point. The scaling matrix. Creates a scaling matrix that scales uniformly with the given scale. The uniform scale to use. The scaling matrix. Creates a scaling matrix from the specified vector scale. The scale to use. The scaling matrix. Creates a scaling matrix from the specified vector scale with an offset from the specified center point. The scale to use. The center offset. The scaling matrix. Creates a skew matrix from the specified angles in radians. The X angle, in radians. The Y angle, in radians. The skew matrix. Creates a skew matrix from the specified angles in radians and a center point. The X angle, in radians. The Y angle, in radians. The center point. The skew matrix. Creates a translation matrix from the specified 2-dimensional vector. The translation position. The translation matrix. Creates a translation matrix from the specified X and Y components. The X position. The Y position. The translation matrix. Returns a value that indicates whether this instance and another 3x2 matrix are equal. The other matrix. true if the two matrices are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Calculates the determinant for this matrix. The determinant. Returns the hash code for this instance. The hash code. Gets the multiplicative identity matrix. The multiplicative identify matrix. Inverts the specified matrix. The return value indicates whether the operation succeeded. The matrix to invert. When this method returns, contains the inverted matrix if the operation succeeded. true if matrix was converted successfully; otherwise, false. Indicates whether the current matrix is the identity matrix. true if the current matrix is the identity matrix; otherwise, false. Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. The first matrix. The second matrix. The relative weighting of matrix2. The interpolated matrix. The first element of the first row. The second element of the first row. The first element of the second row. The second element of the second row. The first element of the third row. The second element of the third row. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values. Returns a value that indicates whether the specified matrices are equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether the specified matrices are not equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are not equal; otherwise, false. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this matrix. The string representation of this matrix. Gets or sets the translation component of this matrix. The translation component of the current instance. Represents a 4x4 matrix. Creates a object from a specified object. A 3x2 matrix. Creates a 4x4 matrix from the specified components. The value to assign to the first element in the first row. The value to assign to the second element in the first row. The value to assign to the third element in the first row. The value to assign to the fourth element in the first row. The value to assign to the first element in the second row. The value to assign to the second element in the second row. The value to assign to the third element in the second row. The value to assign to the third element in the second row. The value to assign to the first element in the third row. The value to assign to the second element in the third row. The value to assign to the third element in the third row. The value to assign to the fourth element in the third row. The value to assign to the first element in the fourth row. The value to assign to the second element in the fourth row. The value to assign to the third element in the fourth row. The value to assign to the fourth element in the fourth row. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values of value1 and value2. Creates a spherical billboard that rotates around a specified object position. The position of the object that the billboard will rotate around. The position of the camera. The up vector of the camera. The forward vector of the camera. The created billboard. Creates a cylindrical billboard that rotates around a specified axis. The position of the object that the billboard will rotate around. The position of the camera. The axis to rotate the billboard around. The forward vector of the camera. The forward vector of the object. The billboard matrix. Creates a matrix that rotates around an arbitrary vector. The axis to rotate around. The angle to rotate around axis, in radians. The rotation matrix. Creates a rotation matrix from the specified Quaternion rotation value. The source Quaternion. The rotation matrix. Creates a rotation matrix from the specified yaw, pitch, and roll. The angle of rotation, in radians, around the Y axis. The angle of rotation, in radians, around the X axis. The angle of rotation, in radians, around the Z axis. The rotation matrix. Creates a view matrix. The position of the camera. The target towards which the camera is pointing. The direction that is &quot;up&quot; from the camera&#39;s point of view. The view matrix. Creates an orthographic perspective matrix from the given view volume dimensions. The width of the view volume. The height of the view volume. The minimum Z-value of the view volume. The maximum Z-value of the view volume. The orthographic projection matrix. Creates a customized orthographic projection matrix. The minimum X-value of the view volume. The maximum X-value of the view volume. The minimum Y-value of the view volume. The maximum Y-value of the view volume. The minimum Z-value of the view volume. The maximum Z-value of the view volume. The orthographic projection matrix. Creates a perspective projection matrix from the given view volume dimensions. The width of the view volume at the near view plane. The height of the view volume at the near view plane. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a perspective projection matrix based on a field of view, aspect ratio, and near and far view plane distances. The field of view in the y direction, in radians. The aspect ratio, defined as view space width divided by height. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. fieldOfView is less than or equal to zero. -or- fieldOfView is greater than or equal to . nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a customized perspective projection matrix. The minimum x-value of the view volume at the near view plane. The maximum x-value of the view volume at the near view plane. The minimum y-value of the view volume at the near view plane. The maximum y-value of the view volume at the near view plane. The distance to the near view plane. The distance to the far view plane. The perspective projection matrix. nearPlaneDistance is less than or equal to zero. -or- farPlaneDistance is less than or equal to zero. -or- nearPlaneDistance is greater than or equal to farPlaneDistance. Creates a matrix that reflects the coordinate system about a specified plane. The plane about which to create a reflection. A new matrix expressing the reflection. Creates a matrix for rotating points around the X axis. The amount, in radians, by which to rotate around the X axis. The rotation matrix. Creates a matrix for rotating points around the X axis from a center point. The amount, in radians, by which to rotate around the X axis. The center point. The rotation matrix. The amount, in radians, by which to rotate around the Y axis from a center point. The amount, in radians, by which to rotate around the Y-axis. The center point. The rotation matrix. Creates a matrix for rotating points around the Y axis. The amount, in radians, by which to rotate around the Y-axis. The rotation matrix. Creates a matrix for rotating points around the Z axis. The amount, in radians, by which to rotate around the Z-axis. The rotation matrix. Creates a matrix for rotating points around the Z axis from a center point. The amount, in radians, by which to rotate around the Z-axis. The center point. The rotation matrix. Creates a scaling matrix from the specified vector scale. The scale to use. The scaling matrix. Creates a uniform scaling matrix that scale equally on each axis. The uniform scaling factor. The scaling matrix. Creates a scaling matrix with a center point. The vector that contains the amount to scale on each axis. The center point. The scaling matrix. Creates a uniform scaling matrix that scales equally on each axis with a center point. The uniform scaling factor. The center point. The scaling matrix. Creates a scaling matrix from the specified X, Y, and Z components. The value to scale by on the X axis. The value to scale by on the Y axis. The value to scale by on the Z axis. The scaling matrix. Creates a scaling matrix that is offset by a given center point. The value to scale by on the X axis. The value to scale by on the Y axis. The value to scale by on the Z axis. The center point. The scaling matrix. Creates a matrix that flattens geometry into a specified plane as if casting a shadow from a specified light source. The direction from which the light that will cast the shadow is coming. The plane onto which the new matrix should flatten geometry so as to cast a shadow. A new matrix that can be used to flatten geometry onto the specified plane from the specified direction. Creates a translation matrix from the specified 3-dimensional vector. The amount to translate in each axis. The translation matrix. Creates a translation matrix from the specified X, Y, and Z components. The amount to translate on the X axis. The amount to translate on the Y axis. The amount to translate on the Z axis. The translation matrix. Creates a world matrix with the specified parameters. The position of the object. The forward direction of the object. The upward direction of the object. Its value is usually [0, 1, 0]. The world matrix. Attempts to extract the scale, translation, and rotation components from the given scale, rotation, or translation matrix. The return value indicates whether the operation succeeded. The source matrix. When this method returns, contains the scaling component of the transformation matrix if the operation succeeded. When this method returns, contains the rotation component of the transformation matrix if the operation succeeded. When the method returns, contains the translation component of the transformation matrix if the operation succeeded. true if matrix was decomposed successfully; otherwise, false. Returns a value that indicates whether this instance and another 4x4 matrix are equal. The other matrix. true if the two matrices are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Calculates the determinant of the current 4x4 matrix. The determinant. Returns the hash code for this instance. The hash code. Gets the multiplicative identity matrix. Gets the multiplicative identity matrix. Inverts the specified matrix. The return value indicates whether the operation succeeded. The matrix to invert. When this method returns, contains the inverted matrix if the operation succeeded. true if matrix was converted successfully; otherwise, false. Indicates whether the current matrix is the identity matrix. true if the current matrix is the identity matrix; otherwise, false. Performs a linear interpolation from one matrix to a second matrix based on a value that specifies the weighting of the second matrix. The first matrix. The second matrix. The relative weighting of matrix2. The interpolated matrix. The first element of the first row. The second element of the first row. The third element of the first row. The fourth element of the first row. The first element of the second row. The second element of the second row. The third element of the second row. The fourth element of the second row. The first element of the third row. The second element of the third row. The third element of the third row. The fourth element of the third row. The first element of the fourth row. The second element of the fourth row. The third element of the fourth row. The fourth element of the fourth row. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Adds each element in one matrix with its corresponding element in a second matrix. The first matrix. The second matrix. The matrix that contains the summed values. Returns a value that indicates whether the specified matrices are equal. The first matrix to compare. The second matrix to care true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether the specified matrices are not equal. The first matrix to compare. The second matrix to compare. true if value1 and value2 are not equal; otherwise, false. Returns the matrix that results from scaling all the elements of a specified matrix by a scalar factor. The matrix to scale. The scaling value to use. The scaled matrix. Returns the matrix that results from multiplying two matrices together. The first matrix. The second matrix. The product matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Negates the specified matrix by multiplying all its values by -1. The matrix to negate. The negated matrix. Subtracts each element in a second matrix from its corresponding element in a first matrix. The first matrix. The second matrix. The matrix containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this matrix. The string representation of this matrix. Transforms the specified matrix by applying the specified Quaternion rotation. The matrix to transform. The rotation t apply. The transformed matrix. Gets or sets the translation component of this matrix. The translation component of the current instance. Transposes the rows and columns of a matrix. The matrix to transpose. The transposed matrix. Represents a three-dimensional plane. Creates a object from a specified four-dimensional vector. A vector whose first three elements describe the normal vector, and whose defines the distance along that normal from the origin. Creates a object from a specified normal and the distance along the normal from the origin. The plane&#39;s normal vector. The plane&#39;s distance from the origin along its normal vector. Creates a object from the X, Y, and Z components of its normal, and its distance from the origin on that normal. The X component of the normal. The Y component of the normal. The Z component of the normal. The distance of the plane along its normal from the origin. Creates a object that contains three specified points. The first point defining the plane. The second point defining the plane. The third point defining the plane. The plane containing the three points. The distance of the plane along its normal from the origin. Calculates the dot product of a plane and a 4-dimensional vector. The plane. The four-dimensional vector. The dot product. Returns the dot product of a specified three-dimensional vector and the normal vector of this plane plus the distance () value of the plane. The plane. The 3-dimensional vector. The dot product. Returns the dot product of a specified three-dimensional vector and the vector of this plane. The plane. The three-dimensional vector. The dot product. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns a value that indicates whether this instance and another plane object are equal. The other plane. true if the two planes are equal; otherwise, false. Returns the hash code for this instance. The hash code. The normal vector of the plane. Creates a new object whose normal vector is the source plane&#39;s normal vector normalized. The source plane. The normalized plane. Returns a value that indicates whether two planes are equal. The first plane to compare. The second plane to compare. true if value1 and value2 are equal; otherwise, false. Returns a value that indicates whether two planes are not equal. The first plane to compare. The second plane to compare. true if value1 and value2 are not equal; otherwise, false. Returns the string representation of this plane object. A string that represents this object. Transforms a normalized plane by a 4x4 matrix. The normalized plane to transform. The transformation matrix to apply to plane. The transformed plane. Transforms a normalized plane by a Quaternion rotation. The normalized plane to transform. The Quaternion rotation to apply to the plane. A new plane that results from applying the Quaternion rotation. Represents a vector that is used to encode three-dimensional physical rotations. Creates a quaternion from the specified vector and rotation parts. The vector part of the quaternion. The rotation part of the quaternion. Constructs a quaternion from the specified components. The value to assign to the X component of the quaternion. The value to assign to the Y component of the quaternion. The value to assign to the Z component of the quaternion. The value to assign to the W component of the quaternion. Adds each element in one quaternion with its corresponding element in a second quaternion. The first quaternion. The second quaternion. The quaternion that contains the summed values of value1 and value2. Concatenates two quaternions. The first quaternion rotation in the series. The second quaternion rotation in the series. A new quaternion representing the concatenation of the value1 rotation followed by the value2 rotation. Returns the conjugate of a specified quaternion. The quaternion. A new quaternion that is the conjugate of value. Creates a quaternion from a vector and an angle to rotate about the vector. The vector to rotate around. The angle, in radians, to rotate around the vector. The newly created quaternion. Creates a quaternion from the specified rotation matrix. The rotation matrix. The newly created quaternion. Creates a new quaternion from the given yaw, pitch, and roll. The yaw angle, in radians, around the Y axis. The pitch angle, in radians, around the X axis. The roll angle, in radians, around the Z axis. The resulting quaternion. Divides one quaternion by a second quaternion. The dividend. The divisor. The quaternion that results from dividing value1 by value2. Calculates the dot product of two quaternions. The first quaternion. The second quaternion. The dot product. Returns a value that indicates whether this instance and another quaternion are equal. The other quaternion. true if the two quaternions are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Gets a quaternion that represents no rotation. A quaternion whose values are (0, 0, 0, 1). Returns the inverse of a quaternion. The quaternion. The inverted quaternion. Gets a value that indicates whether the current instance is the identity quaternion. true if the current instance is the identity quaternion; otherwise, false. Calculates the length of the quaternion. The computed length of the quaternion. Calculates the squared length of the quaternion. The length squared of the quaternion. Performs a linear interpolation between two quaternions based on a value that specifies the weighting of the second quaternion. The first quaternion. The second quaternion. The relative weight of quaternion2 in the interpolation. The interpolated quaternion. Returns the quaternion that results from multiplying two quaternions together. The first quaternion. The second quaternion. The product quaternion. Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. The source quaternion. The scalar value. The scaled quaternion. Reverses the sign of each component of the quaternion. The quaternion to negate. The negated quaternion. Divides each component of a specified by its length. The quaternion to normalize. The normalized quaternion. Adds each element in one quaternion with its corresponding element in a second quaternion. The first quaternion. The second quaternion. The quaternion that contains the summed values of value1 and value2. Divides one quaternion by a second quaternion. The dividend. The divisor. The quaternion that results from dividing value1 by value2. Returns a value that indicates whether two quaternions are equal. The first quaternion to compare. The second quaternion to compare. true if the two quaternions are equal; otherwise, false. Returns a value that indicates whether two quaternions are not equal. The first quaternion to compare. The second quaternion to compare. true if value1 and value2 are not equal; otherwise, false. Returns the quaternion that results from scaling all the components of a specified quaternion by a scalar factor. The source quaternion. The scalar value. The scaled quaternion. Returns the quaternion that results from multiplying two quaternions together. The first quaternion. The second quaternion. The product quaternion. Subtracts each element in a second quaternion from its corresponding element in a first quaternion. The first quaternion. The second quaternion. The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. Reverses the sign of each component of the quaternion. The quaternion to negate. The negated quaternion. Interpolates between two quaternions, using spherical linear interpolation. The first quaternion. The second quaternion. The relative weight of the second quaternion in the interpolation. The interpolated quaternion. Subtracts each element in a second quaternion from its corresponding element in a first quaternion. The first quaternion. The second quaternion. The quaternion containing the values that result from subtracting each element in value2 from its corresponding element in value1. Returns a string that represents this quaternion. The string representation of this quaternion. The rotation component of the quaternion. The X value of the vector component of the quaternion. The Y value of the vector component of the quaternion. The Z value of the vector component of the quaternion. Represents a single vector of a specified numeric type that is suitable for low-level optimization of parallel algorithms. The vector type. T can be any primitive numeric type. Creates a vector whose components are of a specified type. The numeric type that defines the type of the components in the vector. Creates a vector from a specified array. A numeric array. values is null. Creates a vector from a specified array starting at a specified index position. A numeric array. The starting index position from which to create the vector. values is null. index is less than zero. -or- The length of values minus index is less than . Copies the vector instance to a specified destination array. The array to receive a copy of the vector values. destination is null. The number of elements in the current vector is greater than the number of elements available in the destination array. Copies the vector instance to a specified destination array starting at a specified index position. The array to receive a copy of the vector values. The starting index in destination at which to begin the copy operation. destination is null. The number of elements in the current instance is greater than the number of elements available from startIndex to the end of the destination array. index is less than zero or greater than the last index in destination. Returns the number of elements stored in the vector. The number of elements stored in the vector. Access to the property getter via reflection is not supported. Returns a value that indicates whether this instance is equal to a specified vector. The vector to compare with this instance. true if the current instance and other are equal; otherwise, false. Returns a value that indicates whether this instance is equal to a specified object. The object to compare with this instance. true if the current instance and obj are equal; otherwise, false. The method returns false if obj is null, or if obj is a vector of a different type than the current instance. Returns the hash code for this instance. The hash code. Gets the element at a specified index. The index of the element to return. The element at index index. index is less than zero. -or- index is greater than or equal to . Returns a vector containing all ones. A vector containing all ones. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Returns a new vector by performing a bitwise And operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise And of left and right. Returns a new vector by performing a bitwise Or operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise Or of the elements in left and right. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Returns a value that indicates whether each pair of elements in two specified vectors are equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a new vector by performing a bitwise XOr operation on each of the elements in two vectors. The first vector. The second vector. The vector that results from the bitwise XOr of the elements in left and right. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Reinterprets the bits of the specified vector into a vector of type . The vector to reinterpret. The reinterpreted vector. Returns a value that indicates whether any single pair of elements in the specified vectors is equal. The first vector to compare. The second vector to compare. true if any element pairs in left and right are equal. false if no element pairs are equal. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar value. The source vector. A scalar value. The scaled vector. Multiplies a vector by the given scalar. The scalar value. The source vector. The scaled vector. Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. The source vector. The one&#39;s complement vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates a given vector. The vector to negate. The negated vector. Returns the string representation of this vector using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Returns the string representation of this vector using default formatting. The string representation of this vector. Returns the string representation of this vector using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns a vector containing all zeroes. A vector containing all zeroes. Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors. Returns a new vector whose elements are the absolute values of the given vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The absolute value vector. Returns a new vector whose values are the sum of each pair of elements from two given vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The summed vector. Returns a new vector by performing a bitwise And Not operation on each pair of corresponding elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Reinterprets the bits of a specified vector into those of a vector of unsigned bytes. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a double-precision floating-point vector. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of 16-bit integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of long integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of signed bytes. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a single-precision floating-point vector. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned 16-bit integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Reinterprets the bits of a specified vector into those of a vector of unsigned long integers. The source vector. The vector type. T can be any primitive numeric type. The reinterpreted vector. Returns a new vector by performing a bitwise And operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Returns a new vector by performing a bitwise Or operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Creates a new single-precision vector with elements selected between two specified single-precision source vectors based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The new vector with elements selected based on the mask. Creates a new double-precision vector with elements selected between two specified double-precision source vectors based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The new vector with elements selected based on the mask. Creates a new vector of a specified type with elements selected between two specified source vectors of the same type based on an integral mask vector. The integral mask vector used to drive selection. The first source vector. The second source vector. The vector type. T can be any primitive numeric type. The new vector with elements selected based on the mask. Returns a new vector whose values are the result of dividing the first vector&#39;s elements by the corresponding elements in the second vector. The first vector. The second vector. The vector type. T can be any primitive numeric type. The divided vector. Returns the dot product of two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The dot product. Returns a new integral vector whose elements signal whether the elements in two specified double-precision vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in two specified integral vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in two specified long integer vectors are equal. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in two specified single-precision vectors are equal. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector of a specified type whose elements signal whether the elements in two specified vectors of the same type are equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether each pair of elements in the given vectors is equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left and right are equal; otherwise, false. Returns a value that indicates whether any single pair of elements in the given vectors is equal. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element pair in left and right is equal; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are greater than their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are greater than their corresponding elements in a second single-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than their corresponding elements in the second vector of the same time. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are greater than the corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left are greater than the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is greater than the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is greater than the corresponding element in right; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the single-precision floating-point second vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are greater than or equal to their corresponding elements in the second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are greater than or equal to their corresponding elements in the second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one vector are greater than or equal to their corresponding elements in the second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector of a specified type are greater than or equal to their corresponding elements in the second vector of the same type. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are greater than or equal to all the corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all elements in left are greater than or equal to the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is greater than or equal to the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is greater than or equal to the corresponding element in right; otherwise, false. Gets a value that indicates whether vector operations are subject to hardware acceleration through JIT intrinsic support. true if vector operations are subject to hardware acceleration; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are less than their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less than their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision vector are less than their corresponding elements in a second single-precision vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector of a specified type whose elements signal whether the elements in one vector are less than their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all of the elements in the first vector are less than their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all of the elements in left are less than the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is less than the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is less than the corresponding element in right; otherwise, false. Returns a new integral vector whose elements signal whether the elements in one double-precision floating-point vector are less than or equal to their corresponding elements in a second double-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new integral vector whose elements signal whether the elements in one integral vector are less than or equal to their corresponding elements in a second integral vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new long integer vector whose elements signal whether the elements in one long integer vector are less or equal to their corresponding elements in a second long integer vector. The first vector to compare. The second vector to compare. The resulting long integer vector. Returns a new integral vector whose elements signal whether the elements in one single-precision floating-point vector are less than or equal to their corresponding elements in a second single-precision floating-point vector. The first vector to compare. The second vector to compare. The resulting integral vector. Returns a new vector whose elements signal whether the elements in one vector are less than or equal to their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The resulting vector. Returns a value that indicates whether all elements in the first vector are less than or equal to their corresponding elements in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if all of the elements in left are less than or equal to the corresponding elements in right; otherwise, false. Returns a value that indicates whether any element in the first vector is less than or equal to the corresponding element in the second vector. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. true if any element in left is less than or equal to the corresponding element in right; otherwise, false. Returns a new vector whose elements are the maximum of each pair of elements in the two given vectors. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The maximum vector. Returns a new vector whose elements are the minimum of each pair of elements in the two given vectors. The first vector to compare. The second vector to compare. The vector type. T can be any primitive numeric type. The minimum vector. Returns a new vector whose values are a scalar value multiplied by each of the values of a specified vector. The scalar value. The vector. The vector type. T can be any primitive numeric type. The scaled vector. Returns a new vector whose values are the product of each pair of elements in two specified vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The product vector. Returns a new vector whose values are the values of a specified vector each multiplied by a scalar value. The vector. The scalar value. The vector type. T can be any primitive numeric type. The scaled vector. Returns a new vector whose elements are the negation of the corresponding element in the specified vector. The source vector. The vector type. T can be any primitive numeric type. The negated vector. Returns a new vector whose elements are obtained by taking the one&#39;s complement of a specified vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The resulting vector. Returns a new vector whose elements are the square roots of a specified vector&#39;s elements. The source vector. The vector type. T can be any primitive numeric type. The square root vector. Returns a new vector whose values are the difference between the elements in the second vector and their corresponding elements in the first vector. The first vector. The second vector. The vector type. T can be any primitive numeric type. The difference vector. Returns a new vector by performing a bitwise exclusive Or (XOr) operation on each pair of elements in two vectors. The first vector. The second vector. The vector type. T can be any primitive numeric type. The resulting vector. Represents a vector with two single-precision floating-point values. Creates a new object whose two elements have the same value. The value to assign to both elements. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns the hash code for this instance. The hash code. Returns the length of the vector. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 2 elements are equal to one. A vector whose two elements are equal to one (that is, it returns the vector (1,1). Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns the reflection of a vector off a surface that has the specified normal. The source vector. The normal of the surface being reflected off. The reflected vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a vector by a specified 3x2 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a vector normal by the given 3x2 matrix. The source vector. The matrix. The transformed vector. Transforms a vector normal by the given 4x4 matrix. The source vector. The matrix. The transformed vector. Gets the vector (1,0). The vector (1,0). Gets the vector (0,1). The vector (0,1). The X component of the vector. The Y component of the vector. Returns a vector whose 2 elements are equal to zero. A vector whose two elements are equal to zero (that is, it returns the vector (0,0). Represents a vector with three single-precision floating-point values. Creates a new object whose three elements have the same value. The value to assign to all three elements. Creates a new object from the specified object and the specified value. The vector with two elements. The additional value to assign to the field. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the cross product of two vectors. The first vector. The second vector. The cross product. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Returns the length of this vector object. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 3 elements are equal to one. A vector whose three elements are equal to one (that is, it returns the vector (1,1,1). Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns the reflection of a vector off a surface that has the specified normal. The source vector. The normal of the surface being reflected off. The reflected vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a vector normal by the given 4x4 matrix. The source vector. The matrix. The transformed vector. Gets the vector (1,0,0). The vector (1,0,0). Gets the vector (0,1,0). The vector (0,1,0).. Gets the vector (0,0,1). The vector (0,0,1). The X component of the vector. The Y component of the vector. The Z component of the vector. Gets a vector whose 3 elements are equal to zero. A vector whose three elements are equal to zero (that is, it returns the vector (0,0,0). Represents a vector with four single-precision floating-point values. Creates a new object whose four elements have the same value. The value to assign to all four elements. Constructs a new object from the specified object and a W component. The vector to use for the X, Y, and Z components. The W component. Creates a new object from the specified object and a Z and a W component. The vector to use for the X and Y components. The Z component. The W component. Creates a vector whose elements have the specified values. The value to assign to the field. The value to assign to the field. The value to assign to the field. The value to assign to the field. Returns a vector whose elements are the absolute values of each of the specified vector&#39;s elements. A vector. The absolute value vector. Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Restricts a vector between a minimum and a maximum value. The vector to restrict. The minimum value. The maximum value. The restricted vector. Copies the elements of the vector to a specified array. The destination array. array is null. The number of elements in the current instance is greater than in the array. array is multidimensional. Copies the elements of the vector to a specified array starting at a specified index position. The destination array. The index at which to copy the first element of the vector. array is null. The number of elements in the current instance is greater than in the array. index is less than zero. -or- index is greater than or equal to the array length. array is multidimensional. Computes the Euclidean distance between the two given points. The first point. The second point. The distance. Returns the Euclidean distance squared between two specified points. The first point. The second point. The distance squared. Divides the first vector by the second. The first vector. The second vector. The vector resulting from the division. Divides the specified vector by a specified scalar value. The vector. The scalar value. The vector that results from the division. Returns the dot product of two vectors. The first vector. The second vector. The dot product. Returns a value that indicates whether this instance and another vector are equal. The other vector. true if the two vectors are equal; otherwise, false. Returns a value that indicates whether this instance and a specified object are equal. The object to compare with the current instance. true if the current instance and obj are equal; otherwise, false. If obj is null, the method returns false. Returns the hash code for this instance. The hash code. Returns the length of this vector object. The vector&#39;s length. Returns the length of the vector squared. The vector&#39;s length squared. Performs a linear interpolation between two vectors based on the given weighting. The first vector. The second vector. A value between 0 and 1 that indicates the weight of value2. The interpolated vector. Returns a vector whose elements are the maximum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The maximized vector. Returns a vector whose elements are the minimum of each of the pairs of elements in two specified vectors. The first vector. The second vector. The minimized vector. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiplies a vector by a specified scalar. The vector to multiply. The scalar value. The scaled vector. Multiplies a scalar value by a specified vector. The scaled value. The vector. The scaled vector. Negates a specified vector. The vector to negate. The negated vector. Returns a vector with the same direction as the specified vector, but with a length of one. The vector to normalize. The normalized vector. Gets a vector whose 4 elements are equal to one. Returns . Adds two vectors together. The first vector to add. The second vector to add. The summed vector. Divides the first vector by the second. The first vector. The second vector. The vector that results from dividing left by right. Divides the specified vector by a specified scalar value. The vector. The scalar value. The result of the division. Returns a value that indicates whether each pair of elements in two specified vectors is equal. The first vector to compare. The second vector to compare. true if left and right are equal; otherwise, false. Returns a value that indicates whether two specified vectors are not equal. The first vector to compare. The second vector to compare. true if left and right are not equal; otherwise, false. Multiplies two vectors together. The first vector. The second vector. The product vector. Multiples the specified vector by the specified scalar value. The vector. The scalar value. The scaled vector. Multiples the scalar value by the specified vector. The vector. The scalar value. The scaled vector. Subtracts the second vector from the first. The first vector. The second vector. The vector that results from subtracting right from left. Negates the specified vector. The vector to negate. The negated vector. Returns a vector whose elements are the square root of each of a specified vector&#39;s elements. A vector. The square root vector. Subtracts the second vector from the first. The first vector. The second vector. The difference vector. Returns the string representation of the current instance using default formatting. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements. A or that defines the format of individual elements. The string representation of the current instance. Returns the string representation of the current instance using the specified format string to format individual elements and the specified format provider to define culture-specific formatting. A or that defines the format of individual elements. A format provider that supplies culture-specific formatting information. The string representation of the current instance. Transforms a four-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a four-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a three-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a two-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Transforms a two-dimensional vector by the specified Quaternion rotation value. The vector to rotate. The rotation to apply. The transformed vector. Transforms a three-dimensional vector by a specified 4x4 matrix. The vector to transform. The transformation matrix. The transformed vector. Gets the vector (0,0,0,1). The vector (0,0,0,1). Gets the vector (1,0,0,0). The vector (1,0,0,0). Gets the vector (0,1,0,0). The vector (0,1,0,0).. Gets a vector whose 4 elements are equal to zero. The vector (0,0,1,0). The W component of the vector. The X component of the vector. The Y component of the vector. The Z component of the vector. Gets a vector whose 4 elements are equal to zero. A vector whose four elements are equal to zero (that is, it returns the vector (0,0,0,0). ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/ref/uap10.0.16299/_._ ================================================ ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/ref/xamarinios10/_._ ================================================ ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/ref/xamarinmac20/_._ ================================================ ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/ref/xamarintvos10/_._ ================================================ ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/ref/xamarinwatchos10/_._ ================================================ ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/useSharedDesignerContext.txt ================================================ ================================================ FILE: packages/System.Numerics.Vectors.4.5.0/version.txt ================================================ 30ab651fcb4354552bd4891619a0bdd81e0ebdbf ================================================ FILE: packages/System.Runtime.CompilerServices.Unsafe.6.0.0/LICENSE.TXT ================================================ The MIT License (MIT) Copyright (c) .NET Foundation and Contributors All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: packages/System.Runtime.CompilerServices.Unsafe.6.0.0/THIRD-PARTY-NOTICES.TXT ================================================ .NET Runtime uses third-party libraries or other resources that may be distributed under licenses different than the .NET Runtime software. In the event that we accidentally failed to list a required notice, please bring it to our attention. Post an issue or email us: dotnet@microsoft.com The attached notices are provided for information only. License notice for ASP.NET ------------------------------- Copyright (c) .NET Foundation. All rights reserved. Licensed under the Apache License, Version 2.0. Available at https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt License notice for Slicing-by-8 ------------------------------- http://sourceforge.net/projects/slicing-by-8/ Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved This software program is licensed subject to the BSD License, available at http://www.opensource.org/licenses/bsd-license.html. License notice for Unicode data ------------------------------- https://www.unicode.org/license.html Copyright © 1991-2020 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in https://www.unicode.org/copyright.html. Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that either (a) this copyright and permission notice appear with all copies of the Data Files or Software, or (b) this copyright and permission notice appear in associated Documentation. THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE. Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder. License notice for Zlib ----------------------- https://github.com/madler/zlib http://zlib.net/zlib_license.html /* zlib.h -- interface of the 'zlib' general purpose compression library version 1.2.11, January 15th, 2017 Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. Jean-loup Gailly Mark Adler jloup@gzip.org madler@alumni.caltech.edu */ License notice for Mono ------------------------------- http://www.mono-project.com/docs/about-mono/ Copyright (c) .NET Foundation Contributors MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the Software), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for International Organization for Standardization ----------------------------------------------------------------- Portions (C) International Organization for Standardization 1986: Permission to copy in any form is granted for use with conforming SGML systems and applications as defined in ISO 8879, provided this notice is included in all copies. License notice for Intel ------------------------ "Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. License notice for Xamarin and Novell ------------------------------------- Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Copyright (c) 2011 Novell, Inc (http://www.novell.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Third party notice for W3C -------------------------- "W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE Status: This license takes effect 13 May, 2015. This work is being provided by the copyright holders under the following license. License By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." Disclaimers THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." License notice for Bit Twiddling Hacks -------------------------------------- Bit Twiddling Hacks By Sean Eron Anderson seander@cs.stanford.edu Individually, the code snippets here are in the public domain (unless otherwise noted) — feel free to use them however you please. The aggregate collection and descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and without even the implied warranty of merchantability or fitness for a particular purpose. License notice for Brotli -------------------------------------- Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. compress_fragment.c: Copyright (c) 2011, Google Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. decode_fuzzer.c: Copyright (c) 2015 The Chromium Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." License notice for Json.NET ------------------------------- https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md The MIT License (MIT) Copyright (c) 2007 James Newton-King Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for vectorized base64 encoding / decoding -------------------------------------------------------- Copyright (c) 2005-2007, Nick Galbreath Copyright (c) 2013-2017, Alfred Klomp Copyright (c) 2015-2017, Wojciech Mula Copyright (c) 2016-2017, Matthieu Darbois All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. License notice for RFC 3492 --------------------------- The punycode implementation is based on the sample code in RFC 3492 Copyright (C) The Internet Society (2003). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. License notice for Algorithm from Internet Draft document "UUIDs and GUIDs" --------------------------------------------------------------------------- Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & Digital Equipment Corporation, Maynard, Mass. To anyone who acknowledges that this file is provided "AS IS" without any express or implied warranty: permission to use, copy, modify, and distribute this file for any purpose is hereby granted without fee, provided that the above copyright notices and this notice appears in all source code copies, and that none of the names of Open Software Foundation, Inc., Hewlett-Packard Company, or Digital Equipment Corporation be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Neither Open Software Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment Corporation makes any representations about the suitability of this software for any purpose. Copyright(C) The Internet Society 1997. All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works.However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. License notice for Algorithm from RFC 4122 - A Universally Unique IDentifier (UUID) URN Namespace ---------------------------------------------------- Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & Digital Equipment Corporation, Maynard, Mass. Copyright (c) 1998 Microsoft. To anyone who acknowledges that this file is provided "AS IS" without any express or implied warranty: permission to use, copy, modify, and distribute this file for any purpose is hereby granted without fee, provided that the above copyright notices and this notice appears in all source code copies, and that none of the names of Open Software Foundation, Inc., Hewlett-Packard Company, Microsoft, or Digital Equipment Corporation be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Neither Open Software Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment Corporation makes any representations about the suitability of this software for any purpose." License notice for The LLVM Compiler Infrastructure --------------------------------------------------- Developed by: LLVM Team University of Illinois at Urbana-Champaign http://llvm.org Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal with the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimers. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimers in the documentation and/or other materials provided with the distribution. * Neither the names of the LLVM Team, University of Illinois at Urbana-Champaign, nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written permission. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE. License notice for Bob Jenkins ------------------------------ By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this code any way you wish, private, educational, or commercial. It's free. License notice for Greg Parker ------------------------------ Greg Parker gparker@cs.stanford.edu December 2000 This code is in the public domain and may be copied or modified without permission. License notice for libunwind based code ---------------------------------------- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for Printing Floating-Point Numbers (Dragon4) ------------------------------------------------------------ /****************************************************************************** Copyright (c) 2014 Ryan Juckett http://www.ryanjuckett.com/ This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. ******************************************************************************/ License notice for Printing Floating-point Numbers (Grisu3) ----------------------------------------------------------- Copyright 2012 the V8 project authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. License notice for xxHash ------------------------- xxHash Library Copyright (c) 2012-2014, Yann Collet All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. License notice for Berkeley SoftFloat Release 3e ------------------------------------------------ https://github.com/ucb-bar/berkeley-softfloat-3 https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt License for Berkeley SoftFloat Release 3e John R. Hauser 2018 January 20 The following applies to the whole of SoftFloat Release 3e as well as to each source file individually. Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the University of California. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions, and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. License notice for xoshiro RNGs -------------------------------- Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) To the extent possible under law, the author has dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty. See . License for fastmod (https://github.com/lemire/fastmod) and ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) -------------------------------------- Copyright 2018 Daniel Lemire Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. License notice for The C++ REST SDK ----------------------------------- C++ REST SDK The MIT License (MIT) Copyright (c) Microsoft Corporation All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for MessagePack-CSharp ------------------------------------- MessagePack for C# MIT License Copyright (c) 2017 Yoshifumi Kawai Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for lz4net ------------------------------------- lz4net Copyright (c) 2013-2017, Milosz Krajewski All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. License notice for Nerdbank.Streams ----------------------------------- The MIT License (MIT) Copyright (c) Andrew Arnott Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for RapidJSON ---------------------------- Tencent is pleased to support the open source community by making RapidJSON available. Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://opensource.org/licenses/MIT Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. License notice for DirectX Math Library --------------------------------------- https://github.com/microsoft/DirectXMath/blob/master/LICENSE The MIT License (MIT) Copyright (c) 2011-2020 Microsoft Corp Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for ldap4net --------------------------- The MIT License (MIT) Copyright (c) 2018 Alexander Chermyanin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for vectorized sorting code ------------------------------------------ MIT License Copyright (c) 2020 Dan Shechter Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for musl ----------------------- musl as a whole is licensed under the following standard MIT license: Copyright © 2005-2020 Rich Felker, et al. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for "Faster Unsigned Division by Constants" ------------------------------ Reference implementations of computing and using the "magic number" approach to dividing by constants, including codegen instructions. The unsigned division incorporates the "round down" optimization per ridiculous_fish. This is free and unencumbered software. Any copyright is dedicated to the Public Domain. License notice for mimalloc ----------------------------------- MIT License Copyright (c) 2019 Microsoft Corporation, Daan Leijen Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets ================================================ ================================================ FILE: packages/System.Runtime.CompilerServices.Unsafe.6.0.0/buildTransitive/netcoreapp3.1/_._ ================================================ ================================================ FILE: packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/net461/System.Runtime.CompilerServices.Unsafe.xml ================================================  System.Runtime.CompilerServices.Unsafe Contains generic, low-level functionality for manipulating pointers. Adds an element offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of offset to pointer. Adds an element offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of offset to pointer. Adds an element offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of offset to pointer. Adds an element offset to the given void pointer. The void pointer to add the offset to. The offset to add. The type of void pointer. A new void pointer that reflects the addition of offset to the specified pointer. Adds a byte offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of byte offset to pointer. Adds a byte offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of byte offset to pointer. Determines whether the specified references point to the same location. The first reference to compare. The second reference to compare. The type of reference. if and point to the same location; otherwise, . Casts the given object to the specified type. The object to cast. The type which the object will be cast to. The original object, casted to the given type. Reinterprets the given reference as a reference to a value of type . The reference to reinterpret. The type of reference to reinterpret. The desired type of the reference. A reference to a value of type . Returns a pointer to the given by-ref parameter. The object whose pointer is obtained. The type of object. A pointer to the given value. Reinterprets the given read-only reference as a reference. The read-only reference to reinterpret. The type of reference. A reference to a value of type . Reinterprets the given location as a reference to a value of type . The location of the value to reference. The type of the interpreted location. A reference to a value of type . Determines the byte offset from origin to target from the given references. The reference to origin. The reference to target. The type of reference. Byte offset from origin to target i.e. - . Copies a value of type to the given location. The location to copy to. A pointer to the value to copy. The type of value to copy. Copies a value of type to the given location. The location to copy to. A reference to the value to copy. The type of value to copy. Copies bytes from the source address to the destination address. The destination address to copy to. The source address to copy from. The number of bytes to copy. Copies bytes from the source address to the destination address. The destination address to copy to. The source address to copy from. The number of bytes to copy. Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. The destination address to copy to. The source address to copy from. The number of bytes to copy. Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. The destination address to copy to. The source address to copy from. The number of bytes to copy. Initializes a block of memory at the given location with a given initial value. The address of the start of the memory block to initialize. The value to initialize the block to. The number of bytes to initialize. Initializes a block of memory at the given location with a given initial value. The address of the start of the memory block to initialize. The value to initialize the block to. The number of bytes to initialize. Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. The address of the start of the memory block to initialize. The value to initialize the block to. The number of bytes to initialize. Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. The address of the start of the memory block to initialize. The value to initialize the block to. The number of bytes to initialize. Returns a value that indicates whether a specified reference is greater than another specified reference. The first value to compare. The second value to compare. The type of the reference. if is greater than ; otherwise, . Returns a value that indicates whether a specified reference is less than another specified reference. The first value to compare. The second value to compare. The type of the reference. if is less than ; otherwise, . Determines if a given reference to a value of type is a null reference. The reference to check. The type of the reference. if is a null reference; otherwise, . Returns a reference to a value of type that is a null reference. The type of the reference. A reference to a value of type that is a null reference. Reads a value of type from the given location. The location to read from. The type to read. An object of type read from the given location. Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. The location to read from. The type to read. An object of type read from the given location. Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. The location to read from. The type to read. An object of type read from the given location. Returns the size of an object of the given type parameter. The type of object whose size is retrieved. The size of an object of type . Bypasses definite assignment rules for a given value. The uninitialized object. The type of the uninitialized object. Subtracts an element offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subtraction of offset from pointer. Subtracts an element offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subtraction of offset from pointer. Subtracts an element offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subraction of offset from pointer. Subtracts an element offset from the given void pointer. The void pointer to subtract the offset from. The offset to subtract. The type of the void pointer. A new void pointer that reflects the subtraction of offset from the specified pointer. Subtracts a byte offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subtraction of byte offset from pointer. Subtracts a byte offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subraction of byte offset from pointer. Returns a to a boxed value. The value to unbox. The type to be unboxed. is , and is a non-nullable value type. is not a boxed value type. -or- is not a boxed . cannot be found. A to the boxed value . Writes a value of type to the given location. The location to write to. The value to write. The type of value to write. Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. The location to write to. The value to write. The type of value to write. Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. The location to write to. The value to write. The type of value to write. ================================================ FILE: packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/net6.0/System.Runtime.CompilerServices.Unsafe.xml ================================================  System.Runtime.CompilerServices.Unsafe Contains generic, low-level functionality for manipulating pointers. Adds an element offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of offset to pointer. Adds an element offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of offset to pointer. Adds an element offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of offset to pointer. Adds an element offset to the given void pointer. The void pointer to add the offset to. The offset to add. The type of void pointer. A new void pointer that reflects the addition of offset to the specified pointer. Adds a byte offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of byte offset to pointer. Adds a byte offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of byte offset to pointer. Determines whether the specified references point to the same location. The first reference to compare. The second reference to compare. The type of reference. if and point to the same location; otherwise, . Casts the given object to the specified type. The object to cast. The type which the object will be cast to. The original object, casted to the given type. Reinterprets the given reference as a reference to a value of type . The reference to reinterpret. The type of reference to reinterpret. The desired type of the reference. A reference to a value of type . Returns a pointer to the given by-ref parameter. The object whose pointer is obtained. The type of object. A pointer to the given value. Reinterprets the given read-only reference as a reference. The read-only reference to reinterpret. The type of reference. A reference to a value of type . Reinterprets the given location as a reference to a value of type . The location of the value to reference. The type of the interpreted location. A reference to a value of type . Determines the byte offset from origin to target from the given references. The reference to origin. The reference to target. The type of reference. Byte offset from origin to target i.e. - . Copies a value of type to the given location. The location to copy to. A pointer to the value to copy. The type of value to copy. Copies a value of type to the given location. The location to copy to. A reference to the value to copy. The type of value to copy. Copies bytes from the source address to the destination address. The destination address to copy to. The source address to copy from. The number of bytes to copy. Copies bytes from the source address to the destination address. The destination address to copy to. The source address to copy from. The number of bytes to copy. Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. The destination address to copy to. The source address to copy from. The number of bytes to copy. Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. The destination address to copy to. The source address to copy from. The number of bytes to copy. Initializes a block of memory at the given location with a given initial value. The address of the start of the memory block to initialize. The value to initialize the block to. The number of bytes to initialize. Initializes a block of memory at the given location with a given initial value. The address of the start of the memory block to initialize. The value to initialize the block to. The number of bytes to initialize. Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. The address of the start of the memory block to initialize. The value to initialize the block to. The number of bytes to initialize. Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. The address of the start of the memory block to initialize. The value to initialize the block to. The number of bytes to initialize. Returns a value that indicates whether a specified reference is greater than another specified reference. The first value to compare. The second value to compare. The type of the reference. if is greater than ; otherwise, . Returns a value that indicates whether a specified reference is less than another specified reference. The first value to compare. The second value to compare. The type of the reference. if is less than ; otherwise, . Determines if a given reference to a value of type is a null reference. The reference to check. The type of the reference. if is a null reference; otherwise, . Returns a reference to a value of type that is a null reference. The type of the reference. A reference to a value of type that is a null reference. Reads a value of type from the given location. The location to read from. The type to read. An object of type read from the given location. Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. The location to read from. The type to read. An object of type read from the given location. Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. The location to read from. The type to read. An object of type read from the given location. Returns the size of an object of the given type parameter. The type of object whose size is retrieved. The size of an object of type . Bypasses definite assignment rules for a given value. The uninitialized object. The type of the uninitialized object. Subtracts an element offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subtraction of offset from pointer. Subtracts an element offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subtraction of offset from pointer. Subtracts an element offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subraction of offset from pointer. Subtracts an element offset from the given void pointer. The void pointer to subtract the offset from. The offset to subtract. The type of the void pointer. A new void pointer that reflects the subtraction of offset from the specified pointer. Subtracts a byte offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subtraction of byte offset from pointer. Subtracts a byte offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subraction of byte offset from pointer. Returns a to a boxed value. The value to unbox. The type to be unboxed. is , and is a non-nullable value type. is not a boxed value type. -or- is not a boxed . cannot be found. A to the boxed value . Writes a value of type to the given location. The location to write to. The value to write. The type of value to write. Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. The location to write to. The value to write. The type of value to write. Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. The location to write to. The value to write. The type of value to write. ================================================ FILE: packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.xml ================================================  System.Runtime.CompilerServices.Unsafe Contains generic, low-level functionality for manipulating pointers. Adds an element offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of offset to pointer. Adds an element offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of offset to pointer. Adds an element offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of offset to pointer. Adds an element offset to the given void pointer. The void pointer to add the offset to. The offset to add. The type of void pointer. A new void pointer that reflects the addition of offset to the specified pointer. Adds a byte offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of byte offset to pointer. Adds a byte offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of byte offset to pointer. Determines whether the specified references point to the same location. The first reference to compare. The second reference to compare. The type of reference. if and point to the same location; otherwise, . Casts the given object to the specified type. The object to cast. The type which the object will be cast to. The original object, casted to the given type. Reinterprets the given reference as a reference to a value of type . The reference to reinterpret. The type of reference to reinterpret. The desired type of the reference. A reference to a value of type . Returns a pointer to the given by-ref parameter. The object whose pointer is obtained. The type of object. A pointer to the given value. Reinterprets the given read-only reference as a reference. The read-only reference to reinterpret. The type of reference. A reference to a value of type . Reinterprets the given location as a reference to a value of type . The location of the value to reference. The type of the interpreted location. A reference to a value of type . Determines the byte offset from origin to target from the given references. The reference to origin. The reference to target. The type of reference. Byte offset from origin to target i.e. - . Copies a value of type to the given location. The location to copy to. A pointer to the value to copy. The type of value to copy. Copies a value of type to the given location. The location to copy to. A reference to the value to copy. The type of value to copy. Copies bytes from the source address to the destination address. The destination address to copy to. The source address to copy from. The number of bytes to copy. Copies bytes from the source address to the destination address. The destination address to copy to. The source address to copy from. The number of bytes to copy. Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. The destination address to copy to. The source address to copy from. The number of bytes to copy. Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. The destination address to copy to. The source address to copy from. The number of bytes to copy. Initializes a block of memory at the given location with a given initial value. The address of the start of the memory block to initialize. The value to initialize the block to. The number of bytes to initialize. Initializes a block of memory at the given location with a given initial value. The address of the start of the memory block to initialize. The value to initialize the block to. The number of bytes to initialize. Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. The address of the start of the memory block to initialize. The value to initialize the block to. The number of bytes to initialize. Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. The address of the start of the memory block to initialize. The value to initialize the block to. The number of bytes to initialize. Returns a value that indicates whether a specified reference is greater than another specified reference. The first value to compare. The second value to compare. The type of the reference. if is greater than ; otherwise, . Returns a value that indicates whether a specified reference is less than another specified reference. The first value to compare. The second value to compare. The type of the reference. if is less than ; otherwise, . Determines if a given reference to a value of type is a null reference. The reference to check. The type of the reference. if is a null reference; otherwise, . Returns a reference to a value of type that is a null reference. The type of the reference. A reference to a value of type that is a null reference. Reads a value of type from the given location. The location to read from. The type to read. An object of type read from the given location. Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. The location to read from. The type to read. An object of type read from the given location. Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. The location to read from. The type to read. An object of type read from the given location. Returns the size of an object of the given type parameter. The type of object whose size is retrieved. The size of an object of type . Bypasses definite assignment rules for a given value. The uninitialized object. The type of the uninitialized object. Subtracts an element offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subtraction of offset from pointer. Subtracts an element offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subtraction of offset from pointer. Subtracts an element offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subraction of offset from pointer. Subtracts an element offset from the given void pointer. The void pointer to subtract the offset from. The offset to subtract. The type of the void pointer. A new void pointer that reflects the subtraction of offset from the specified pointer. Subtracts a byte offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subtraction of byte offset from pointer. Subtracts a byte offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subraction of byte offset from pointer. Returns a to a boxed value. The value to unbox. The type to be unboxed. is , and is a non-nullable value type. is not a boxed value type. -or- is not a boxed . cannot be found. A to the boxed value . Writes a value of type to the given location. The location to write to. The value to write. The type of value to write. Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. The location to write to. The value to write. The type of value to write. Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. The location to write to. The value to write. The type of value to write. ================================================ FILE: packages/System.Runtime.CompilerServices.Unsafe.6.0.0/lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml ================================================  System.Runtime.CompilerServices.Unsafe Contains generic, low-level functionality for manipulating pointers. Adds an element offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of offset to pointer. Adds an element offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of offset to pointer. Adds an element offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of offset to pointer. Adds an element offset to the given void pointer. The void pointer to add the offset to. The offset to add. The type of void pointer. A new void pointer that reflects the addition of offset to the specified pointer. Adds a byte offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of byte offset to pointer. Adds a byte offset to the given reference. The reference to add the offset to. The offset to add. The type of reference. A new reference that reflects the addition of byte offset to pointer. Determines whether the specified references point to the same location. The first reference to compare. The second reference to compare. The type of reference. if and point to the same location; otherwise, . Casts the given object to the specified type. The object to cast. The type which the object will be cast to. The original object, casted to the given type. Reinterprets the given reference as a reference to a value of type . The reference to reinterpret. The type of reference to reinterpret. The desired type of the reference. A reference to a value of type . Returns a pointer to the given by-ref parameter. The object whose pointer is obtained. The type of object. A pointer to the given value. Reinterprets the given read-only reference as a reference. The read-only reference to reinterpret. The type of reference. A reference to a value of type . Reinterprets the given location as a reference to a value of type . The location of the value to reference. The type of the interpreted location. A reference to a value of type . Determines the byte offset from origin to target from the given references. The reference to origin. The reference to target. The type of reference. Byte offset from origin to target i.e. - . Copies a value of type to the given location. The location to copy to. A pointer to the value to copy. The type of value to copy. Copies a value of type to the given location. The location to copy to. A reference to the value to copy. The type of value to copy. Copies bytes from the source address to the destination address. The destination address to copy to. The source address to copy from. The number of bytes to copy. Copies bytes from the source address to the destination address. The destination address to copy to. The source address to copy from. The number of bytes to copy. Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. The destination address to copy to. The source address to copy from. The number of bytes to copy. Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses. The destination address to copy to. The source address to copy from. The number of bytes to copy. Initializes a block of memory at the given location with a given initial value. The address of the start of the memory block to initialize. The value to initialize the block to. The number of bytes to initialize. Initializes a block of memory at the given location with a given initial value. The address of the start of the memory block to initialize. The value to initialize the block to. The number of bytes to initialize. Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. The address of the start of the memory block to initialize. The value to initialize the block to. The number of bytes to initialize. Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address. The address of the start of the memory block to initialize. The value to initialize the block to. The number of bytes to initialize. Returns a value that indicates whether a specified reference is greater than another specified reference. The first value to compare. The second value to compare. The type of the reference. if is greater than ; otherwise, . Returns a value that indicates whether a specified reference is less than another specified reference. The first value to compare. The second value to compare. The type of the reference. if is less than ; otherwise, . Determines if a given reference to a value of type is a null reference. The reference to check. The type of the reference. if is a null reference; otherwise, . Returns a reference to a value of type that is a null reference. The type of the reference. A reference to a value of type that is a null reference. Reads a value of type from the given location. The location to read from. The type to read. An object of type read from the given location. Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. The location to read from. The type to read. An object of type read from the given location. Reads a value of type from the given location without assuming architecture dependent alignment of the addresses. The location to read from. The type to read. An object of type read from the given location. Returns the size of an object of the given type parameter. The type of object whose size is retrieved. The size of an object of type . Bypasses definite assignment rules for a given value. The uninitialized object. The type of the uninitialized object. Subtracts an element offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subtraction of offset from pointer. Subtracts an element offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subtraction of offset from pointer. Subtracts an element offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subraction of offset from pointer. Subtracts an element offset from the given void pointer. The void pointer to subtract the offset from. The offset to subtract. The type of the void pointer. A new void pointer that reflects the subtraction of offset from the specified pointer. Subtracts a byte offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subtraction of byte offset from pointer. Subtracts a byte offset from the given reference. The reference to subtract the offset from. The offset to subtract. The type of reference. A new reference that reflects the subraction of byte offset from pointer. Returns a to a boxed value. The value to unbox. The type to be unboxed. is , and is a non-nullable value type. is not a boxed value type. -or- is not a boxed . cannot be found. A to the boxed value . Writes a value of type to the given location. The location to write to. The value to write. The type of value to write. Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. The location to write to. The value to write. The type of value to write. Writes a value of type to the given location without assuming architecture dependent alignment of the addresses. The location to write to. The value to write. The type of value to write. ================================================ FILE: packages/System.Runtime.CompilerServices.Unsafe.6.0.0/useSharedDesignerContext.txt ================================================ ================================================ FILE: packages/System.Security.Cryptography.Pkcs.6.0.1/LICENSE.TXT ================================================ The MIT License (MIT) Copyright (c) .NET Foundation and Contributors All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: packages/System.Security.Cryptography.Pkcs.6.0.1/THIRD-PARTY-NOTICES.TXT ================================================ .NET Runtime uses third-party libraries or other resources that may be distributed under licenses different than the .NET Runtime software. In the event that we accidentally failed to list a required notice, please bring it to our attention. Post an issue or email us: dotnet@microsoft.com The attached notices are provided for information only. License notice for ASP.NET ------------------------------- Copyright (c) .NET Foundation. All rights reserved. Licensed under the Apache License, Version 2.0. Available at https://github.com/dotnet/aspnetcore/blob/main/LICENSE.txt License notice for Slicing-by-8 ------------------------------- http://sourceforge.net/projects/slicing-by-8/ Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved This software program is licensed subject to the BSD License, available at http://www.opensource.org/licenses/bsd-license.html. License notice for Unicode data ------------------------------- https://www.unicode.org/license.html Copyright © 1991-2020 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in https://www.unicode.org/copyright.html. Permission is hereby granted, free of charge, to any person obtaining a copy of the Unicode data files and any associated documentation (the "Data Files") or Unicode software and any associated documentation (the "Software") to deal in the Data Files or Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Data Files or Software, and to permit persons to whom the Data Files or Software are furnished to do so, provided that either (a) this copyright and permission notice appear with all copies of the Data Files or Software, or (b) this copyright and permission notice appear in associated Documentation. THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR SOFTWARE. Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in these Data Files or Software without prior written authorization of the copyright holder. License notice for Zlib ----------------------- https://github.com/madler/zlib http://zlib.net/zlib_license.html /* zlib.h -- interface of the 'zlib' general purpose compression library version 1.2.11, January 15th, 2017 Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. Jean-loup Gailly Mark Adler jloup@gzip.org madler@alumni.caltech.edu */ License notice for Mono ------------------------------- http://www.mono-project.com/docs/about-mono/ Copyright (c) .NET Foundation Contributors MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the Software), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for International Organization for Standardization ----------------------------------------------------------------- Portions (C) International Organization for Standardization 1986: Permission to copy in any form is granted for use with conforming SGML systems and applications as defined in ISO 8879, provided this notice is included in all copies. License notice for Intel ------------------------ "Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. License notice for Xamarin and Novell ------------------------------------- Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Copyright (c) 2011 Novell, Inc (http://www.novell.com) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Third party notice for W3C -------------------------- "W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE Status: This license takes effect 13 May, 2015. This work is being provided by the copyright holders under the following license. License By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." Disclaimers THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." License notice for Bit Twiddling Hacks -------------------------------------- Bit Twiddling Hacks By Sean Eron Anderson seander@cs.stanford.edu Individually, the code snippets here are in the public domain (unless otherwise noted) — feel free to use them however you please. The aggregate collection and descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and without even the implied warranty of merchantability or fitness for a particular purpose. License notice for Brotli -------------------------------------- Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. compress_fragment.c: Copyright (c) 2011, Google Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. decode_fuzzer.c: Copyright (c) 2015 The Chromium Authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." License notice for Json.NET ------------------------------- https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md The MIT License (MIT) Copyright (c) 2007 James Newton-King Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for vectorized base64 encoding / decoding -------------------------------------------------------- Copyright (c) 2005-2007, Nick Galbreath Copyright (c) 2013-2017, Alfred Klomp Copyright (c) 2015-2017, Wojciech Mula Copyright (c) 2016-2017, Matthieu Darbois All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. License notice for RFC 3492 --------------------------- The punycode implementation is based on the sample code in RFC 3492 Copyright (C) The Internet Society (2003). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. License notice for Algorithm from Internet Draft document "UUIDs and GUIDs" --------------------------------------------------------------------------- Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & Digital Equipment Corporation, Maynard, Mass. To anyone who acknowledges that this file is provided "AS IS" without any express or implied warranty: permission to use, copy, modify, and distribute this file for any purpose is hereby granted without fee, provided that the above copyright notices and this notice appears in all source code copies, and that none of the names of Open Software Foundation, Inc., Hewlett-Packard Company, or Digital Equipment Corporation be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Neither Open Software Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment Corporation makes any representations about the suitability of this software for any purpose. Copyright(C) The Internet Society 1997. All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works.However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. License notice for Algorithm from RFC 4122 - A Universally Unique IDentifier (UUID) URN Namespace ---------------------------------------------------- Copyright (c) 1990- 1993, 1996 Open Software Foundation, Inc. Copyright (c) 1989 by Hewlett-Packard Company, Palo Alto, Ca. & Digital Equipment Corporation, Maynard, Mass. Copyright (c) 1998 Microsoft. To anyone who acknowledges that this file is provided "AS IS" without any express or implied warranty: permission to use, copy, modify, and distribute this file for any purpose is hereby granted without fee, provided that the above copyright notices and this notice appears in all source code copies, and that none of the names of Open Software Foundation, Inc., Hewlett-Packard Company, Microsoft, or Digital Equipment Corporation be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. Neither Open Software Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital Equipment Corporation makes any representations about the suitability of this software for any purpose." License notice for The LLVM Compiler Infrastructure --------------------------------------------------- Developed by: LLVM Team University of Illinois at Urbana-Champaign http://llvm.org Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal with the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimers. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimers in the documentation and/or other materials provided with the distribution. * Neither the names of the LLVM Team, University of Illinois at Urbana-Champaign, nor the names of its contributors may be used to endorse or promote products derived from this Software without specific prior written permission. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE. License notice for Bob Jenkins ------------------------------ By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this code any way you wish, private, educational, or commercial. It's free. License notice for Greg Parker ------------------------------ Greg Parker gparker@cs.stanford.edu December 2000 This code is in the public domain and may be copied or modified without permission. License notice for libunwind based code ---------------------------------------- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for Printing Floating-Point Numbers (Dragon4) ------------------------------------------------------------ /****************************************************************************** Copyright (c) 2014 Ryan Juckett http://www.ryanjuckett.com/ This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. ******************************************************************************/ License notice for Printing Floating-point Numbers (Grisu3) ----------------------------------------------------------- Copyright 2012 the V8 project authors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. License notice for xxHash ------------------------- xxHash Library Copyright (c) 2012-2014, Yann Collet All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. License notice for Berkeley SoftFloat Release 3e ------------------------------------------------ https://github.com/ucb-bar/berkeley-softfloat-3 https://github.com/ucb-bar/berkeley-softfloat-3/blob/master/COPYING.txt License for Berkeley SoftFloat Release 3e John R. Hauser 2018 January 20 The following applies to the whole of SoftFloat Release 3e as well as to each source file individually. Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of the University of California. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions, and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. License notice for xoshiro RNGs -------------------------------- Written in 2018 by David Blackman and Sebastiano Vigna (vigna@acm.org) To the extent possible under law, the author has dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty. See . License for fastmod (https://github.com/lemire/fastmod) and ibm-fpgen (https://github.com/nigeltao/parse-number-fxx-test-data) -------------------------------------- Copyright 2018 Daniel Lemire Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. License notice for The C++ REST SDK ----------------------------------- C++ REST SDK The MIT License (MIT) Copyright (c) Microsoft Corporation All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for MessagePack-CSharp ------------------------------------- MessagePack for C# MIT License Copyright (c) 2017 Yoshifumi Kawai Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for lz4net ------------------------------------- lz4net Copyright (c) 2013-2017, Milosz Krajewski All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. License notice for Nerdbank.Streams ----------------------------------- The MIT License (MIT) Copyright (c) Andrew Arnott Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for RapidJSON ---------------------------- Tencent is pleased to support the open source community by making RapidJSON available. Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://opensource.org/licenses/MIT Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. License notice for DirectX Math Library --------------------------------------- https://github.com/microsoft/DirectXMath/blob/master/LICENSE The MIT License (MIT) Copyright (c) 2011-2020 Microsoft Corp Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for ldap4net --------------------------- The MIT License (MIT) Copyright (c) 2018 Alexander Chermyanin Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for vectorized sorting code ------------------------------------------ MIT License Copyright (c) 2020 Dan Shechter Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for musl ----------------------- musl as a whole is licensed under the following standard MIT license: Copyright © 2005-2020 Rich Felker, et al. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License notice for "Faster Unsigned Division by Constants" ------------------------------ Reference implementations of computing and using the "magic number" approach to dividing by constants, including codegen instructions. The unsigned division incorporates the "round down" optimization per ridiculous_fish. This is free and unencumbered software. Any copyright is dedicated to the Public Domain. License notice for mimalloc ----------------------------------- MIT License Copyright (c) 2019 Microsoft Corporation, Daan Leijen Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. License for remote stack unwind (https://github.com/llvm/llvm-project/blob/main/lldb/source/Symbol/CompactUnwindInfo.cpp) -------------------------------------- Copyright 2019 LLVM Project Licensed under the Apache License, Version 2.0 (the "License") with LLVM Exceptions; you may not use this file except in compliance with the License. You may obtain a copy of the License at https://llvm.org/LICENSE.txt Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ================================================ FILE: packages/System.Security.Cryptography.Pkcs.6.0.1/buildTransitive/netcoreapp2.0/System.Security.Cryptography.Pkcs.targets ================================================ ================================================ FILE: packages/System.Security.Cryptography.Pkcs.6.0.1/buildTransitive/netcoreapp3.1/_._ ================================================ ================================================ FILE: packages/System.Security.Cryptography.Pkcs.6.0.1/lib/net461/System.Security.Cryptography.Pkcs.xml ================================================ System.Security.Cryptography.Pkcs Specifies that null is allowed as an input even if the corresponding type disallows it. Specifies that null is disallowed as an input even if the corresponding type allows it. Specifies that an output may be null even if the corresponding type disallows it. Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter may be null. Gets the return value condition. Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter will not be null. Gets the return value condition. Specifies that the output will be non-null if the named parameter is non-null. Initializes the attribute with the associated parameter name. The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. Gets the associated parameter name. Applied to a method that will never return under any circumstance. Specifies that the method will not return if the associated Boolean parameter is passed the specified value. Initializes the attribute with the specified parameter value. The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to the associated parameter matches this value. Gets the condition parameter value. Specifies that the method or property will ensure that the listed field and property members have not-null values. Initializes the attribute with a field or property member. The field or property member that is promised to be not-null. Initializes the attribute with the list of field and property members. The list of field and property members that are promised to be not-null. Gets field or property member names. Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. Initializes the attribute with the specified return value condition and a field or property member. The return value condition. If the method returns this value, the associated parameter will not be null. The field or property member that is promised to be not-null. Initializes the attribute with the specified return value condition and list of field and property members. The return value condition. If the method returns this value, the associated parameter will not be null. The list of field and property members that are promised to be not-null. Gets the return value condition. Gets field or property member names. Base type for all platform-specific API attributes. Records the platform that the project targeted. Records the operating system (and minimum version) that supports an API. Multiple attributes can be applied to indicate support on multiple operating systems. Callers can apply a or use guards to prevent calls to APIs on unsupported operating systems. A given platform should only be specified once. Marks APIs that were removed in a given operating system version. Primarily used by OS bindings to indicate APIs that are only available in earlier versions. Annotates a custom guard field, property or method with a supported platform name and optional version. Multiple attributes can be applied to indicate guard for multiple supported platforms. Callers can apply a to a field, property or method and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs. The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. Annotates the custom guard field, property or method with an unsupported platform name and optional version. Multiple attributes can be applied to indicate guard for multiple unsupported platforms. Callers can apply a to a field, property or method and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms. The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. ================================================ FILE: packages/System.Security.Cryptography.Pkcs.6.0.1/lib/net6.0/System.Security.Cryptography.Pkcs.xml ================================================ System.Security.Cryptography.Pkcs Decodes the provided data as a CMS/PKCS#7 EnvelopedData message. The data to decode. The parameter was not successfully decoded. Create a CertBag for a specified certificate type and encoding. The identifier for the certificate type The encoded value No validation is done to ensure that the value is correct for the indicated . Note that for X.509 public-key certificates the correct encoding for a CertBag value is to wrap the DER-encoded certificate in an OCTET STRING. Create a timestamp request using a pre-computed hash value. The pre-computed hash value to be timestamped. The Object Identifier (OID) for the hash algorithm which produced . The Object Identifier (OID) for a timestamp policy the Timestamp Authority (TSA) should use, or null to express no preference. An optional nonce (number used once) to uniquely identify this request to pair it with the response. The value is interpreted as an unsigned big-endian integer and may be normalized to the encoding format. Indicates whether the Timestamp Authority (TSA) must (true) or must not (false) include the signing certificate in the issued timestamp token. RFC3161 extensions to present with the request. An representing the chosen values. Get a SignedCms representation of the RFC3161 Timestamp Token. The SignedCms representation of the RFC3161 Timestamp Token. Successive calls to this method return the same object. The SignedCms class is mutable, but changes to that object are not reflected in the object which produced it. The value from calling can be interpreted again as an via another call to . Represents the timestamp token information class defined in RFC3161 as TSTInfo. Initializes a new instance of the class with the specified parameters. An OID representing the TSA's policy under which the response was produced. A hash algorithm OID of the data to be timestamped. A hash value of the data to be timestamped. An integer assigned by the TSA to the . The timestamp encoded in the token. The accuracy with which is compared. Also see . to ensure that every timestamp token from the same TSA can always be ordered based on the , regardless of the accuracy; to make indicate when token has been created by the TSA. The nonce associated with this timestamp token. Using a nonce always allows to detect replays, and hence its use is recommended. The hint in the TSA name identification. The actual identification of the entity that signed the response will always occur through the use of the certificate identifier. The extension values associated with the timestamp. If , , or are present in the , then the same value should be used. If is not provided, then the accuracy may be available through other means such as i.e. . ASN.1 corrupted data. Gets the version of the timestamp token. The version of the timestamp token. Gets an OID representing the TSA's policy under which the response was produced. An OID representing the TSA's policy under which the response was produced. Gets an OID of the hash algorithm. An OID of the hash algorithm. Gets the data representing the message hash. The data representing the message hash. Gets an integer assigned by the TSA to the . An integer assigned by the TSA to the . Gets the timestamp encoded in the token. The timestamp encoded in the token. Gets the accuracy with which is compared. The accuracy with which is compared. Gets a value indicating if every timestamp token from the same TSA can always be ordered based on the , regardless of the accuracy; If , indicates when the token has been created by the TSA. A value indicating if every timestamp token from the same TSA can always be ordered based on the . Gets the nonce associated with this timestamp token. The nonce associated with this timestamp token. Gets a value indicating whether there are any extensions associated with this timestamp token. A value indicating whether there are any extensions associated with this timestamp token. Gets the data representing the hint in the TSA name identification. The data representing the hint in the TSA name identification. The actual identification of the entity that signed the response will always occur through the use of the certificate identifier (ESSCertID Attribute) inside a SigningCertificate attribute which is part of the signer info. Gets the extension values associated with the timestamp. The extension values associated with the timestamp. Encodes this object into a TSTInfo value The encoded TSTInfo value. Attempts to encode this object as a TSTInfo value, writing the result into the provided buffer. The destination buffer. When this method returns , contains the bytes written to the buffer. if the operation succeeded; if the buffer size was insufficient. Decodes an encoded TSTInfo value. The input or source buffer. When this method returns , the decoded data. When this method returns , the value is , meaning the data could not be decoded. The number of bytes used for decoding. if the operation succeeded; otherwise. Map from an ASCII char to its hex value, e.g. arr['b'] == 11. 0xFF means it's not a hex digit. The `{0}` string cannot be empty or null. Only single dimensional arrays are supported for the requested action. The destination is too small to hold the encoded value. Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection. The OID value was invalid. Value was invalid. Index was out of range. Must be non-negative and less than the size of the collection. Positive number required. The KDF for algorithm '{0}' requires a char-based password input. ASN.1 Enumerated values only apply to enum types without the [Flags] attribute. Named bit list operations require an enum with the [Flags] attribute. The encoded named bit list value is larger than the value size of the '{0}' enum. Tags with TagClass Universal must have the appropriate TagValue value for the data type being read or written. Unused bit count must be between 0 and 7, inclusive. Encode cannot be called while a Sequence or SetOf is still open. Cannot pop the requested tag as it is not currently in progress. The hash value is not correct. Invalid signature. Could not determine signature algorithm for the signer certificate. The certificate chain is incomplete, the self-signed root authority could not be determined. Invalid originator identifier choice {0} found in decoded CMS. The subject identifier type {0} is not valid. Invalid cryptographic message type. SignerInfo digest algorithm '{0}' is not valid for signature algorithm '{1}'. The Date property is not available for none KID key agree recipient. The CMS message is not encrypted. The CMS message is not signed. The cryptographic message does not contain an expected authenticated attribute. Only one level of counter-signatures are supported on this platform. The recipients collection is empty. You must specify at least one recipient. This platform does not implement the certificate picker UI. No signer certificate was provided. This platform does not implement the certificate picker UI. No signer certificate was provided. The signed cryptographic message does not have a signer for the specified signer index. The enveloped-data message does not contain the specified recipient. The recipient type '{0}' is not supported for encryption or decryption on this platform. Cannot create CMS signature for empty content. CmsSigner has to be the first signer with NoSignature. Cannot find the original signer. A certificate with a private key is required. An RSA key is required to decrypt for a RecipientInfo with a KeyTransport recipient type. An RSA certificate is required for a CmsRecipient when used with RSAEncryptionPadding. Certificate trust could not be established. The first reported error is: {0} Unknown algorithm '{0}'. Unable to determine the type of key handle from this keyspec {0}. The certificate is not valid for the requested usage. Key is not a valid public or private key. This operation is not valid on an encrypted or enveloped Pkcs12SafeContents. The Pkcs12CertBag contents are not an X.509 certificate. The Pkcs12Builder can no longer be modified because one of the Seal methods was already invoked. One of the Seal methods must be invoked on the Pkcs12Builder before invoking an Encode method. Cannot enumerate the contents of an encrypted or enveloped Pkcs12SafeContents. New Pkcs12SafeBag values cannot be added to a Pkcs12SafeContents that was read from existing data. This decryption operation applies to 'Pkcs12ConfidentialityMode.{0}', but the target object is in 'Pkcs12ConfidentialityMode.{1}'. This verification operation applies to 'Pkcs12IntegrityMode.{0}', but the target object is in 'Pkcs12IntegrityMode.{1}'. Invalid signature paramters. The EncryptedPrivateKeyInfo structure was decoded but was not successfully interpreted, the password may be incorrect. The parameter should be a PKCS 9 attribute. Cannot add multiple PKCS 9 signing time attributes. PSS parameters were not present. This platform requires that the PSS hash algorithm ({0}) match the data digest algorithm ({1}). This platform does not support the MGF hash algorithm ({0}) being different from the signature hash algorithm ({1}). Mask generation function '{0}' is not supported by this platform. PSS salt size {0} is not supported by this platform with hash algorithm {1}. The response from the timestamping server did not match the request nonce. The response from the timestamping server was not understood. The timestamping server did not grant the request. The request status is '{0}' with failure info '{1}'. The timestamping request required the TSA certificate in the response, but it was not found. The timestamping request required the TSA certificate not be included in the response, but certificates were present. Duplicate items are not allowed in the collection. AsnEncodedData element in the collection has wrong Oid value: expected = '{0}', actual = '{1}'. System.Security.Cryptography.Pkcs is only supported on Windows platforms. Algorithm '{0}' is not supported on this platform. ASN1 corrupted data. The string contains a character not in the 7 bit ASCII character set. The algorithm identified by '{0}' is unknown, not valid for the requested usage, or was not handled. '{0}' is not a known hash algorithm. The input to WriteEncodedValue must represent a single encoded value with no trailing data. Attribute not found. Certificate not found. Certificate already present in the collection. The key in the enveloped message is not valid or could not be decoded. Return the managed representation of the recipients. .NET Framework compat: Unlike the desktop, we compute this once and then latch it. Since both RecipientInfo and RecipientInfoCollection are immutable objects, this should be a safe optimization to make. Attempt to decrypt the CMS using the specified "cert". If successful, return the ContentInfo that contains the decrypted content. If unsuccessful, return null and set "exception" to a valid Exception object. Do not throw the exception as EnvelopedCms will want to continue decryption attempts against other recipients. Only if all the recipients fail to decrypt will then EnvelopedCms throw the exception from the last failed attempt. This is not just a convenience wrapper for Array.Resize(). In DEBUG builds, it forces the array to move in memory even if no resize is needed. This should be used by helper methods that do anything of the form "call a native api once to get the estimated size, call it again to get the data and return the data in a byte[] array." Sometimes, that data consist of a native data structure containing pointers to other parts of the block. Using such a helper to retrieve such a block results in an intermittent AV. By using this helper, you make that AV repro every time. .NET Framework compat: We do not complain about multiple matches. Just take the first one and ignore the rest. Asserts on bad or non-canonicalized input. Input must come from trusted sources. Subject Key Identifier is string-ized as an upper case hex string. This format is part of the public api behavior and cannot be changed. Asserts on bad or non-canonicalized input. Input must come from trusted sources. Serial number is string-ized as a reversed upper case hex string. This format is part of the public api behavior and cannot be changed. Asserts on bad input. Input must come from trusted sources. Asserts on bad input. Input must come from trusted sources. Useful helper for "upgrading" well-known CMS attributes to type-specific objects such as Pkcs9DocumentName, Pkcs9DocumentDescription, etc. Encrypt and encode a CMS. Return value is the RFC-compliant representation of the CMS that can be transmitted "on the wire." Decode an encoded CMS. Call RecipientInfos on the returned pal object to get the recipients. Call TryDecrypt() on the returned pal object to attempt a decrypt for a single recipient. Implements the ContentInfo.GetContentType() behavior. EnvelopedCms.Decrypt() looks for qualifying certs from the "MY" store (as well as any "extraStore" passed to Decrypt()). This method encapsulates exactly what a particular OS considers to be "the MY store." If EnvelopedCms.Decrypt() fails to find any matching certs for any recipients, it throws CryptographicException(CRYPT_E_RECIPIENT_NOT_FOUND) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call RecipientInfos after an Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call Decrypt() after an Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call Decrypt() after a Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. Retrieve the certificate's subject key identifier value. Retrieve a private key object for the certificate to use with signing. Retrieve a private key object for the certificate to use with decryption. Get the one instance of PkcsPal. ================================================ FILE: packages/System.Security.Cryptography.Pkcs.6.0.1/lib/netcoreapp3.1/System.Security.Cryptography.Pkcs.xml ================================================ System.Security.Cryptography.Pkcs Decodes the provided data as a CMS/PKCS#7 EnvelopedData message. The data to decode. The parameter was not successfully decoded. Create a CertBag for a specified certificate type and encoding. The identifier for the certificate type The encoded value No validation is done to ensure that the value is correct for the indicated . Note that for X.509 public-key certificates the correct encoding for a CertBag value is to wrap the DER-encoded certificate in an OCTET STRING. Create a timestamp request using a pre-computed hash value. The pre-computed hash value to be timestamped. The Object Identifier (OID) for the hash algorithm which produced . The Object Identifier (OID) for a timestamp policy the Timestamp Authority (TSA) should use, or null to express no preference. An optional nonce (number used once) to uniquely identify this request to pair it with the response. The value is interpreted as an unsigned big-endian integer and may be normalized to the encoding format. Indicates whether the Timestamp Authority (TSA) must (true) or must not (false) include the signing certificate in the issued timestamp token. RFC3161 extensions to present with the request. An representing the chosen values. Get a SignedCms representation of the RFC3161 Timestamp Token. The SignedCms representation of the RFC3161 Timestamp Token. Successive calls to this method return the same object. The SignedCms class is mutable, but changes to that object are not reflected in the object which produced it. The value from calling can be interpreted again as an via another call to . Represents the timestamp token information class defined in RFC3161 as TSTInfo. Initializes a new instance of the class with the specified parameters. An OID representing the TSA's policy under which the response was produced. A hash algorithm OID of the data to be timestamped. A hash value of the data to be timestamped. An integer assigned by the TSA to the . The timestamp encoded in the token. The accuracy with which is compared. Also see . to ensure that every timestamp token from the same TSA can always be ordered based on the , regardless of the accuracy; to make indicate when token has been created by the TSA. The nonce associated with this timestamp token. Using a nonce always allows to detect replays, and hence its use is recommended. The hint in the TSA name identification. The actual identification of the entity that signed the response will always occur through the use of the certificate identifier. The extension values associated with the timestamp. If , , or are present in the , then the same value should be used. If is not provided, then the accuracy may be available through other means such as i.e. . ASN.1 corrupted data. Gets the version of the timestamp token. The version of the timestamp token. Gets an OID representing the TSA's policy under which the response was produced. An OID representing the TSA's policy under which the response was produced. Gets an OID of the hash algorithm. An OID of the hash algorithm. Gets the data representing the message hash. The data representing the message hash. Gets an integer assigned by the TSA to the . An integer assigned by the TSA to the . Gets the timestamp encoded in the token. The timestamp encoded in the token. Gets the accuracy with which is compared. The accuracy with which is compared. Gets a value indicating if every timestamp token from the same TSA can always be ordered based on the , regardless of the accuracy; If , indicates when the token has been created by the TSA. A value indicating if every timestamp token from the same TSA can always be ordered based on the . Gets the nonce associated with this timestamp token. The nonce associated with this timestamp token. Gets a value indicating whether there are any extensions associated with this timestamp token. A value indicating whether there are any extensions associated with this timestamp token. Gets the data representing the hint in the TSA name identification. The data representing the hint in the TSA name identification. The actual identification of the entity that signed the response will always occur through the use of the certificate identifier (ESSCertID Attribute) inside a SigningCertificate attribute which is part of the signer info. Gets the extension values associated with the timestamp. The extension values associated with the timestamp. Encodes this object into a TSTInfo value The encoded TSTInfo value. Attempts to encode this object as a TSTInfo value, writing the result into the provided buffer. The destination buffer. When this method returns , contains the bytes written to the buffer. if the operation succeeded; if the buffer size was insufficient. Decodes an encoded TSTInfo value. The input or source buffer. When this method returns , the decoded data. When this method returns , the value is , meaning the data could not be decoded. The number of bytes used for decoding. if the operation succeeded; otherwise. Map from an ASCII char to its hex value, e.g. arr['b'] == 11. 0xFF means it's not a hex digit. The `{0}` string cannot be empty or null. Only single dimensional arrays are supported for the requested action. The destination is too small to hold the encoded value. Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection. The OID value was invalid. Value was invalid. Index was out of range. Must be non-negative and less than the size of the collection. Positive number required. The KDF for algorithm '{0}' requires a char-based password input. ASN.1 Enumerated values only apply to enum types without the [Flags] attribute. Named bit list operations require an enum with the [Flags] attribute. The encoded named bit list value is larger than the value size of the '{0}' enum. Tags with TagClass Universal must have the appropriate TagValue value for the data type being read or written. Unused bit count must be between 0 and 7, inclusive. Encode cannot be called while a Sequence or SetOf is still open. Cannot pop the requested tag as it is not currently in progress. The hash value is not correct. Invalid signature. Could not determine signature algorithm for the signer certificate. The certificate chain is incomplete, the self-signed root authority could not be determined. Invalid originator identifier choice {0} found in decoded CMS. The subject identifier type {0} is not valid. Invalid cryptographic message type. SignerInfo digest algorithm '{0}' is not valid for signature algorithm '{1}'. The Date property is not available for none KID key agree recipient. The CMS message is not encrypted. The CMS message is not signed. The cryptographic message does not contain an expected authenticated attribute. Only one level of counter-signatures are supported on this platform. The recipients collection is empty. You must specify at least one recipient. This platform does not implement the certificate picker UI. No signer certificate was provided. This platform does not implement the certificate picker UI. No signer certificate was provided. The signed cryptographic message does not have a signer for the specified signer index. The enveloped-data message does not contain the specified recipient. The recipient type '{0}' is not supported for encryption or decryption on this platform. Cannot create CMS signature for empty content. CmsSigner has to be the first signer with NoSignature. Cannot find the original signer. A certificate with a private key is required. An RSA key is required to decrypt for a RecipientInfo with a KeyTransport recipient type. An RSA certificate is required for a CmsRecipient when used with RSAEncryptionPadding. Certificate trust could not be established. The first reported error is: {0} Unknown algorithm '{0}'. Unable to determine the type of key handle from this keyspec {0}. The certificate is not valid for the requested usage. Key is not a valid public or private key. This operation is not valid on an encrypted or enveloped Pkcs12SafeContents. The Pkcs12CertBag contents are not an X.509 certificate. The Pkcs12Builder can no longer be modified because one of the Seal methods was already invoked. One of the Seal methods must be invoked on the Pkcs12Builder before invoking an Encode method. Cannot enumerate the contents of an encrypted or enveloped Pkcs12SafeContents. New Pkcs12SafeBag values cannot be added to a Pkcs12SafeContents that was read from existing data. This decryption operation applies to 'Pkcs12ConfidentialityMode.{0}', but the target object is in 'Pkcs12ConfidentialityMode.{1}'. This verification operation applies to 'Pkcs12IntegrityMode.{0}', but the target object is in 'Pkcs12IntegrityMode.{1}'. Invalid signature paramters. The EncryptedPrivateKeyInfo structure was decoded but was not successfully interpreted, the password may be incorrect. The parameter should be a PKCS 9 attribute. Cannot add multiple PKCS 9 signing time attributes. PSS parameters were not present. This platform requires that the PSS hash algorithm ({0}) match the data digest algorithm ({1}). This platform does not support the MGF hash algorithm ({0}) being different from the signature hash algorithm ({1}). Mask generation function '{0}' is not supported by this platform. PSS salt size {0} is not supported by this platform with hash algorithm {1}. The response from the timestamping server did not match the request nonce. The response from the timestamping server was not understood. The timestamping server did not grant the request. The request status is '{0}' with failure info '{1}'. The timestamping request required the TSA certificate in the response, but it was not found. The timestamping request required the TSA certificate not be included in the response, but certificates were present. Duplicate items are not allowed in the collection. AsnEncodedData element in the collection has wrong Oid value: expected = '{0}', actual = '{1}'. System.Security.Cryptography.Pkcs is only supported on Windows platforms. Algorithm '{0}' is not supported on this platform. ASN1 corrupted data. The string contains a character not in the 7 bit ASCII character set. The algorithm identified by '{0}' is unknown, not valid for the requested usage, or was not handled. '{0}' is not a known hash algorithm. The input to WriteEncodedValue must represent a single encoded value with no trailing data. Attribute not found. Certificate not found. Certificate already present in the collection. The key in the enveloped message is not valid or could not be decoded. Specifies that the method or property will ensure that the listed field and property members have not-null values. Initializes the attribute with a field or property member. The field or property member that is promised to be not-null. Initializes the attribute with the list of field and property members. The list of field and property members that are promised to be not-null. Gets field or property member names. Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. Initializes the attribute with the specified return value condition and a field or property member. The return value condition. If the method returns this value, the associated parameter will not be null. The field or property member that is promised to be not-null. Initializes the attribute with the specified return value condition and list of field and property members. The return value condition. If the method returns this value, the associated parameter will not be null. The list of field and property members that are promised to be not-null. Gets the return value condition. Gets field or property member names. Base type for all platform-specific API attributes. Records the platform that the project targeted. Records the operating system (and minimum version) that supports an API. Multiple attributes can be applied to indicate support on multiple operating systems. Callers can apply a or use guards to prevent calls to APIs on unsupported operating systems. A given platform should only be specified once. Marks APIs that were removed in a given operating system version. Primarily used by OS bindings to indicate APIs that are only available in earlier versions. Annotates a custom guard field, property or method with a supported platform name and optional version. Multiple attributes can be applied to indicate guard for multiple supported platforms. Callers can apply a to a field, property or method and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs. The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. Annotates the custom guard field, property or method with an unsupported platform name and optional version. Multiple attributes can be applied to indicate guard for multiple unsupported platforms. Callers can apply a to a field, property or method and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms. The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. Return the managed representation of the recipients. .NET Framework compat: Unlike the desktop, we compute this once and then latch it. Since both RecipientInfo and RecipientInfoCollection are immutable objects, this should be a safe optimization to make. Attempt to decrypt the CMS using the specified "cert". If successful, return the ContentInfo that contains the decrypted content. If unsuccessful, return null and set "exception" to a valid Exception object. Do not throw the exception as EnvelopedCms will want to continue decryption attempts against other recipients. Only if all the recipients fail to decrypt will then EnvelopedCms throw the exception from the last failed attempt. This is not just a convenience wrapper for Array.Resize(). In DEBUG builds, it forces the array to move in memory even if no resize is needed. This should be used by helper methods that do anything of the form "call a native api once to get the estimated size, call it again to get the data and return the data in a byte[] array." Sometimes, that data consist of a native data structure containing pointers to other parts of the block. Using such a helper to retrieve such a block results in an intermittent AV. By using this helper, you make that AV repro every time. .NET Framework compat: We do not complain about multiple matches. Just take the first one and ignore the rest. Asserts on bad or non-canonicalized input. Input must come from trusted sources. Subject Key Identifier is string-ized as an upper case hex string. This format is part of the public api behavior and cannot be changed. Asserts on bad or non-canonicalized input. Input must come from trusted sources. Serial number is string-ized as a reversed upper case hex string. This format is part of the public api behavior and cannot be changed. Asserts on bad input. Input must come from trusted sources. Asserts on bad input. Input must come from trusted sources. Useful helper for "upgrading" well-known CMS attributes to type-specific objects such as Pkcs9DocumentName, Pkcs9DocumentDescription, etc. Encrypt and encode a CMS. Return value is the RFC-compliant representation of the CMS that can be transmitted "on the wire." Decode an encoded CMS. Call RecipientInfos on the returned pal object to get the recipients. Call TryDecrypt() on the returned pal object to attempt a decrypt for a single recipient. Implements the ContentInfo.GetContentType() behavior. EnvelopedCms.Decrypt() looks for qualifying certs from the "MY" store (as well as any "extraStore" passed to Decrypt()). This method encapsulates exactly what a particular OS considers to be "the MY store." If EnvelopedCms.Decrypt() fails to find any matching certs for any recipients, it throws CryptographicException(CRYPT_E_RECIPIENT_NOT_FOUND) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call RecipientInfos after an Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call Decrypt() after an Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call Decrypt() after a Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. Retrieve the certificate's subject key identifier value. Retrieve a private key object for the certificate to use with signing. Retrieve a private key object for the certificate to use with decryption. Get the one instance of PkcsPal. ================================================ FILE: packages/System.Security.Cryptography.Pkcs.6.0.1/lib/netstandard2.0/System.Security.Cryptography.Pkcs.xml ================================================ System.Security.Cryptography.Pkcs Decodes the provided data as a CMS/PKCS#7 EnvelopedData message. The data to decode. The parameter was not successfully decoded. Map from an ASCII char to its hex value, e.g. arr['b'] == 11. 0xFF means it's not a hex digit. The `{0}` string cannot be empty or null. Only single dimensional arrays are supported for the requested action. The destination is too small to hold the encoded value. Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection. The OID value was invalid. Value was invalid. Index was out of range. Must be non-negative and less than the size of the collection. Positive number required. The KDF for algorithm '{0}' requires a char-based password input. ASN.1 Enumerated values only apply to enum types without the [Flags] attribute. Named bit list operations require an enum with the [Flags] attribute. The encoded named bit list value is larger than the value size of the '{0}' enum. Tags with TagClass Universal must have the appropriate TagValue value for the data type being read or written. Unused bit count must be between 0 and 7, inclusive. Encode cannot be called while a Sequence or SetOf is still open. Cannot pop the requested tag as it is not currently in progress. The hash value is not correct. Invalid signature. Could not determine signature algorithm for the signer certificate. The certificate chain is incomplete, the self-signed root authority could not be determined. Invalid originator identifier choice {0} found in decoded CMS. The subject identifier type {0} is not valid. Invalid cryptographic message type. SignerInfo digest algorithm '{0}' is not valid for signature algorithm '{1}'. The Date property is not available for none KID key agree recipient. The CMS message is not encrypted. The CMS message is not signed. The cryptographic message does not contain an expected authenticated attribute. Only one level of counter-signatures are supported on this platform. The recipients collection is empty. You must specify at least one recipient. This platform does not implement the certificate picker UI. No signer certificate was provided. This platform does not implement the certificate picker UI. No signer certificate was provided. The signed cryptographic message does not have a signer for the specified signer index. The enveloped-data message does not contain the specified recipient. The recipient type '{0}' is not supported for encryption or decryption on this platform. Cannot create CMS signature for empty content. CmsSigner has to be the first signer with NoSignature. Cannot find the original signer. A certificate with a private key is required. An RSA key is required to decrypt for a RecipientInfo with a KeyTransport recipient type. An RSA certificate is required for a CmsRecipient when used with RSAEncryptionPadding. Certificate trust could not be established. The first reported error is: {0} Unknown algorithm '{0}'. Unable to determine the type of key handle from this keyspec {0}. The certificate is not valid for the requested usage. Key is not a valid public or private key. This operation is not valid on an encrypted or enveloped Pkcs12SafeContents. The Pkcs12CertBag contents are not an X.509 certificate. The Pkcs12Builder can no longer be modified because one of the Seal methods was already invoked. One of the Seal methods must be invoked on the Pkcs12Builder before invoking an Encode method. Cannot enumerate the contents of an encrypted or enveloped Pkcs12SafeContents. New Pkcs12SafeBag values cannot be added to a Pkcs12SafeContents that was read from existing data. This decryption operation applies to 'Pkcs12ConfidentialityMode.{0}', but the target object is in 'Pkcs12ConfidentialityMode.{1}'. This verification operation applies to 'Pkcs12IntegrityMode.{0}', but the target object is in 'Pkcs12IntegrityMode.{1}'. Invalid signature paramters. The EncryptedPrivateKeyInfo structure was decoded but was not successfully interpreted, the password may be incorrect. The parameter should be a PKCS 9 attribute. Cannot add multiple PKCS 9 signing time attributes. PSS parameters were not present. This platform requires that the PSS hash algorithm ({0}) match the data digest algorithm ({1}). This platform does not support the MGF hash algorithm ({0}) being different from the signature hash algorithm ({1}). Mask generation function '{0}' is not supported by this platform. PSS salt size {0} is not supported by this platform with hash algorithm {1}. The response from the timestamping server did not match the request nonce. The response from the timestamping server was not understood. The timestamping server did not grant the request. The request status is '{0}' with failure info '{1}'. The timestamping request required the TSA certificate in the response, but it was not found. The timestamping request required the TSA certificate not be included in the response, but certificates were present. Duplicate items are not allowed in the collection. AsnEncodedData element in the collection has wrong Oid value: expected = '{0}', actual = '{1}'. System.Security.Cryptography.Pkcs is only supported on Windows platforms. Algorithm '{0}' is not supported on this platform. ASN1 corrupted data. The string contains a character not in the 7 bit ASCII character set. The algorithm identified by '{0}' is unknown, not valid for the requested usage, or was not handled. '{0}' is not a known hash algorithm. The input to WriteEncodedValue must represent a single encoded value with no trailing data. Attribute not found. Certificate not found. Certificate already present in the collection. The key in the enveloped message is not valid or could not be decoded. Specifies that null is allowed as an input even if the corresponding type disallows it. Specifies that null is disallowed as an input even if the corresponding type allows it. Specifies that an output may be null even if the corresponding type disallows it. Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter may be null. Gets the return value condition. Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter will not be null. Gets the return value condition. Specifies that the output will be non-null if the named parameter is non-null. Initializes the attribute with the associated parameter name. The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. Gets the associated parameter name. Applied to a method that will never return under any circumstance. Specifies that the method will not return if the associated Boolean parameter is passed the specified value. Initializes the attribute with the specified parameter value. The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to the associated parameter matches this value. Gets the condition parameter value. Specifies that the method or property will ensure that the listed field and property members have not-null values. Initializes the attribute with a field or property member. The field or property member that is promised to be not-null. Initializes the attribute with the list of field and property members. The list of field and property members that are promised to be not-null. Gets field or property member names. Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. Initializes the attribute with the specified return value condition and a field or property member. The return value condition. If the method returns this value, the associated parameter will not be null. The field or property member that is promised to be not-null. Initializes the attribute with the specified return value condition and list of field and property members. The return value condition. If the method returns this value, the associated parameter will not be null. The list of field and property members that are promised to be not-null. Gets the return value condition. Gets field or property member names. Base type for all platform-specific API attributes. Records the platform that the project targeted. Records the operating system (and minimum version) that supports an API. Multiple attributes can be applied to indicate support on multiple operating systems. Callers can apply a or use guards to prevent calls to APIs on unsupported operating systems. A given platform should only be specified once. Marks APIs that were removed in a given operating system version. Primarily used by OS bindings to indicate APIs that are only available in earlier versions. Annotates a custom guard field, property or method with a supported platform name and optional version. Multiple attributes can be applied to indicate guard for multiple supported platforms. Callers can apply a to a field, property or method and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs. The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. Annotates the custom guard field, property or method with an unsupported platform name and optional version. Multiple attributes can be applied to indicate guard for multiple unsupported platforms. Callers can apply a to a field, property or method and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms. The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. Return the managed representation of the recipients. .NET Framework compat: Unlike the desktop, we compute this once and then latch it. Since both RecipientInfo and RecipientInfoCollection are immutable objects, this should be a safe optimization to make. Attempt to decrypt the CMS using the specified "cert". If successful, return the ContentInfo that contains the decrypted content. If unsuccessful, return null and set "exception" to a valid Exception object. Do not throw the exception as EnvelopedCms will want to continue decryption attempts against other recipients. Only if all the recipients fail to decrypt will then EnvelopedCms throw the exception from the last failed attempt. This is not just a convenience wrapper for Array.Resize(). In DEBUG builds, it forces the array to move in memory even if no resize is needed. This should be used by helper methods that do anything of the form "call a native api once to get the estimated size, call it again to get the data and return the data in a byte[] array." Sometimes, that data consist of a native data structure containing pointers to other parts of the block. Using such a helper to retrieve such a block results in an intermittent AV. By using this helper, you make that AV repro every time. .NET Framework compat: We do not complain about multiple matches. Just take the first one and ignore the rest. Asserts on bad or non-canonicalized input. Input must come from trusted sources. Subject Key Identifier is string-ized as an upper case hex string. This format is part of the public api behavior and cannot be changed. Asserts on bad or non-canonicalized input. Input must come from trusted sources. Serial number is string-ized as a reversed upper case hex string. This format is part of the public api behavior and cannot be changed. Asserts on bad input. Input must come from trusted sources. Asserts on bad input. Input must come from trusted sources. Useful helper for "upgrading" well-known CMS attributes to type-specific objects such as Pkcs9DocumentName, Pkcs9DocumentDescription, etc. Encrypt and encode a CMS. Return value is the RFC-compliant representation of the CMS that can be transmitted "on the wire." Decode an encoded CMS. Call RecipientInfos on the returned pal object to get the recipients. Call TryDecrypt() on the returned pal object to attempt a decrypt for a single recipient. Implements the ContentInfo.GetContentType() behavior. EnvelopedCms.Decrypt() looks for qualifying certs from the "MY" store (as well as any "extraStore" passed to Decrypt()). This method encapsulates exactly what a particular OS considers to be "the MY store." If EnvelopedCms.Decrypt() fails to find any matching certs for any recipients, it throws CryptographicException(CRYPT_E_RECIPIENT_NOT_FOUND) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call RecipientInfos after an Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call Decrypt() after an Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call Decrypt() after a Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. Retrieve the certificate's subject key identifier value. Retrieve a private key object for the certificate to use with signing. Retrieve a private key object for the certificate to use with decryption. Get the one instance of PkcsPal. ================================================ FILE: packages/System.Security.Cryptography.Pkcs.6.0.1/lib/netstandard2.1/System.Security.Cryptography.Pkcs.xml ================================================ System.Security.Cryptography.Pkcs Decodes the provided data as a CMS/PKCS#7 EnvelopedData message. The data to decode. The parameter was not successfully decoded. Create a CertBag for a specified certificate type and encoding. The identifier for the certificate type The encoded value No validation is done to ensure that the value is correct for the indicated . Note that for X.509 public-key certificates the correct encoding for a CertBag value is to wrap the DER-encoded certificate in an OCTET STRING. Create a timestamp request using a pre-computed hash value. The pre-computed hash value to be timestamped. The Object Identifier (OID) for the hash algorithm which produced . The Object Identifier (OID) for a timestamp policy the Timestamp Authority (TSA) should use, or null to express no preference. An optional nonce (number used once) to uniquely identify this request to pair it with the response. The value is interpreted as an unsigned big-endian integer and may be normalized to the encoding format. Indicates whether the Timestamp Authority (TSA) must (true) or must not (false) include the signing certificate in the issued timestamp token. RFC3161 extensions to present with the request. An representing the chosen values. Get a SignedCms representation of the RFC3161 Timestamp Token. The SignedCms representation of the RFC3161 Timestamp Token. Successive calls to this method return the same object. The SignedCms class is mutable, but changes to that object are not reflected in the object which produced it. The value from calling can be interpreted again as an via another call to . Represents the timestamp token information class defined in RFC3161 as TSTInfo. Initializes a new instance of the class with the specified parameters. An OID representing the TSA's policy under which the response was produced. A hash algorithm OID of the data to be timestamped. A hash value of the data to be timestamped. An integer assigned by the TSA to the . The timestamp encoded in the token. The accuracy with which is compared. Also see . to ensure that every timestamp token from the same TSA can always be ordered based on the , regardless of the accuracy; to make indicate when token has been created by the TSA. The nonce associated with this timestamp token. Using a nonce always allows to detect replays, and hence its use is recommended. The hint in the TSA name identification. The actual identification of the entity that signed the response will always occur through the use of the certificate identifier. The extension values associated with the timestamp. If , , or are present in the , then the same value should be used. If is not provided, then the accuracy may be available through other means such as i.e. . ASN.1 corrupted data. Gets the version of the timestamp token. The version of the timestamp token. Gets an OID representing the TSA's policy under which the response was produced. An OID representing the TSA's policy under which the response was produced. Gets an OID of the hash algorithm. An OID of the hash algorithm. Gets the data representing the message hash. The data representing the message hash. Gets an integer assigned by the TSA to the . An integer assigned by the TSA to the . Gets the timestamp encoded in the token. The timestamp encoded in the token. Gets the accuracy with which is compared. The accuracy with which is compared. Gets a value indicating if every timestamp token from the same TSA can always be ordered based on the , regardless of the accuracy; If , indicates when the token has been created by the TSA. A value indicating if every timestamp token from the same TSA can always be ordered based on the . Gets the nonce associated with this timestamp token. The nonce associated with this timestamp token. Gets a value indicating whether there are any extensions associated with this timestamp token. A value indicating whether there are any extensions associated with this timestamp token. Gets the data representing the hint in the TSA name identification. The data representing the hint in the TSA name identification. The actual identification of the entity that signed the response will always occur through the use of the certificate identifier (ESSCertID Attribute) inside a SigningCertificate attribute which is part of the signer info. Gets the extension values associated with the timestamp. The extension values associated with the timestamp. Encodes this object into a TSTInfo value The encoded TSTInfo value. Attempts to encode this object as a TSTInfo value, writing the result into the provided buffer. The destination buffer. When this method returns , contains the bytes written to the buffer. if the operation succeeded; if the buffer size was insufficient. Decodes an encoded TSTInfo value. The input or source buffer. When this method returns , the decoded data. When this method returns , the value is , meaning the data could not be decoded. The number of bytes used for decoding. if the operation succeeded; otherwise. Map from an ASCII char to its hex value, e.g. arr['b'] == 11. 0xFF means it's not a hex digit. The `{0}` string cannot be empty or null. Only single dimensional arrays are supported for the requested action. The destination is too small to hold the encoded value. Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection. The OID value was invalid. Value was invalid. Index was out of range. Must be non-negative and less than the size of the collection. Positive number required. The KDF for algorithm '{0}' requires a char-based password input. ASN.1 Enumerated values only apply to enum types without the [Flags] attribute. Named bit list operations require an enum with the [Flags] attribute. The encoded named bit list value is larger than the value size of the '{0}' enum. Tags with TagClass Universal must have the appropriate TagValue value for the data type being read or written. Unused bit count must be between 0 and 7, inclusive. Encode cannot be called while a Sequence or SetOf is still open. Cannot pop the requested tag as it is not currently in progress. The hash value is not correct. Invalid signature. Could not determine signature algorithm for the signer certificate. The certificate chain is incomplete, the self-signed root authority could not be determined. Invalid originator identifier choice {0} found in decoded CMS. The subject identifier type {0} is not valid. Invalid cryptographic message type. SignerInfo digest algorithm '{0}' is not valid for signature algorithm '{1}'. The Date property is not available for none KID key agree recipient. The CMS message is not encrypted. The CMS message is not signed. The cryptographic message does not contain an expected authenticated attribute. Only one level of counter-signatures are supported on this platform. The recipients collection is empty. You must specify at least one recipient. This platform does not implement the certificate picker UI. No signer certificate was provided. This platform does not implement the certificate picker UI. No signer certificate was provided. The signed cryptographic message does not have a signer for the specified signer index. The enveloped-data message does not contain the specified recipient. The recipient type '{0}' is not supported for encryption or decryption on this platform. Cannot create CMS signature for empty content. CmsSigner has to be the first signer with NoSignature. Cannot find the original signer. A certificate with a private key is required. An RSA key is required to decrypt for a RecipientInfo with a KeyTransport recipient type. An RSA certificate is required for a CmsRecipient when used with RSAEncryptionPadding. Certificate trust could not be established. The first reported error is: {0} Unknown algorithm '{0}'. Unable to determine the type of key handle from this keyspec {0}. The certificate is not valid for the requested usage. Key is not a valid public or private key. This operation is not valid on an encrypted or enveloped Pkcs12SafeContents. The Pkcs12CertBag contents are not an X.509 certificate. The Pkcs12Builder can no longer be modified because one of the Seal methods was already invoked. One of the Seal methods must be invoked on the Pkcs12Builder before invoking an Encode method. Cannot enumerate the contents of an encrypted or enveloped Pkcs12SafeContents. New Pkcs12SafeBag values cannot be added to a Pkcs12SafeContents that was read from existing data. This decryption operation applies to 'Pkcs12ConfidentialityMode.{0}', but the target object is in 'Pkcs12ConfidentialityMode.{1}'. This verification operation applies to 'Pkcs12IntegrityMode.{0}', but the target object is in 'Pkcs12IntegrityMode.{1}'. Invalid signature paramters. The EncryptedPrivateKeyInfo structure was decoded but was not successfully interpreted, the password may be incorrect. The parameter should be a PKCS 9 attribute. Cannot add multiple PKCS 9 signing time attributes. PSS parameters were not present. This platform requires that the PSS hash algorithm ({0}) match the data digest algorithm ({1}). This platform does not support the MGF hash algorithm ({0}) being different from the signature hash algorithm ({1}). Mask generation function '{0}' is not supported by this platform. PSS salt size {0} is not supported by this platform with hash algorithm {1}. The response from the timestamping server did not match the request nonce. The response from the timestamping server was not understood. The timestamping server did not grant the request. The request status is '{0}' with failure info '{1}'. The timestamping request required the TSA certificate in the response, but it was not found. The timestamping request required the TSA certificate not be included in the response, but certificates were present. Duplicate items are not allowed in the collection. AsnEncodedData element in the collection has wrong Oid value: expected = '{0}', actual = '{1}'. System.Security.Cryptography.Pkcs is only supported on Windows platforms. Algorithm '{0}' is not supported on this platform. ASN1 corrupted data. The string contains a character not in the 7 bit ASCII character set. The algorithm identified by '{0}' is unknown, not valid for the requested usage, or was not handled. '{0}' is not a known hash algorithm. The input to WriteEncodedValue must represent a single encoded value with no trailing data. Attribute not found. Certificate not found. Certificate already present in the collection. The key in the enveloped message is not valid or could not be decoded. Specifies that the method or property will ensure that the listed field and property members have not-null values. Initializes the attribute with a field or property member. The field or property member that is promised to be not-null. Initializes the attribute with the list of field and property members. The list of field and property members that are promised to be not-null. Gets field or property member names. Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. Initializes the attribute with the specified return value condition and a field or property member. The return value condition. If the method returns this value, the associated parameter will not be null. The field or property member that is promised to be not-null. Initializes the attribute with the specified return value condition and list of field and property members. The return value condition. If the method returns this value, the associated parameter will not be null. The list of field and property members that are promised to be not-null. Gets the return value condition. Gets field or property member names. Base type for all platform-specific API attributes. Records the platform that the project targeted. Records the operating system (and minimum version) that supports an API. Multiple attributes can be applied to indicate support on multiple operating systems. Callers can apply a or use guards to prevent calls to APIs on unsupported operating systems. A given platform should only be specified once. Marks APIs that were removed in a given operating system version. Primarily used by OS bindings to indicate APIs that are only available in earlier versions. Annotates a custom guard field, property or method with a supported platform name and optional version. Multiple attributes can be applied to indicate guard for multiple supported platforms. Callers can apply a to a field, property or method and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs. The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. Annotates the custom guard field, property or method with an unsupported platform name and optional version. Multiple attributes can be applied to indicate guard for multiple unsupported platforms. Callers can apply a to a field, property or method and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms. The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. Return the managed representation of the recipients. .NET Framework compat: Unlike the desktop, we compute this once and then latch it. Since both RecipientInfo and RecipientInfoCollection are immutable objects, this should be a safe optimization to make. Attempt to decrypt the CMS using the specified "cert". If successful, return the ContentInfo that contains the decrypted content. If unsuccessful, return null and set "exception" to a valid Exception object. Do not throw the exception as EnvelopedCms will want to continue decryption attempts against other recipients. Only if all the recipients fail to decrypt will then EnvelopedCms throw the exception from the last failed attempt. This is not just a convenience wrapper for Array.Resize(). In DEBUG builds, it forces the array to move in memory even if no resize is needed. This should be used by helper methods that do anything of the form "call a native api once to get the estimated size, call it again to get the data and return the data in a byte[] array." Sometimes, that data consist of a native data structure containing pointers to other parts of the block. Using such a helper to retrieve such a block results in an intermittent AV. By using this helper, you make that AV repro every time. .NET Framework compat: We do not complain about multiple matches. Just take the first one and ignore the rest. Asserts on bad or non-canonicalized input. Input must come from trusted sources. Subject Key Identifier is string-ized as an upper case hex string. This format is part of the public api behavior and cannot be changed. Asserts on bad or non-canonicalized input. Input must come from trusted sources. Serial number is string-ized as a reversed upper case hex string. This format is part of the public api behavior and cannot be changed. Asserts on bad input. Input must come from trusted sources. Asserts on bad input. Input must come from trusted sources. Useful helper for "upgrading" well-known CMS attributes to type-specific objects such as Pkcs9DocumentName, Pkcs9DocumentDescription, etc. Encrypt and encode a CMS. Return value is the RFC-compliant representation of the CMS that can be transmitted "on the wire." Decode an encoded CMS. Call RecipientInfos on the returned pal object to get the recipients. Call TryDecrypt() on the returned pal object to attempt a decrypt for a single recipient. Implements the ContentInfo.GetContentType() behavior. EnvelopedCms.Decrypt() looks for qualifying certs from the "MY" store (as well as any "extraStore" passed to Decrypt()). This method encapsulates exactly what a particular OS considers to be "the MY store." If EnvelopedCms.Decrypt() fails to find any matching certs for any recipients, it throws CryptographicException(CRYPT_E_RECIPIENT_NOT_FOUND) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call RecipientInfos after an Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call Decrypt() after an Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call Decrypt() after a Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. Retrieve the certificate's subject key identifier value. Retrieve a private key object for the certificate to use with signing. Retrieve a private key object for the certificate to use with decryption. Get the one instance of PkcsPal. ================================================ FILE: packages/System.Security.Cryptography.Pkcs.6.0.1/runtimes/win/lib/net461/System.Security.Cryptography.Pkcs.xml ================================================ System.Security.Cryptography.Pkcs Specifies that null is allowed as an input even if the corresponding type disallows it. Specifies that null is disallowed as an input even if the corresponding type allows it. Specifies that an output may be null even if the corresponding type disallows it. Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter may be null. Gets the return value condition. Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter will not be null. Gets the return value condition. Specifies that the output will be non-null if the named parameter is non-null. Initializes the attribute with the associated parameter name. The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. Gets the associated parameter name. Applied to a method that will never return under any circumstance. Specifies that the method will not return if the associated Boolean parameter is passed the specified value. Initializes the attribute with the specified parameter value. The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to the associated parameter matches this value. Gets the condition parameter value. Specifies that the method or property will ensure that the listed field and property members have not-null values. Initializes the attribute with a field or property member. The field or property member that is promised to be not-null. Initializes the attribute with the list of field and property members. The list of field and property members that are promised to be not-null. Gets field or property member names. Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. Initializes the attribute with the specified return value condition and a field or property member. The return value condition. If the method returns this value, the associated parameter will not be null. The field or property member that is promised to be not-null. Initializes the attribute with the specified return value condition and list of field and property members. The return value condition. If the method returns this value, the associated parameter will not be null. The list of field and property members that are promised to be not-null. Gets the return value condition. Gets field or property member names. Base type for all platform-specific API attributes. Records the platform that the project targeted. Records the operating system (and minimum version) that supports an API. Multiple attributes can be applied to indicate support on multiple operating systems. Callers can apply a or use guards to prevent calls to APIs on unsupported operating systems. A given platform should only be specified once. Marks APIs that were removed in a given operating system version. Primarily used by OS bindings to indicate APIs that are only available in earlier versions. Annotates a custom guard field, property or method with a supported platform name and optional version. Multiple attributes can be applied to indicate guard for multiple supported platforms. Callers can apply a to a field, property or method and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs. The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. Annotates the custom guard field, property or method with an unsupported platform name and optional version. Multiple attributes can be applied to indicate guard for multiple unsupported platforms. Callers can apply a to a field, property or method and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms. The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. ================================================ FILE: packages/System.Security.Cryptography.Pkcs.6.0.1/runtimes/win/lib/net6.0/System.Security.Cryptography.Pkcs.xml ================================================ System.Security.Cryptography.Pkcs Decodes the provided data as a CMS/PKCS#7 EnvelopedData message. The data to decode. The parameter was not successfully decoded. Create a CertBag for a specified certificate type and encoding. The identifier for the certificate type The encoded value No validation is done to ensure that the value is correct for the indicated . Note that for X.509 public-key certificates the correct encoding for a CertBag value is to wrap the DER-encoded certificate in an OCTET STRING. Create a timestamp request using a pre-computed hash value. The pre-computed hash value to be timestamped. The Object Identifier (OID) for the hash algorithm which produced . The Object Identifier (OID) for a timestamp policy the Timestamp Authority (TSA) should use, or null to express no preference. An optional nonce (number used once) to uniquely identify this request to pair it with the response. The value is interpreted as an unsigned big-endian integer and may be normalized to the encoding format. Indicates whether the Timestamp Authority (TSA) must (true) or must not (false) include the signing certificate in the issued timestamp token. RFC3161 extensions to present with the request. An representing the chosen values. Get a SignedCms representation of the RFC3161 Timestamp Token. The SignedCms representation of the RFC3161 Timestamp Token. Successive calls to this method return the same object. The SignedCms class is mutable, but changes to that object are not reflected in the object which produced it. The value from calling can be interpreted again as an via another call to . Represents the timestamp token information class defined in RFC3161 as TSTInfo. Initializes a new instance of the class with the specified parameters. An OID representing the TSA's policy under which the response was produced. A hash algorithm OID of the data to be timestamped. A hash value of the data to be timestamped. An integer assigned by the TSA to the . The timestamp encoded in the token. The accuracy with which is compared. Also see . to ensure that every timestamp token from the same TSA can always be ordered based on the , regardless of the accuracy; to make indicate when token has been created by the TSA. The nonce associated with this timestamp token. Using a nonce always allows to detect replays, and hence its use is recommended. The hint in the TSA name identification. The actual identification of the entity that signed the response will always occur through the use of the certificate identifier. The extension values associated with the timestamp. If , , or are present in the , then the same value should be used. If is not provided, then the accuracy may be available through other means such as i.e. . ASN.1 corrupted data. Gets the version of the timestamp token. The version of the timestamp token. Gets an OID representing the TSA's policy under which the response was produced. An OID representing the TSA's policy under which the response was produced. Gets an OID of the hash algorithm. An OID of the hash algorithm. Gets the data representing the message hash. The data representing the message hash. Gets an integer assigned by the TSA to the . An integer assigned by the TSA to the . Gets the timestamp encoded in the token. The timestamp encoded in the token. Gets the accuracy with which is compared. The accuracy with which is compared. Gets a value indicating if every timestamp token from the same TSA can always be ordered based on the , regardless of the accuracy; If , indicates when the token has been created by the TSA. A value indicating if every timestamp token from the same TSA can always be ordered based on the . Gets the nonce associated with this timestamp token. The nonce associated with this timestamp token. Gets a value indicating whether there are any extensions associated with this timestamp token. A value indicating whether there are any extensions associated with this timestamp token. Gets the data representing the hint in the TSA name identification. The data representing the hint in the TSA name identification. The actual identification of the entity that signed the response will always occur through the use of the certificate identifier (ESSCertID Attribute) inside a SigningCertificate attribute which is part of the signer info. Gets the extension values associated with the timestamp. The extension values associated with the timestamp. Encodes this object into a TSTInfo value The encoded TSTInfo value. Attempts to encode this object as a TSTInfo value, writing the result into the provided buffer. The destination buffer. When this method returns , contains the bytes written to the buffer. if the operation succeeded; if the buffer size was insufficient. Decodes an encoded TSTInfo value. The input or source buffer. When this method returns , the decoded data. When this method returns , the value is , meaning the data could not be decoded. The number of bytes used for decoding. if the operation succeeded; otherwise. SafeHandle representing HCRYPTHASH handle Safe handle representing a HCRYPTKEY Since we need to delete the key handle before the provider is released we need to actually hold a pointer to a CRYPT_KEY_CTX unmanaged structure whose destructor decrements a refCount. Only when the provider refCount is 0 it is deleted. This way, we loose a race in the critical finalization of the key handle and provider handle. This also applies to hash handles, which point to a CRYPT_HASH_CTX. Those structures are defined in COMCryptography.h Safehandle representing HCRYPTPROV Map from an ASCII char to its hex value, e.g. arr['b'] == 11. 0xFF means it's not a hex digit. The `{0}` string cannot be empty or null. Only single dimensional arrays are supported for the requested action. The destination is too small to hold the encoded value. Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection. The OID value was invalid. Value was invalid. Index was out of range. Must be non-negative and less than the size of the collection. Positive number required. The KDF for algorithm '{0}' requires a char-based password input. ASN.1 Enumerated values only apply to enum types without the [Flags] attribute. Named bit list operations require an enum with the [Flags] attribute. The encoded named bit list value is larger than the value size of the '{0}' enum. Tags with TagClass Universal must have the appropriate TagValue value for the data type being read or written. Unused bit count must be between 0 and 7, inclusive. Encode cannot be called while a Sequence or SetOf is still open. Cannot pop the requested tag as it is not currently in progress. The hash value is not correct. Invalid signature. Could not determine signature algorithm for the signer certificate. The certificate chain is incomplete, the self-signed root authority could not be determined. Invalid originator identifier choice {0} found in decoded CMS. The subject identifier type {0} is not valid. Invalid cryptographic message type. SignerInfo digest algorithm '{0}' is not valid for signature algorithm '{1}'. The Date property is not available for none KID key agree recipient. The CMS message is not encrypted. The CMS message is not signed. The cryptographic message does not contain an expected authenticated attribute. Only one level of counter-signatures are supported on this platform. The recipients collection is empty. You must specify at least one recipient. This platform does not implement the certificate picker UI. No signer certificate was provided. This platform does not implement the certificate picker UI. No signer certificate was provided. The signed cryptographic message does not have a signer for the specified signer index. The enveloped-data message does not contain the specified recipient. The recipient type '{0}' is not supported for encryption or decryption on this platform. Cannot create CMS signature for empty content. CmsSigner has to be the first signer with NoSignature. Cannot find the original signer. A certificate with a private key is required. An RSA key is required to decrypt for a RecipientInfo with a KeyTransport recipient type. An RSA certificate is required for a CmsRecipient when used with RSAEncryptionPadding. Certificate trust could not be established. The first reported error is: {0} Unknown algorithm '{0}'. Unable to determine the type of key handle from this keyspec {0}. The certificate is not valid for the requested usage. Key is not a valid public or private key. This operation is not valid on an encrypted or enveloped Pkcs12SafeContents. The Pkcs12CertBag contents are not an X.509 certificate. The Pkcs12Builder can no longer be modified because one of the Seal methods was already invoked. One of the Seal methods must be invoked on the Pkcs12Builder before invoking an Encode method. Cannot enumerate the contents of an encrypted or enveloped Pkcs12SafeContents. New Pkcs12SafeBag values cannot be added to a Pkcs12SafeContents that was read from existing data. This decryption operation applies to 'Pkcs12ConfidentialityMode.{0}', but the target object is in 'Pkcs12ConfidentialityMode.{1}'. This verification operation applies to 'Pkcs12IntegrityMode.{0}', but the target object is in 'Pkcs12IntegrityMode.{1}'. Invalid signature paramters. The EncryptedPrivateKeyInfo structure was decoded but was not successfully interpreted, the password may be incorrect. The parameter should be a PKCS 9 attribute. Cannot add multiple PKCS 9 signing time attributes. PSS parameters were not present. This platform requires that the PSS hash algorithm ({0}) match the data digest algorithm ({1}). This platform does not support the MGF hash algorithm ({0}) being different from the signature hash algorithm ({1}). Mask generation function '{0}' is not supported by this platform. PSS salt size {0} is not supported by this platform with hash algorithm {1}. The response from the timestamping server did not match the request nonce. The response from the timestamping server was not understood. The timestamping server did not grant the request. The request status is '{0}' with failure info '{1}'. The timestamping request required the TSA certificate in the response, but it was not found. The timestamping request required the TSA certificate not be included in the response, but certificates were present. Duplicate items are not allowed in the collection. AsnEncodedData element in the collection has wrong Oid value: expected = '{0}', actual = '{1}'. System.Security.Cryptography.Pkcs is only supported on Windows platforms. Algorithm '{0}' is not supported on this platform. ASN1 corrupted data. The string contains a character not in the 7 bit ASCII character set. The algorithm identified by '{0}' is unknown, not valid for the requested usage, or was not handled. '{0}' is not a known hash algorithm. The input to WriteEncodedValue must represent a single encoded value with no trailing data. Attribute not found. Certificate not found. Certificate already present in the collection. The key in the enveloped message is not valid or could not be decoded. Return the managed representation of the recipients. .NET Framework compat: Unlike the desktop, we compute this once and then latch it. Since both RecipientInfo and RecipientInfoCollection are immutable objects, this should be a safe optimization to make. Attempt to decrypt the CMS using the specified "cert". If successful, return the ContentInfo that contains the decrypted content. If unsuccessful, return null and set "exception" to a valid Exception object. Do not throw the exception as EnvelopedCms will want to continue decryption attempts against other recipients. Only if all the recipients fail to decrypt will then EnvelopedCms throw the exception from the last failed attempt. This is not just a convenience wrapper for Array.Resize(). In DEBUG builds, it forces the array to move in memory even if no resize is needed. This should be used by helper methods that do anything of the form "call a native api once to get the estimated size, call it again to get the data and return the data in a byte[] array." Sometimes, that data consist of a native data structure containing pointers to other parts of the block. Using such a helper to retrieve such a block results in an intermittent AV. By using this helper, you make that AV repro every time. .NET Framework compat: We do not complain about multiple matches. Just take the first one and ignore the rest. Asserts on bad or non-canonicalized input. Input must come from trusted sources. Subject Key Identifier is string-ized as an upper case hex string. This format is part of the public api behavior and cannot be changed. Asserts on bad or non-canonicalized input. Input must come from trusted sources. Serial number is string-ized as a reversed upper case hex string. This format is part of the public api behavior and cannot be changed. Asserts on bad input. Input must come from trusted sources. Asserts on bad input. Input must come from trusted sources. Useful helper for "upgrading" well-known CMS attributes to type-specific objects such as Pkcs9DocumentName, Pkcs9DocumentDescription, etc. Encrypt and encode a CMS. Return value is the RFC-compliant representation of the CMS that can be transmitted "on the wire." Decode an encoded CMS. Call RecipientInfos on the returned pal object to get the recipients. Call TryDecrypt() on the returned pal object to attempt a decrypt for a single recipient. Implements the ContentInfo.GetContentType() behavior. EnvelopedCms.Decrypt() looks for qualifying certs from the "MY" store (as well as any "extraStore" passed to Decrypt()). This method encapsulates exactly what a particular OS considers to be "the MY store." If EnvelopedCms.Decrypt() fails to find any matching certs for any recipients, it throws CryptographicException(CRYPT_E_RECIPIENT_NOT_FOUND) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call RecipientInfos after an Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call Decrypt() after an Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call Decrypt() after a Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. Retrieve the certificate's subject key identifier value. Retrieve a private key object for the certificate to use with signing. Retrieve a private key object for the certificate to use with decryption. Get the one instance of PkcsPal. Returns the inner content of the CMS. Special case: If the CMS is an enveloped CMS that has been decrypted and the inner content type is Oids.Pkcs7Data, the returned content bytes are the decoded octet bytes, rather than the encoding of those bytes. This is a documented convenience behavior of CryptMsgGetParam(CMSG_CONTENT_PARAM) that apparently got baked into the behavior of the managed EnvelopedCms class. Returns (AlgId)(-1) if oid is unknown. Provides a cache for special instances of SafeHandles. Specifies the type of SafeHandle. Gets a cached, invalid handle. As the instance is cached, it should either never be Disposed or it should override to prevent disposal when the instance represents an invalid handle: returns . Gets whether the specified handle is invalid handle. The handle to compare. true if is invalid handle; otherwise, false. Returns a string message for the specified Win32 error code. Result codes from NCrypt APIs ================================================ FILE: packages/System.Security.Cryptography.Pkcs.6.0.1/runtimes/win/lib/netcoreapp3.1/System.Security.Cryptography.Pkcs.xml ================================================ System.Security.Cryptography.Pkcs Decodes the provided data as a CMS/PKCS#7 EnvelopedData message. The data to decode. The parameter was not successfully decoded. Create a CertBag for a specified certificate type and encoding. The identifier for the certificate type The encoded value No validation is done to ensure that the value is correct for the indicated . Note that for X.509 public-key certificates the correct encoding for a CertBag value is to wrap the DER-encoded certificate in an OCTET STRING. Create a timestamp request using a pre-computed hash value. The pre-computed hash value to be timestamped. The Object Identifier (OID) for the hash algorithm which produced . The Object Identifier (OID) for a timestamp policy the Timestamp Authority (TSA) should use, or null to express no preference. An optional nonce (number used once) to uniquely identify this request to pair it with the response. The value is interpreted as an unsigned big-endian integer and may be normalized to the encoding format. Indicates whether the Timestamp Authority (TSA) must (true) or must not (false) include the signing certificate in the issued timestamp token. RFC3161 extensions to present with the request. An representing the chosen values. Get a SignedCms representation of the RFC3161 Timestamp Token. The SignedCms representation of the RFC3161 Timestamp Token. Successive calls to this method return the same object. The SignedCms class is mutable, but changes to that object are not reflected in the object which produced it. The value from calling can be interpreted again as an via another call to . Represents the timestamp token information class defined in RFC3161 as TSTInfo. Initializes a new instance of the class with the specified parameters. An OID representing the TSA's policy under which the response was produced. A hash algorithm OID of the data to be timestamped. A hash value of the data to be timestamped. An integer assigned by the TSA to the . The timestamp encoded in the token. The accuracy with which is compared. Also see . to ensure that every timestamp token from the same TSA can always be ordered based on the , regardless of the accuracy; to make indicate when token has been created by the TSA. The nonce associated with this timestamp token. Using a nonce always allows to detect replays, and hence its use is recommended. The hint in the TSA name identification. The actual identification of the entity that signed the response will always occur through the use of the certificate identifier. The extension values associated with the timestamp. If , , or are present in the , then the same value should be used. If is not provided, then the accuracy may be available through other means such as i.e. . ASN.1 corrupted data. Gets the version of the timestamp token. The version of the timestamp token. Gets an OID representing the TSA's policy under which the response was produced. An OID representing the TSA's policy under which the response was produced. Gets an OID of the hash algorithm. An OID of the hash algorithm. Gets the data representing the message hash. The data representing the message hash. Gets an integer assigned by the TSA to the . An integer assigned by the TSA to the . Gets the timestamp encoded in the token. The timestamp encoded in the token. Gets the accuracy with which is compared. The accuracy with which is compared. Gets a value indicating if every timestamp token from the same TSA can always be ordered based on the , regardless of the accuracy; If , indicates when the token has been created by the TSA. A value indicating if every timestamp token from the same TSA can always be ordered based on the . Gets the nonce associated with this timestamp token. The nonce associated with this timestamp token. Gets a value indicating whether there are any extensions associated with this timestamp token. A value indicating whether there are any extensions associated with this timestamp token. Gets the data representing the hint in the TSA name identification. The data representing the hint in the TSA name identification. The actual identification of the entity that signed the response will always occur through the use of the certificate identifier (ESSCertID Attribute) inside a SigningCertificate attribute which is part of the signer info. Gets the extension values associated with the timestamp. The extension values associated with the timestamp. Encodes this object into a TSTInfo value The encoded TSTInfo value. Attempts to encode this object as a TSTInfo value, writing the result into the provided buffer. The destination buffer. When this method returns , contains the bytes written to the buffer. if the operation succeeded; if the buffer size was insufficient. Decodes an encoded TSTInfo value. The input or source buffer. When this method returns , the decoded data. When this method returns , the value is , meaning the data could not be decoded. The number of bytes used for decoding. if the operation succeeded; otherwise. SafeHandle representing HCRYPTHASH handle Safe handle representing a HCRYPTKEY Since we need to delete the key handle before the provider is released we need to actually hold a pointer to a CRYPT_KEY_CTX unmanaged structure whose destructor decrements a refCount. Only when the provider refCount is 0 it is deleted. This way, we loose a race in the critical finalization of the key handle and provider handle. This also applies to hash handles, which point to a CRYPT_HASH_CTX. Those structures are defined in COMCryptography.h Safehandle representing HCRYPTPROV Map from an ASCII char to its hex value, e.g. arr['b'] == 11. 0xFF means it's not a hex digit. The `{0}` string cannot be empty or null. Only single dimensional arrays are supported for the requested action. The destination is too small to hold the encoded value. Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection. The OID value was invalid. Value was invalid. Index was out of range. Must be non-negative and less than the size of the collection. Positive number required. The KDF for algorithm '{0}' requires a char-based password input. ASN.1 Enumerated values only apply to enum types without the [Flags] attribute. Named bit list operations require an enum with the [Flags] attribute. The encoded named bit list value is larger than the value size of the '{0}' enum. Tags with TagClass Universal must have the appropriate TagValue value for the data type being read or written. Unused bit count must be between 0 and 7, inclusive. Encode cannot be called while a Sequence or SetOf is still open. Cannot pop the requested tag as it is not currently in progress. The hash value is not correct. Invalid signature. Could not determine signature algorithm for the signer certificate. The certificate chain is incomplete, the self-signed root authority could not be determined. Invalid originator identifier choice {0} found in decoded CMS. The subject identifier type {0} is not valid. Invalid cryptographic message type. SignerInfo digest algorithm '{0}' is not valid for signature algorithm '{1}'. The Date property is not available for none KID key agree recipient. The CMS message is not encrypted. The CMS message is not signed. The cryptographic message does not contain an expected authenticated attribute. Only one level of counter-signatures are supported on this platform. The recipients collection is empty. You must specify at least one recipient. This platform does not implement the certificate picker UI. No signer certificate was provided. This platform does not implement the certificate picker UI. No signer certificate was provided. The signed cryptographic message does not have a signer for the specified signer index. The enveloped-data message does not contain the specified recipient. The recipient type '{0}' is not supported for encryption or decryption on this platform. Cannot create CMS signature for empty content. CmsSigner has to be the first signer with NoSignature. Cannot find the original signer. A certificate with a private key is required. An RSA key is required to decrypt for a RecipientInfo with a KeyTransport recipient type. An RSA certificate is required for a CmsRecipient when used with RSAEncryptionPadding. Certificate trust could not be established. The first reported error is: {0} Unknown algorithm '{0}'. Unable to determine the type of key handle from this keyspec {0}. The certificate is not valid for the requested usage. Key is not a valid public or private key. This operation is not valid on an encrypted or enveloped Pkcs12SafeContents. The Pkcs12CertBag contents are not an X.509 certificate. The Pkcs12Builder can no longer be modified because one of the Seal methods was already invoked. One of the Seal methods must be invoked on the Pkcs12Builder before invoking an Encode method. Cannot enumerate the contents of an encrypted or enveloped Pkcs12SafeContents. New Pkcs12SafeBag values cannot be added to a Pkcs12SafeContents that was read from existing data. This decryption operation applies to 'Pkcs12ConfidentialityMode.{0}', but the target object is in 'Pkcs12ConfidentialityMode.{1}'. This verification operation applies to 'Pkcs12IntegrityMode.{0}', but the target object is in 'Pkcs12IntegrityMode.{1}'. Invalid signature paramters. The EncryptedPrivateKeyInfo structure was decoded but was not successfully interpreted, the password may be incorrect. The parameter should be a PKCS 9 attribute. Cannot add multiple PKCS 9 signing time attributes. PSS parameters were not present. This platform requires that the PSS hash algorithm ({0}) match the data digest algorithm ({1}). This platform does not support the MGF hash algorithm ({0}) being different from the signature hash algorithm ({1}). Mask generation function '{0}' is not supported by this platform. PSS salt size {0} is not supported by this platform with hash algorithm {1}. The response from the timestamping server did not match the request nonce. The response from the timestamping server was not understood. The timestamping server did not grant the request. The request status is '{0}' with failure info '{1}'. The timestamping request required the TSA certificate in the response, but it was not found. The timestamping request required the TSA certificate not be included in the response, but certificates were present. Duplicate items are not allowed in the collection. AsnEncodedData element in the collection has wrong Oid value: expected = '{0}', actual = '{1}'. System.Security.Cryptography.Pkcs is only supported on Windows platforms. Algorithm '{0}' is not supported on this platform. ASN1 corrupted data. The string contains a character not in the 7 bit ASCII character set. The algorithm identified by '{0}' is unknown, not valid for the requested usage, or was not handled. '{0}' is not a known hash algorithm. The input to WriteEncodedValue must represent a single encoded value with no trailing data. Attribute not found. Certificate not found. Certificate already present in the collection. The key in the enveloped message is not valid or could not be decoded. Specifies that the method or property will ensure that the listed field and property members have not-null values. Initializes the attribute with a field or property member. The field or property member that is promised to be not-null. Initializes the attribute with the list of field and property members. The list of field and property members that are promised to be not-null. Gets field or property member names. Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. Initializes the attribute with the specified return value condition and a field or property member. The return value condition. If the method returns this value, the associated parameter will not be null. The field or property member that is promised to be not-null. Initializes the attribute with the specified return value condition and list of field and property members. The return value condition. If the method returns this value, the associated parameter will not be null. The list of field and property members that are promised to be not-null. Gets the return value condition. Gets field or property member names. Base type for all platform-specific API attributes. Records the platform that the project targeted. Records the operating system (and minimum version) that supports an API. Multiple attributes can be applied to indicate support on multiple operating systems. Callers can apply a or use guards to prevent calls to APIs on unsupported operating systems. A given platform should only be specified once. Marks APIs that were removed in a given operating system version. Primarily used by OS bindings to indicate APIs that are only available in earlier versions. Annotates a custom guard field, property or method with a supported platform name and optional version. Multiple attributes can be applied to indicate guard for multiple supported platforms. Callers can apply a to a field, property or method and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs. The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. Annotates the custom guard field, property or method with an unsupported platform name and optional version. Multiple attributes can be applied to indicate guard for multiple unsupported platforms. Callers can apply a to a field, property or method and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms. The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. Return the managed representation of the recipients. .NET Framework compat: Unlike the desktop, we compute this once and then latch it. Since both RecipientInfo and RecipientInfoCollection are immutable objects, this should be a safe optimization to make. Attempt to decrypt the CMS using the specified "cert". If successful, return the ContentInfo that contains the decrypted content. If unsuccessful, return null and set "exception" to a valid Exception object. Do not throw the exception as EnvelopedCms will want to continue decryption attempts against other recipients. Only if all the recipients fail to decrypt will then EnvelopedCms throw the exception from the last failed attempt. This is not just a convenience wrapper for Array.Resize(). In DEBUG builds, it forces the array to move in memory even if no resize is needed. This should be used by helper methods that do anything of the form "call a native api once to get the estimated size, call it again to get the data and return the data in a byte[] array." Sometimes, that data consist of a native data structure containing pointers to other parts of the block. Using such a helper to retrieve such a block results in an intermittent AV. By using this helper, you make that AV repro every time. .NET Framework compat: We do not complain about multiple matches. Just take the first one and ignore the rest. Asserts on bad or non-canonicalized input. Input must come from trusted sources. Subject Key Identifier is string-ized as an upper case hex string. This format is part of the public api behavior and cannot be changed. Asserts on bad or non-canonicalized input. Input must come from trusted sources. Serial number is string-ized as a reversed upper case hex string. This format is part of the public api behavior and cannot be changed. Asserts on bad input. Input must come from trusted sources. Asserts on bad input. Input must come from trusted sources. Useful helper for "upgrading" well-known CMS attributes to type-specific objects such as Pkcs9DocumentName, Pkcs9DocumentDescription, etc. Encrypt and encode a CMS. Return value is the RFC-compliant representation of the CMS that can be transmitted "on the wire." Decode an encoded CMS. Call RecipientInfos on the returned pal object to get the recipients. Call TryDecrypt() on the returned pal object to attempt a decrypt for a single recipient. Implements the ContentInfo.GetContentType() behavior. EnvelopedCms.Decrypt() looks for qualifying certs from the "MY" store (as well as any "extraStore" passed to Decrypt()). This method encapsulates exactly what a particular OS considers to be "the MY store." If EnvelopedCms.Decrypt() fails to find any matching certs for any recipients, it throws CryptographicException(CRYPT_E_RECIPIENT_NOT_FOUND) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call RecipientInfos after an Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call Decrypt() after an Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call Decrypt() after a Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. Retrieve the certificate's subject key identifier value. Retrieve a private key object for the certificate to use with signing. Retrieve a private key object for the certificate to use with decryption. Get the one instance of PkcsPal. Returns the inner content of the CMS. Special case: If the CMS is an enveloped CMS that has been decrypted and the inner content type is Oids.Pkcs7Data, the returned content bytes are the decoded octet bytes, rather than the encoding of those bytes. This is a documented convenience behavior of CryptMsgGetParam(CMSG_CONTENT_PARAM) that apparently got baked into the behavior of the managed EnvelopedCms class. Returns (AlgId)(-1) if oid is unknown. Provides a cache for special instances of SafeHandles. Specifies the type of SafeHandle. Gets a cached, invalid handle. As the instance is cached, it should either never be Disposed or it should override to prevent disposal when the instance represents an invalid handle: returns . Gets whether the specified handle is invalid handle. The handle to compare. true if is invalid handle; otherwise, false. Returns a string message for the specified Win32 error code. Result codes from NCrypt APIs ================================================ FILE: packages/System.Security.Cryptography.Pkcs.6.0.1/runtimes/win/lib/netstandard2.0/System.Security.Cryptography.Pkcs.xml ================================================ System.Security.Cryptography.Pkcs Decodes the provided data as a CMS/PKCS#7 EnvelopedData message. The data to decode. The parameter was not successfully decoded. SafeHandle representing HCRYPTHASH handle Safe handle representing a HCRYPTKEY Since we need to delete the key handle before the provider is released we need to actually hold a pointer to a CRYPT_KEY_CTX unmanaged structure whose destructor decrements a refCount. Only when the provider refCount is 0 it is deleted. This way, we loose a race in the critical finalization of the key handle and provider handle. This also applies to hash handles, which point to a CRYPT_HASH_CTX. Those structures are defined in COMCryptography.h Safehandle representing HCRYPTPROV Map from an ASCII char to its hex value, e.g. arr['b'] == 11. 0xFF means it's not a hex digit. The `{0}` string cannot be empty or null. Only single dimensional arrays are supported for the requested action. The destination is too small to hold the encoded value. Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection. The OID value was invalid. Value was invalid. Index was out of range. Must be non-negative and less than the size of the collection. Positive number required. The KDF for algorithm '{0}' requires a char-based password input. ASN.1 Enumerated values only apply to enum types without the [Flags] attribute. Named bit list operations require an enum with the [Flags] attribute. The encoded named bit list value is larger than the value size of the '{0}' enum. Tags with TagClass Universal must have the appropriate TagValue value for the data type being read or written. Unused bit count must be between 0 and 7, inclusive. Encode cannot be called while a Sequence or SetOf is still open. Cannot pop the requested tag as it is not currently in progress. The hash value is not correct. Invalid signature. Could not determine signature algorithm for the signer certificate. The certificate chain is incomplete, the self-signed root authority could not be determined. Invalid originator identifier choice {0} found in decoded CMS. The subject identifier type {0} is not valid. Invalid cryptographic message type. SignerInfo digest algorithm '{0}' is not valid for signature algorithm '{1}'. The Date property is not available for none KID key agree recipient. The CMS message is not encrypted. The CMS message is not signed. The cryptographic message does not contain an expected authenticated attribute. Only one level of counter-signatures are supported on this platform. The recipients collection is empty. You must specify at least one recipient. This platform does not implement the certificate picker UI. No signer certificate was provided. This platform does not implement the certificate picker UI. No signer certificate was provided. The signed cryptographic message does not have a signer for the specified signer index. The enveloped-data message does not contain the specified recipient. The recipient type '{0}' is not supported for encryption or decryption on this platform. Cannot create CMS signature for empty content. CmsSigner has to be the first signer with NoSignature. Cannot find the original signer. A certificate with a private key is required. An RSA key is required to decrypt for a RecipientInfo with a KeyTransport recipient type. An RSA certificate is required for a CmsRecipient when used with RSAEncryptionPadding. Certificate trust could not be established. The first reported error is: {0} Unknown algorithm '{0}'. Unable to determine the type of key handle from this keyspec {0}. The certificate is not valid for the requested usage. Key is not a valid public or private key. This operation is not valid on an encrypted or enveloped Pkcs12SafeContents. The Pkcs12CertBag contents are not an X.509 certificate. The Pkcs12Builder can no longer be modified because one of the Seal methods was already invoked. One of the Seal methods must be invoked on the Pkcs12Builder before invoking an Encode method. Cannot enumerate the contents of an encrypted or enveloped Pkcs12SafeContents. New Pkcs12SafeBag values cannot be added to a Pkcs12SafeContents that was read from existing data. This decryption operation applies to 'Pkcs12ConfidentialityMode.{0}', but the target object is in 'Pkcs12ConfidentialityMode.{1}'. This verification operation applies to 'Pkcs12IntegrityMode.{0}', but the target object is in 'Pkcs12IntegrityMode.{1}'. Invalid signature paramters. The EncryptedPrivateKeyInfo structure was decoded but was not successfully interpreted, the password may be incorrect. The parameter should be a PKCS 9 attribute. Cannot add multiple PKCS 9 signing time attributes. PSS parameters were not present. This platform requires that the PSS hash algorithm ({0}) match the data digest algorithm ({1}). This platform does not support the MGF hash algorithm ({0}) being different from the signature hash algorithm ({1}). Mask generation function '{0}' is not supported by this platform. PSS salt size {0} is not supported by this platform with hash algorithm {1}. The response from the timestamping server did not match the request nonce. The response from the timestamping server was not understood. The timestamping server did not grant the request. The request status is '{0}' with failure info '{1}'. The timestamping request required the TSA certificate in the response, but it was not found. The timestamping request required the TSA certificate not be included in the response, but certificates were present. Duplicate items are not allowed in the collection. AsnEncodedData element in the collection has wrong Oid value: expected = '{0}', actual = '{1}'. System.Security.Cryptography.Pkcs is only supported on Windows platforms. Algorithm '{0}' is not supported on this platform. ASN1 corrupted data. The string contains a character not in the 7 bit ASCII character set. The algorithm identified by '{0}' is unknown, not valid for the requested usage, or was not handled. '{0}' is not a known hash algorithm. The input to WriteEncodedValue must represent a single encoded value with no trailing data. Attribute not found. Certificate not found. Certificate already present in the collection. The key in the enveloped message is not valid or could not be decoded. Specifies that null is allowed as an input even if the corresponding type disallows it. Specifies that null is disallowed as an input even if the corresponding type allows it. Specifies that an output may be null even if the corresponding type disallows it. Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns. Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter may be null. Gets the return value condition. Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. Initializes the attribute with the specified return value condition. The return value condition. If the method returns this value, the associated parameter will not be null. Gets the return value condition. Specifies that the output will be non-null if the named parameter is non-null. Initializes the attribute with the associated parameter name. The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. Gets the associated parameter name. Applied to a method that will never return under any circumstance. Specifies that the method will not return if the associated Boolean parameter is passed the specified value. Initializes the attribute with the specified parameter value. The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to the associated parameter matches this value. Gets the condition parameter value. Specifies that the method or property will ensure that the listed field and property members have not-null values. Initializes the attribute with a field or property member. The field or property member that is promised to be not-null. Initializes the attribute with the list of field and property members. The list of field and property members that are promised to be not-null. Gets field or property member names. Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. Initializes the attribute with the specified return value condition and a field or property member. The return value condition. If the method returns this value, the associated parameter will not be null. The field or property member that is promised to be not-null. Initializes the attribute with the specified return value condition and list of field and property members. The return value condition. If the method returns this value, the associated parameter will not be null. The list of field and property members that are promised to be not-null. Gets the return value condition. Gets field or property member names. Base type for all platform-specific API attributes. Records the platform that the project targeted. Records the operating system (and minimum version) that supports an API. Multiple attributes can be applied to indicate support on multiple operating systems. Callers can apply a or use guards to prevent calls to APIs on unsupported operating systems. A given platform should only be specified once. Marks APIs that were removed in a given operating system version. Primarily used by OS bindings to indicate APIs that are only available in earlier versions. Annotates a custom guard field, property or method with a supported platform name and optional version. Multiple attributes can be applied to indicate guard for multiple supported platforms. Callers can apply a to a field, property or method and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs. The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. Annotates the custom guard field, property or method with an unsupported platform name and optional version. Multiple attributes can be applied to indicate guard for multiple unsupported platforms. Callers can apply a to a field, property or method and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms. The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. Return the managed representation of the recipients. .NET Framework compat: Unlike the desktop, we compute this once and then latch it. Since both RecipientInfo and RecipientInfoCollection are immutable objects, this should be a safe optimization to make. Attempt to decrypt the CMS using the specified "cert". If successful, return the ContentInfo that contains the decrypted content. If unsuccessful, return null and set "exception" to a valid Exception object. Do not throw the exception as EnvelopedCms will want to continue decryption attempts against other recipients. Only if all the recipients fail to decrypt will then EnvelopedCms throw the exception from the last failed attempt. This is not just a convenience wrapper for Array.Resize(). In DEBUG builds, it forces the array to move in memory even if no resize is needed. This should be used by helper methods that do anything of the form "call a native api once to get the estimated size, call it again to get the data and return the data in a byte[] array." Sometimes, that data consist of a native data structure containing pointers to other parts of the block. Using such a helper to retrieve such a block results in an intermittent AV. By using this helper, you make that AV repro every time. .NET Framework compat: We do not complain about multiple matches. Just take the first one and ignore the rest. Asserts on bad or non-canonicalized input. Input must come from trusted sources. Subject Key Identifier is string-ized as an upper case hex string. This format is part of the public api behavior and cannot be changed. Asserts on bad or non-canonicalized input. Input must come from trusted sources. Serial number is string-ized as a reversed upper case hex string. This format is part of the public api behavior and cannot be changed. Asserts on bad input. Input must come from trusted sources. Asserts on bad input. Input must come from trusted sources. Useful helper for "upgrading" well-known CMS attributes to type-specific objects such as Pkcs9DocumentName, Pkcs9DocumentDescription, etc. Encrypt and encode a CMS. Return value is the RFC-compliant representation of the CMS that can be transmitted "on the wire." Decode an encoded CMS. Call RecipientInfos on the returned pal object to get the recipients. Call TryDecrypt() on the returned pal object to attempt a decrypt for a single recipient. Implements the ContentInfo.GetContentType() behavior. EnvelopedCms.Decrypt() looks for qualifying certs from the "MY" store (as well as any "extraStore" passed to Decrypt()). This method encapsulates exactly what a particular OS considers to be "the MY store." If EnvelopedCms.Decrypt() fails to find any matching certs for any recipients, it throws CryptographicException(CRYPT_E_RECIPIENT_NOT_FOUND) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call RecipientInfos after an Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call Decrypt() after an Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call Decrypt() after a Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. Retrieve the certificate's subject key identifier value. Retrieve a private key object for the certificate to use with signing. Retrieve a private key object for the certificate to use with decryption. Get the one instance of PkcsPal. Returns the inner content of the CMS. Special case: If the CMS is an enveloped CMS that has been decrypted and the inner content type is Oids.Pkcs7Data, the returned content bytes are the decoded octet bytes, rather than the encoding of those bytes. This is a documented convenience behavior of CryptMsgGetParam(CMSG_CONTENT_PARAM) that apparently got baked into the behavior of the managed EnvelopedCms class. Returns (AlgId)(-1) if oid is unknown. Provides a cache for special instances of SafeHandles. Specifies the type of SafeHandle. Gets a cached, invalid handle. As the instance is cached, it should either never be Disposed or it should override to prevent disposal when the instance represents an invalid handle: returns . Gets whether the specified handle is invalid handle. The handle to compare. true if is invalid handle; otherwise, false. Returns a string message for the specified Win32 error code. Result codes from NCrypt APIs ================================================ FILE: packages/System.Security.Cryptography.Pkcs.6.0.1/runtimes/win/lib/netstandard2.1/System.Security.Cryptography.Pkcs.xml ================================================ System.Security.Cryptography.Pkcs Decodes the provided data as a CMS/PKCS#7 EnvelopedData message. The data to decode. The parameter was not successfully decoded. Create a CertBag for a specified certificate type and encoding. The identifier for the certificate type The encoded value No validation is done to ensure that the value is correct for the indicated . Note that for X.509 public-key certificates the correct encoding for a CertBag value is to wrap the DER-encoded certificate in an OCTET STRING. Create a timestamp request using a pre-computed hash value. The pre-computed hash value to be timestamped. The Object Identifier (OID) for the hash algorithm which produced . The Object Identifier (OID) for a timestamp policy the Timestamp Authority (TSA) should use, or null to express no preference. An optional nonce (number used once) to uniquely identify this request to pair it with the response. The value is interpreted as an unsigned big-endian integer and may be normalized to the encoding format. Indicates whether the Timestamp Authority (TSA) must (true) or must not (false) include the signing certificate in the issued timestamp token. RFC3161 extensions to present with the request. An representing the chosen values. Get a SignedCms representation of the RFC3161 Timestamp Token. The SignedCms representation of the RFC3161 Timestamp Token. Successive calls to this method return the same object. The SignedCms class is mutable, but changes to that object are not reflected in the object which produced it. The value from calling can be interpreted again as an via another call to . Represents the timestamp token information class defined in RFC3161 as TSTInfo. Initializes a new instance of the class with the specified parameters. An OID representing the TSA's policy under which the response was produced. A hash algorithm OID of the data to be timestamped. A hash value of the data to be timestamped. An integer assigned by the TSA to the . The timestamp encoded in the token. The accuracy with which is compared. Also see . to ensure that every timestamp token from the same TSA can always be ordered based on the , regardless of the accuracy; to make indicate when token has been created by the TSA. The nonce associated with this timestamp token. Using a nonce always allows to detect replays, and hence its use is recommended. The hint in the TSA name identification. The actual identification of the entity that signed the response will always occur through the use of the certificate identifier. The extension values associated with the timestamp. If , , or are present in the , then the same value should be used. If is not provided, then the accuracy may be available through other means such as i.e. . ASN.1 corrupted data. Gets the version of the timestamp token. The version of the timestamp token. Gets an OID representing the TSA's policy under which the response was produced. An OID representing the TSA's policy under which the response was produced. Gets an OID of the hash algorithm. An OID of the hash algorithm. Gets the data representing the message hash. The data representing the message hash. Gets an integer assigned by the TSA to the . An integer assigned by the TSA to the . Gets the timestamp encoded in the token. The timestamp encoded in the token. Gets the accuracy with which is compared. The accuracy with which is compared. Gets a value indicating if every timestamp token from the same TSA can always be ordered based on the , regardless of the accuracy; If , indicates when the token has been created by the TSA. A value indicating if every timestamp token from the same TSA can always be ordered based on the . Gets the nonce associated with this timestamp token. The nonce associated with this timestamp token. Gets a value indicating whether there are any extensions associated with this timestamp token. A value indicating whether there are any extensions associated with this timestamp token. Gets the data representing the hint in the TSA name identification. The data representing the hint in the TSA name identification. The actual identification of the entity that signed the response will always occur through the use of the certificate identifier (ESSCertID Attribute) inside a SigningCertificate attribute which is part of the signer info. Gets the extension values associated with the timestamp. The extension values associated with the timestamp. Encodes this object into a TSTInfo value The encoded TSTInfo value. Attempts to encode this object as a TSTInfo value, writing the result into the provided buffer. The destination buffer. When this method returns , contains the bytes written to the buffer. if the operation succeeded; if the buffer size was insufficient. Decodes an encoded TSTInfo value. The input or source buffer. When this method returns , the decoded data. When this method returns , the value is , meaning the data could not be decoded. The number of bytes used for decoding. if the operation succeeded; otherwise. SafeHandle representing HCRYPTHASH handle Safe handle representing a HCRYPTKEY Since we need to delete the key handle before the provider is released we need to actually hold a pointer to a CRYPT_KEY_CTX unmanaged structure whose destructor decrements a refCount. Only when the provider refCount is 0 it is deleted. This way, we loose a race in the critical finalization of the key handle and provider handle. This also applies to hash handles, which point to a CRYPT_HASH_CTX. Those structures are defined in COMCryptography.h Safehandle representing HCRYPTPROV Map from an ASCII char to its hex value, e.g. arr['b'] == 11. 0xFF means it's not a hex digit. The `{0}` string cannot be empty or null. Only single dimensional arrays are supported for the requested action. The destination is too small to hold the encoded value. Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection. The OID value was invalid. Value was invalid. Index was out of range. Must be non-negative and less than the size of the collection. Positive number required. The KDF for algorithm '{0}' requires a char-based password input. ASN.1 Enumerated values only apply to enum types without the [Flags] attribute. Named bit list operations require an enum with the [Flags] attribute. The encoded named bit list value is larger than the value size of the '{0}' enum. Tags with TagClass Universal must have the appropriate TagValue value for the data type being read or written. Unused bit count must be between 0 and 7, inclusive. Encode cannot be called while a Sequence or SetOf is still open. Cannot pop the requested tag as it is not currently in progress. The hash value is not correct. Invalid signature. Could not determine signature algorithm for the signer certificate. The certificate chain is incomplete, the self-signed root authority could not be determined. Invalid originator identifier choice {0} found in decoded CMS. The subject identifier type {0} is not valid. Invalid cryptographic message type. SignerInfo digest algorithm '{0}' is not valid for signature algorithm '{1}'. The Date property is not available for none KID key agree recipient. The CMS message is not encrypted. The CMS message is not signed. The cryptographic message does not contain an expected authenticated attribute. Only one level of counter-signatures are supported on this platform. The recipients collection is empty. You must specify at least one recipient. This platform does not implement the certificate picker UI. No signer certificate was provided. This platform does not implement the certificate picker UI. No signer certificate was provided. The signed cryptographic message does not have a signer for the specified signer index. The enveloped-data message does not contain the specified recipient. The recipient type '{0}' is not supported for encryption or decryption on this platform. Cannot create CMS signature for empty content. CmsSigner has to be the first signer with NoSignature. Cannot find the original signer. A certificate with a private key is required. An RSA key is required to decrypt for a RecipientInfo with a KeyTransport recipient type. An RSA certificate is required for a CmsRecipient when used with RSAEncryptionPadding. Certificate trust could not be established. The first reported error is: {0} Unknown algorithm '{0}'. Unable to determine the type of key handle from this keyspec {0}. The certificate is not valid for the requested usage. Key is not a valid public or private key. This operation is not valid on an encrypted or enveloped Pkcs12SafeContents. The Pkcs12CertBag contents are not an X.509 certificate. The Pkcs12Builder can no longer be modified because one of the Seal methods was already invoked. One of the Seal methods must be invoked on the Pkcs12Builder before invoking an Encode method. Cannot enumerate the contents of an encrypted or enveloped Pkcs12SafeContents. New Pkcs12SafeBag values cannot be added to a Pkcs12SafeContents that was read from existing data. This decryption operation applies to 'Pkcs12ConfidentialityMode.{0}', but the target object is in 'Pkcs12ConfidentialityMode.{1}'. This verification operation applies to 'Pkcs12IntegrityMode.{0}', but the target object is in 'Pkcs12IntegrityMode.{1}'. Invalid signature paramters. The EncryptedPrivateKeyInfo structure was decoded but was not successfully interpreted, the password may be incorrect. The parameter should be a PKCS 9 attribute. Cannot add multiple PKCS 9 signing time attributes. PSS parameters were not present. This platform requires that the PSS hash algorithm ({0}) match the data digest algorithm ({1}). This platform does not support the MGF hash algorithm ({0}) being different from the signature hash algorithm ({1}). Mask generation function '{0}' is not supported by this platform. PSS salt size {0} is not supported by this platform with hash algorithm {1}. The response from the timestamping server did not match the request nonce. The response from the timestamping server was not understood. The timestamping server did not grant the request. The request status is '{0}' with failure info '{1}'. The timestamping request required the TSA certificate in the response, but it was not found. The timestamping request required the TSA certificate not be included in the response, but certificates were present. Duplicate items are not allowed in the collection. AsnEncodedData element in the collection has wrong Oid value: expected = '{0}', actual = '{1}'. System.Security.Cryptography.Pkcs is only supported on Windows platforms. Algorithm '{0}' is not supported on this platform. ASN1 corrupted data. The string contains a character not in the 7 bit ASCII character set. The algorithm identified by '{0}' is unknown, not valid for the requested usage, or was not handled. '{0}' is not a known hash algorithm. The input to WriteEncodedValue must represent a single encoded value with no trailing data. Attribute not found. Certificate not found. Certificate already present in the collection. The key in the enveloped message is not valid or could not be decoded. Specifies that the method or property will ensure that the listed field and property members have not-null values. Initializes the attribute with a field or property member. The field or property member that is promised to be not-null. Initializes the attribute with the list of field and property members. The list of field and property members that are promised to be not-null. Gets field or property member names. Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. Initializes the attribute with the specified return value condition and a field or property member. The return value condition. If the method returns this value, the associated parameter will not be null. The field or property member that is promised to be not-null. Initializes the attribute with the specified return value condition and list of field and property members. The return value condition. If the method returns this value, the associated parameter will not be null. The list of field and property members that are promised to be not-null. Gets the return value condition. Gets field or property member names. Base type for all platform-specific API attributes. Records the platform that the project targeted. Records the operating system (and minimum version) that supports an API. Multiple attributes can be applied to indicate support on multiple operating systems. Callers can apply a or use guards to prevent calls to APIs on unsupported operating systems. A given platform should only be specified once. Marks APIs that were removed in a given operating system version. Primarily used by OS bindings to indicate APIs that are only available in earlier versions. Annotates a custom guard field, property or method with a supported platform name and optional version. Multiple attributes can be applied to indicate guard for multiple supported platforms. Callers can apply a to a field, property or method and use that field, property or method in a conditional or assert statements in order to safely call platform specific APIs. The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. Annotates the custom guard field, property or method with an unsupported platform name and optional version. Multiple attributes can be applied to indicate guard for multiple unsupported platforms. Callers can apply a to a field, property or method and use that field, property or method in a conditional or assert statements as a guard to safely call APIs unsupported on those platforms. The type of the field or property should be boolean, the method return type should be boolean in order to be used as platform guard. Return the managed representation of the recipients. .NET Framework compat: Unlike the desktop, we compute this once and then latch it. Since both RecipientInfo and RecipientInfoCollection are immutable objects, this should be a safe optimization to make. Attempt to decrypt the CMS using the specified "cert". If successful, return the ContentInfo that contains the decrypted content. If unsuccessful, return null and set "exception" to a valid Exception object. Do not throw the exception as EnvelopedCms will want to continue decryption attempts against other recipients. Only if all the recipients fail to decrypt will then EnvelopedCms throw the exception from the last failed attempt. This is not just a convenience wrapper for Array.Resize(). In DEBUG builds, it forces the array to move in memory even if no resize is needed. This should be used by helper methods that do anything of the form "call a native api once to get the estimated size, call it again to get the data and return the data in a byte[] array." Sometimes, that data consist of a native data structure containing pointers to other parts of the block. Using such a helper to retrieve such a block results in an intermittent AV. By using this helper, you make that AV repro every time. .NET Framework compat: We do not complain about multiple matches. Just take the first one and ignore the rest. Asserts on bad or non-canonicalized input. Input must come from trusted sources. Subject Key Identifier is string-ized as an upper case hex string. This format is part of the public api behavior and cannot be changed. Asserts on bad or non-canonicalized input. Input must come from trusted sources. Serial number is string-ized as a reversed upper case hex string. This format is part of the public api behavior and cannot be changed. Asserts on bad input. Input must come from trusted sources. Asserts on bad input. Input must come from trusted sources. Useful helper for "upgrading" well-known CMS attributes to type-specific objects such as Pkcs9DocumentName, Pkcs9DocumentDescription, etc. Encrypt and encode a CMS. Return value is the RFC-compliant representation of the CMS that can be transmitted "on the wire." Decode an encoded CMS. Call RecipientInfos on the returned pal object to get the recipients. Call TryDecrypt() on the returned pal object to attempt a decrypt for a single recipient. Implements the ContentInfo.GetContentType() behavior. EnvelopedCms.Decrypt() looks for qualifying certs from the "MY" store (as well as any "extraStore" passed to Decrypt()). This method encapsulates exactly what a particular OS considers to be "the MY store." If EnvelopedCms.Decrypt() fails to find any matching certs for any recipients, it throws CryptographicException(CRYPT_E_RECIPIENT_NOT_FOUND) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call RecipientInfos after an Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call Decrypt() after an Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. If you call Decrypt() after a Encrypt(), the framework throws CryptographicException(CRYPT_E_INVALID_MSG_TYPE) on Windows. This method encapsulates what other OS's decide to throw in this situation. Retrieve the certificate's subject key identifier value. Retrieve a private key object for the certificate to use with signing. Retrieve a private key object for the certificate to use with decryption. Get the one instance of PkcsPal. Returns the inner content of the CMS. Special case: If the CMS is an enveloped CMS that has been decrypted and the inner content type is Oids.Pkcs7Data, the returned content bytes are the decoded octet bytes, rather than the encoding of those bytes. This is a documented convenience behavior of CryptMsgGetParam(CMSG_CONTENT_PARAM) that apparently got baked into the behavior of the managed EnvelopedCms class. Returns (AlgId)(-1) if oid is unknown. Provides a cache for special instances of SafeHandles. Specifies the type of SafeHandle. Gets a cached, invalid handle. As the instance is cached, it should either never be Disposed or it should override to prevent disposal when the instance represents an invalid handle: returns . Gets whether the specified handle is invalid handle. The handle to compare. true if is invalid handle; otherwise, false. Returns a string message for the specified Win32 error code. Result codes from NCrypt APIs ================================================ FILE: packages/System.Security.Cryptography.Pkcs.6.0.1/useSharedDesignerContext.txt ================================================