NtApiDotNet.xml
<?xml version="1.0"?>
<doc> <assembly> <name>NtApiDotNet</name> </assembly> <members> <member name="T:NtApiDotNet.CreateUserProcess"> <summary> Class to create a new user process using the native APIs. </summary> </member> <member name="P:NtApiDotNet.CreateUserProcess.ImagePath"> <summary> Path to the executable to start. </summary> </member> <member name="P:NtApiDotNet.CreateUserProcess.ConfigImagePath"> <summary> Path to the executable to start which is passed in the process configuration. </summary> </member> <member name="P:NtApiDotNet.CreateUserProcess.CommandLine"> <summary> Command line </summary> </member> <member name="P:NtApiDotNet.CreateUserProcess.Environment"> <summary> Prepared environment block. </summary> </member> <member name="P:NtApiDotNet.CreateUserProcess.WindowTitle"> <summary> Title of the main window. </summary> </member> <member name="P:NtApiDotNet.CreateUserProcess.DllPath"> <summary> Path to DLLs. </summary> </member> <member name="P:NtApiDotNet.CreateUserProcess.CurrentDirectory"> <summary> Current directory for new process </summary> </member> <member name="P:NtApiDotNet.CreateUserProcess.DesktopInfo"> <summary> Desktop information value </summary> </member> <member name="P:NtApiDotNet.CreateUserProcess.ShellInfo"> <summary> Shell information value </summary> </member> <member name="P:NtApiDotNet.CreateUserProcess.RuntimeData"> <summary> Runtime data. </summary> </member> <member name="P:NtApiDotNet.CreateUserProcess.ProhibitedImageCharacteristics"> <summary> Prohibited image characteristics for new process </summary> </member> <member name="P:NtApiDotNet.CreateUserProcess.AdditionalFileAccess"> <summary> Additional file access for opened executable file. </summary> </member> <member name="P:NtApiDotNet.CreateUserProcess.ProcessFlags"> <summary> Process create flags. </summary> </member> <member name="P:NtApiDotNet.CreateUserProcess.ThreadFlags"> <summary> Thread create flags. </summary> </member> <member name="P:NtApiDotNet.CreateUserProcess.InitFlags"> <summary> Initialization flags </summary> </member> <member name="P:NtApiDotNet.CreateUserProcess.RestrictChildProcess"> <summary> Restrict new child processes </summary> </member> <member name="P:NtApiDotNet.CreateUserProcess.OverrideRestrictChildProcess"> <summary> Override restrict child process </summary> </member> <member name="P:NtApiDotNet.CreateUserProcess.AdditionalAttributes"> <summary> Extra process/thread attributes </summary> </member> <member name="P:NtApiDotNet.CreateUserProcess.ReturnOnError"> <summary> Return on error instead of throwing an exception. </summary> </member> <member name="M:NtApiDotNet.CreateUserProcess.#ctor"> <summary> Constructor </summary> </member> <member name="M:NtApiDotNet.CreateUserProcess.Fork"> <summary> For the current process </summary> <returns>The new forked process result</returns> </member> <member name="M:NtApiDotNet.CreateUserProcess.Start(System.String)"> <summary> Start the new process </summary> <param name="image_path">The image path to the file to execute</param> <returns>The result of the process creation</returns> </member> <member name="T:NtApiDotNet.CreateUserProcessResult"> <summary> Result from a native create process call. </summary> </member> <member name="P:NtApiDotNet.CreateUserProcessResult.Process"> <summary> Handle to the process </summary> </member> <member name="P:NtApiDotNet.CreateUserProcessResult.Thread"> <summary> Handle to the initial thread </summary> </member> <member name="P:NtApiDotNet.CreateUserProcessResult.ImageFile"> <summary> Handle to the image file </summary> </member> <member name="P:NtApiDotNet.CreateUserProcessResult.SectionHandle"> <summary> Handle to the image section </summary> </member> <member name="P:NtApiDotNet.CreateUserProcessResult.IFEOKeyHandle"> <summary> Handle to the IFEO key (if it exists) </summary> </member> <member name="P:NtApiDotNet.CreateUserProcessResult.ImageInfo"> <summary> Image information </summary> </member> <member name="P:NtApiDotNet.CreateUserProcessResult.ClientId"> <summary> Client ID of process and thread </summary> </member> <member name="P:NtApiDotNet.CreateUserProcessResult.ProcessId"> <summary> Process ID </summary> </member> <member name="P:NtApiDotNet.CreateUserProcessResult.ThreadId"> <summary> Thread ID </summary> </member> <member name="P:NtApiDotNet.CreateUserProcessResult.Status"> <summary> Create status </summary> </member> <member name="P:NtApiDotNet.CreateUserProcessResult.Success"> <summary> True if create succeeded </summary> </member> <member name="P:NtApiDotNet.CreateUserProcessResult.CreateInfo"> <summary> Result of the create information </summary> </member> <member name="P:NtApiDotNet.CreateUserProcessResult.CreateState"> <summary> Creation state </summary> </member> <member name="M:NtApiDotNet.CreateUserProcessResult.Terminate(NtApiDotNet.NtStatus)"> <summary> Terminate the process </summary> <param name="exitcode">Exit code for termination</param> </member> <member name="M:NtApiDotNet.CreateUserProcessResult.Resume"> <summary> Resume initial thread </summary> <returns>The suspend count</returns> </member> <member name="P:NtApiDotNet.CreateUserProcessResult.TerminateOnDispose"> <summary> Set to true to terminate process on disposal </summary> </member> <member name="M:NtApiDotNet.CreateUserProcessResult.Finalize"> <summary> Finalizer </summary> </member> <member name="M:NtApiDotNet.CreateUserProcessResult.Dispose"> <summary> Dispose </summary> </member> <member name="T:NtApiDotNet.DisposableList`1"> <summary> Represents a list where the elements can be trivially disposed in one go. </summary> <typeparam name="T">An IDisposable implementing type</typeparam> </member> <member name="M:NtApiDotNet.DisposableList`1.#ctor"> <summary> Constructor </summary> </member> <member name="M:NtApiDotNet.DisposableList`1.#ctor(System.Int32)"> <summary> Constructor </summary> <param name="capacity">The initial capacity of the list</param> </member> <member name="M:NtApiDotNet.DisposableList`1.#ctor(System.Collections.Generic.IEnumerable{`0})"> <summary> Constructor </summary> <param name="collection">A collection to initialize the list</param> </member> <member name="M:NtApiDotNet.DisposableList`1.Dispose"> <summary> Dispose method </summary> </member> <member name="T:NtApiDotNet.SafeHandleList"> <summary> Disposable list of safe handles </summary> </member> <member name="M:NtApiDotNet.SafeHandleList.#ctor"> <summary> Constructor </summary> </member> <member name="M:NtApiDotNet.SafeHandleList.#ctor(System.Int32)"> <summary> Constructor </summary> <param name="capacity">The initial capacity of the list</param> </member> <member name="M:NtApiDotNet.SafeHandleList.#ctor(System.Collections.Generic.IEnumerable{System.Runtime.InteropServices.SafeHandle})"> <summary> Constructor </summary> <param name="collection">A collection to initialize the list</param> </member> <member name="M:NtApiDotNet.SafeHandleList.DangerousTakeCopy"> <summary> Take a copy of the safe handle list so the the original can be disposed. </summary> <returns>The copy of the handle list.</returns> </member> <member name="T:NtApiDotNet.EaBufferEntry"> <summary> A single EA entry. </summary> </member> <member name="P:NtApiDotNet.EaBufferEntry.Name"> <summary> Name of the entry </summary> </member> <member name="P:NtApiDotNet.EaBufferEntry.Data"> <summary> Data associated with the entry </summary> </member> <member name="M:NtApiDotNet.EaBufferEntry.#ctor(System.String,System.Byte[])"> <summary> Constructor </summary> <param name="name">The name of the entry</param> <param name="data">Data associated with the entry</param> </member> <member name="M:NtApiDotNet.EaBufferEntry.ToString"> <summary> Convery entry to a string </summary> <returns>The entry as a string</returns> </member> <member name="T:NtApiDotNet.EaBuffer"> <summary> Class to create an Extended Attributes buffer for NtCreateFile </summary> </member> <member name="M:NtApiDotNet.EaBuffer.#ctor"> <summary> Constructor </summary> </member> <member name="M:NtApiDotNet.EaBuffer.#ctor(System.Byte[])"> <summary> Constructor from a binary EA buffer </summary> <param name="buffer">The EA buffer to parse</param> </member> <member name="M:NtApiDotNet.EaBuffer.AddEntry(System.String,System.Byte[])"> <summary> Add a new EA entry </summary> <param name="name">The name of the entry</param> <param name="data">The associated data</param> </member> <member name="M:NtApiDotNet.EaBuffer.ToByteArray"> <summary> Convert to a byte array </summary> <returns>The byte array</returns> </member> <member name="T:NtApiDotNet.AlpcAccessRights"> <summary> Access rights for ALPC </summary> </member> <member name="T:NtApiDotNet.AlpcPortInformationClass"> <summary> ALPC Port Information Class </summary> </member> <member name="T:NtApiDotNet.NtAlpc"> <summary> Unused. </summary> </member> <member name="T:NtApiDotNet.NtAtom"> <summary> Class to handle NT atoms </summary> </member> <member name="P:NtApiDotNet.NtAtom.Atom"> <summary> The atom value </summary> </member> <member name="M:NtApiDotNet.NtAtom.Add(System.String)"> <summary> Add an atom name </summary> <param name="name">The name to add</param> <returns>A reference to the atom</returns> </member> <member name="P:NtApiDotNet.NtAtom.Name"> <summary> Get the name of the stom </summary> <returns>The name of the atom</returns> </member> <member name="M:NtApiDotNet.NtAtom.GetAtoms"> <summary> Enumerate all atoms. </summary> <returns>An enumeration of all atoms on the system.</returns> </member> <member name="T:NtApiDotNet.NtDebug"> <summary> Class representing a NT Debug object </summary> </member> <member name="M:NtApiDotNet.NtDebug.Create(System.String,NtApiDotNet.NtObject)"> <summary> Create a debug object </summary> <param name="name">The debug object name (can be null)</param> <param name="root">The root directory for relative names</param> <returns>The debug object</returns> </member> <member name="M:NtApiDotNet.NtDebug.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.DebugAccessRights)"> <summary> Create a debug object </summary> <param name="desired_access">Desired access for the debug object</param> <param name="object_attributes">Object attributes for debug object</param> <returns>The debug object</returns> </member> <member name="M:NtApiDotNet.NtDebug.Create"> <summary> Create a debug object </summary> <returns>The debug object</returns> </member> <member name="T:NtApiDotNet.DirectoryAccessRights"> <summary> Directory access rights. </summary> </member> <member name="T:NtApiDotNet.BoundaryDescriptorFlags"> <summary> Flags for a boundary descriptor </summary> </member> <member name="F:NtApiDotNet.BoundaryDescriptorFlags.None"> <summary> None </summary> </member> <member name="F:NtApiDotNet.BoundaryDescriptorFlags.AddPackageSid"> <summary> Automatically add the AppContainer package SID to the boundary </summary> </member> <member name="T:NtApiDotNet.BoundaryDescriptor"> <summary> Class which represents a private namespace boundary descriptor </summary> </member> <member name="M:NtApiDotNet.BoundaryDescriptor.#ctor(System.String,NtApiDotNet.BoundaryDescriptorFlags)"> <summary> Constructor </summary> <param name="name">The name of the boundary</param> <param name="flags">Additional flags for the boundary</param> </member> <member name="M:NtApiDotNet.BoundaryDescriptor.#ctor(System.String)"> <summary> Constructor </summary> <param name="name">The name of the boundary</param> </member> <member name="M:NtApiDotNet.BoundaryDescriptor.AddSid(NtApiDotNet.Sid)"> <summary> Add a SID to the boundary descriptor. </summary> <remarks>This SID is used in an access check when creating or deleting private namespaces.</remarks> <param name="sid">The SID to add.</param> </member> <member name="M:NtApiDotNet.BoundaryDescriptor.AddIntegrityLevel(NtApiDotNet.TokenIntegrityLevel)"> <summary> Add an integrity level to the boundary descriptor. </summary> <remarks>This integrity level is used in an access check when creating or deleting private namespaces.</remarks> <param name="integrity_level">The integrity level to add.</param> </member> <member name="M:NtApiDotNet.BoundaryDescriptor.AddSids(System.Collections.Generic.IEnumerable{NtApiDotNet.Sid})"> <summary> Add a list of SIDs to the boundary descriptor. </summary> <param name="sids">The SIDs to add. This can include normal and integrity level SIDs</param> </member> <member name="M:NtApiDotNet.BoundaryDescriptor.AddSids(NtApiDotNet.Sid,NtApiDotNet.Sid[])"> <summary> Add a list of SIDs to the boundary descriptor. </summary> <param name="sid">The first SID to add</param> <param name="sids">Additional SIDs</param> </member> <member name="P:NtApiDotNet.BoundaryDescriptor.Handle"> <summary> The handle to the boundary descriptor. </summary> </member> <member name="M:NtApiDotNet.BoundaryDescriptor.CreateFromString(System.String)"> <summary> Create a boundary descriptor from a string representation. </summary> <param name="descriptor">A boundary descriptor string of the form [SID[:SID...]@]NAME where SID is an SDDL format SID.</param> <returns>The new boundary descriptor.</returns> </member> <member name="M:NtApiDotNet.BoundaryDescriptor.Finalize"> <summary> Finalizer </summary> </member> <member name="M:NtApiDotNet.BoundaryDescriptor.Dispose"> <summary> Dispose </summary> </member> <member name="T:NtApiDotNet.NtDirectory"> <summary> NT Directory Object class </summary> </member> <member name="M:NtApiDotNet.NtDirectory.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.DirectoryAccessRights)"> <summary> Open a directory object </summary> <param name="obj_attributes">The object attributes to use for the open call.</param> <param name="desired_access">Access rights for directory object</param> <returns>The directory object</returns> <exception cref="T:NtApiDotNet.NtException">Throw on error</exception> </member> <member name="M:NtApiDotNet.NtDirectory.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.DirectoryAccessRights)"> <summary> Open a directory object by name </summary> <param name="name">The directory object to open</param> <param name="root">Optional root directory to parse from</param> <param name="desired_access">Access rights for directory object</param> <returns>The directory object</returns> <exception cref="T:NtApiDotNet.NtException">Throw on error</exception> </member> <member name="M:NtApiDotNet.NtDirectory.Open(System.String)"> <summary> Open a directory object by full name </summary> <param name="name">The directory object to open</param> <returns>The directory object</returns> <exception cref="T:NtApiDotNet.NtException">Throw on error</exception> </member> <member name="M:NtApiDotNet.NtDirectory.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.DirectoryAccessRights,NtApiDotNet.NtDirectory)"> <summary> Create a directory object with a shadow </summary> <param name="obj_attributes">The object attributes to create the directory with</param> <param name="desired_access">The desired access to the directory</param> <param name="shadow_dir">The shadow directory</param> <returns>The directory object</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtDirectory.Create(System.String,NtApiDotNet.NtObject,NtApiDotNet.DirectoryAccessRights)"> <summary> Create a directory object </summary> <param name="name">The directory object to create, if null will create a unnamed directory object</param> <param name="desired_access">The desired access to the directory</param> <param name="root">Root directory from where to start the creation operation</param> <returns>The directory object</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtDirectory.Create(System.String,NtApiDotNet.NtObject,NtApiDotNet.DirectoryAccessRights,NtApiDotNet.NtDirectory)"> <summary> Create a directory object with a shadow </summary> <param name="name">The directory object to create, if null will create a unnamed directory object</param> <param name="desired_access">The desired access to the directory</param> <param name="root">Root directory from where to start the creation operation</param> <param name="shadow_dir">The shadow directory</param> <returns>The directory object</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtDirectory.Create(System.String)"> <summary> Create a directory object </summary> <param name="name">The directory object to create, if null will create a unnamed directory object</param> <returns>The directory object</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtDirectory.Query"> <summary> Query the directory for a list of entries. </summary> <returns>The list of entries.</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtDirectory.OpenSessionDirectory(System.Int32)"> <summary> Open a session directory. </summary> <param name="sessionid">The session ID to open</param> <returns>The directory object</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtDirectory.OpenSessionDirectory"> <summary> Open the current session directory. </summary> <returns>The directory object</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtDirectory.OpenBaseNamedObjects(System.Int32)"> <summary> Open basenamedobjects for a session. </summary> <param name="sessionid">The session ID to open</param> <returns>The directory object</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtDirectory.OpenBaseNamedObjects"> <summary> Open basenamedobjects for current session. </summary> <returns>The directory object</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtDirectory.OpenDosDevicesDirectory(NtApiDotNet.NtToken)"> <summary> Open dos devices directory for a token. </summary> <returns>The directory object</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtDirectory.OpenDosDevicesDirectory"> <summary> Open dos devices directory for current effective token. </summary> <returns>The directory object</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtDirectory.CreatePrivateNamespace(NtApiDotNet.ObjectAttributes,NtApiDotNet.BoundaryDescriptor,NtApiDotNet.DirectoryAccessRights)"> <summary> Create a private namespace directory. </summary> <param name="obj_attributes">Object attributes for the directory</param> <param name="boundary_descriptor">Boundary descriptor for the namespace</param> <param name="desired_access">Desired access for the directory</param> <returns>The directory object</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtDirectory.CreatePrivateNamespace(NtApiDotNet.BoundaryDescriptor)"> <summary> Create a private namespace directory. </summary> <param name="boundary_descriptor">Boundary descriptor for the namespace</param> <returns>The directory object</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtDirectory.OpenPrivateNamespace(NtApiDotNet.ObjectAttributes,NtApiDotNet.BoundaryDescriptor,NtApiDotNet.DirectoryAccessRights)"> <summary> Open a private namespace directory. </summary> <param name="obj_attributes">Object attributes for the directory</param> <param name="boundary_descriptor">Boundary descriptor for the namespace</param> <param name="desired_access">Desired access for the directory</param> <returns>The directory object</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtDirectory.OpenPrivateNamespace(NtApiDotNet.BoundaryDescriptor)"> <summary> Open a private namespace directory. </summary> <param name="boundary_descriptor">Boundary descriptor for the namespace</param> <returns>The directory object</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtDirectory.Delete"> <summary> Deletes a private namespace. If not a private namespace this does nothing. </summary> </member> <member name="M:NtApiDotNet.NtDirectory.GetDirectoryEntry(System.String,System.String,System.Boolean)"> <summary> Get a directory entry based on a name. </summary> <param name="name">The name of the entry.</param> <param name="typename">The typename to verify against, can be null.</param> <param name="case_sensitive">True if look up is case sensitive.</param> <returns>The directory entry, or null if it can't be found.</returns> </member> <member name="M:NtApiDotNet.NtDirectory.GetDirectoryEntry(System.String)"> <summary> Get a directory entry based on a name. </summary> <param name="name">The name of the entry.</param> <returns>The directory entry, or null if it can't be found.</returns> </member> <member name="M:NtApiDotNet.NtDirectory.DirectoryExists(System.String,NtApiDotNet.NtDirectory)"> <summary> Returns whether a directory exists for this path. </summary> <param name="path">The path to the entry.</param> <param name="root">The root directory.</param> <returns>True if the directory exists for the specified path.</returns> </member> <member name="M:NtApiDotNet.NtDirectory.GetDirectoryEntryType(System.String,NtApiDotNet.NtObject)"> <summary> Get the type of a directory entry by path. </summary> <param name="path">The path to the directory entry</param> <param name="root">The root object to look up if path is relative</param> <returns>The type name, or null if it can't be found.</returns> </member> <member name="M:NtApiDotNet.NtDirectory.DirectoryExists(System.String)"> <summary> Check whether a directory is exists relative to the current directory. </summary> <param name="relative_path">Relative path to directory</param> <returns>True if the directory exists.</returns> </member> <member name="T:NtApiDotNet.NtEvent"> <summary> Class representing a NT Event object </summary> </member> <member name="M:NtApiDotNet.NtEvent.Set"> <summary> Set the event state </summary> <returns>The previous state of the event</returns> </member> <member name="M:NtApiDotNet.NtEvent.Clear"> <summary> Clear the event state </summary> </member> <member name="M:NtApiDotNet.NtEvent.Pulse"> <summary> Pulse the event state. </summary> <returns>The previous state of the event</returns> </member> <member name="M:NtApiDotNet.NtEvent.Create(System.String,NtApiDotNet.NtObject,NtApiDotNet.EventType,System.Boolean)"> <summary> Create an event object </summary> <param name="name">The path to the event</param> <param name="root">The root object for relative path names</param> <param name="type">The type of the even</param> <param name="initial_state">The initial state of the event</param> <returns>The event object</returns> </member> <member name="M:NtApiDotNet.NtEvent.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.EventType,System.Boolean,NtApiDotNet.EventAccessRights)"> <summary> Create an event object </summary> <param name="object_attributes">The event object attributes</param> <param name="type">The type of the event</param> <param name="initial_state">The initial state of the event</param> <param name="desired_access">The desired access for the event</param> <returns>The event object</returns> </member> <member name="M:NtApiDotNet.NtEvent.Create(System.String,NtApiDotNet.EventType,System.Boolean)"> <summary> Create an event object </summary> <param name="name">The path to the event</param> <param name="type">The type of the even</param> <param name="initial_state">The initial state of the event</param> <returns>The event object</returns> </member> <member name="M:NtApiDotNet.NtEvent.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.EventAccessRights)"> <summary> Open an event object </summary> <param name="name">The path to the event</param> <param name="root">The root object for relative path names</param> <param name="desired_access">The desired access for the event</param> <returns>The event object</returns> </member> <member name="M:NtApiDotNet.NtEvent.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.EventAccessRights)"> <summary> Open an event object </summary> <param name="object_attributes">The event object attributes</param> <param name="desired_access">The desired access for the event</param> <returns></returns> </member> <member name="M:NtApiDotNet.NtEvent.Open(System.String,NtApiDotNet.NtObject)"> <summary> Open an event object </summary> <param name="name">The path to the event</param> <param name="root">The root object for relative path names</param> <returns>The event object</returns> </member> <member name="M:NtApiDotNet.NtEvent.Open(System.String)"> <summary> Open an event object </summary> <param name="name">The path to the event</param> <returns>The event object</returns> </member> <member name="T:NtApiDotNet.NtException"> <summary> Exception class representing an NT status error. </summary> </member> <member name="M:NtApiDotNet.NtException.#ctor(NtApiDotNet.NtStatus)"> <summary> Constructor </summary> <param name="status">Status result</param> </member> <member name="P:NtApiDotNet.NtException.Status"> <summary> Returns the contained NT status code </summary> </member> <member name="P:NtApiDotNet.NtException.Message"> <summary> Returns a string form of the NT status code. </summary> </member> <member name="M:NtApiDotNet.NtException.AsWin32Exception"> <summary> Convert this exception to a corresponding Win32Exception </summary> <returns></returns> </member> <member name="T:NtApiDotNet.NtIoControlCode"> <summary> Represnt a NT file IO control code. </summary> </member> <member name="P:NtApiDotNet.NtIoControlCode.DeviceType"> <summary> Type of device </summary> </member> <member name="P:NtApiDotNet.NtIoControlCode.Function"> <summary> Function number </summary> </member> <member name="P:NtApiDotNet.NtIoControlCode.Method"> <summary> Buffering method </summary> </member> <member name="P:NtApiDotNet.NtIoControlCode.Access"> <summary> Access of file handle </summary> </member> <member name="M:NtApiDotNet.NtIoControlCode.#ctor(NtApiDotNet.FileDeviceType,System.Int32,NtApiDotNet.FileControlMethod,NtApiDotNet.FileControlAccess)"> <summary> Constructor </summary> <param name="device_type">Type of device</param> <param name="function">Function number</param> <param name="method">Buffering method</param> <param name="access">Access of file handle</param> </member> <member name="M:NtApiDotNet.NtIoControlCode.#ctor(System.Int32)"> <summary> Constructor </summary> <param name="code">Raw IO control code to convert.</param> </member> <member name="M:NtApiDotNet.NtIoControlCode.ToInt32"> <summary> Convert the io control code to an Int32 </summary> <returns>The int32 version of the code</returns> </member> <member name="T:NtApiDotNet.NtFile"> <summary> Class representing a NT File object </summary> </member> <member name="M:NtApiDotNet.NtFile.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.FileAccessRights,NtApiDotNet.FileAttributes,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions,NtApiDotNet.FileDisposition,NtApiDotNet.EaBuffer)"> <summary> Create a new file </summary> <param name="obj_attributes">The object attributes</param> <param name="desired_access">Desired access for the file</param> <param name="file_attributes">Attributes for the file</param> <param name="share_access">Share access for the file</param> <param name="open_options">Open options for file</param> <param name="disposition">Disposition when opening the file</param> <param name="ea_buffer">Extended Attributes buffer</param> <returns>The created/opened file object.</returns> </member> <member name="M:NtApiDotNet.NtFile.Create(System.String,NtApiDotNet.NtObject,NtApiDotNet.FileAccessRights,NtApiDotNet.FileAttributes,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions,NtApiDotNet.FileDisposition,NtApiDotNet.EaBuffer)"> <summary> Create a new file </summary> <param name="name">The path to the file</param> <param name="root">A root object to parse relative filenames</param> <param name="desired_access">Desired access for the file</param> <param name="file_attributes">Attributes for the file</param> <param name="share_access">Share access for the file</param> <param name="open_options">Open options for file</param> <param name="disposition">Disposition when opening the file</param> <param name="ea_buffer">Extended Attributes buffer</param> <returns>The created/opened file object.</returns> </member> <member name="M:NtApiDotNet.NtFile.Create(System.String,NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions,NtApiDotNet.FileDisposition,NtApiDotNet.EaBuffer)"> <summary> Create a new file </summary> <param name="name">The path to the file</param> <param name="desired_access">Desired access for the file</param> <param name="share_access">Share access for the file</param> <param name="open_options">Open options for file</param> <param name="disposition">Disposition when opening the file</param> <param name="ea_buffer">Extended Attributes buffer</param> <returns>The created/opened file object.</returns> </member> <member name="M:NtApiDotNet.NtFile.DeviceIoControl(System.Int32,System.Runtime.InteropServices.SafeBuffer,System.Runtime.InteropServices.SafeBuffer)"> <summary> Send an Device IO Control code to the file driver </summary> <param name="control_code">The control code</param> <param name="input_buffer">Input buffer can be null</param> <param name="output_buffer">Output buffer can be null</param> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtFile.FsControl(System.Int32,System.Runtime.InteropServices.SafeBuffer,System.Runtime.InteropServices.SafeBuffer)"> <summary> Send an File System Control code to the file driver </summary> <param name="control_code">The control code</param> <param name="input_buffer">Input buffer</param> <param name="output_buffer"></param> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtFile.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions)"> <summary> Open a file </summary> <param name="obj_attributes">The object attributes</param> <param name="DesiredAccess">The desired access for the file handle</param> <param name="ShareAccess">The file share access</param> <param name="OpenOptions">File open options</param> <returns>The opened file</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtFile.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions)"> <summary> Open a file </summary> <param name="path">The path to the file</param> <param name="root">The root directory if path is relative.</param> <param name="DesiredAccess">The desired access for the file handle</param> <param name="ShareAccess">The file share access</param> <param name="OpenOptions">File open options</param> <returns>The opened file</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="P:NtApiDotNet.NtFile.FileId"> <summary> Get object ID for current file </summary> <returns>The object ID as a string</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="P:NtApiDotNet.NtFile.FileAttributes"> <summary> Get the attributes of a file. </summary> <returns>The file attributes</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtFile.GetFileId(System.String)"> <summary> Get the object ID of a file as a string </summary> <param name="path">The path to the file</param> <returns>The object ID as a string</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtFile.OpenFileById(NtApiDotNet.NtFile,System.String,NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions)"> <summary> Open a file by its object ID </summary> <param name="volume">A handle to the volume on which the file resides.</param> <param name="id">The object ID as a binary string</param> <param name="DesiredAccess">The desired access for the file</param> <param name="ShareAccess">File share access</param> <param name="OpenOptions">Open options.</param> <returns>The opened file object</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtFile.Delete"> <summary> Delete the file. Must have been opened with DELETE access. </summary> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtFile.CreateHardlink(System.String,NtApiDotNet.NtFile)"> <summary> Create a new hardlink to this file. </summary> <param name="linkname">The target NT path.</param> <param name="root">The root directory if linkname is relative</param> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtFile.CreateHardlink(System.String)"> <summary> Create a new hardlink to this file. </summary> <param name="linkname">The target absolute NT path.</param> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtFile.CreateHardlink(System.String,System.String)"> <summary> Create a hardlink to another file. </summary> <param name="path">The file to hardlink to.</param> <param name="linkname">The desintation hardlink path.</param> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtFile.ToStream"> <summary> Convert this NtFile to a FileStream for reading/writing. </summary> <remarks>The stream must be closed separately from the NtFile.</remarks> <returns>The file stream.</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="P:NtApiDotNet.NtFile.Win32PathName"> <summary> Get the Win32 path name for the file. </summary> <returns>The path, String.Empty on error.</returns> </member> <member name="P:NtApiDotNet.NtFile.DeviceType"> <summary> Get the low-level device type of the file. </summary> <returns>The file device type.</returns> </member> <member name="P:NtApiDotNet.NtFile.FullPath"> <summary> Get the name of the file. </summary> <returns>The name of the file.</returns> </member> <member name="T:NtApiDotNet.FileUtils"> <summary> Utility functions for files </summary> </member> <member name="M:NtApiDotNet.FileUtils.DosFileNameToNt(System.String)"> <summary> Convert a DOS filename to an absolute NT filename </summary> <param name="filename">The filename, can be relative</param> <returns>The NT filename</returns> </member> <member name="M:NtApiDotNet.FileUtils.DosFileNameToObjectAttributes(System.String)"> <summary> Convert a DOS filename to an NT filename and get as an ObjectAttributes structure </summary> <param name="filename">The filename</param> <returns>The object attributes</returns> </member> <member name="M:NtApiDotNet.FileUtils.DosFileNameToUnicodeString(System.String)"> <summary> Convert a DOS filename to a UNICODE_STRING structure </summary> <param name="filename">The DOS filename</param> <returns>The UNICODE_STRING</returns> </member> <member name="M:NtApiDotNet.FileUtils.GetDosPathType(System.String)"> <summary> Get type of DOS path </summary> <param name="filename">The DOS filename</param> <returns>The type of DOS path</returns> </member> <member name="T:NtApiDotNet.NtJob"> <summary> Class representing a NT Job object </summary> </member> <member name="M:NtApiDotNet.NtJob.Create(System.String,NtApiDotNet.NtObject)"> <summary> Create a job object </summary> <param name="path">The path to the job object (can be null)</param> <param name="root">The root object when path is relative</param> <returns>The Job object</returns> </member> <member name="M:NtApiDotNet.NtJob.CreateSilo"> <summary> Convert Job object into a Silo </summary> </member> <member name="M:NtApiDotNet.NtJob.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.JobAccessRights)"> <summary> Open a job object </summary> <param name="path">The path to the job object</param> <param name="root">The root object when path is relative</param> <param name="desired_access">Desired access for the job object</param> <returns>The Job object</returns> </member> <member name="T:NtApiDotNet.NtKeyValue"> <summary> Class representing a single Key value </summary> </member> <member name="P:NtApiDotNet.NtKeyValue.Name"> <summary> Name of the value </summary> </member> <member name="P:NtApiDotNet.NtKeyValue.Type"> <summary> Type of the value </summary> </member> <member name="P:NtApiDotNet.NtKeyValue.Data"> <summary> Raw data for the value </summary> </member> <member name="P:NtApiDotNet.NtKeyValue.TitleIndex"> <summary> Title index for the value </summary> </member> <member name="M:NtApiDotNet.NtKeyValue.ToString"> <summary> Convert the value to a string </summary> <returns>The value as a string</returns> </member> <member name="M:NtApiDotNet.NtKeyValue.ToObject"> <summary> Convert value to an object </summary> <returns>The value as an object</returns> </member> <member name="T:NtApiDotNet.NtKey"> <summary> Class to represent an NT Key object </summary> </member> <member name="M:NtApiDotNet.NtKey.LoadKey(System.String,System.String,NtApiDotNet.LoadKeyFlags)"> <summary> Load a new hive </summary> <param name="destination">The destination path</param> <param name="filename">The path to the hive</param> <param name="flags">Load flags</param> <returns>The opened root key</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.LoadKey(NtApiDotNet.ObjectAttributes,NtApiDotNet.ObjectAttributes,NtApiDotNet.LoadKeyFlags,NtApiDotNet.KeyAccessRights)"> <summary> Load a new hive </summary> <param name="key">Object attributes for the key name</param> <param name="file">Object attributes for the path to the hive file</param> <param name="flags">Load flags</param> <param name="desired_access">Desired access for the root key</param> <returns>The opened root key</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.KeyAccessRights,NtApiDotNet.KeyCreateOptions)"> <summary> Create a new Key </summary> <param name="obj_attributes">Object attributes for the key name</param> <param name="desired_access">Desired access for the root key</param> <param name="options">Create options</param> <returns>The opened key</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.Create(System.String,NtApiDotNet.NtObject,NtApiDotNet.KeyAccessRights,NtApiDotNet.KeyCreateOptions)"> <summary> Create a new Key </summary> <param name="key_name">Path to the key to create</param> <param name="root">Root key if key_name is relative</param> <param name="desired_access">Desired access for the root key</param> <param name="options">Create options</param> <returns>The opened key</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.Create(System.String)"> <summary> Create a new Key </summary> <param name="key_name">Path to the key to create</param> <returns>The opened key</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.Create(System.String,NtApiDotNet.KeyAccessRights,NtApiDotNet.KeyCreateOptions)"> <summary> Create a new Key </summary> <param name="key_name">Path to the key to create</param> <param name="desired_access">Desired access for the root key</param> <param name="options">Create options</param> <returns>The opened key</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.KeyAccessRights)"> <summary> Open a Key </summary> <param name="obj_attributes">Object attributes for the key name</param> <param name="desired_access">Desired access for the root key</param> <returns>The opened key</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.KeyAccessRights)"> <summary> Open a Key </summary> <param name="key_name">Path to the key to open</param> <param name="root">Root key if key_name is relative</param> <param name="desired_access">Desired access for the root key</param> <returns>The opened key</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.Delete"> <summary> Delete the key </summary> </member> <member name="M:NtApiDotNet.NtKey.SetValue(System.String,NtApiDotNet.RegistryValueType,System.Byte[])"> <summary> Set a resistry value </summary> <param name="value_name">The name of the value</param> <param name="type">The type of the value</param> <param name="data">The raw value data</param> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.SetValue(System.String,NtApiDotNet.RegistryValueType,System.String)"> <summary> Set a string resistry value </summary> <param name="value_name">The name of the value</param> <param name="type">The type of the value</param> <param name="data">The value data</param> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.SetValue(System.String,System.UInt32)"> <summary> Set a DWORD resistry value </summary> <param name="value_name">The name of the value</param> <param name="data">The value data</param> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.SetValue(System.String,System.UInt64)"> <summary> Set a QWORD resistry value </summary> <param name="value_name">The name of the value</param> <param name="data">The value data</param> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.QueryValue(System.String)"> <summary> Query a value by name </summary> <param name="value_name">The name of the value</param> <returns>The value information</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.QueryValues"> <summary> Query all values for this key </summary> <returns>A list of values</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.QueryKeys"> <summary> Query all subkey names </summary> <returns>The list of subkey names</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.QueryAccessibleKeys(NtApiDotNet.KeyAccessRights)"> <summary> Return a list of subkeys which can be accessed. </summary> <param name="desired_access">The required access rights for the subkeys</param> <returns>The disposable list of subkeys.</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.CreateSymbolicLink(System.String,NtApiDotNet.NtKey,System.String)"> <summary> Create a registry key symbolic link </summary> <param name="rootkey">Root key if path is relative</param> <param name="path">Path to the key to create</param> <param name="target">Target resistry path</param> <returns>The create symbolic key</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.Open(System.String)"> <summary> Open a key </summary> <param name="key_name">The path to the key to open</param> <returns>The opened key</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.Open(System.String,NtApiDotNet.KeyAccessRights)"> <summary> Open a key </summary> <param name="key_name">The path to the key to open</param> <param name="desired_access">Access rights for the key</param> <returns>The opened key</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.GetMachineKey"> <summary> Open the machine key </summary> <returns>The opened key</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.GetUserKey"> <summary> Open the user key </summary> <returns>The opened key</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.GetUserKey(NtApiDotNet.Sid)"> <summary> Open a specific user key </summary> <param name="sid">The SID fo the user to open</param> <returns>The opened key</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.GetCurrentUserKey"> <summary> Open the current user key </summary> <returns>The opened key</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.GetRootKey"> <summary> Open the root key </summary> <returns>The opened key</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.ToRegistryKey"> <summary> Convert object to a .NET RegistryKey object </summary> <returns>The registry key object</returns> </member> <member name="P:NtApiDotNet.NtKey.LastWriteTime"> <summary> Get key last write time </summary> <returns>The last write time</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="P:NtApiDotNet.NtKey.SubKeyCount"> <summary> Get key subkey count </summary> <returns>The subkey count</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtKey.GetValueCount"> <summary> Get key value count </summary> <returns>The key value count</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="P:NtApiDotNet.NtKey.TitleIndex"> <summary> Get the key title index </summary> <returns>The key title index</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="P:NtApiDotNet.NtKey.ClassName"> <summary> Get the key class name </summary> <returns>The key class name</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="P:NtApiDotNet.NtKey.MaxValueNameLength"> <summary> Get the maximum key value name length </summary> <returns>The maximum key value name length</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="P:NtApiDotNet.NtKey.MaxValueDataLength"> <summary> Get the maximum key value data length </summary> <returns>The maximum key value data length</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="P:NtApiDotNet.NtKey.MaxNameLength"> <summary> Get the maximum subkey name length </summary> <returns>The maximum subkey name length</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="P:NtApiDotNet.NtKey.MaxClassLength"> <summary> Get the maximum class name length </summary> <returns>The maximum class name length</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="T:NtApiDotNet.NtLocale"> <summary> Class to access NT locale information </summary> </member> <member name="M:NtApiDotNet.NtLocale.GetNlsSectionPtr(NtApiDotNet.NlsSectionType,System.Int32)"> <summary> Get mapped NLS section </summary> <param name="type">The type of section</param> <param name="codepage">The codepage number</param> <returns>The mapped section if it exists.</returns> </member> <member name="M:NtApiDotNet.NtLocale.GetDefaultLocal(System.Boolean)"> <summary> Get default locale ID </summary> <param name="thread">True if the locale should be the thread's, otherwise the systems</param> <returns>The locale ID</returns> </member> <member name="M:NtApiDotNet.NtLocale.SetDefaultLocale(System.Boolean,System.UInt32)"> <summary> Set default locale </summary> <param name="thread">True if the locale should be the thread's, otherwise the systems</param> <param name="locale">The locale ID</param> </member> <member name="T:NtApiDotNet.NtMutant"> <summary> Class representing a NT Mutant object </summary> </member> <member name="M:NtApiDotNet.NtMutant.Create(System.String,NtApiDotNet.NtObject,System.Boolean)"> <summary> Create a new mutant </summary> <param name="path">The path to the mutant</param> <param name="root">The root object if path is relative</param> <param name="initial_owner">True to set current thread as initial owner</param> <returns>The opened mutant</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtMutant.Create(NtApiDotNet.ObjectAttributes,System.Boolean,NtApiDotNet.MutantAccessRights)"> <summary> Create a new mutant </summary> <param name="object_attributes">Object attributes</param> <param name="initial_owner">True to set current thread as initial owner</param> <param name="desired_access">Desired access for mutant</param> <returns>The opened mutant</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtMutant.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.MutantAccessRights)"> <summary> Open a mutant </summary> <param name="path">The path to the mutant</param> <param name="root">The root object if path is relative</param> <param name="desired_access">Desired access for mutant</param> <returns>The opened mutant</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtMutant.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.MutantAccessRights)"> <summary> Open a mutant </summary> <param name="object_attributes">Object attributes</param> <param name="desired_access">Desired access for mutant</param> <returns>The opened mutant</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtMutant.Release"> <summary> Release the mutant </summary> <returns>The previous release count</returns> </member> <member name="T:NtApiDotNet.NtRegistryTransaction"> <summary> Class to represent a registry transaction object </summary> </member> <member name="M:NtApiDotNet.NtRegistryTransaction.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.RegistryTransactionAccessRights)"> <summary> Create a transaction </summary> <param name="object_attributes">The object attributes</param> <param name="desired_access">Desired access for the handle</param> <returns>The opened transaction</returns> </member> <member name="M:NtApiDotNet.NtRegistryTransaction.Create(System.String,NtApiDotNet.NtObject)"> <summary> Create a transaction </summary> <param name="path">The path of the transaction</param> <param name="root">The root if path is relative</param> <returns>The opened transaction</returns> </member> <member name="M:NtApiDotNet.NtRegistryTransaction.Create(System.String)"> <summary> Create a transaction </summary> <param name="path">The path of the transaction</param> <returns>The opened transaction</returns> </member> <member name="M:NtApiDotNet.NtRegistryTransaction.Create"> <summary> Create a transaction </summary> <returns>The opened transaction</returns> </member> <member name="M:NtApiDotNet.NtRegistryTransaction.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.RegistryTransactionAccessRights)"> <summary> Open a transaction object. </summary> <param name="path">The path to the object</param> <param name="root">The root if path is relative</param> <param name="desired_access">The desired access for the object</param> <returns>The opened object</returns> </member> <member name="M:NtApiDotNet.NtRegistryTransaction.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.RegistryTransactionAccessRights)"> <summary> Open a transaction object. </summary> <param name="object_attributes">The object attributes for the object</param> <param name="desired_access">The desired access for the object</param> <returns>The opened object</returns> </member> <member name="M:NtApiDotNet.NtRegistryTransaction.Open(System.String)"> <summary> Open a transaction object. </summary> <param name="path">The path to the object</param> <returns>The opened object</returns> </member> <member name="M:NtApiDotNet.NtRegistryTransaction.Commit"> <summary> Commit the transaction </summary> </member> <member name="M:NtApiDotNet.NtRegistryTransaction.Rollback"> <summary> Rollback the transaction </summary> </member> <member name="T:NtApiDotNet.SemaphoreAccessRights"> <summary> Semaphore access rights. </summary> </member> <member name="T:NtApiDotNet.NtSemaphore"> <summary> Class to represent a NT Semaphore object. </summary> </member> <member name="M:NtApiDotNet.NtSemaphore.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.SemaphoreAccessRights,System.Int32,System.Int32)"> <summary> Create a semaphore object. </summary> <param name="object_attributes">The object attributes for the object</param> <param name="desired_access">The desired access for the object</param> <param name="initial_count">Initial count for semaphore</param> <param name="maximum_count">Maximum count for semaphore</param> <returns>The opened object</returns> </member> <member name="M:NtApiDotNet.NtSemaphore.Create(System.String,NtApiDotNet.NtObject,System.Int32,System.Int32)"> <summary> Create a semaphore object. </summary> <param name="path">The path to the object</param> <param name="root">The root if path is relative</param> <param name="initial_count">Initial count for semaphore</param> /// <param name="maximum_count">Maximum count for semaphore</param> <returns>The opened object</returns> </member> <member name="M:NtApiDotNet.NtSemaphore.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.SemaphoreAccessRights)"> <summary> Open a semaphore object. </summary> <param name="object_attributes">The object attributes for the object</param> <param name="desired_access">The desired access for the object</param> <returns>The opened object</returns> </member> <member name="M:NtApiDotNet.NtSemaphore.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.SemaphoreAccessRights)"> <summary> Open a semaphore object. </summary> <param name="path">The path to the object</param> <param name="root">The root if path is relative</param> <param name="desired_access">The desired access for the object</param> <returns>The opened object</returns> </member> <member name="M:NtApiDotNet.NtSemaphore.Release(System.Int32)"> <summary> Release the semaphore </summary> <param name="count">The release count</param> <returns>The previous count</returns> </member> <member name="T:NtApiDotNet.NtSymbolicLink"> <summary> Class representing a NT SymbolicLink object </summary> </member> <member name="M:NtApiDotNet.NtSymbolicLink.Create(System.String,NtApiDotNet.NtObject,NtApiDotNet.SymbolicLinkAccessRights,System.String)"> <summary> Create a symbolic link object. </summary> <param name="path">The path to the object</param> <param name="root">The root if path is relative</param> <param name="desired_access">The desired access for the object</param> <param name="target">The target path</param> <returns>The opened object</returns> </member> <member name="M:NtApiDotNet.NtSymbolicLink.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.SymbolicLinkAccessRights,System.String)"> <summary> Create a symbolic link object. </summary> <param name="object_attributes">The object attributes for the object</param> <param name="desired_access">The desired access for the object</param> <param name="target">The target path</param> <returns>The opened object</returns> </member> <member name="M:NtApiDotNet.NtSymbolicLink.Create(System.String,NtApiDotNet.NtObject,System.String)"> <summary> Create a symbolic link object. </summary> <param name="path">The path to the object</param> <param name="root">The root if path is relative</param> <param name="target">The target path</param> <returns>The opened object</returns> </member> <member name="M:NtApiDotNet.NtSymbolicLink.Create(System.String,System.String)"> <summary> Create a symbolic link object. </summary> <param name="path">The path to the object</param> <param name="target">The target path</param> <returns>The opened object</returns> </member> <member name="M:NtApiDotNet.NtSymbolicLink.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.SymbolicLinkAccessRights)"> <summary> Open a symbolic link object. </summary> <param name="path">The path to the object</param> <param name="root">The root if path is relative</param> <param name="desired_access">The desired access for the object</param> <returns>The opened object</returns> </member> <member name="M:NtApiDotNet.NtSymbolicLink.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.SymbolicLinkAccessRights)"> <summary> Open a symbolic link object. </summary> <param name="object_attributes">The object attributes for the object</param> <param name="desired_access">The desired access for the object</param> <returns>The opened object</returns> </member> <member name="M:NtApiDotNet.NtSymbolicLink.Open(System.String,NtApiDotNet.NtObject)"> <summary> Open a symbolic link object. </summary> <param name="path">The path to the object</param> <param name="root">The root if path is relative</param> <returns>The opened object</returns> </member> <member name="M:NtApiDotNet.NtSymbolicLink.Open(System.String)"> <summary> Open a symbolic link object. </summary> <param name="path">The path to the object</param> <returns>The opened object</returns> </member> <member name="P:NtApiDotNet.NtSymbolicLink.Target"> <summary> Get the symbolic link target. </summary> </member> <member name="T:NtApiDotNet.NtHandle"> <summary> Class to represent a system handle </summary> </member> <member name="P:NtApiDotNet.NtHandle.ProcessId"> <summary> The ID of the process holding the handle </summary> </member> <member name="P:NtApiDotNet.NtHandle.ObjectType"> <summary> The object type name </summary> </member> <member name="P:NtApiDotNet.NtHandle.Attributes"> <summary> The handle attribute flags. </summary> </member> <member name="P:NtApiDotNet.NtHandle.Handle"> <summary> The handle value </summary> </member> <member name="P:NtApiDotNet.NtHandle.Object"> <summary> The address of the object. </summary> </member> <member name="P:NtApiDotNet.NtHandle.GrantedAccess"> <summary> The granted access mask </summary> </member> <member name="P:NtApiDotNet.NtHandle.Name"> <summary> The name of the object (needs to have set query access in constructor) </summary> </member> <member name="P:NtApiDotNet.NtHandle.SecurityDescriptor"> <summary> The security of the object (needs to have set query access in constructor) </summary> </member> <member name="M:NtApiDotNet.NtHandle.GetObject"> <summary> Get handle into the current process </summary> <returns>The handle to the object</returns> </member> <member name="T:NtApiDotNet.NtSystemInfo"> <summary> Class to access some NT system information </summary> </member> <member name="M:NtApiDotNet.NtSystemInfo.GetHandles(System.Int32,System.Boolean)"> <summary> Get a list of handles </summary> <param name="pid">A process ID to filter on. If -1 will get all handles</param> <param name="allow_query">True to allow the handles returned to query for certain properties</param> <returns>The list of handles</returns> </member> <member name="M:NtApiDotNet.NtSystemInfo.GetHandles"> <summary> Get a list of all handles </summary> <returns>The list of handles</returns> </member> <member name="T:NtApiDotNet.GenericAccessRights"> <summary> Generic access rights. </summary> </member> <member name="T:NtApiDotNet.DuplicateObjectOptions"> <summary> Options for duplicating objects. </summary> </member> <member name="F:NtApiDotNet.DuplicateObjectOptions.CloseSource"> <summary> Close the original handle. </summary> </member> <member name="F:NtApiDotNet.DuplicateObjectOptions.SameAccess"> <summary> Duplicate with the same access. </summary> </member> <member name="F:NtApiDotNet.DuplicateObjectOptions.SameAttributes"> <summary> Duplicate with the same handle attributes. </summary> </member> <member name="T:NtApiDotNet.ObjectInformationClass"> <summary> Information class for NtQueryObject </summary> <see cref="M:NtApiDotNet.NtSystemCalls.NtQueryObject(System.Runtime.InteropServices.SafeHandle,NtApiDotNet.ObjectInformationClass,System.IntPtr,System.Int32,System.Int32@)"/> </member> <member name="T:NtApiDotNet.ObjectNameInformation"> <summary> Structure to return Object Name </summary> </member> <member name="T:NtApiDotNet.ObjectBasicInformation"> <summary> Structure to return Object basic information </summary> </member> <member name="T:NtApiDotNet.PoolType"> <summary> Type of kernel pool used for object allocation </summary> </member> <member name="T:NtApiDotNet.NtObject"> <summary> Base class for all NtObject types we handle </summary> </member> <member name="M:NtApiDotNet.NtObject.#ctor(NtApiDotNet.SafeKernelObjectHandle)"> <summary> Base constructor </summary> <param name="handle">Handle to the object</param> </member> <member name="M:NtApiDotNet.NtObject.DuplicateHandle(NtApiDotNet.NtProcess,System.UInt32,NtApiDotNet.DuplicateObjectOptions)"> <summary> Duplicate the internal handle to a new handle. </summary> <param name="dest_process">The desination process for the handle</param> <param name="options">Duplicate handle options</param> <param name="access_rights">The access rights for the new handle</param> <returns>The new duplicated handle.</returns> </member> <member name="M:NtApiDotNet.NtObject.DuplicateHandle"> <summary> Duplicate the internal handle to a new handle with the same access rights. </summary> <returns>The new duplicated handle.</returns> </member> <member name="M:NtApiDotNet.NtObject.DuplicateHandle(System.UInt32)"> <summary> Duplicate the internal handle to a new handle. </summary> <param name="access_rights">The access rights for the new handle</param> <returns>The new duplicated handle.</returns> </member> <member name="M:NtApiDotNet.NtObject.DuplicateHandle(NtApiDotNet.GenericAccessRights)"> <summary> Duplicate the internal handle to a new handle. </summary> <param name="access_rights">The access rights for the new handle</param> <returns>The new duplicated handle.</returns> </member> <member name="M:NtApiDotNet.NtObject.DuplicateHandle(NtApiDotNet.NtProcess,System.Runtime.InteropServices.SafeHandle,NtApiDotNet.NtProcess,NtApiDotNet.GenericAccessRights,NtApiDotNet.DuplicateObjectOptions)"> <summary> Duplicate the internal handle to a new handle. </summary> <param name="source_process">The source process for the handle</param> <param name="dest_process">The desination process for the handle</param> <param name="handle">The handle in the source process to duplicate</param> <param name="options">Duplicate handle options</param> <param name="access_rights">The access rights for the new handle</param> <returns>The new duplicated handle.</returns> </member> <member name="M:NtApiDotNet.NtObject.DuplicateHandle(NtApiDotNet.NtProcess,System.Runtime.InteropServices.SafeHandle,NtApiDotNet.NtProcess,NtApiDotNet.GenericAccessRights)"> <summary> Duplicate the internal handle to a new handle. </summary> <param name="source_process">The source process for the handle</param> <param name="dest_process">The desination process for the handle</param> <param name="handle">The handle in the source process to duplicate</param> <param name="access_rights">The access rights for the new handle</param> <returns>The new duplicated handle.</returns> </member> <member name="M:NtApiDotNet.NtObject.DuplicateHandle(NtApiDotNet.NtProcess,System.Runtime.InteropServices.SafeHandle,NtApiDotNet.NtProcess)"> <summary> Duplicate the internal handle to a new handle. </summary> <param name="source_process">The source process for the handle</param> <param name="dest_process">The desination process for the handle</param> <param name="handle">The handle in the source process to duplicate</param> <returns>The new duplicated handle.</returns> </member> <member name="M:NtApiDotNet.NtObject.DuplicateHandle(System.Runtime.InteropServices.SafeHandle)"> <summary> Duplicate the internal handle to a new handle. </summary> <param name="handle">The handle in the source process to duplicate</param> <returns>The new duplicated handle.</returns> </member> <member name="P:NtApiDotNet.NtObject.FullPath"> <summary> Get full path to the object </summary> </member> <member name="M:NtApiDotNet.NtObject.QueryBasicInformation"> <summary> Get the basic information for the object. </summary> <returns>The basic information</returns> </member> <member name="P:NtApiDotNet.NtObject.GrantedAccessRaw"> <summary> Get the granted access as an unsigned integer </summary> </member> <member name="P:NtApiDotNet.NtObject.GrantedAccessObject"> <summary> Get the granted access as an object </summary> </member> <member name="M:NtApiDotNet.NtObject.IsAccessGrantedRaw``1(``0)"> <summary> Check if access is granted to a set of rights </summary> <typeparam name="T">The type of enumeration for the access rights</typeparam> <param name="access">The access rights to check</param> <returns>True if all the access rights are granted</returns> </member> <member name="M:NtApiDotNet.NtObject.GetSecurityDescriptorBytes(NtApiDotNet.SecurityInformation)"> <summary> Get security descriptor as a byte array </summary> <param name="security_information">What parts of the security descriptor to retrieve</param> <returns>The security descriptor</returns> </member> <member name="M:NtApiDotNet.NtObject.GetSecurityDescriptorBytes"> <summary> Get security descriptor as a byte array </summary> <returns>Returns an array of bytes for the security descriptor</returns> </member> <member name="M:NtApiDotNet.NtObject.SetSecurityDescriptor(System.Byte[],NtApiDotNet.SecurityInformation)"> <summary> Set the object's security descriptor </summary> <param name="security_desc">The security descriptor to set.</param> <param name="security_information">What parts of the security descriptor to set</param> </member> <member name="M:NtApiDotNet.NtObject.SetSecurityDescriptor(NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityInformation)"> <summary> Set the object's security descriptor </summary> <param name="security_desc">The security descriptor to set.</param> <param name="security_information">What parts of the security descriptor to set</param> </member> <member name="M:NtApiDotNet.NtObject.GetSecurityDescriptor(NtApiDotNet.SecurityInformation)"> <summary> Get the security descriptor specifying which parts to retrieve </summary> <param name="security_information">What parts of the security descriptor to retrieve</param> <returns>The security descriptor</returns> </member> <member name="P:NtApiDotNet.NtObject.SecurityDescriptor"> <summary> Get the security descriptor, with Dacl, Owner, Group and Label </summary> </member> <member name="M:NtApiDotNet.NtObject.GetSddl"> <summary> Get the security descriptor as an SDDL string </summary> <returns></returns> </member> <member name="P:NtApiDotNet.NtObject.Handle"> <summary> The low-level handle to the object. </summary> </member> <member name="M:NtApiDotNet.NtObject.MakeTemporary"> <summary> Make the object a temporary object </summary> </member> <member name="M:NtApiDotNet.NtObject.MakePermanent"> <summary> Make the object a permanent object </summary> </member> <member name="M:NtApiDotNet.NtObject.Wait(System.Boolean,NtApiDotNet.NtWaitTimeout)"> <summary> Wait on the object to become signalled </summary> <param name="alertable">True to make the wait alertable</param> <param name="timeout">The time out</param> <returns>The success status of the wait, such as STATUS_SUCCESS or STATUS_TIMEOUT</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtObject.Wait(NtApiDotNet.NtWaitTimeout)"> <summary> Wait on the object to become signalled </summary> <param name="timeout">The time out</param> <returns>The success status of the wait, such as STATUS_SUCCESS or STATUS_TIMEOUT</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtObject.Wait(System.Boolean,System.Int32)"> <summary> Wait on the object to become signalled </summary> <param name="alertable">True to make the wait alertable</param> <param name="timeout_sec">The time out in seconds</param> <returns>The success status of the wait, such as STATUS_SUCCESS or STATUS_TIMEOUT</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtObject.Wait(System.Int32)"> <summary> Wait on the object to become signalled </summary> <param name="timeout_sec">The time out in seconds</param> <returns>The success status of the wait, such as STATUS_SUCCESS or STATUS_TIMEOUT</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtObject.Wait"> <summary> Wait on the object to become signalled for an infinite time. </summary> <returns>The success status of the wait, such as STATUS_SUCCESS or STATUS_TIMEOUT</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtObject.CanOpenType(System.String)"> <summary> Indicates whether a specific type of kernel object can be opened. </summary> <param name="typename">The kernel typename to check.</param> <returns>True if this type of object can be opened.</returns> <see cref="M:NtApiDotNet.NtObject.OpenWithType(System.String,System.String,NtApiDotNet.NtObject,NtApiDotNet.GenericAccessRights)"/> </member> <member name="M:NtApiDotNet.NtObject.OpenWithType(System.String,System.String,NtApiDotNet.NtObject,NtApiDotNet.GenericAccessRights)"> <summary> Open an NT object with a specified type. </summary> <param name="typename">The name of the type to open (e.g. Event). If null the method will try and lookup the appropriate type.</param> <param name="path">The path to the object to open.</param> <param name="root">A root directory to open from.</param> <param name="access">Generic access rights to the object.</param> <returns>The opened object.</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred opening the object.</exception> <exception cref="T:System.ArgumentException">Thrown if type of resource couldn't be found.</exception> </member> <member name="P:NtApiDotNet.NtObject.NtTypeName"> <summary> Get the NT type name for this object. </summary> <returns>The NT type name.</returns> </member> <member name="P:NtApiDotNet.NtObject.NtType"> <summary> Get the NtType for this object. </summary> <returns>The NtType for the type name</returns> </member> <member name="M:NtApiDotNet.NtObject.AccessRightsToString(System.Type,System.UInt32)"> <summary> Convert an access rights type to a string. </summary> <param name="t">The enumeration type for the string conversion</param> <param name="access">The access mask to convert</param> <returns>The string version of the access</returns> </member> <member name="M:NtApiDotNet.NtObject.AccessRightsToString``1(``0)"> <summary> Convert an enumerable access rights to a string </summary> <typeparam name="T">The enum type for the access rights</typeparam> <param name="access">The access rights</param> <returns>The string format of the access rights</returns> </member> <member name="M:NtApiDotNet.NtObject.AccessRightsToString``1(``0,NtApiDotNet.NtType)"> <summary> Convert an enumerable access rights to a string </summary> <typeparam name="T">The enum type for the access rights</typeparam> <param name="access">The access rights</param> <param name="typeinfo">NtType to map generic access masks to specific access masks</param> <returns>The string format of the access rights</returns> </member> <member name="P:NtApiDotNet.NtObject.Name"> <summary> Get the name of the object </summary> </member> <member name="M:NtApiDotNet.NtObject.ToString"> <summary> Convert to a string </summary> <returns>The string form of the object</returns> </member> <member name="M:NtApiDotNet.NtObject.Dispose(System.Boolean)"> <summary> Virtual Dispose method. </summary> <param name="disposing">True if disposing, false if finalizing</param> </member> <member name="M:NtApiDotNet.NtObject.Finalize"> <summary> Finalizer </summary> </member> <member name="M:NtApiDotNet.NtObject.Dispose"> <summary> Dispose </summary> </member> <member name="M:NtApiDotNet.NtObject.Close"> <summary> Close handle </summary> </member> <member name="T:NtApiDotNet.NtObjectWithDuplicate`2"> <summary> A derived class to add some useful functions such as Duplicate </summary> <typeparam name="O">The derived type to use as return values</typeparam> <typeparam name="A">An enum which represents the access mask values for the type</typeparam> </member> <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.Duplicate(`1)"> <summary> Duplicate the object with specific access rights </summary> <param name="access">The access rights for the new handle</param> <returns>The duplicated object</returns> </member> <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.Duplicate(System.UInt32)"> <summary> Duplicate the object with specific access rights </summary> <param name="access">The access rights for the new handle</param> <returns>The duplicated object</returns> </member> <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.Duplicate"> <summary> Duplicate the object with same access rights </summary> <returns>The duplicated object</returns> </member> <member name="P:NtApiDotNet.NtObjectWithDuplicate`2.GrantedAccess"> <summary> Get granted access for handle. </summary> <returns>Granted access</returns> </member> <member name="P:NtApiDotNet.NtObjectWithDuplicate`2.GrantedAccessObject"> <summary> Get granted access as an object </summary> <returns>The granted access</returns> </member> <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.IsAccessGranted(`1)"> <summary> Check if a specific set of access rights is granted </summary> <param name="access">The access rights to check</param> <returns>True if all access rights are granted</returns> </member> <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.GetGrantedAccessString"> <summary> Get the granted access as a string </summary> <returns>The string form of the granted access</returns> </member> <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.FromHandle(NtApiDotNet.SafeKernelObjectHandle)"> <summary> Create a new instance from a kernel handle </summary> <param name="handle">The kernel handle</param> <returns>The new typed instance</returns> </member> <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateFrom(NtApiDotNet.NtProcess,System.IntPtr,`1)"> <summary> Duplicate an instance from a process </summary> <param name="process">The process (with DupHandle access)</param> <param name="handle">The handle value to duplicate</param> <param name="access">The access rights to duplicate with</param> <returns>The duplicated handle</returns> </member> <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateFrom(System.Int32,System.IntPtr,`1)"> <summary> Duplicate an instance from a process </summary> <param name="pid">The process ID</param> <param name="handle">The handle value to duplicate</param> <param name="access">The access rights to duplicate with</param> <returns>The duplicated handle</returns> </member> <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateFrom(NtApiDotNet.NtProcess,System.IntPtr)"> <summary> Duplicate an instance from a process with same access rights. </summary> <param name="process">The process (with DupHandle access)</param> <param name="handle">The handle value to duplicate</param> <returns>The duplicated handle</returns> </member> <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateFrom(System.Int32,System.IntPtr)"> <summary> Duplicate an instance from a process with same access rights </summary> <param name="pid">The process ID</param> <param name="handle">The handle value to duplicate</param> <returns>The duplicated handle</returns> </member> <member name="T:NtApiDotNet.NtGeneric"> <summary> A generic wrapper for any object, used if we don't know the type ahead of time. </summary> </member> <member name="M:NtApiDotNet.NtGeneric.ToTypedObject"> <summary> Convert the generic object to the best typed object. </summary> <returns>The typed object. Can be NtGeneric if no better type is known.</returns> </member> <member name="T:NtApiDotNet.NtProcess"> <summary> Class representing a NT Process object. </summary> </member> <member name="M:NtApiDotNet.NtProcess.GetProcesses(NtApiDotNet.ProcessAccessRights)"> <summary> Gets all accessible processes on the system. </summary> <param name="desired_access">The access desired for each process.</param> <returns>The list of accessible processes.</returns> </member> <member name="M:NtApiDotNet.NtProcess.GetFirstProcess(NtApiDotNet.ProcessAccessRights)"> <summary> Get first accessible process (used in combination with GetNextProcess) </summary> <param name="desired_access">The access required for the process.</param> <returns>The accessible process, or null if one couldn't be opened.</returns> </member> <member name="M:NtApiDotNet.NtProcess.GetNextProcess(NtApiDotNet.ProcessAccessRights)"> <summary> Get next accessible process (used in combination with GetFirstProcess) </summary> <param name="desired_access">The access required for the process.</param> <returns>The accessible process, or null if one couldn't be opened.</returns> </member> <member name="M:NtApiDotNet.NtProcess.GetThreads(NtApiDotNet.ThreadAccessRights)"> <summary> Get accessible threads for a process. </summary> <param name="desired_access">The desired access for the threads</param> <returns>The list of threads</returns> </member> <member name="M:NtApiDotNet.NtProcess.GetThreads"> <summary> Get accessible threads for a process. </summary> <returns>The list of threads</returns> </member> <member name="P:NtApiDotNet.NtProcess.SessionId"> <summary> Get the process' session ID </summary> </member> <member name="P:NtApiDotNet.NtProcess.ProcessId"> <summary> Get the process' ID </summary> </member> <member name="P:NtApiDotNet.NtProcess.ParentProcessId"> <summary> Get the process' parent process ID </summary> </member> <member name="P:NtApiDotNet.NtProcess.PebAddress"> <summary> Get the memory address of the PEB </summary> </member> <member name="P:NtApiDotNet.NtProcess.ExitStatus"> <summary> Get the process' exit status. </summary> </member> <member name="P:NtApiDotNet.NtProcess.CommandLine"> <summary> Get the process' command line </summary> </member> <member name="M:NtApiDotNet.NtProcess.Open(System.Int32,NtApiDotNet.ProcessAccessRights)"> <summary> Open a process </summary> <param name="pid">The process ID to open</param> <param name="desired_access">The desired access for the handle</param> <returns>The opened process</returns> </member> <member name="M:NtApiDotNet.NtProcess.CreateProcessEx(NtApiDotNet.NtProcess,NtApiDotNet.ProcessCreateFlags,NtApiDotNet.NtSection)"> <summary> Create a new process </summary> <param name="ParentProcess">The parent process</param> <param name="Flags">Creation flags</param> <param name="SectionHandle">Handle to the executable image section</param> <returns>The created process</returns> </member> <member name="M:NtApiDotNet.NtProcess.CreateProcessEx(NtApiDotNet.ProcessCreateFlags,NtApiDotNet.NtSection)"> <summary> Create a new process </summary> <param name="Flags">Creation flags</param> <param name="SectionHandle">Handle to the executable image section</param> <returns>The created process</returns> </member> <member name="M:NtApiDotNet.NtProcess.CreateProcessEx(NtApiDotNet.NtSection)"> <summary> Create a new process </summary> <param name="SectionHandle">Handle to the executable image section</param> <returns>The created process</returns> </member> <member name="M:NtApiDotNet.NtProcess.Terminate(NtApiDotNet.NtStatus)"> <summary> Terminate the process </summary> <param name="exitcode">The exit code for the termination</param> </member> <member name="M:NtApiDotNet.NtProcess.GetImageFilePath(System.Boolean)"> <summary> Get process image file path </summary> <param name="native">True to return the native image path, false for a Win32 style path</param> <returns>The process image file path</returns> </member> <member name="P:NtApiDotNet.NtProcess.FullPath"> <summary> Get full image path name in native format </summary> </member> <member name="M:NtApiDotNet.NtProcess.GetProcessMitigationPolicy(NtApiDotNet.ProcessMitigationPolicy)"> <summary> Get a mitigation policy raw value </summary> <param name="policy">The policy to get</param> <returns>The raw policy value</returns> </member> <member name="M:NtApiDotNet.NtProcess.Suspend"> <summary> Suspend the entire process. </summary> </member> <member name="M:NtApiDotNet.NtProcess.Resume"> <summary> Resume the entire process. </summary> </member> <member name="P:NtApiDotNet.NtProcess.DepStatus"> <summary> Get process DEP status </summary> </member> <member name="M:NtApiDotNet.NtProcess.OpenToken"> <summary> Open the process' token </summary> <returns></returns> </member> <member name="P:NtApiDotNet.NtProcess.User"> <summary> Get the process user. </summary> </member> <member name="P:NtApiDotNet.NtProcess.Mitigations"> <summary> Get process mitigations </summary> </member> <member name="M:NtApiDotNet.NtProcess.OpenCurrent"> <summary> Open an actual handle to the current process rather than the pseudo one used for Current </summary> <returns>The process object</returns> </member> <member name="P:NtApiDotNet.NtProcess.Current"> <summary> Get the current process. </summary> <remarks>This only uses the pseudo handle, for the process. If you need a proper handle use OpenCurrent.</remarks> </member> <member name="T:NtApiDotNet.NtMappedSection"> <summary> Class representing a mapped section </summary> </member> <member name="P:NtApiDotNet.NtMappedSection.Process"> <summary> The process which the section is mapped into </summary> </member> <member name="P:NtApiDotNet.NtMappedSection.Length"> <summary> The length of the mapped section </summary> </member> <member name="M:NtApiDotNet.NtMappedSection.ReleaseHandle"> <summary> Release the internal handle </summary> <returns></returns> </member> <member name="M:NtApiDotNet.NtMappedSection.GetStream"> <summary> Get the mapped section as a memory stream </summary> <returns></returns> </member> <member name="T:NtApiDotNet.NtSection"> <summary> Class to represent a NT Section object </summary> </member> <member name="M:NtApiDotNet.NtSection.CreateImageSection(NtApiDotNet.NtFile)"> <summary> Create an Image section object </summary> <param name="file">The file to create the image section from</param> <returns>The opened section</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtSection.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.SectionAccessRights,System.Nullable{System.Int64},NtApiDotNet.ProtectionType,NtApiDotNet.SectionAttributes,NtApiDotNet.NtFile)"> <summary> Create a section object </summary> <param name="object_attributes">The object attributes</param> <param name="desired_access">The desired access</param> <param name="size">Optional size of the section</param> <param name="protection">The section protection</param> <param name="attributes">The section attributes</param> <param name="file">Optional backing file</param> <returns>The opened section</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtSection.Create(System.String,NtApiDotNet.NtObject,NtApiDotNet.SectionAccessRights,System.Nullable{System.Int64},NtApiDotNet.ProtectionType,NtApiDotNet.SectionAttributes,NtApiDotNet.NtFile)"> <summary> Create a section object </summary> <param name="path">The path to the section</param> <param name="root">The root if path is relative</param> <param name="desired_access">The desired access</param> <param name="size">Optional size of the section</param> <param name="protection">The section protection</param> <param name="attributes">The section attributes</param> <param name="file">Optional backing file</param> <returns>The opened section</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtSection.Create(System.Int64)"> <summary> Create a section object </summary> <param name="size">Size of the section</param> <returns>The opened section</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception> </member> <member name="M:NtApiDotNet.NtSection.MapReadWrite(NtApiDotNet.NtProcess)"> <summary> Map section Read/Write into a specific process </summary> <param name="process">The process to map into</param> <returns>The mapped section</returns> </member> <member name="M:NtApiDotNet.NtSection.MapRead(NtApiDotNet.NtProcess)"> <summary> Map section Read Only into a specific process </summary> <param name="process">The process to map into</param> <returns>The mapped section</returns> </member> <member name="M:NtApiDotNet.NtSection.MapRead"> <summary> Map section Read Only into a current process </summary> <returns>The mapped section</returns> </member> <member name="M:NtApiDotNet.NtSection.MapReadWrite"> <summary> Map section Read/Write into a current process </summary> <returns>The mapped section</returns> </member> <member name="M:NtApiDotNet.NtSection.Map(NtApiDotNet.NtProcess,NtApiDotNet.ProtectionType)"> <summary> Map section into a specific process </summary> <param name="process">The process to map into</param> <param name="type">The protection of the mapping</param> <returns>The mapped section</returns> </member> <member name="M:NtApiDotNet.NtSection.Map(NtApiDotNet.ProtectionType)"> <summary> Map section into the current process </summary> <param name="type">The protection of the mapping</param> <returns>The mapped section</returns> </member> <member name="M:NtApiDotNet.NtSection.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.SectionAccessRights)"> <summary> Open a section object </summary> <param name="object_attributes">The object attributes for the section</param> <param name="desired_access">The desired access for the sections</param> <returns>The opened section</returns> </member> <member name="M:NtApiDotNet.NtSection.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.SectionAccessRights)"> <summary> Open a section object </summary> <param name="path">The path to the section</param> <param name="root">Root object if the path is relative</param> <param name="desired_access">The desired access for the sections</param> <returns>The opened section</returns> </member> <member name="P:NtApiDotNet.NtSection.Size"> <summary> Get the size of the section </summary> <returns>The size</returns> </member> <member name="P:NtApiDotNet.NtSection.Attributes"> <summary> Get the attributes of the section </summary> <returns>The section attributes</returns> </member> <member name="T:NtApiDotNet.NtStatus"> <summary> NT status values </summary> </member> <member name="T:NtApiDotNet.NtThread"> <summary> Class to represent a NT Thread object </summary> </member> <member name="M:NtApiDotNet.NtThread.Resume"> <summary> Resume the thread. </summary> <returns>The suspend count</returns> </member> <member name="M:NtApiDotNet.NtThread.Suspend"> <summary> Suspend the thread </summary> <returns>The suspend count</returns> </member> <member name="M:NtApiDotNet.NtThread.Terminate(NtApiDotNet.NtStatus)"> <summary> Terminate the thread </summary> <param name="status">The thread status exit code</param> </member> <member name="M:NtApiDotNet.NtThread.Open(System.Int32,NtApiDotNet.ThreadAccessRights)"> <summary> Open a thread </summary> <param name="thread_id">The thread ID to open</param> <param name="desired_access">The desired access for the handle</param> <returns>The opened object</returns> </member> <member name="P:NtApiDotNet.NtThread.ThreadId"> <summary> Get thread ID </summary> </member> <member name="P:NtApiDotNet.NtThread.ProcessId"> <summary> Get process ID </summary> </member> <member name="P:NtApiDotNet.NtThread.Priority"> <summary> Get thread's current priority </summary> </member> <member name="P:NtApiDotNet.NtThread.BasePriority"> <summary> Get thread's base priority </summary> </member> <member name="P:NtApiDotNet.NtThread.TebBaseAddress"> <summary> Get the thread's TEB base address. </summary> </member> <member name="M:NtApiDotNet.NtThread.Alert"> <summary> Wake the thread from an alertable state. </summary> </member> <member name="M:NtApiDotNet.NtThread.HideFromDebugger"> <summary> Hide the thread from debug events. </summary> </member> <member name="M:NtApiDotNet.NtThread.SetImpersonationToken(NtApiDotNet.NtToken)"> <summary> The set the thread's impersonation token </summary> <param name="token">The impersonation token to set</param> </member> <member name="M:NtApiDotNet.NtThread.ImpersonateAnonymousToken"> <summary> Impersonate the anonymous token </summary> <returns>The impersonation context. Dispose to revert to self</returns> </member> <member name="M:NtApiDotNet.NtThread.Impersonate(NtApiDotNet.NtToken)"> <summary> Impersonate a token </summary> <returns>The impersonation context. Dispose to revert to self</returns> </member> <member name="M:NtApiDotNet.NtThread.OpenCurrent"> <summary> Open an actual handle to the current thread rather than the pseudo one used for Current </summary> <returns>The thread object</returns> </member> <member name="M:NtApiDotNet.NtThread.OpenToken"> <summary> Open the thread's token </summary> <returns>The token, null if no token available</returns> </member> <member name="M:NtApiDotNet.NtThread.GetThreads(NtApiDotNet.ThreadAccessRights)"> <summary> Gets all accessible threads on the system. </summary> <param name="desired_access">The desired access for each thread.</param> <returns>The list of accessible threads.</returns> </member> <member name="M:NtApiDotNet.NtThread.GetFirstThread(NtApiDotNet.NtProcess,NtApiDotNet.ThreadAccessRights)"> <summary> Get first thread for process. </summary> <param name="process">The process handle to get the threads.</param> <param name="desired_access">The desired access for the thread.</param> <returns>The first thread, or null if no more available.</returns> </member> <member name="M:NtApiDotNet.NtThread.GetNextThread(NtApiDotNet.NtProcess,NtApiDotNet.ThreadAccessRights)"> <summary> Get next thread for process relative to current thread. </summary> <param name="process">The process handle to get the threads.</param> <param name="desired_access">The desired access for the thread.</param> <returns>The next thread, or null if no more available.</returns> </member> <member name="P:NtApiDotNet.NtThread.Current"> <summary> Get the current thread. </summary> <remarks>This only uses the pseudo handle, for the thread. You can't use it in different threads. If you need to do that use OpenCurrent.</remarks> <see cref="M:NtApiDotNet.NtThread.OpenCurrent"/> </member> <member name="M:NtApiDotNet.NtThread.Sleep(System.Boolean,System.Int64)"> <summary> Sleep the current thread </summary> <param name="alertable">Set if the thread should be alertable</param> <param name="delay">The delay, negative values indicate relative times.</param> <returns>True if the thread was alerted before the delay expired.</returns> </member> <member name="T:NtApiDotNet.TokenPrivilege"> <summary> Class to represent the state of a token privilege </summary> </member> <member name="P:NtApiDotNet.TokenPrivilege.Attributes"> <summary> Privilege attributes </summary> </member> <member name="P:NtApiDotNet.TokenPrivilege.Luid"> <summary> Privilege LUID </summary> </member> <member name="P:NtApiDotNet.TokenPrivilege.Name"> <summary> Get the name of the privilege </summary> <returns>The privilege name</returns> </member> <member name="P:NtApiDotNet.TokenPrivilege.DisplayName"> <summary> Get the display name/description of the privilege </summary> <returns>The display name</returns> </member> <member name="P:NtApiDotNet.TokenPrivilege.Enabled"> <summary> Get whether privilege is enabled </summary> </member> <member name="M:NtApiDotNet.TokenPrivilege.#ctor(NtApiDotNet.Luid,NtApiDotNet.PrivilegeAttributes)"> <summary> Constructor </summary> <param name="luid">The privilege LUID</param> <param name="attribute">The privilege attributes</param> </member> <member name="M:NtApiDotNet.TokenPrivilege.#ctor(NtApiDotNet.TokenPrivilegeValue,NtApiDotNet.PrivilegeAttributes)"> <summary> Constructor </summary> <param name="value">The privilege value</param> <param name="attribute">The privilege attributes</param> </member> <member name="M:NtApiDotNet.TokenPrivilege.ToString"> <summary> Conver to a string </summary> <returns>The privilege name.</returns> </member> <member name="T:NtApiDotNet.UserGroup"> <summary> Class to represent a user group </summary> </member> <member name="P:NtApiDotNet.UserGroup.Sid"> <summary> The SID of the user group </summary> </member> <member name="P:NtApiDotNet.UserGroup.Attributes"> <summary> The attributes of the user group </summary> </member> <member name="P:NtApiDotNet.UserGroup.Enabled"> <summary> Get whether the user group is enabled </summary> </member> <member name="P:NtApiDotNet.UserGroup.Mandatory"> <summary> Get whether the user group is mandatory </summary> </member> <member name="P:NtApiDotNet.UserGroup.DenyOnly"> <summary> Get whether the user group is used for deny only </summary> </member> <member name="M:NtApiDotNet.UserGroup.#ctor(NtApiDotNet.Sid,NtApiDotNet.GroupAttributes)"> <summary> Constructor </summary> <param name="sid">The SID</param> <param name="attributes">The attributes</param> </member> <member name="M:NtApiDotNet.UserGroup.ToString"> <summary> Convert to a string </summary> <returns>The account name if available or the SDDL SID</returns> </member> <member name="T:NtApiDotNet.NtToken"> <summary> Class representing a Token object </summary> </member> <member name="M:NtApiDotNet.NtToken.DuplicateToken(NtApiDotNet.TokenType,NtApiDotNet.SecurityImpersonationLevel,NtApiDotNet.TokenAccessRights)"> <summary> Duplicate token as specific type </summary> <param name="type">The token type</param> <param name="level">The impersonation level us type is Impersonation</param> <param name="desired_access">Open with the desired access.</param> <returns>The new token</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtToken.DuplicateToken"> <summary> Duplicate the token as a primary token </summary> <returns>The new token</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtToken.DuplicateToken(NtApiDotNet.SecurityImpersonationLevel)"> <summary> Duplicate token as an impersonation token with a specific level </summary> <param name="level">The token impersonation level</param> <returns>The new token</returns> <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception> </member> <member name="M:NtApiDotNet.NtToken.SetPrivilege(System.String,System.Boolean)"> <summary> Set a privilege state </summary> <param name="privilege">The name of the privilege (e.g. SeDebugPrivilege)</param> <param name="enable">True to enable the privilege, false to disable</param> <returns>True if successfully changed the state of the privilege</returns> </member> <member name="M:NtApiDotNet.NtToken.SetPrivilege(NtApiDotNet.Luid,System.Boolean)"> <summary> Set a privilege state </summary> <param name="luid">The luid of the privilege</param> <param name="enable">True to enable the privilege, false to disable</param> <returns>True if successfully changed the state of the privilege</returns> </member> <member name="M:NtApiDotNet.NtToken.SetPrivilege(NtApiDotNet.TokenPrivilegeValue,NtApiDotNet.PrivilegeAttributes)"> <summary> Set a privilege state </summary> <param name="privilege">The value of the privilege</param> <param name="attributes">The privilege attributes to set.</param> <returns>True if successfully changed the state of the privilege</returns> </member> <member name="M:NtApiDotNet.NtToken.EnableDebugPrivilege"> <summary> Enable debug privilege for the current process token. </summary> <returns>True if set the debug privilege</returns> </member> <member name="M:NtApiDotNet.NtToken.OpenProcessToken(NtApiDotNet.NtProcess,System.Boolean)"> <summary> Open the process token of another process </summary> <param name="process">The process to open the token for</param> <param name="duplicate">True to duplicate the token before returning</param> <returns>The opened token</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if cannot open token</exception> </member> <member name="M:NtApiDotNet.NtToken.OpenProcessToken(NtApiDotNet.NtProcess,System.Boolean,NtApiDotNet.TokenAccessRights)"> <summary> Open the process token of another process </summary> <param name="process">The process to open the token for</param> <param name="duplicate">True to duplicate the token before returning</param> <param name="desired_access">The desired access for the token</param> <returns>The opened token</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if cannot open token</exception> </member> <member name="M:NtApiDotNet.NtToken.OpenProcessToken(NtApiDotNet.NtProcess)"> <summary> Open the process token of another process </summary> <param name="process">The process to open the token for</param> <returns>The opened token</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if cannot open token</exception> </member> <member name="M:NtApiDotNet.NtToken.OpenProcessToken"> <summary> Open the process token of the current process </summary> <returns>The opened token</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if cannot open token</exception> </member> <member name="M:NtApiDotNet.NtToken.OpenProcessToken(System.Boolean)"> <summary> Open the process token of the current process </summary> <param name="duplicate">True to duplicate the token before returning</param> <returns>The opened token</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if cannot open token</exception> </member> <member name="M:NtApiDotNet.NtToken.OpenProcessToken(System.Boolean,NtApiDotNet.TokenAccessRights)"> <summary> Open the process token of the current process </summary> <param name="duplicate">True to duplicate the token before returning</param> <param name="desired_access">The desired access for the token</param> <returns>The opened token</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if cannot open token</exception> </member> <member name="M:NtApiDotNet.NtToken.OpenProcessToken(System.Int32,System.Boolean)"> <summary> Open the process token of another process </summary> <param name="pid">The id of the process to open the token for</param> <param name="duplicate">True to duplicate the token before returning</param> <returns>The opened token</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if cannot open token</exception> </member> <member name="M:NtApiDotNet.NtToken.OpenProcessToken(System.Int32,System.Boolean,NtApiDotNet.TokenAccessRights)"> <summary> Open the process token of another process </summary> <param name="pid">The id of the process to open the token for</param> <param name="duplicate">True to duplicate the token before returning</param> <param name="desired_access">The desired access for the token</param> <returns>The opened token</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if cannot open token</exception> </member> <member name="M:NtApiDotNet.NtToken.OpenProcessToken(System.Int32)"> <summary> Open the process token of another process </summary> <param name="pid">The id of the process to open the token for</param> <returns>The opened token</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if cannot open token</exception> </member> <member name="M:NtApiDotNet.NtToken.OpenThreadToken(NtApiDotNet.NtThread,System.Boolean,System.Boolean,NtApiDotNet.TokenAccessRights)"> <summary> Open the thread token </summary> <param name="thread">The thread to open the token for</param> <param name="open_as_self">Open the token as the current identify rather than the impersonated one</param> <param name="duplicate">True to duplicate the token before returning</param> <param name="desired_access">The desired access for the token</param> <returns>The opened token, if no token return null</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if cannot open token</exception> </member> <member name="M:NtApiDotNet.NtToken.OpenThreadToken(System.Int32,System.Boolean,System.Boolean,NtApiDotNet.TokenAccessRights)"> <summary> Open the thread token </summary> <param name="tid">The ID of the thread to open the token for</param> <param name="open_as_self">Open the token as the current identify rather than the impersonated one</param> <param name="duplicate">True to duplicate the token before returning</param> <param name="desired_access">The desired access for the token</param> <returns>The opened token, if no token return null</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if cannot open token</exception> </member> <member name="M:NtApiDotNet.NtToken.OpenThreadToken(NtApiDotNet.NtThread,System.Boolean,System.Boolean)"> <summary> Open the thread token </summary> <param name="thread">The thread to open the token for</param> <param name="open_as_self">Open the token as the current identify rather than the impersonated one</param> <param name="duplicate">True to duplicate the token before returning</param> <returns>The opened token, if no token return null</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if cannot open token</exception> </member> <member name="M:NtApiDotNet.NtToken.OpenThreadToken(NtApiDotNet.NtThread)"> <summary> Open the thread token </summary> <param name="thread">The thread to open the token for</param> <returns>The opened token, if no token return null</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if cannot open token</exception> </member> <member name="M:NtApiDotNet.NtToken.OpenThreadToken(System.Boolean)"> <summary> Open the current thread token </summary> <param name="duplicate">True to duplicate the token before returning</param> <returns>The opened token, if no token return null</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if cannot open token</exception> </member> <member name="M:NtApiDotNet.NtToken.OpenThreadToken"> <summary> Open the current thread token </summary> <returns>The opened token, if no token return null</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if cannot open token</exception> </member> <member name="M:NtApiDotNet.NtToken.OpenEffectiveToken(NtApiDotNet.NtThread,System.Boolean)"> <summary> Open the effective token, thread if available or process </summary> <param name="thread">The thread to open the token for</param> <param name="duplicate">True to duplicate the token before returning</param> <returns>The opened token</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if cannot open token</exception> </member> <member name="M:NtApiDotNet.NtToken.OpenEffectiveToken"> <summary> Open the current effective token, thread if available or process </summary> <returns>The opened token</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if cannot open token</exception> </member> <member name="M:NtApiDotNet.NtToken.CreateLowBoxToken(NtApiDotNet.Sid,NtApiDotNet.NtObject[])"> <summary> Create a LowBox token from the current token. </summary> <param name="package_sid">The package SID</param> <param name="handles">List of handles to capture with the token</param> <returns></returns> </member> <member name="M:NtApiDotNet.NtToken.Filter(NtApiDotNet.FilterTokenFlags,System.Collections.Generic.IEnumerable{NtApiDotNet.Sid},System.Collections.Generic.IEnumerable{NtApiDotNet.TokenPrivilegeValue},System.Collections.Generic.IEnumerable{NtApiDotNet.Sid})"> <summary> Filter a token to remove groups/privileges and add restricted SIDs </summary> <param name="flags">Filter token flags</param> <param name="sids_to_disable">List of SIDs to disable</param> <param name="privileges_to_delete">List of privileges to delete</param> <param name="restricted_sids">List of restricted SIDs to add</param> <returns>The new token.</returns> </member> <member name="M:NtApiDotNet.NtToken.Filter(NtApiDotNet.FilterTokenFlags,System.Collections.Generic.IEnumerable{NtApiDotNet.Sid},System.Collections.Generic.IEnumerable{NtApiDotNet.Luid},System.Collections.Generic.IEnumerable{NtApiDotNet.Sid})"> <summary> Filter a token to remove groups/privileges and add restricted SIDs </summary> <param name="flags">Filter token flags</param> <param name="sids_to_disable">List of SIDs to disable</param> <param name="privileges_to_delete">List of privileges to delete</param> <param name="restricted_sids">List of restricted SIDs to add</param> <returns>The new token.</returns> </member> <member name="M:NtApiDotNet.NtToken.SetGroup(NtApiDotNet.Sid,NtApiDotNet.GroupAttributes)"> <summary> Set the state of a group </summary> <param name="group">The group SID to set</param> <param name="attributes">The attributes to set</param> </member> <member name="M:NtApiDotNet.NtToken.SetSessionId(System.Int32)"> <summary> Set the session ID of a token </summary> <param name="session_id">The session ID</param> </member> <member name="P:NtApiDotNet.NtToken.User"> <summary> Get token user </summary> </member> <member name="P:NtApiDotNet.NtToken.Groups"> <summary> Get token groups </summary> </member> <member name="P:NtApiDotNet.NtToken.GroupCount"> <summary> Get count of groups in this token. </summary> </member> <member name="P:NtApiDotNet.NtToken.CurrentUser"> <summary> Get the current user. </summary> </member> <member name="P:NtApiDotNet.NtToken.AuthenticationId"> <summary> Get the authentication ID for the token </summary> </member> <member name="P:NtApiDotNet.NtToken.TokenType"> <summary> Get the token's type </summary> </member> <member name="P:NtApiDotNet.NtToken.ExpirationTime"> <summary> Get the token's expiration time. </summary> </member> <member name="P:NtApiDotNet.NtToken.Id"> <summary> Get the Token's Id </summary> </member> <member name="P:NtApiDotNet.NtToken.ModifiedId"> <summary> Get the Toen's modified Id. </summary> </member> <member name="P:NtApiDotNet.NtToken.Owner"> <summary> Get the token's owner. </summary> </member> <member name="P:NtApiDotNet.NtToken.PrimaryGroup"> <summary> Get the token's primary group </summary> </member> <member name="P:NtApiDotNet.NtToken.DefaultDalc"> <summary> Get the token's default DACL </summary> </member> <member name="M:NtApiDotNet.NtToken.SetDefaultDacl(NtApiDotNet.Acl)"> <summary> Set a token's default DACL </summary> <param name="dacl">The DACL to set.</param> </member> <member name="P:NtApiDotNet.NtToken.Source"> <summary> Get the token's source </summary> </member> <member name="P:NtApiDotNet.NtToken.RestrictedSids"> <summary> Get token's restricted sids </summary> </member> <member name="P:NtApiDotNet.NtToken.RestrictedSidsCount"> <summary> Get count of restricted sids </summary> </member> <member name="P:NtApiDotNet.NtToken.ImpersonationLevel"> <summary> Get token's impersonation level </summary> </member> <member name="P:NtApiDotNet.NtToken.SessionId"> <summary> Get token's session ID </summary> </member> <member name="P:NtApiDotNet.NtToken.SandboxInert"> <summary> Get whether token has sandbox inert flag set. </summary> </member> <member name="P:NtApiDotNet.NtToken.Origin"> <summary> Get token's origin </summary> </member> <member name="P:NtApiDotNet.NtToken.ElevationType"> <summary> Get token's elevation type </summary> </member> <member name="P:NtApiDotNet.NtToken.Elevated"> <summary> Get whether token is elevated </summary> </member> <member name="P:NtApiDotNet.NtToken.HasRestrictions"> <summary> Get whether token has restrictions </summary> </member> <member name="P:NtApiDotNet.NtToken.UiAccess"> <summary> Get whether token has UI access flag set </summary> </member> <member name="P:NtApiDotNet.NtToken.VirtualizationAllowed"> <summary> Get whether virtualization is allowed </summary> </member> <member name="P:NtApiDotNet.NtToken.VirtualizationEnabled"> <summary> Get whether virtualization is enabled </summary> </member> <member name="M:NtApiDotNet.NtToken.SetVirtualizationEnabled(System.Boolean)"> <summary> Set virtualization enabled </summary> <param name="enable">True to enable virtualization</param> </member> <member name="P:NtApiDotNet.NtToken.Restricted"> <summary> Get whether token is stricted </summary> </member> <member name="M:NtApiDotNet.NtToken.GetLinkedToken"> <summary> Get the linked token </summary> <returns>The linked token</returns> </member> <member name="P:NtApiDotNet.NtToken.Capabilities"> <summary> Get token capacilities </summary> </member> <member name="P:NtApiDotNet.NtToken.MandatoryPolicy"> <summary> Get token mandatory policy </summary> </member> <member name="P:NtApiDotNet.NtToken.LogonSid"> <summary> Get token logon sid </summary> </member> <member name="M:NtApiDotNet.NtToken.Impersonate"> <summary> Impersonate the token </summary> <returns>An impersonation context, dispose to revert to process token</returns> </member> <member name="M:NtApiDotNet.NtToken.Impersonate(System.Int32,NtApiDotNet.SecurityImpersonationLevel)"> <summary> Impersonate another process' token </summary> <param name="impersonation_level">The impersonation level</param> <param name="pid">Process ID of the other process</param> <returns>An impersonation context, dispose to revert to process token</returns> </member> <member name="P:NtApiDotNet.NtToken.IntegrityLevelSid"> <summary> Get token's integrity level sid </summary> </member> <member name="P:NtApiDotNet.NtToken.AppContainerNumber"> <summary> Get token's App Container number. </summary> </member> <member name="P:NtApiDotNet.NtToken.IntegrityLevel"> <summary> Get token's integrity level. </summary> </member> <member name="P:NtApiDotNet.NtToken.SecurityAttributes"> <summary> Get token's security attributes </summary> </member> <member name="M:NtApiDotNet.NtToken.SetIntegrityLevel(System.Int32)"> <summary> Set the token's integrity level. </summary> <param name="level">The level to set.</param> </member> <member name="M:NtApiDotNet.NtToken.SetIntegrityLevel(NtApiDotNet.TokenIntegrityLevel)"> <summary> Set the token's integrity level. </summary> <param name="level">The level to set.</param> </member> <member name="P:NtApiDotNet.NtToken.AppContainer"> <summary> Get whether a token is an AppContainer token </summary> </member> <member name="P:NtApiDotNet.NtToken.AppContainerSid"> <summary> Get token's AppContainer sid </summary> </member> <member name="P:NtApiDotNet.NtToken.DeviceGroups"> <summary> Get token's device groups </summary> </member> <member name="P:NtApiDotNet.NtToken.RestrictedDeviceGroups"> <summary> Get token's restricted device groups. </summary> </member> <member name="P:NtApiDotNet.NtToken.Privileges"> <summary> Get list of privileges for token </summary> <returns>The list of privileges</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if can't query privileges</exception> </member> <member name="M:NtApiDotNet.NtToken.GetPrivilege(NtApiDotNet.TokenPrivilegeValue)"> <summary> Get the state of a privilege. </summary> <param name="privilege">The privilege to get the state of.</param> <returns>The privilege, or null if it can't be found</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if can't query privileges</exception> </member> <member name="P:NtApiDotNet.NtToken.LocalSystemAuthId"> <summary> Get authentication ID for LOCAL SYSTEM </summary> </member> <member name="P:NtApiDotNet.NtToken.LocalServiceAuthId"> <summary> Get authentication ID for LOCAL SERVICE </summary> </member> <member name="P:NtApiDotNet.NtToken.NetworkServiceAuthId"> <summary> Get authentication ID for NETWORK SERVICE </summary> </member> <member name="P:NtApiDotNet.NtToken.FullPath"> <summary> Get full path to token </summary> </member> <member name="T:NtApiDotNet.NtWaitTimeout"> <summary> Class to represent an NT timeout </summary> </member> <member name="P:NtApiDotNet.NtWaitTimeout.Infinite"> <summary> Get a timeout which will wait indefinitely. </summary> </member> <member name="M:NtApiDotNet.NtWaitTimeout.FromSeconds(System.Int32)"> <summary> Get a relative timeout in seconds. </summary> <param name="seconds">The number of seconds to wait.</param> <returns>An instance of the timeout class.</returns> </member> <member name="M:NtApiDotNet.NtWaitTimeout.FromMilliseconds(System.Int64)"> <summary> Get a relative timeout in milliseconds. </summary> <param name="ms">The number of milliseconds to wait.</param> <returns>An instance of the timeout class.</returns> </member> <member name="M:NtApiDotNet.NtWaitTimeout.FromAbsolute(System.Int64)"> <summary> Get an absolute time out from system start. </summary> <param name="absolute">The absolute time to wait until.</param> <returns>An instance of the timeout class.</returns> </member> <member name="M:NtApiDotNet.NtWaitTimeout.FromRelative(System.Int64)"> <summary> Get a relative time out from the current time. </summary> <param name="relative">The relative time to wait in units of 100ns.</param> <returns>An instance of the timeout class.</returns> </member> <member name="T:NtApiDotNet.NtWait"> <summary> Wait methods </summary> </member> <member name="M:NtApiDotNet.NtWait.Wait(NtApiDotNet.NtObject,System.Boolean,NtApiDotNet.NtWaitTimeout)"> <summary> Wait on a single object to become signalled </summary> <param name="obj">The object to wait on</param> <param name="alertable">Whether the thread should be alerable</param> <param name="timeout">The timeout to wait for</param> <returns>The success status of the wait, such as STATUS_WAIT_OBJECT_0 or STATUS_TIMEOUT</returns> </member> <member name="M:NtApiDotNet.NtWait.Wait(System.Collections.Generic.IEnumerable{NtApiDotNet.NtObject},System.Boolean,System.Boolean,NtApiDotNet.NtWaitTimeout)"> <summary> Wait on multiple objects to become signalled </summary> <param name="objs">The objects to wait on</param> <param name="alertable">Whether the thread should be alerable</param> <param name="wait_all">True to wait for all objects to be signalled</param> <param name="timeout">The timeout to wait for</param> <returns>The success status of the wait, such as STATUS_WAIT_OBJECT_0 or STATUS_TIMEOUT</returns> </member> <member name="T:NtApiDotNet.NtWnf"> <summary> Currently unused. </summary> </member> <member name="T:NtApiDotNet.AttributeFlags"> <summary> Flags for OBJECT_ATTRIBUTES </summary> </member> <member name="F:NtApiDotNet.AttributeFlags.None"> <summary> None </summary> </member> <member name="F:NtApiDotNet.AttributeFlags.Inherit"> <summary> The handle created can be inherited </summary> </member> <member name="F:NtApiDotNet.AttributeFlags.Permanent"> <summary> The object created is marked as permanent </summary> </member> <member name="F:NtApiDotNet.AttributeFlags.Exclusive"> <summary> The object must be created exclusively </summary> </member> <member name="F:NtApiDotNet.AttributeFlags.CaseInsensitive"> <summary> The object name lookup should be done case insensitive </summary> </member> <member name="F:NtApiDotNet.AttributeFlags.OpenIf"> <summary> Open the object if it already exists </summary> </member> <member name="F:NtApiDotNet.AttributeFlags.OpenLink"> <summary> Open the object as a link </summary> </member> <member name="F:NtApiDotNet.AttributeFlags.KernelHandle"> <summary> Create as a kernel handle (not used in user-mode) </summary> </member> <member name="F:NtApiDotNet.AttributeFlags.ForceAccessCheck"> <summary> Force an access check to occur (not used in user-mode) </summary> </member> <member name="F:NtApiDotNet.AttributeFlags.IgnoreImpersonatedDevicemap"> <summary> Ignore impersonated device map when looking up object </summary> </member> <member name="F:NtApiDotNet.AttributeFlags.DontReparse"> <summary> Fail if a reparse is encountered </summary> </member> <member name="T:NtApiDotNet.ObjectAttributes"> <summary> A class which represents OBJECT_ATTRIBUTES </summary> </member> <member name="M:NtApiDotNet.ObjectAttributes.#ctor"> <summary> Constructor. Sets flags to None </summary> </member> <member name="M:NtApiDotNet.ObjectAttributes.#ctor(System.String,NtApiDotNet.AttributeFlags)"> <summary> Constructor </summary> <param name="object_name">The name of the object</param> <param name="attributes">Attribute flags</param> </member> <member name="M:NtApiDotNet.ObjectAttributes.#ctor(System.String,NtApiDotNet.AttributeFlags,NtApiDotNet.NtObject)"> <summary> Constructor </summary> <param name="object_name">The name of the object</param> <param name="attributes">Attribute flags</param> <param name="root">A root object to lookup a relative path</param> </member> <member name="M:NtApiDotNet.ObjectAttributes.#ctor(NtApiDotNet.AttributeFlags)"> <summary> Constructor </summary> <param name="attributes">Attribute flags</param> </member> <member name="M:NtApiDotNet.ObjectAttributes.#ctor(System.String)"> <summary> Constructor </summary> <param name="object_name">The name of the object</param> </member> <member name="M:NtApiDotNet.ObjectAttributes.#ctor(System.String,NtApiDotNet.AttributeFlags,NtApiDotNet.SafeKernelObjectHandle,NtApiDotNet.SecurityQualityOfService,NtApiDotNet.SecurityDescriptor)"> <summary> Constructor </summary> <param name="object_name">The object name, can be null.</param> <param name="attributes">The object attribute flags.</param> <param name="root">An optional root handle, can be SafeKernelObjectHandle.Null. Will duplicate the handle.</param> <param name="sqos">An optional security quality of service.</param> <param name="security_descriptor">An optional security descriptor.</param> </member> <member name="M:NtApiDotNet.ObjectAttributes.#ctor(System.String,NtApiDotNet.AttributeFlags,NtApiDotNet.NtObject,NtApiDotNet.SecurityQualityOfService,NtApiDotNet.SecurityDescriptor)"> <summary> Constructor </summary> <param name="object_name">The object name, can be null.</param> <param name="attributes">The object attribute flags.</param> <param name="root">An optional root handle, can be SafeKernelObjectHandle.Null. Will duplicate the handle.</param> <param name="sqos">An optional security quality of service.</param> <param name="security_descriptor">An optional security descriptor.</param> </member> <member name="M:NtApiDotNet.ObjectAttributes.Dispose"> <summary> Dispose </summary> </member> <member name="M:NtApiDotNet.ObjectAttributes.Finalize"> <summary> Finalizer </summary> </member> <member name="T:NtApiDotNet.ObjectTypeInformation"> <summary> Native structure used for getting type information. </summary> </member> <member name="T:NtApiDotNet.NtType"> <summary> Class representing an NT object type </summary> </member> <member name="P:NtApiDotNet.NtType.Name"> <summary> The name of the type </summary> </member> <member name="P:NtApiDotNet.NtType.GenericMapping"> <summary> The mapping from generic to specific object rights </summary> </member> <member name="P:NtApiDotNet.NtType.ValidAccess"> <summary> The valid access mask </summary> </member> <member name="P:NtApiDotNet.NtType.SecurityRequired"> <summary> True if the object needs security even if unnamed </summary> </member> <member name="P:NtApiDotNet.NtType.TotalNumberOfObjects"> <summary> Total number of objects (when originally retrieved) </summary> </member> <member name="P:NtApiDotNet.NtType.TotalNumberOfHandles"> <summary> Total number of handles (when originally retrieved) </summary> </member> <member name="P:NtApiDotNet.NtType.TotalPagedPoolUsage"> <summary> Total paged pool usage (when originally retrieved) </summary> </member> <member name="P:NtApiDotNet.NtType.TotalNonPagedPoolUsage"> <summary> Total non-paged pool usage (when originally retrieved) </summary> </member> <member name="P:NtApiDotNet.NtType.TotalNamePoolUsage"> <summary> Total name pool usage (when originally retrieved) </summary> </member> <member name="P:NtApiDotNet.NtType.TotalHandleTableUsage"> <summary> Total handle table usage (when originally retrieved) </summary> </member> <member name="P:NtApiDotNet.NtType.HighWaterNumberOfObjects"> <summary> Maximum number of objects (when originally retrieved) </summary> </member> <member name="P:NtApiDotNet.NtType.HighWaterNumberOfHandles"> <summary> Maximum number of handles (when originally retrieved) </summary> </member> <member name="P:NtApiDotNet.NtType.HighWaterPagedPoolUsage"> <summary> Maximum paged pool usage (when originally retrieved) </summary> </member> <member name="P:NtApiDotNet.NtType.HighWaterNonPagedPoolUsage"> <summary> Maximum non-paged pool usage (when originally retrieved) </summary> </member> <member name="P:NtApiDotNet.NtType.HighWaterNamePoolUsage"> <summary> Maximum name pool usage (when originally retrieved) </summary> </member> <member name="P:NtApiDotNet.NtType.HighWaterHandleTableUsage"> <summary> Maximum handle table usage (when originally retrieved) </summary> </member> <member name="P:NtApiDotNet.NtType.InvalidAttributes"> <summary> The attributes flags which are invalid </summary> </member> <member name="P:NtApiDotNet.NtType.MaintainHandleCount"> <summary> Indicates whether handle count is mainted </summary> </member> <member name="P:NtApiDotNet.NtType.MaintainTypeList"> <summary> Indicates the type list maintained </summary> </member> <member name="P:NtApiDotNet.NtType.PoolType"> <summary> Indicates the type of pool used in allocations </summary> </member> <member name="P:NtApiDotNet.NtType.PagedPoolUsage"> <summary> Current paged pool usage </summary> </member> <member name="P:NtApiDotNet.NtType.NonPagedPoolUsage"> <summary> Current non-pages pool usage </summary> </member> <member name="P:NtApiDotNet.NtType.Index"> <summary> Type Index </summary> </member> <member name="M:NtApiDotNet.NtType.HasReadPermission(System.UInt32)"> <summary> Checks if a access mask represents a read permission on this type </summary> <param name="access_mask">The access mask to check</param> <returns>True if it has read permissions</returns> </member> <member name="M:NtApiDotNet.NtType.HasWritePermission(System.UInt32)"> <summary> Checks if a access mask represents a write permission on this type </summary> <param name="access_mask">The access mask to check</param> <returns>True if it has write permissions</returns> </member> <member name="M:NtApiDotNet.NtType.HasExecutePermission(System.UInt32)"> <summary> Checks if a access mask represents a execute permission on this type </summary> <param name="access_mask">The access mask to check</param> <returns>True if it has execute permissions</returns> </member> <member name="M:NtApiDotNet.NtType.HasFullPermission(System.UInt32)"> <summary> Checks if a access mask represents a full permission on this type </summary> <param name="access_mask">The access mask to check</param> <returns>True if it has full permissions</returns> </member> <member name="M:NtApiDotNet.NtType.MapGenericRights(System.UInt32)"> <summary> Map generic access rights to specific access rights for this type </summary> <param name="access_mask">The access mask to map</param> <returns>The mapped access mask</returns> </member> <member name="M:NtApiDotNet.NtType.GetTypeByIndex(System.Int32)"> <summary> Get a type object by index </summary> <param name="index">The index</param> <returns>The object type, null if not found</returns> </member> <member name="M:NtApiDotNet.NtType.GetTypeByName(System.String)"> <summary> Get a type object by name </summary> <param name="name">The name of the type</param> <returns>The object type, null if not found</returns> </member> <member name="M:NtApiDotNet.NtType.GetTypes"> <summary> Get a list of all types. </summary> <returns>The list of types.</returns> </member> <member name="T:NtApiDotNet.OptionalLength"> <summary> This class allows a function to specify an optional length. </summary> </member> <member name="F:NtApiDotNet.OptionalLength.Length"> <summary> Optional length </summary> </member> <member name="M:NtApiDotNet.OptionalLength.#ctor(System.Int32)"> <summary> Constructor </summary> <param name="length">The length value</param> </member> <member name="M:NtApiDotNet.OptionalLength.op_Implicit(System.Int32)~NtApiDotNet.OptionalLength"> <summary> Implicit conversion </summary> <param name="length">The length value</param> </member> <member name="T:NtApiDotNet.OptionalLengthSizeT"> <summary> This class allows a function to specify an optional length as a SizeT </summary> </member> <member name="F:NtApiDotNet.OptionalLengthSizeT.Length"> <summary> Optional length </summary> </member> <member name="M:NtApiDotNet.OptionalLengthSizeT.#ctor(System.IntPtr)"> <summary> Constructor </summary> <param name="length">The length value</param> </member> <member name="M:NtApiDotNet.OptionalLengthSizeT.#ctor(System.Int32)"> <summary> Constructor </summary> <param name="length">The length value</param> </member> <member name="M:NtApiDotNet.OptionalLengthSizeT.#ctor(System.Int64)"> <summary> Constructor </summary> <param name="length">The length value</param> </member> <member name="M:NtApiDotNet.OptionalLengthSizeT.op_Implicit(System.Int32)~NtApiDotNet.OptionalLengthSizeT"> <summary> Implicit conversion </summary> <param name="length">The length value</param> </member> <member name="T:NtApiDotNet.NtProcessMitigations"> <summary> Class representing various process mitigations </summary> </member> <member name="T:NtApiDotNet.SupportedVersion"> <summary> Supported windows verion </summary> </member> <member name="T:NtApiDotNet.SupportedVersionAttribute"> <summary> Attribute to indicate the required version for a function. Applied if the function needs a version greater than 7. </summary> </member> <member name="P:NtApiDotNet.SupportedVersionAttribute.Version"> <summary> The supported version. </summary> </member> <member name="M:NtApiDotNet.SupportedVersionAttribute.#ctor(NtApiDotNet.SupportedVersion)"> <summary> Constructor </summary> <param name="version">The supported version</param> </member> <member name="T:NtApiDotNet.DataStartAttribute"> <summary> Attribute used for managed structures to indicate the start of data. This is used in situations where the data immediately trail </summary> </member> <member name="M:NtApiDotNet.DataStartAttribute.#ctor(System.String)"> <summary> Constructor </summary> <param name="field_name">The field name which indicates the first address of data.</param> </member> <member name="P:NtApiDotNet.DataStartAttribute.FieldName"> <summary> The field name which indicates the first address of data. </summary> </member> <member name="T:NtApiDotNet.SafeHGlobalBuffer"> <summary> A safe handle to an allocated global buffer. </summary> </member> <member name="M:NtApiDotNet.SafeHGlobalBuffer.#ctor(System.Int32)"> <summary> Constructor </summary> <param name="length">Size of the buffer to allocate.</param> </member> <member name="M:NtApiDotNet.SafeHGlobalBuffer.#ctor(System.Int32,System.Int32)"> <summary> Constructor </summary> <param name="allocation_length">The length of data to allocate.</param> <param name="total_length">The total length to reflect in the Length property.</param> </member> <member name="M:NtApiDotNet.SafeHGlobalBuffer.#ctor(System.IntPtr,System.Int32,System.Boolean)"> <summary> Constructor </summary> <param name="length">Size of the buffer.</param> <param name="buffer">An existing pointer to an existing HGLOBAL allocated buffer.</param> <param name="owns_handle">Specify whether safe handle owns the buffer.</param> </member> <member name="M:NtApiDotNet.SafeHGlobalBuffer.#ctor(System.Byte[])"> <summary> Constructor </summary> <param name="data">Initialization data for the buffer.</param> </member> <member name="M:NtApiDotNet.SafeHGlobalBuffer.ToArray"> <summary> Convert the safe handle to an array of bytes. </summary> <returns>The data contained in the allocaiton.</returns> </member> <member name="T:NtApiDotNet.SafeStructureInOutBuffer`1"> <summary> Safe handle for an in/out structure buffer. </summary> <typeparam name="T">The type of structure as the base of the memory allocation.</typeparam> </member> <member name="M:NtApiDotNet.SafeStructureInOutBuffer`1.#ctor(`0)"> <summary> Constructor </summary> <param name="value">Structure value to initialize the buffer.</param> </member> <member name="M:NtApiDotNet.SafeStructureInOutBuffer`1.#ctor"> <summary> Constructor, initializes buffer with a default structure. </summary> </member> <member name="M:NtApiDotNet.SafeStructureInOutBuffer`1.#ctor(System.Int32,System.Boolean)"> <summary> Constructor, initializes buffer with a default structure. </summary> <param name="additional_size">Additional data to add to structure buffer.</param> <param name="add_struct_size">If true additional_size is added to structure size, otherwise reflects the total size.</param> </member> <member name="M:NtApiDotNet.SafeStructureInOutBuffer`1.#ctor(`0,System.Int32,System.Boolean)"> <summary> Constructor </summary> <param name="value">Structure value to initialize the buffer.</param> <param name="additional_size">Additional data to add to structure buffer.</param> <param name="add_struct_size">If true additional_size is added to structure size, otherwise reflects the total size.</param> </member> <member name="P:NtApiDotNet.SafeStructureInOutBuffer`1.Result"> <summary> Convert the buffer back to a structure. </summary> </member> <member name="P:NtApiDotNet.SafeStructureInOutBuffer`1.Data"> <summary> Get a reference to the additional data. </summary> </member> <member name="T:NtApiDotNet.BufferUtils"> <summary> Some simple utilities to create structure buffers. </summary> </member> <member name="M:NtApiDotNet.BufferUtils.CreateBuffer``1(``0,System.Int32,System.Boolean)"> <summary> Create a buffer based on a passed type. </summary> <typeparam name="T">The type to use in the structure buffer.</typeparam> <param name="value">The value to initialize the buffer with.</param> <param name="additional_size">Additional byte data after the structure.</param> <param name="add_struct_size">Indicates if additional_size includes the structure size or not.</param> <returns>The new structure buffer.</returns> </member> <member name="M:NtApiDotNet.BufferUtils.CreateBuffer``1(``0)"> <summary> Create a buffer based on a passed type. </summary> <typeparam name="T">The type to use in the structure buffer.</typeparam> <param name="value">The value to initialize the buffer with.</param> <returns>The new structure buffer.</returns> </member> <member name="M:NtApiDotNet.BufferUtils.ToBuffer``1(``0)"> <summary> Create a buffer based on a passed type. </summary> <typeparam name="T">The type to use in the structure buffer.</typeparam> <param name="value">The value to initialize the buffer with.</param> <returns>The new structure buffer.</returns> </member> <member name="M:NtApiDotNet.BufferUtils.ToBuffer``1(``0,System.Int32,System.Boolean)"> <summary> Create a buffer based on a passed type. </summary> <typeparam name="T">The type to use in the structure buffer.</typeparam> <param name="value">The value to initialize the buffer with.</param> <param name="additional_size">Additional byte data after the structure.</param> <param name="add_struct_size">Indicates if additional_size includes the structure size or not.</param> <returns>The new structure buffer.</returns> </member> <member name="M:NtApiDotNet.BufferUtils.CreateArrayBuffer``1(``0)"> <summary> Create an array buffer based on a passed type. </summary> <typeparam name="T">The type to use in the structure buffer.</typeparam> <param name="value">The value to initialize the buffer with.</param> <returns>The new array buffer.</returns> </member> <member name="M:NtApiDotNet.BufferUtils.ToArrayBuffer``1(``0)"> <summary> Create an array buffer based on a passed type. </summary> <typeparam name="T">The type to use in the structure buffer.</typeparam> <param name="value">The value to initialize the buffer with.</param> <returns>The new array buffer.</returns> </member> <member name="T:NtApiDotNet.SafeSidBufferHandle"> <summary> Safe SID buffer. </summary> <remarks>This is used to return values from the RTL apis which need to be freed using RtlFreeSid</remarks> </member> <member name="T:NtApiDotNet.SecurityInformation"> <summary> Security information class for security descriptors. </summary> </member> <member name="T:NtApiDotNet.GenericMapping"> <summary> Access rights generic mapping. </summary> </member> <member name="F:NtApiDotNet.GenericMapping.GenericRead"> <summary> Mapping for Generic Read </summary> </member> <member name="F:NtApiDotNet.GenericMapping.GenericWrite"> <summary> Mapping for Generic Write </summary> </member> <member name="F:NtApiDotNet.GenericMapping.GenericExecute"> <summary> Mapping for Generic Execute </summary> </member> <member name="F:NtApiDotNet.GenericMapping.GenericAll"> <summary> Mapping for Generic All </summary> </member> <member name="M:NtApiDotNet.GenericMapping.MapMask(System.UInt32)"> <summary> Map a generic access mask to a specific one. </summary> <param name="mask">The generic mask to map.</param> <returns>The mapped mask.</returns> </member> <member name="M:NtApiDotNet.GenericMapping.ToString"> <summary> Convert generic mapping to a string. </summary> <returns>The generic mapping as a string.</returns> </member> <member name="T:NtApiDotNet.Ace"> <summary> Class to represent an Access Control Entry (ACE) </summary> </member> <member name="M:NtApiDotNet.Ace.IsObjectAce"> <summary> Check if the ACE is an Object ACE </summary> <returns>True if an object ACE</returns> </member> <member name="P:NtApiDotNet.Ace.AceType"> <summary> Get ACE type </summary> </member> <member name="P:NtApiDotNet.Ace.AceFlags"> <summary> Get ACE flags </summary> </member> <member name="P:NtApiDotNet.Ace.Mask"> <summary> Get ACE access mask </summary> </member> <member name="P:NtApiDotNet.Ace.Sid"> <summary> Get ACE Security Identifier </summary> </member> <member name="P:NtApiDotNet.Ace.ObjectType"> <summary> Get optional Object Type </summary> </member> <member name="P:NtApiDotNet.Ace.InheritedObjectType"> <summary> Get optional Inherited Object Type </summary> </member> <member name="M:NtApiDotNet.Ace.ToString"> <summary> Convert ACE to a string </summary> <returns>The ACE as a string</returns> </member> <member name="M:NtApiDotNet.Ace.ToString(System.Type,System.Boolean)"> <summary> Convert ACE to a string </summary> <param name="access_rights_type">An enumeration type to format the access mask</param> <param name="resolve_sid">True to try and resolve SID to a name</param> <returns>The ACE as a string</returns> </member> <member name="M:NtApiDotNet.Ace.Equals(System.Object)"> <summary> Compare ACE to another object. </summary> <param name="obj">The other object.</param> <returns>True if the other object equals this ACE</returns> </member> <member name="M:NtApiDotNet.Ace.GetHashCode"> <summary> Get hash code. </summary> <returns>The hash code</returns> </member> <member name="M:NtApiDotNet.Ace.op_Equality(NtApiDotNet.Ace,NtApiDotNet.Ace)"> <summary> Equality operator </summary> <param name="a">Left ACE</param> <param name="b">Right ACE</param> <returns>True if the ACEs are equal</returns> </member> <member name="M:NtApiDotNet.Ace.op_Inequality(NtApiDotNet.Ace,NtApiDotNet.Ace)"> <summary> Not Equal operator </summary> <param name="a">Left ACE</param> <param name="b">Right ACE</param> <returns>True if the ACEs are not equal</returns> </member> <member name="M:NtApiDotNet.Ace.#ctor(NtApiDotNet.AceType,NtApiDotNet.AceFlags,System.UInt32,NtApiDotNet.Sid)"> <summary> Constructor </summary> <param name="type">ACE type</param> <param name="flags">ACE flags</param> <param name="mask">ACE access mask</param> <param name="sid">ACE sid</param> </member> <member name="M:NtApiDotNet.Ace.#ctor(NtApiDotNet.AceType,NtApiDotNet.AceFlags,NtApiDotNet.GenericAccessRights,NtApiDotNet.Sid)"> <summary> Constructor </summary> <param name="type">ACE type</param> <param name="flags">ACE flags</param> <param name="mask">ACE access mask</param> <param name="sid">ACE sid</param> </member> <member name="T:NtApiDotNet.Acl"> <summary> Class to represent an Access Control List (ACL) </summary> </member> <member name="M:NtApiDotNet.Acl.#ctor(System.IntPtr,System.Boolean)"> <summary> Constructor </summary> <param name="acl">Pointer to a raw ACL in memory</param> <param name="defaulted">True if the ACL was defaulted</param> </member> <member name="M:NtApiDotNet.Acl.#ctor(System.Boolean)"> <summary> Constructor for a NULL ACL </summary> <param name="defaulted">True if the ACL was defaulted</param> </member> <member name="M:NtApiDotNet.Acl.#ctor"> <summary> Constructor for an empty ACL </summary> </member> <member name="M:NtApiDotNet.Acl.#ctor(System.Collections.Generic.IEnumerable{NtApiDotNet.Ace},System.Boolean)"> <summary> Constructor </summary> <param name="aces">List of ACEs to add to ACL</param> <param name="defaulted">True if the ACL was defaulted</param> </member> <member name="M:NtApiDotNet.Acl.#ctor(System.Collections.Generic.IEnumerable{NtApiDotNet.Ace})"> <summary> Constructor </summary> <param name="aces">List of ACEs to add to ACL</param> </member> <member name="P:NtApiDotNet.Acl.Defaulted"> <summary> Get or set whether the ACL was defaulted </summary> </member> <member name="P:NtApiDotNet.Acl.NullAcl"> <summary> Get or set whether the ACL is NULL (no security) </summary> </member> <member name="P:NtApiDotNet.Acl.Revision"> <summary> Get or set the ACL revision </summary> </member> <member name="M:NtApiDotNet.Acl.ToByteArray"> <summary> Convert the ACL to a byte array </summary> <returns>The ACL as a byte array</returns> </member> <member name="M:NtApiDotNet.Acl.ToSafeBuffer"> <summary> Convert the ACL to a safe buffer </summary> <returns>The safe buffer</returns> </member> <member name="M:NtApiDotNet.Acl.AddAccessAllowedAce(NtApiDotNet.GenericAccessRights,NtApiDotNet.AceFlags,System.String)"> <summary> Add an access allowed ace to the ACL </summary> <param name="mask">The ACE access mask</param> <param name="flags">The ACE flags</param> <param name="sid">The ACE SID</param> </member> <member name="M:NtApiDotNet.Acl.AddAccessAllowedAce(System.UInt32,NtApiDotNet.AceFlags,System.String)"> <summary> Add an access allowed ace to the ACL </summary> <param name="mask">The ACE access mask</param> <param name="flags">The ACE flags</param> <param name="sid">The ACE SID</param> </member> <member name="M:NtApiDotNet.Acl.AddAccessAllowedAce(System.UInt32,System.String)"> <summary> Add an access allowed ace to the ACL </summary> <param name="mask">The ACE access mask</param> <param name="sid">The ACE SID</param> </member> <member name="M:NtApiDotNet.Acl.AddAccessAllowedAce(NtApiDotNet.GenericAccessRights,System.String)"> <summary> Add an access allowed ace to the ACL </summary> <param name="mask">The ACE access mask</param> <param name="sid">The ACE SID</param> </member> <member name="M:NtApiDotNet.Acl.AddAccessAllowedAce(NtApiDotNet.GenericAccessRights,NtApiDotNet.AceFlags,NtApiDotNet.Sid)"> <summary> Add an access allowed ace to the ACL </summary> <param name="mask">The ACE access mask</param> <param name="flags">The ACE flags</param> <param name="sid">The ACE SID</param> </member> <member name="M:NtApiDotNet.Acl.AddAccessAllowedAce(System.UInt32,NtApiDotNet.AceFlags,NtApiDotNet.Sid)"> <summary> Add an access allowed ace to the ACL </summary> <param name="mask">The ACE access mask</param> <param name="flags">The ACE flags</param> <param name="sid">The ACE SID</param> </member> <member name="M:NtApiDotNet.Acl.AddAccessAllowedAce(System.UInt32,NtApiDotNet.Sid)"> <summary> Add an access allowed ace to the ACL </summary> <param name="mask">The ACE access mask</param> <param name="sid">The ACE SID</param> </member> <member name="M:NtApiDotNet.Acl.AddAccessAllowedAce(NtApiDotNet.GenericAccessRights,NtApiDotNet.Sid)"> <summary> Add an access allowed ace to the ACL </summary> <param name="mask">The ACE access mask</param> <param name="sid">The ACE SID</param> </member> <member name="M:NtApiDotNet.Acl.AddAccessDeniedAce(System.UInt32,NtApiDotNet.AceFlags,System.String)"> <summary> Add an access denied ace to the ACL </summary> <param name="mask">The ACE access mask</param> <param name="flags">The ACE flags</param> <param name="sid">The ACE SID</param> </member> <member name="M:NtApiDotNet.Acl.AddAccessDeniedAce(NtApiDotNet.GenericAccessRights,NtApiDotNet.AceFlags,System.String)"> <summary> Add an access denied ace to the ACL </summary> <param name="mask">The ACE access mask</param> <param name="flags">The ACE flags</param> <param name="sid">The ACE SID</param> </member> <member name="M:NtApiDotNet.Acl.AddAccessDeniedAce(System.UInt32,System.String)"> <summary> Add an access denied ace to the ACL </summary> <param name="mask">The ACE access mask</param> <param name="sid">The ACE SID</param> </member> <member name="M:NtApiDotNet.Acl.AddAccessDeniedAce(NtApiDotNet.GenericAccessRights,System.String)"> <summary> Add an access denied ace to the ACL </summary> <param name="mask">The ACE access mask</param> <param name="sid">The ACE SID</param> </member> <member name="M:NtApiDotNet.Acl.AddAccessDeniedAce(System.UInt32,NtApiDotNet.AceFlags,NtApiDotNet.Sid)"> <summary> Add an access denied ace to the ACL </summary> <param name="mask">The ACE access mask</param> <param name="flags">The ACE flags</param> <param name="sid">The ACE SID</param> </member> <member name="M:NtApiDotNet.Acl.AddAccessDeniedAce(NtApiDotNet.GenericAccessRights,NtApiDotNet.AceFlags,NtApiDotNet.Sid)"> <summary> Add an access denied ace to the ACL </summary> <param name="mask">The ACE access mask</param> <param name="flags">The ACE flags</param> <param name="sid">The ACE SID</param> </member> <member name="M:NtApiDotNet.Acl.AddAccessDeniedAce(System.UInt32,NtApiDotNet.Sid)"> <summary> Add an access denied ace to the ACL </summary> <param name="mask">The ACE access mask</param> <param name="sid">The ACE SID</param> </member> <member name="M:NtApiDotNet.Acl.AddAccessDeniedAce(NtApiDotNet.GenericAccessRights,NtApiDotNet.Sid)"> <summary> Add an access denied ace to the ACL </summary> <param name="mask">The ACE access mask</param> <param name="sid">The ACE SID</param> </member> <member name="M:NtApiDotNet.Acl.IsCanonical"> <summary> Gets an indication if this ACL is canonical. </summary> <remarks>Canonical basically means that deny ACEs are before allow ACEs.</remarks> <returns>True if the ACL is canonical.</returns> </member> <member name="M:NtApiDotNet.Acl.Canonicalize"> <summary> Canonicalize the ACL (for use on DACLs only). </summary> <remarks>This isn't a general purpose algorithm, for example it doesn't worry much about object ordering. Also it can be lossy, if it doesn't understand an ACE type it will drop it.</remarks> <returns>The canonical ACL.</returns> </member> <member name="T:NtApiDotNet.NtSecurity"> <summary> Static class to access NT security manager routines. </summary> </member> <member name="M:NtApiDotNet.NtSecurity.LookupAccountSid(NtApiDotNet.Sid)"> <summary> Looks up the account name of a SID. </summary> <param name="sid">The SID to lookup</param> <returns>The name, or null if the lookup failed</returns> </member> <member name="M:NtApiDotNet.NtSecurity.LookupAccountName(System.String)"> <summary> Lookup a SID from a username. </summary> <param name="username">The username, can be in the form domain\account.</param> <returns>The Security Identifier.</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if account cannot be found.</exception> </member> <member name="M:NtApiDotNet.NtSecurity.SecurityDescriptorToSddl(System.Byte[],NtApiDotNet.SecurityInformation)"> <summary> Convert a security descriptor to SDDL string </summary> <param name="sd">The security descriptor</param> <param name="security_information">Indicates what parts of the security descriptor to include</param> <returns>The SDDL string</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if cannot convert to a SDDL string.</exception> </member> <member name="M:NtApiDotNet.NtSecurity.SddlToSecurityDescriptor(System.String)"> <summary> Convert an SDDL string to a binary security descriptor </summary> <param name="sddl">The SDDL string</param> <returns>The binary security descriptor</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if cannot convert from a SDDL string.</exception> </member> <member name="M:NtApiDotNet.NtSecurity.SidFromSddl(System.String)"> <summary> Convert an SDDL SID string to a Sid </summary> <param name="sddl">The SDDL SID string</param> <returns>The converted Sid</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if cannot convert from a SDDL string.</exception> </member> <member name="M:NtApiDotNet.NtSecurity.GetAllowedAccess(NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,NtApiDotNet.GenericAccessRights,NtApiDotNet.GenericMapping)"> <summary> Do an access check between a security descriptor and a token to determine the allowed access. </summary> <param name="sd">The security descriptor</param> <param name="token">The access token.</param> <param name="access_rights">The set of access rights to check against</param> <param name="generic_mapping">The type specific generic mapping (get from corresponding NtType entry).</param> <returns>The allowed access mask as a unsigned integer.</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred in the access check.</exception> </member> <member name="M:NtApiDotNet.NtSecurity.GetMaximumAccess(NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,NtApiDotNet.GenericMapping)"> <summary> Do an access check between a security descriptor and a token to determine the maximum allowed access. </summary> <param name="sd">The security descriptor</param> <param name="token">The access token.</param> <param name="generic_mapping">The type specific generic mapping (get from corresponding NtType entry).</param> <returns>The maximum allowed access mask as a unsigned integer.</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred in the access check.</exception> </member> <member name="M:NtApiDotNet.NtSecurity.GetAllowedAccess(NtApiDotNet.NtToken,NtApiDotNet.NtType,System.UInt32,System.Byte[])"> <summary> Do an access check between a security descriptor and a token to determine the allowed access. </summary> <param name="sd">The security descriptor</param> <param name="token">The access token.</param> <param name="access_rights">The set of access rights to check against</param> <param name="type">The type used to determine generic access mapping..</param> <returns>The allowed access mask as a unsigned integer.</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred in the access check.</exception> </member> <member name="M:NtApiDotNet.NtSecurity.GetMaximumAccess(NtApiDotNet.NtToken,NtApiDotNet.NtType,System.Byte[])"> <summary> Do an access check between a security descriptor and a token to determine the maximum allowed access. </summary> <param name="sd">The security descriptor</param> <param name="token">The access token.</param> <param name="type">The type used to determine generic access mapping..</param> <returns>The allowed access mask as a unsigned integer.</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred in the access check.</exception> </member> <member name="M:NtApiDotNet.NtSecurity.FromNamedObject(System.String,System.String)"> <summary> Get a security descriptor from a named object. </summary> <param name="name">The path to the resource (such as \BaseNamedObejct\ABC)</param> <param name="type">The type of resource, can be null to get the method to try and discover the correct type.</param> <returns>The named resource security descriptor.</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred opening the object.</exception> <exception cref="T:System.ArgumentException">Thrown if type of resource couldn't be found.</exception> </member> <member name="M:NtApiDotNet.NtSecurity.GetIntegritySid(System.Int32)"> <summary> Get a SID for a specific mandatory integrity level. </summary> <param name="level">The mandatory integrity level.</param> <returns>The integrity SID</returns> </member> <member name="M:NtApiDotNet.NtSecurity.GetIntegritySid(NtApiDotNet.TokenIntegrityLevel)"> <summary> Get a SID for a specific mandatory integrity level. </summary> <param name="level">The mandatory integrity level.</param> <returns>The integrity SID</returns> </member> <member name="M:NtApiDotNet.NtSecurity.IsIntegritySid(NtApiDotNet.Sid)"> <summary> Checks if a SID is an integrity level SID </summary> <param name="sid">The SID to check</param> <returns>True if an integrity SID</returns> </member> <member name="T:NtApiDotNet.SecurityDescriptorControl"> <summary> Security descriptor control flags. </summary> </member> <member name="T:NtApiDotNet.SecurityDescriptorSid"> <summary> A security descriptor SID which maintains defaulted state. </summary> </member> <member name="P:NtApiDotNet.SecurityDescriptorSid.Sid"> <summary> The SID. </summary> </member> <member name="P:NtApiDotNet.SecurityDescriptorSid.Defaulted"> <summary> Indicates whether the SID was defaulted or not. </summary> </member> <member name="M:NtApiDotNet.SecurityDescriptorSid.#ctor(NtApiDotNet.Sid,System.Boolean)"> <summary> Constructor from existing SID. </summary> <param name="sid">The SID.</param> <param name="defaulted">Whether the SID was defaulted or not.</param> </member> <member name="M:NtApiDotNet.SecurityDescriptorSid.ToString"> <summary> Convert to a string. </summary> <returns>The string form of the SID</returns> </member> <member name="T:NtApiDotNet.SecurityDescriptor"> <summary> Security descriptor. </summary> </member> <member name="P:NtApiDotNet.SecurityDescriptor.Dacl"> <summary> Discretionary access control list (can be null) </summary> </member> <member name="P:NtApiDotNet.SecurityDescriptor.Sacl"> <summary> Systerm access control list (can be null) </summary> </member> <member name="P:NtApiDotNet.SecurityDescriptor.Owner"> <summary> Owner (can be null) </summary> </member> <member name="P:NtApiDotNet.SecurityDescriptor.Group"> <summary> Group (can be null) </summary> </member> <member name="P:NtApiDotNet.SecurityDescriptor.Control"> <summary> Control flags </summary> </member> <member name="P:NtApiDotNet.SecurityDescriptor.Revision"> <summary> Revision value </summary> </member> <member name="M:NtApiDotNet.SecurityDescriptor.#ctor"> <summary> Constructor </summary> </member> <member name="M:NtApiDotNet.SecurityDescriptor.#ctor(System.Byte[])"> <summary> Constructor </summary> <param name="security_descriptor">Binary form of security descriptor</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.#ctor(NtApiDotNet.NtToken)"> <summary> Constructor from a token default DACL and ownership values. </summary> <param name="token">The token to use for its default DACL</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.#ctor(NtApiDotNet.NtObject,NtApiDotNet.NtToken,System.Boolean)"> <summary> Constructor </summary> <param name="base_object">Base object for security descriptor</param> <param name="token">Token for determining user rights</param> <param name="is_directory">True if a directory security descriptor</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.#ctor(System.String)"> <summary> Constructor from an SDDL string </summary> <param name="sddl">The SDDL string</param> <exception cref="T:NtApiDotNet.NtException">Thrown if invalid SDDL</exception> </member> <member name="M:NtApiDotNet.SecurityDescriptor.ToByteArray"> <summary> Convert security descriptor to a byte array </summary> <returns>The binary security descriptor</returns> </member> <member name="M:NtApiDotNet.SecurityDescriptor.ToSddl(NtApiDotNet.SecurityInformation)"> <summary> Convert security descriptor to SDDL string </summary> <param name="security_information">The parts of the security descriptor to return</param> <returns>The SDDL string</returns> </member> <member name="M:NtApiDotNet.SecurityDescriptor.ToSddl"> <summary> Convert security descriptor to SDDL string </summary> <returns>The SDDL string</returns> </member> <member name="M:NtApiDotNet.SecurityDescriptor.ToSafeBuffer"> <summary> Convert security descriptor to a safe buffer. </summary> <returns></returns> </member> <member name="M:NtApiDotNet.SecurityDescriptor.AddAccessAllowedAce(NtApiDotNet.GenericAccessRights,NtApiDotNet.AceFlags,System.String)"> <summary> Add an access allowed ACE to the DACL </summary> <param name="mask">The access mask</param> <param name="flags">The ACE flags</param> <param name="sid">The SID in SDDL form</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.AddAccessAllowedAce(System.UInt32,NtApiDotNet.AceFlags,System.String)"> <summary> Add an access allowed ACE to the DACL </summary> <param name="mask">The access mask</param> <param name="flags">The ACE flags</param> <param name="sid">The SID in SDDL form</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.AddAccessAllowedAce(System.UInt32,System.String)"> <summary> Add an access allowed ACE to the DACL </summary> <param name="mask">The access mask</param> <param name="sid">The SID in SDDL form</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.AddAccessAllowedAce(NtApiDotNet.GenericAccessRights,System.String)"> <summary> Add an access allowed ACE to the DACL </summary> <param name="mask">The access mask</param> <param name="sid">The SID in SDDL form</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.AddAccessAllowedAce(NtApiDotNet.GenericAccessRights,NtApiDotNet.AceFlags,NtApiDotNet.Sid)"> <summary> Add an access allowed ACE to the DACL </summary> <param name="mask">The access mask</param> <param name="flags">The ACE flags</param> <param name="sid">The SID</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.AddAccessAllowedAce(System.UInt32,NtApiDotNet.AceFlags,NtApiDotNet.Sid)"> <summary> Add an access allowed ACE to the DACL </summary> <param name="mask">The access mask</param> <param name="flags">The ACE flags</param> <param name="sid">The SID</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.AddAccessAllowedAce(System.UInt32,NtApiDotNet.Sid)"> <summary> Add an access allowed ACE to the DACL </summary> <param name="mask">The access mask</param> <param name="sid">The SID</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.AddAccessAllowedAce(NtApiDotNet.GenericAccessRights,NtApiDotNet.Sid)"> <summary> Add an access allowed ACE to the DACL </summary> <param name="mask">The access mask</param> <param name="sid">The SID</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.AddAccessDeniedAce(System.UInt32,NtApiDotNet.AceFlags,System.String)"> <summary> Add an access denied ACE to the DACL </summary> <param name="mask">The access mask</param> <param name="flags">The ACE flags</param> <param name="sid">The SID in SDDL form</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.AddAccessDeniedAce(NtApiDotNet.GenericAccessRights,NtApiDotNet.AceFlags,System.String)"> <summary> Add an access denied ACE to the DACL </summary> <param name="mask">The access mask</param> <param name="flags">The ACE flags</param> <param name="sid">The SID in SDDL form</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.AddAccessDeniedAce(System.UInt32,System.String)"> <summary> Add an access denied ACE to the DACL </summary> <param name="mask">The access mask</param> <param name="sid">The SID in SDDL form</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.AddAccessDeniedAce(NtApiDotNet.GenericAccessRights,System.String)"> <summary> Add an access denied ACE to the DACL </summary> <param name="mask">The access mask</param> <param name="sid">The SID in SDDL form</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.AddAccessDeniedAce(NtApiDotNet.GenericAccessRights,NtApiDotNet.AceFlags,NtApiDotNet.Sid)"> <summary> Add an access denied ACE to the DACL </summary> <param name="mask">The access mask</param> <param name="flags">The ACE flags</param> <param name="sid">The SID</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.AddAccessDeniedAce(System.UInt32,NtApiDotNet.Sid)"> <summary> Add an access denied ACE to the DACL </summary> <param name="mask">The access mask</param> <param name="sid">The SID</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.AddAccessDeniedAce(NtApiDotNet.GenericAccessRights,NtApiDotNet.Sid)"> <summary> Add an access denied ACE to the DACL </summary> <param name="mask">The access mask</param> <param name="sid">The SID</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.AddAccessDeniedAce(System.UInt32,NtApiDotNet.AceFlags,NtApiDotNet.Sid)"> <summary> Add an access denied ACE to the DACL </summary> <param name="mask">The access mask</param> <param name="flags">The ACE flags</param> <param name="sid">The SID</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.AddMandatoryLabel(NtApiDotNet.TokenIntegrityLevel)"> <summary> Add mandatory integrity label to SACL </summary> <param name="level">The integrity level</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.AddMandatoryLabel(NtApiDotNet.TokenIntegrityLevel,NtApiDotNet.MandatoryLabelPolicy)"> <summary> Add mandatory integrity label to SACL </summary> <param name="level">The integrity level</param> <param name="policy">The mandatory label policy</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.AddMandatoryLabel(NtApiDotNet.TokenIntegrityLevel,NtApiDotNet.AceFlags,NtApiDotNet.MandatoryLabelPolicy)"> <summary> Add mandatory integrity label to SACL </summary> <param name="level">The integrity level</param> <param name="flags">The ACE flags.</param> <param name="policy">The mandatory label policy</param> </member> <member name="M:NtApiDotNet.SecurityDescriptor.AddMandatoryLabel(NtApiDotNet.Sid,NtApiDotNet.AceFlags,NtApiDotNet.MandatoryLabelPolicy)"> <summary> Add mandatory integrity label to SACL </summary> <param name="label">The integrity label SID</param> <param name="flags">The ACE flags.</param> <param name="policy">The mandatory label policy</param> </member> <member name="T:NtApiDotNet.SecurityAuthority"> <summary> Predefined security authorities </summary> </member> <member name="T:NtApiDotNet.SidIdentifierAuthority"> <summary> Represents an identifier authority for a SID. </summary> </member> <member name="P:NtApiDotNet.SidIdentifierAuthority.Value"> <summary> Get a reference to the identifier authority. This can be used to modify the value </summary> </member> <member name="M:NtApiDotNet.SidIdentifierAuthority.#ctor"> <summary> Constructor. </summary> </member> <member name="M:NtApiDotNet.SidIdentifierAuthority.#ctor(System.Byte[])"> <summary> Construct from an existing authority array. </summary> <param name="authority">The authority, must be 6 bytes in length.</param> <exception cref="T:System.ArgumentOutOfRangeException">Thrown if authority is not the correct length.</exception> </member> <member name="M:NtApiDotNet.SidIdentifierAuthority.#ctor(NtApiDotNet.SecurityAuthority)"> <summary> Constructor from a simple predefined authority. </summary> <param name="authority">The predefined authority.</param> </member> <member name="M:NtApiDotNet.SidIdentifierAuthority.Equals(System.Object)"> <summary> Compares authority to another. </summary> <param name="obj">The other authority to compare against.</param> <returns>True if authority is equal.</returns> </member> <member name="M:NtApiDotNet.SidIdentifierAuthority.GetHashCode"> <summary> Get hash code. </summary> <returns>The authority hash code.</returns> </member> <member name="T:NtApiDotNet.Sid"> <summary> Class to represent a Security Identifier. </summary> </member> <member name="P:NtApiDotNet.Sid.Authority"> <summary> The SIDs authority. </summary> </member> <member name="P:NtApiDotNet.Sid.SubAuthorities"> <summary> List of the SIDs sub authorities. </summary> </member> <member name="M:NtApiDotNet.Sid.#ctor(NtApiDotNet.SidIdentifierAuthority,System.UInt32[])"> <summary> Constructor for authority and sub authorities. </summary> <param name="authority">The identifier authority.</param> <param name="sub_authorities">The sub authorities.</param> </member> <member name="M:NtApiDotNet.Sid.#ctor(NtApiDotNet.SecurityAuthority,System.UInt32[])"> <summary> Constructor for authority and sub authorities. </summary> <param name="authority">The identifier authority.</param> <param name="sub_authorities">The sub authorities.</param> </member> <member name="M:NtApiDotNet.Sid.#ctor(System.IntPtr)"> <summary> Constructor from an unmanged buffer. </summary> <param name="sid">A pointer to a buffer containing a valid SID.</param> <exception cref="T:NtApiDotNet.NtException">Thrown if the buffer is not valid.</exception> </member> <member name="M:NtApiDotNet.Sid.#ctor(System.Runtime.InteropServices.SafeBuffer)"> <summary> Constructor from an unmanged buffer. </summary> <param name="sid">A safe buffer containing a valid SID.</param> <exception cref="T:NtApiDotNet.NtException">Thrown if the buffer is not valid.</exception> </member> <member name="M:NtApiDotNet.Sid.#ctor(System.Byte[])"> <summary> Constructor from an manged buffer. </summary> <param name="sid">A buffer containing a valid SID.</param> <exception cref="T:NtApiDotNet.NtException">Thrown if the buffer is not valid.</exception> </member> <member name="M:NtApiDotNet.Sid.#ctor(NtApiDotNet.Sid)"> <summary> Constructor from existing Sid. </summary> <param name="sid">The existing Sid.</param> </member> <member name="M:NtApiDotNet.Sid.#ctor(System.String)"> <summary> Constructor from an SDDL string. </summary> <param name="sid">The SID in SDDL format.</param> <example> new Sid("S-1-0-0"); new Sid("WD"); </example> <seealso cref="M:NtApiDotNet.NtSecurity.LookupAccountName(System.String)"/> </member> <member name="M:NtApiDotNet.Sid.ToSafeBuffer"> <summary> Convert the SID to a safe buffer. </summary> <returns>The safe buffer containing the SID.</returns> </member> <member name="M:NtApiDotNet.Sid.ToArray"> <summary> Convert to a managed byte array. </summary> <returns>The managed byte array.</returns> </member> <member name="M:NtApiDotNet.Sid.EqualPrefix(NtApiDotNet.Sid)"> <summary> Compares two sids to see if their prefixes are the same. </summary> <param name="sid">The sid to compare against</param> <returns>True if the sids share a prefix.</returns> </member> <member name="M:NtApiDotNet.Sid.Equals(System.Object)"> <summary> Compare two Sids. </summary> <param name="obj">The other Sid to compare.</param> <returns>True if the Sids are equal.</returns> </member> <member name="M:NtApiDotNet.Sid.op_Equality(NtApiDotNet.Sid,NtApiDotNet.Sid)"> <summary> Equality operator. </summary> <param name="a">Sid 1</param> <param name="b">Sid 2</param> <returns>True if the Sids are equal.</returns> </member> <member name="M:NtApiDotNet.Sid.op_Inequality(NtApiDotNet.Sid,NtApiDotNet.Sid)"> <summary> Inequality operator. </summary> <param name="a">Sid 1</param> <param name="b">Sid 2</param> <returns>True if the Sids are not equal.</returns> </member> <member name="M:NtApiDotNet.Sid.GetHashCode"> <summary> Get hash code. </summary> <returns>The hash code.</returns> </member> <member name="M:NtApiDotNet.Sid.ToString"> <summary> Convert to an SDDL format string. </summary> <returns>The SDDL format string (e.g. S-1-1-0)</returns> </member> <member name="P:NtApiDotNet.Sid.Name"> <summary> Get the account name of the SID or the SDDL form is no corresponding name. </summary> </member> <member name="T:NtApiDotNet.KnownSids"> <summary> Static methods to get some known SIDs. </summary> </member> <member name="P:NtApiDotNet.KnownSids.Null"> <summary> NULL SID </summary> </member> <member name="P:NtApiDotNet.KnownSids.World"> <summary> Everyone SID </summary> </member> <member name="P:NtApiDotNet.KnownSids.Local"> <summary> Local user SID </summary> </member> <member name="P:NtApiDotNet.KnownSids.CreatorOwner"> <summary> CREATOR OWNER SID </summary> </member> <member name="P:NtApiDotNet.KnownSids.CreatorGroup"> <summary> CREATOR GROUP SID </summary> </member> <member name="P:NtApiDotNet.KnownSids.Service"> <summary> Service SID </summary> </member> <member name="P:NtApiDotNet.KnownSids.Anonymous"> <summary> ANONYMOUS LOGON SID </summary> </member> <member name="P:NtApiDotNet.KnownSids.AuthenticatedUsers"> <summary> Authenticated Users SID </summary> </member> <member name="P:NtApiDotNet.KnownSids.Restricted"> <summary> RESTRICTED SID </summary> </member> <member name="P:NtApiDotNet.KnownSids.LocalSystem"> <summary> LOCAL SYSTEM SID </summary> </member> <member name="P:NtApiDotNet.KnownSids.LocalService"> <summary> LOCAL SERVICE SID </summary> </member> <member name="P:NtApiDotNet.KnownSids.NetworkService"> <summary> NETWORK SERVICE SID </summary> </member> <member name="T:NtApiDotNet.ThreadImpersonationContext"> <summary> Disposable class to scope an impersonation context. </summary> </member> <member name="M:NtApiDotNet.ThreadImpersonationContext.Revert"> <summary> Revert impersonation back to the current user. </summary> </member> <member name="T:NtApiDotNet.UnicodeString"> <summary> Standard UNICODE_STRING class </summary> </member> <member name="T:NtApiDotNet.UnicodeStringOut"> <summary> This class is used when the UNICODE_STRING is an output parameter. The allocatation of the buffer is handled elsewhere. </summary> </member> <member name="T:NtApiDotNet.UnicodeStringAllocated"> <summary> This class is used when the UNICODE_STRING needs to be preallocated and then returned back from a caller. </summary> </member> <member name="T:NtApiDotNet.NtObjectUtils"> <summary> Static utility methods. </summary> </member> <member name="M:NtApiDotNet.NtObjectUtils.SafeHandleToArray(System.Runtime.InteropServices.SafeHandle,System.Int32)"> <summary> Convert the safe handle to an array of bytes. </summary> <returns>The data contained in the allocaiton.</returns> </member> <member name="M:NtApiDotNet.NtObjectUtils.ToNtException(NtApiDotNet.NtStatus)"> <summary> Convert an NtStatus to an exception if the status is an erro </summary> <param name="status">The NtStatus</param> <returns>The original NtStatus if not an error</returns> <exception cref="T:NtApiDotNet.NtException">Thrown if status is an error.</exception> </member> <member name="M:NtApiDotNet.NtObjectUtils.IsSuccess(NtApiDotNet.NtStatus)"> <summary> Checks if the NtStatus value is a success </summary> <param name="status">The NtStatus value</param> <returns>True if a success</returns> </member> </members> </doc> |