<?xml version="1.0"?>
<doc>
    <assembly>
        <name>NtApiDotNet</name>
    </assembly>
    <members>
        <member name="T:NtApiDotNet.AccessCheckResult`1">
            <summary>
            Result of an access check with specific access types.
            </summary>
            <typeparam name="T">The access rights type, must be derived from an Enum.</typeparam>
        </member>
        <member name="P:NtApiDotNet.AccessCheckResult`1.Status">
            <summary>
            The NT status code from the access check.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AccessCheckResult`1.GrantedAccess">
            <summary>
            The granted access mask from the check.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AccessCheckResult`1.GenericGrantedAccess">
            <summary>
            The granted access mapped to generic access mask.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AccessCheckResult`1.PrivilegesRequired">
            <summary>
            The required privileges for this access.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AccessCheckResult`1.SpecificGrantedAccess">
            <summary>
            The specific granted access mask from the check.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AccessCheckResult`1.SpecificGenericGrantedAccess">
            <summary>
            The specific granted access mapped to generic access mask.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AccessCheckResult`1.ObjectType">
            <summary>
            Object type associated with the access.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AccessCheckResult`1.Level">
            <summary>
            The level of the object type if used.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AccessCheckResult`1.Name">
            <summary>
            Optional name for the object type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AccessCheckResult`1.GenerateOnClose">
            <summary>
            When a result from an Audit Access Check indicates whether the
            an audit needs to be generated on close.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AccessCheckResult`1.IsSuccess">
            <summary>
            Whether the access check was a success.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AccessCheckResult`1.ToSpecificAccess``1">
            <summary>
            Get access check result as a specific access.
            </summary>
            <returns>The specific access results.</returns>
        </member>
        <member name="M:NtApiDotNet.AccessCheckResult`1.ToSpecificAccess(System.Type)">
            <summary>
            Get access check result as a specific access.
            </summary>
            <returns>The specific access.</returns>
        </member>
        <member name="T:NtApiDotNet.AccessCheckResult">
            <summary>
            Result of an access check.
            </summary>
        </member>
        <member name="T:NtApiDotNet.AccessCheckResultGeneric">
            <summary>
            Result of an access check with generic Enum access types.
            </summary>
        </member>
        <member name="T:NtApiDotNet.AccessMask">
            <summary>
            Structure for an NT access mask.
            </summary>
        </member>
        <member name="F:NtApiDotNet.AccessMask.Access">
            <summary>
            The access mask's access bits.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AccessMask.#ctor(System.UInt32)">
            <summary>
            Constructor.
            </summary>
            <param name="access">Access bits to use</param>
        </member>
        <member name="M:NtApiDotNet.AccessMask.op_Implicit(System.Int32)~NtApiDotNet.AccessMask">
            <summary>
            Implicit conversion from Int32.
            </summary>
            <param name="access">The access enumeration.</param>
        </member>
        <member name="M:NtApiDotNet.AccessMask.op_Implicit(System.UInt32)~NtApiDotNet.AccessMask">
            <summary>
            Implicit conversion from UInt32.
            </summary>
            <param name="access">The access enumeration.</param>
        </member>
        <member name="M:NtApiDotNet.AccessMask.op_Implicit(System.Enum)~NtApiDotNet.AccessMask">
            <summary>
            Implicit conversion from enumerations.
            </summary>
            <param name="access">The access enumeration.</param>
        </member>
        <member name="M:NtApiDotNet.AccessMask.ToGenericAccess">
            <summary>
            Convert access mask to a generic access object.
            </summary>
            <returns>The generic access mask</returns>
        </member>
        <member name="M:NtApiDotNet.AccessMask.ToMandatoryLabelPolicy">
            <summary>
            Convert access mask to a mandatory label policy
            </summary>
            <returns>The mandatory label policy</returns>
        </member>
        <member name="M:NtApiDotNet.AccessMask.ToSpecificAccess``1">
            <summary>
            Convert to a specific access right.
            </summary>
            <typeparam name="A">The specific access right.</typeparam>
            <returns>The converted value.</returns>
        </member>
        <member name="M:NtApiDotNet.AccessMask.ToSpecificAccess(System.Type)">
            <summary>
            Convert to a specific access right.
            </summary>
            <param name="enum_type">The type of enumeration to convert to.</param>
            <returns>The converted value.</returns>
        </member>
        <member name="P:NtApiDotNet.AccessMask.IsEmpty">
            <summary>
            Get whether this access mask is empty (i.e. it's 0)
            </summary>
        </member>
        <member name="P:NtApiDotNet.AccessMask.HasAccess">
            <summary>
            Get whether this access mask has no access rights, i.e. not empty.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AccessMask.HasGenericAccess">
            <summary>
            Get whether this access mask has generic access rights.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AccessMask.HasSpecificAccess">
            <summary>
            Get whether this access mask hash type specific access rights.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AccessMask.IsAccessGranted(NtApiDotNet.AccessMask)">
            <summary>
            Get whether the current access mask is granted specific permissions.
            </summary>
            <param name="mask">The access mask to check</param>
            <returns>True one or more access granted.</returns>
        </member>
        <member name="M:NtApiDotNet.AccessMask.IsAllAccessGranted(NtApiDotNet.AccessMask)">
            <summary>
            Get whether the current access mask is granted all specific permissions.
            </summary>
            <param name="mask">The access mask to check</param>
            <returns>True access all is granted.</returns>
        </member>
        <member name="M:NtApiDotNet.AccessMask.op_BitwiseAnd(NtApiDotNet.AccessMask,NtApiDotNet.AccessMask)">
            <summary>
            Bitwise AND operator.
            </summary>
            <param name="mask1">Access mask 1</param>
            <param name="mask2">Access mask 2</param>
            <returns>The new access mask.</returns>
        </member>
        <member name="M:NtApiDotNet.AccessMask.op_BitwiseOr(NtApiDotNet.AccessMask,NtApiDotNet.AccessMask)">
            <summary>
            Bitwise OR operator.
            </summary>
            <param name="mask1">Access mask 1</param>
            <param name="mask2">Access mask 2</param>
            <returns>The new access mask.</returns>
        </member>
        <member name="M:NtApiDotNet.AccessMask.op_BitwiseAnd(NtApiDotNet.AccessMask,System.UInt32)">
            <summary>
            Bitwise AND operator.
            </summary>
            <param name="mask1">Access mask 1</param>
            <param name="mask2">Access mask 2</param>
            <returns>The new access mask.</returns>
        </member>
        <member name="M:NtApiDotNet.AccessMask.op_BitwiseOr(NtApiDotNet.AccessMask,System.UInt32)">
            <summary>
            Bitwise OR operator.
            </summary>
            <param name="mask1">Access mask 1</param>
            <param name="mask2">Access mask 2</param>
            <returns>The new access mask.</returns>
        </member>
        <member name="M:NtApiDotNet.AccessMask.op_Equality(NtApiDotNet.AccessMask,NtApiDotNet.AccessMask)">
            <summary>
            Equality operator.
            </summary>
            <param name="mask1">Access mask 1</param>
            <param name="mask2">Access mask 2</param>
            <returns>True if equal.</returns>
        </member>
        <member name="M:NtApiDotNet.AccessMask.op_Inequality(NtApiDotNet.AccessMask,NtApiDotNet.AccessMask)">
            <summary>
            Inequality operator.
            </summary>
            <param name="mask1">Access mask 1</param>
            <param name="mask2">Access mask 2</param>
            <returns>True if equal.</returns>
        </member>
        <member name="M:NtApiDotNet.AccessMask.op_OnesComplement(NtApiDotNet.AccessMask)">
            <summary>
            Bitwise NOT operator.
            </summary>
            <param name="mask1">Access mask 1</param>
            <returns>The new access mask.</returns>
        </member>
        <member name="M:NtApiDotNet.AccessMask.GetHashCode">
            <summary>
            Overridden GetHashCode.
            </summary>
            <returns>The hash code.</returns>
        </member>
        <member name="M:NtApiDotNet.AccessMask.Equals(System.Object)">
            <summary>
            Overridden Equals.
            </summary>
            <param name="obj">The object to compare against.</param>
            <returns>True if equal.</returns>
        </member>
        <member name="P:NtApiDotNet.AccessMask.Empty">
            <summary>
            Get an empty access mask.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AccessMask.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The access mask.</returns>
        </member>
        <member name="M:NtApiDotNet.AccessMask.ToString(System.String)">
            <summary>
            ToString method.
            </summary>
            <param name="format">Format code for the access mask.</param>
            <returns>The formatting string.</returns>
        </member>
        <member name="M:NtApiDotNet.AccessMask.ToString(System.String,System.IFormatProvider)">
            <summary>
            ToString method.
            </summary>
            <param name="format">Format code for the access mask.</param>
            <param name="formatProvider">The format provider.</param>
            <returns>The formatting string.</returns>
        </member>
        <member name="T:NtApiDotNet.GenericAccessType">
            <summary>
            Flags representing what generic access the entry maps to.
            </summary>
        </member>
        <member name="F:NtApiDotNet.GenericAccessType.None">
            <summary>
            Not mapped to any access.
            </summary>
        </member>
        <member name="F:NtApiDotNet.GenericAccessType.Read">
            <summary>
            Mapped to read.
            </summary>
        </member>
        <member name="F:NtApiDotNet.GenericAccessType.Write">
            <summary>
            Mapped to write.
            </summary>
        </member>
        <member name="F:NtApiDotNet.GenericAccessType.Execute">
            <summary>
            Mapped to execute.
            </summary>
        </member>
        <member name="F:NtApiDotNet.GenericAccessType.All">
            <summary>
            Mapped to All.
            </summary>
        </member>
        <member name="T:NtApiDotNet.AccessMaskEntry">
            <summary>
            A structure to hold an access mask to enum mapping.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AccessMaskEntry.Mask">
            <summary>
            The access mask.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AccessMaskEntry.Value">
            <summary>
            The value of the access mask entry enumeration.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AccessMaskEntry.GenericAccess">
            <summary>
            The generic access this maps to.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AccessMaskEntry.SDKName">
            <summary>
            The optional SDK name.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AccessMaskEntry.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The string form of the entry.</returns>
        </member>
        <member name="T:NtApiDotNet.Ace">
            <summary>
            Class to represent an Access Control Entry (ACE)
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ace.IsAllowedAce">
            <summary>
            Check if the ACE is an allowed ACE.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ace.IsDeniedAce">
            <summary>
            Check if the ACE is a denied ACE.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ace.IsObjectAce">
            <summary>
            Check if the ACE is an Object ACE
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ace.IsCallbackAce">
            <summary>
            Check if the ACE is a callback ACE
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ace.IsConditionalAce">
            <summary>
            Check if ACE is a conditional ACE
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ace.IsResourceAttributeAce">
            <summary>
            Check if ACE is a resource attribute ACE.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ace.IsMandatoryLabel">
            <summary>
            Check if ACE is a mandatory label ACE.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ace.IsCompoundAce">
            <summary>
            Check if ACE is a compound ACE.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ace.IsAuditAce">
            <summary>
            Check if ACE is an audit ACE.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ace.IsAccessFilterAce">
            <summary>
            Check if ACE is an access filter ACE.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ace.IsProcessTrustLabelAce">
            <summary>
            Check if ACE is a process trust label ACE.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ace.IsCriticalAce">
            <summary>
            Check if ACE is a critical ACE.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ace.IsInheritOnly">
            <summary>
            Check if ACE is inherit only.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ace.IsObjectInherit">
            <summary>
            Check if ACE is inherited by objects.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ace.IsContainerInherit">
            <summary>
            Check if ACE is inherited by objects.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ace.Type">
            <summary>
            Get ACE type
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ace.Flags">
            <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.CompoundAceType">
            <summary>
            The type of compound ACE. When serialized always set to Impersonate.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ace.ServerSid">
            <summary>
            Get the client SID in a compound ACE.
            </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="P:NtApiDotNet.Ace.ApplicationData">
            <summary>
            Optional application data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ace.Condition">
            <summary>
            Get conditional check if a conditional ace.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ace.ResourceAttribute">
            <summary>
            Get or set resource attribute.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ace.#ctor(NtApiDotNet.AceType,NtApiDotNet.AceFlags,NtApiDotNet.AccessMask,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.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.Clone">
            <summary>
            Clone this ACE.
            </summary>
            <returns>The cloned ACE.</returns>
        </member>
        <member name="M:NtApiDotNet.Ace.IsAccessGranted(NtApiDotNet.AccessMask)">
            <summary>
            Get whether the current access mask is granted specific permissions.
            </summary>
            <param name="mask">The access mask to check</param>
            <returns>True one or more access granted.</returns>
        </member>
        <member name="M:NtApiDotNet.Ace.IsAllAccessGranted(NtApiDotNet.AccessMask)">
            <summary>
            Get whether the current access mask is granted all specific permissions.
            </summary>
            <param name="mask">The access mask to check</param>
            <returns>True access all is granted.</returns>
        </member>
        <member name="M:NtApiDotNet.Ace.GetObjectTypeName(System.String,System.Boolean)">
            <summary>
            Get the common name of the object type.
            </summary>
            <param name="domain">Specify the domain for the object type.</param>
            <param name="expand_property_list">If true then expand the list of properties.</param>
            <returns>The common name of the object type, or the GUID as a string.</returns>
            <remarks>This function could be quite slow to query the first time.</remarks>
        </member>
        <member name="M:NtApiDotNet.Ace.GetObjectTypeName(System.Boolean)">
            <summary>
            Get the common name of the object type.
            </summary>
            <param name="expand_property_list">If true then expand the list of properties.</param>
            <returns>The common name of the object type, or the GUID as a string.</returns>
            <remarks>This will query the local domain, it could be quite slow to query the first time.</remarks>
        </member>
        <member name="M:NtApiDotNet.Ace.GetObjectTypeName">
            <summary>
            Get the common name of the object type.
            </summary>
            <returns>The common name of the object type, or the GUID as a string.</returns>
            <remarks>This will query the local domain, it could be quite slow to query the first time.</remarks>
        </member>
        <member name="M:NtApiDotNet.Ace.GetInheritedObjectTypeName(System.String)">
            <summary>
            Get the common name of the inherited object type.
            </summary>
            <param name="domain">Specify the domain for the object type.</param>
            <returns>The common name of the object type, or the GUID as a string.</returns>
            <remarks>This function could be quite slow to query the first time.</remarks>
        </member>
        <member name="M:NtApiDotNet.Ace.GetInheritedObjectTypeName">
            <summary>
            Get the common name of the inherited object type.
            </summary>
            <returns>The common name of the object type, or the GUID as a string.</returns>
            <remarks>This will query the local domain, it could be quite slow to query the first time.</remarks>
        </member>
        <member name="M:NtApiDotNet.Ace.ToByteArray">
            <summary>
            Convert the ACE to a byte array.
            </summary>
            <returns>The ACE as a byte array.</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="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.Byte[],System.Boolean)">
            <summary>
            Constructor
            </summary>
            <param name="acl">Buffer containing an 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="M:NtApiDotNet.Acl.#ctor(System.String)">
            <summary>
            Constructor.
            </summary>
            <param name="sddl">An SDDL string to create the DACL from.</param>
            <remarks>The SDDL string should be of the form D:(...) or S:(...), if you specify
            both a DACL and a SACL then only the DACL will be used.</remarks>
        </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.Add(NtApiDotNet.Ace)">
            <summary>
            Add an ace to the ACL
            </summary>
            <param name="ace">The ACE to add</param>
        </member>
        <member name="M:NtApiDotNet.Acl.AddAccessAllowedAce(NtApiDotNet.AccessMask,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(NtApiDotNet.AccessMask,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.AccessMask,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(NtApiDotNet.AccessMask,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(NtApiDotNet.AccessMask,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.AccessMask,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.AccessMask,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.AccessMask,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.AddAuditAce(NtApiDotNet.AccessMask,NtApiDotNet.AceFlags,System.String)">
            <summary>
            Add an audit 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.AddAuditAce(NtApiDotNet.AccessMask,NtApiDotNet.AceFlags,NtApiDotNet.Sid)">
            <summary>
            Add an audit 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.AddAuditSuccessAce(NtApiDotNet.AccessMask,System.String)">
            <summary>
            Add an audit success 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.AddAuditSuccessAce(NtApiDotNet.AccessMask,NtApiDotNet.Sid)">
            <summary>
            Add an audit success 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.AddAuditFailAce(NtApiDotNet.AccessMask,System.String)">
            <summary>
            Add an audit fail 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.AddAuditFailAce(NtApiDotNet.AccessMask,NtApiDotNet.Sid)">
            <summary>
            Add an audit fail 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(System.Boolean)">
            <summary>
            Gets an indication if this ACL is canonical.
            </summary>
            <remarks>Canonical means that deny ACEs are before allow ACEs.</remarks>
            <param name="dacl">True to canonicalize a DACL, otherwise a SACL.</param>
            <returns>True if the ACL is canonical.</returns>
        </member>
        <member name="M:NtApiDotNet.Acl.IsCanonical">
            <summary>
            Gets an indication if this DACL 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(System.Boolean)">
            <summary>
            Canonicalize the ACL.
            </summary>
            <param name="dacl">True to canonicalize a DACL, otherwise a SACL.</param>
        </member>
        <member name="M:NtApiDotNet.Acl.Canonicalize">
            <summary>
            Canonicalize the ACL (for use on DACLs only).
            </summary>
            <returns>The canonical ACL.</returns>
        </member>
        <member name="M:NtApiDotNet.Acl.FindAce(NtApiDotNet.AceType,System.Boolean)">
            <summary>
            Find the first ACE with a specified type.
            </summary>
            <param name="type">The type to find.</param>
            <param name="include_inherit_only">True to include inherit only ACEs.</param>
            <returns>The found ace. Returns null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Acl.FindAce(NtApiDotNet.AceType)">
            <summary>
            Find the first ACE with a specified type. Includes InheritOnly ACEs.
            </summary>
            <param name="type">The type to find.</param>
            <returns>The found ace. Returns null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Acl.FindAllAce(NtApiDotNet.AceType,System.Boolean)">
            <summary>
            Find the all ACE with a specified type.
            </summary>
            <param name="type">The type to find.</param>
            <param name="include_inherit_only">True to include inherit only ACEs.</param>
            <returns>The found aces.</returns>
        </member>
        <member name="M:NtApiDotNet.Acl.FindAllAce(NtApiDotNet.AceType)">
            <summary>
            Find the all ACE with a specified type. Includes InheritOnly ACEs.
            </summary>
            <param name="type">The type to find.</param>
            <returns>The found aces.</returns>
        </member>
        <member name="M:NtApiDotNet.Acl.FindLastAce(NtApiDotNet.AceType)">
            <summary>
            Find the last ACE with a specified type.
            </summary>
            <param name="type">The type to find.</param>
            <returns>The found ace. Returns null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Acl.Clone">
            <summary>
            Clone the ACL. Also clones all ACEs.
            </summary>
            <returns>The cloned ACL.</returns>
        </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.Protected">
            <summary>
            Get or set the protected flag.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Acl.AutoInherited">
            <summary>
            Get or set the auto-inherited flag.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Acl.AutoInheritReq">
            <summary>
            Get or set the auto-inherited required flag.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Acl.Revision">
            <summary>
            Get or set the ACL revision
            </summary>
        </member>
        <member name="P:NtApiDotNet.Acl.HasConditionalAce">
            <summary>
            Indicates the ACL has at least one conditional ACE.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Acl.HasObjectAce">
            <summary>
            Indicates the ACL has at least one object ACE.
            </summary>
        </member>
        <member name="T:NtApiDotNet.AlpcMessage">
            <summary>
            Base class to represent an ALPC message.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcMessage.#ctor(NtApiDotNet.AlpcPortMessage)">
            <summary>
            Constructor.
            </summary>
            <param name="header">The port message header.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcMessage.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcMessage.UpdateHeaderLength(System.Int32,System.Int32)">
            <summary>
            Update the header length fields.
            </summary>
            <param name="data_length">The length of the valid data.</param>
            <param name="allocated_data_length">The maximum data length supported by the packet.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcMessage.OnToSafeBuffer(NtApiDotNet.SafeAlpcPortMessageBuffer)">
            <summary>
            Method to handle when ToSafeBuffer is called.
            </summary>
            <param name="buffer">The message buffer being created.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcMessage.OnFromSafeBuffer(NtApiDotNet.SafeAlpcPortMessageBuffer,NtApiDotNet.NtAlpc)">
            <summary>
            Method to handle when FromSafeBuffer is called.
            </summary>
            <param name="buffer">The message buffer to initialize from..</param>
            <param name="port">The ALPC port associated with this message.</param>
        </member>
        <member name="P:NtApiDotNet.AlpcMessage.Header">
            <summary>
            Get or set the header.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcMessage.ProcessId">
            <summary>
            The process ID of the sender.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcMessage.ThreadId">
            <summary>
            The thread ID of the sender.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcMessage.TotalLength">
            <summary>
            Get total length of the message.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcMessage.AllocatedDataLength">
            <summary>
            Get the allocated data length for the message.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcMessage.DataLength">
            <summary>
            Get data length of the message.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcMessage.MessageId">
            <summary>
            Get the message ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcMessage.CallbackId">
            <summary>
            Get the callback ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcMessage.MessageType">
            <summary>
            Get the message type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcMessage.MessageTypeFlags">
            <summary>
            Get additional flags on message type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcMessage.ContinuationRequired">
            <summary>
            Indicates that the message requires a reply (otherwise things can leak).
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcMessage.RequiresReply">
            <summary>
            Indicates that the message requires a reply (obsolete).
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcMessage.DirectStatus">
            <summary>
            Get direct status for the message.
            </summary>
            <returns>The direct status for the message. Returns STATUS_PENDING if the message is yet to be processed.</returns>
        </member>
        <member name="P:NtApiDotNet.AlpcMessage.MaximumDataLength">
            <summary>
            Get the maximum size of a message minus the header size.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcMessage.ToSafeBuffer">
            <summary>
            Create a safe buffer for this message.
            </summary>
            <returns>The safe buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.AlpcMessage.QueryInformation(NtApiDotNet.NtAlpc,NtApiDotNet.AlpcMessageInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Int32@)">
            <summary>
            Method to query information for a message.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="port">The port which has processed the message.</param>
            <param name="buffer">The buffer to return data in.</param>
            <param name="return_length">Return length from the query.</param>
            <returns>The NT status code for the query.</returns>
        </member>
        <member name="M:NtApiDotNet.AlpcMessage.Query``1(NtApiDotNet.NtAlpc,NtApiDotNet.AlpcMessageInformationClass,``0,System.Boolean)">
            <summary>
            Query a fixed structure from the object.
            </summary>
            <typeparam name="T">The type of structure to return.</typeparam>
            <param name="info_class">The information class to query.</param>
            <param name="port">The port which has processed the message.</param>
            <param name="default_value">A default value for the query.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.AlpcMessage.Query``1(NtApiDotNet.NtAlpc,NtApiDotNet.AlpcMessageInformationClass,``0)">
            <summary>
            Query a fixed structure from the object.
            </summary>
            <typeparam name="T">The type of structure to return.</typeparam>
            <param name="port">The port which has processed the message.</param>
            <param name="info_class">The information class to query.</param>
            <param name="default_value">A default value for the query.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.AlpcMessage.Query``1(NtApiDotNet.NtAlpc,NtApiDotNet.AlpcMessageInformationClass)">
            <summary>
            Query a fixed structure from the object.
            </summary>
            <typeparam name="T">The type of structure to return.</typeparam>
            <param name="port">The port which has processed the message.</param>
            <param name="info_class">The information class to query.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="T:NtApiDotNet.AlpcMessageRaw">
            <summary>
            An ALPC message which holds a raw set of bytes.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcMessageRaw.#ctor(System.Byte[],System.Int32,System.Text.Encoding)">
            <summary>
            Constructor.
            </summary>
            <param name="data">Data to initialize the message with.</param>
            <param name="allocated_data_length">Maximum length of the message buffer.</param>
            <param name="encoding">Specify a text encoding for the DataString property.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcMessageRaw.#ctor(System.Byte[],System.Int32)">
            <summary>
            Constructor.
            </summary>
            <param name="data">Data to initialize the message with.</param>
            <param name="allocated_data_length">Maximum length of the message buffer.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcMessageRaw.#ctor(System.Byte[])">
            <summary>
            Constructor.
            </summary>
            <param name="data">Data to initialize the message with.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcMessageRaw.#ctor(System.Byte[],System.Text.Encoding)">
            <summary>
            Constructor.
            </summary>
            <param name="data">Data to initialize the message with.</param>
            <param name="encoding">Specify a text encoding for the DataString property.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcMessageRaw.#ctor(System.Int32)">
            <summary>
            Constructor.
            </summary>
            <param name="allocated_data_length">Total allocated length of the message buffer.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcMessageRaw.#ctor(System.Int32,System.Text.Encoding)">
            <summary>
            Constructor.
            </summary>
            <param name="allocated_data_length">Total allocated length of the message buffer.</param>
            <param name="encoding">Specify a text encoding for the DataString property.</param>
        </member>
        <member name="P:NtApiDotNet.AlpcMessageRaw.Data">
            <summary>
            Get or set the message data.
            </summary>
            <remarks>When you set the data it'll update the DataLength and TotalLength fields.</remarks>
        </member>
        <member name="P:NtApiDotNet.AlpcMessageRaw.DataString">
            <summary>
            Get or set the message data as an encoding string.
            </summary>
            <remarks>When you set the data it'll update the DataLength and TotalLength fields.</remarks>
        </member>
        <member name="P:NtApiDotNet.AlpcMessageRaw.Encoding">
            <summary>
            Get or set the text encoding in this raw message.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcMessageRaw.OnFromSafeBuffer(NtApiDotNet.SafeAlpcPortMessageBuffer,NtApiDotNet.NtAlpc)">
            <summary>
            Method to handle when FromSafeBuffer is called.
            </summary>
            <param name="buffer">The message buffer to initialize from..</param>
            <param name="port">The ALPC port associated with this message.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcMessageRaw.OnToSafeBuffer(NtApiDotNet.SafeAlpcPortMessageBuffer)">
            <summary>
            Method to handle when ToSafeBuffer is called.
            </summary>
            <param name="buffer">The message buffer being created.</param>
        </member>
        <member name="T:NtApiDotNet.AlpcMessageType`1">
            <summary>
            An ALPC message which holds a specific type with optional trailing data.
            </summary>
            <typeparam name="T">The type representing the data.</typeparam>
        </member>
        <member name="M:NtApiDotNet.AlpcMessageType`1.#ctor">
            <summary>
            Constructor for a receive buffer.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcMessageType`1.#ctor(System.Int32)">
            <summary>
            Constructor for a receive buffer.
            </summary>
            <param name="total_length">Length of message. This will be rounded up to at least accomodate the header.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcMessageType`1.#ctor(`0,System.Byte[])">
            <summary>
            Constructor for a send/receive buffer.
            </summary>
            <param name="value">The initial value to set.</param>
            <param name="trailing">Trailing data.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcMessageType`1.#ctor(`0)">
            <summary>
            Constructor for a send/receive buffer.
            </summary>
            <param name="value">The initial value to set.</param>
        </member>
        <member name="P:NtApiDotNet.AlpcMessageType`1.Value">
            <summary>
            Get or set the type in the buffer.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcMessageType`1.Trailing">
            <summary>
            Get or set any trailing data after the value.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcMessageType`1.OnFromSafeBuffer(NtApiDotNet.SafeAlpcPortMessageBuffer,NtApiDotNet.NtAlpc)">
            <summary>
            Method to handle when FromSafeBuffer is called.
            </summary>
            <param name="buffer">The message buffer to initialize from..</param>
            <param name="port">The ALPC port associated with this message.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcMessageType`1.OnToSafeBuffer(NtApiDotNet.SafeAlpcPortMessageBuffer)">
            <summary>
            Method to handle when ToSafeBuffer is called.
            </summary>
            <param name="buffer">The message buffer being created.</param>
        </member>
        <member name="T:NtApiDotNet.AlpcSendMessageAttributes">
            <summary>
            Class to represent a set of sending attributes.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcSendMessageAttributes.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcSendMessageAttributes.#ctor(System.Collections.Generic.IEnumerable{NtApiDotNet.AlpcMessageAttribute})">
            <summary>
            Constructor.
            </summary>
            <param name="attributes">List of attributes to send.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcSendMessageAttributes.Add(NtApiDotNet.AlpcMessageAttribute)">
            <summary>
            Add an attribute object.
            </summary>
            <param name="attribute">The attribute to add.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcSendMessageAttributes.Remove(NtApiDotNet.AlpcMessageAttributeFlags)">
            <summary>
            Remove an attribute object.
            </summary>
            <param name="flag">The attribute flag to remove.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcSendMessageAttributes.Remove(NtApiDotNet.AlpcMessageAttribute)">
            <summary>
            Remove an attribute object.
            </summary>
            <param name="attribute">The attribute to remove.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcSendMessageAttributes.AddHandles(System.Collections.Generic.IEnumerable{NtApiDotNet.NtObject})">
            <summary>
            Add a list of handles to the send attributes.
            </summary>
            <param name="objects">The list of objects.</param>
            <remarks>This method doesn't maintain a reference to the objects. You need to keep them alive elsewhere.</remarks>
        </member>
        <member name="M:NtApiDotNet.AlpcSendMessageAttributes.AddHandles(System.Collections.Generic.IEnumerable{NtApiDotNet.AlpcHandleMessageAttributeEntry})">
            <summary>
            Add a list of handles to the send attributes.
            </summary>
            <param name="handles">The list of handles.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcSendMessageAttributes.AddHandle(NtApiDotNet.NtObject)">
            <summary>
            Add a list of handles to the send attributes.
            </summary>
            <param name="handle">The handle to add.</param>
            <remarks>This method doesn't maintain a reference to the objects. You need to keep them alive elsewhere.</remarks>
        </member>
        <member name="M:NtApiDotNet.AlpcSendMessageAttributes.AddHandle(NtApiDotNet.AlpcHandleMessageAttributeEntry)">
            <summary>
            Add a list of handles to the send attributes.
            </summary>
            <param name="handle">The handle to add.</param>
        </member>
        <member name="P:NtApiDotNet.AlpcSendMessageAttributes.AllocatedAttributes">
            <summary>
            Get the allocated attributes.
            </summary>
        </member>
        <member name="T:NtApiDotNet.AlpcReceiveMessageAttributes">
            <summary>
            Class to represent a set of received attributes.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcReceiveMessageAttributes.#ctor">
            <summary>
            Constructor. Allocated space for all known attributes.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcReceiveMessageAttributes.#ctor(NtApiDotNet.AlpcMessageAttributeFlags)">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcReceiveMessageAttributes.AllocatedAttributes">
            <summary>
            Get the allocated attributes.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcReceiveMessageAttributes.ValidAttributes">
            <summary>
            Get the list of valid attributes.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcReceiveMessageAttributes.Attributes">
            <summary>
            Get a list of the valid attributes.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcReceiveMessageAttributes.Handles">
            <summary>
            Get list of passed handles.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcReceiveMessageAttributes.DataView">
            <summary>
            Get the mapped data view. If no view sent this property is invalid.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcReceiveMessageAttributes.SecurityContext">
            <summary>
            Get the security context. If no security context this property is invalid.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcReceiveMessageAttributes.Dispose">
            <summary>
            Dispose method.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcReceiveMessageAttributes.GetAttribute``1">
            <summary>
            Get a typed attribute.
            </summary>
            <typeparam name="T">The type of attribute to get.</typeparam>
            <returns>The attribute. Returns a default initialized object if not valid.</returns>
        </member>
        <member name="M:NtApiDotNet.AlpcReceiveMessageAttributes.GetAttribute(NtApiDotNet.AlpcMessageAttributeFlags)">
            <summary>
            Get an attribute.
            </summary>
            <param name="flag">The attribute flag to get.</param>
            <returns>The attribute. Returns null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.AlpcReceiveMessageAttributes.ToSendAttributes">
            <summary>
            Convert this set of attributes to a buffer to send.
            </summary>
            <returns>The send attributes.</returns>
        </member>
        <member name="M:NtApiDotNet.AlpcReceiveMessageAttributes.ToContinuationAttributes(NtApiDotNet.AlpcMessageAttributeFlags)">
            <summary>
            Convert this set of attributes to one which can be used to free on continuation required.
            </summary>
            <param name="attributes">The attributes to </param>
            <returns>The send attributes.</returns>
        </member>
        <member name="M:NtApiDotNet.AlpcReceiveMessageAttributes.HasValidAttribute(NtApiDotNet.AlpcMessageAttributeFlags)">
            <summary>
            Checks if an attribute flag is valid.
            </summary>
            <param name="attribute">The attribute to test.</param>
            <returns>True if the attribute is value.</returns>
        </member>
        <member name="T:NtApiDotNet.AlpcMessageAttribute">
            <summary>
            Base class to represent a message attribute.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcMessageAttribute.AttributeFlag">
            <summary>
            The flag for this attribute.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcMessageAttribute.#ctor(NtApiDotNet.AlpcMessageAttributeFlags)">
            <summary>
            Constructor.
            </summary>
            <param name="attribute_flag">The single attribute flag which this represents.</param>
        </member>
        <member name="T:NtApiDotNet.AlpcSecurityMessageAttribute">
            <summary>
            Class representing a security message attribute.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcSecurityMessageAttribute.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcSecurityMessageAttribute.Flags">
            <summary>
            Security attribute flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcSecurityMessageAttribute.SecurityQoS">
            <summary>
            Security quality of service.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcSecurityMessageAttribute.ContextHandle">
            <summary>
            Context handle.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcSecurityMessageAttribute.CreateHandleAttribute(NtApiDotNet.SecurityQualityOfService)">
            <summary>
            Create an attribute which with create a handle automatically.
            </summary>
            <param name="security_quality_of_service">The security quality of service.</param>
            <returns>The security message attribute.</returns>
        </member>
        <member name="T:NtApiDotNet.AlpcTokenMessageAttribute">
            <summary>
            Class representing a security message attribute.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcTokenMessageAttribute.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcTokenMessageAttribute.TokenId">
            <summary>
            Token ID of token.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcTokenMessageAttribute.AuthenticationId">
            <summary>
            Authentication ID of token.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcTokenMessageAttribute.ModifiedId">
            <summary>
            Modified ID of token
            </summary>
        </member>
        <member name="T:NtApiDotNet.AlpcContextMessageAttribute">
            <summary>
            Class representing a security message attribute.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcContextMessageAttribute.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcContextMessageAttribute.PortContext">
            <summary>
            Port context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcContextMessageAttribute.MessageContext">
            <summary>
            Message context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcContextMessageAttribute.Sequence">
            <summary>
            Sequence number.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcContextMessageAttribute.MessageId">
            <summary>
            Message ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcContextMessageAttribute.CallbackId">
            <summary>
            Callback ID.
            </summary>
        </member>
        <member name="T:NtApiDotNet.AlpcDataViewMessageAttribute">
            <summary>
            Class representing a data view message attribute.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcDataViewMessageAttribute.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcDataViewMessageAttribute.Flags">
            <summary>
            View flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcDataViewMessageAttribute.SectionHandle">
            <summary>
            Handle to section.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcDataViewMessageAttribute.ViewBase">
            <summary>
            View base.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcDataViewMessageAttribute.ViewSize">
            <summary>
            View size.
            </summary>
        </member>
        <member name="T:NtApiDotNet.AlpcHandleMessageAttributeEntry">
            <summary>
            Handle attribute entry.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcHandleMessageAttributeEntry.Flags">
            <summary>
            Handle flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcHandleMessageAttributeEntry.Handle">
            <summary>
            The NT object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcHandleMessageAttributeEntry.ObjectType">
            <summary>
            The object type for the handle.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcHandleMessageAttributeEntry.DesiredAccess">
            <summary>
            Desired access for the handle.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcHandleMessageAttributeEntry.#ctor(NtApiDotNet.AlpcHandleAttr)">
            <summary>
            Constructor.
            </summary>
            <param name="attr">Handle attribute to initialize from.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcHandleMessageAttributeEntry.#ctor(NtApiDotNet.AlpcHandleAttr32)">
            <summary>
            Constructor.
            </summary>
            <param name="attr">Handle attribute to initialize from.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcHandleMessageAttributeEntry.#ctor(NtApiDotNet.AlpcMessageHandleInformation)">
            <summary>
            Constructor.
            </summary>
            <param name="info">Information structure to initialize from.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcHandleMessageAttributeEntry.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcHandleMessageAttributeEntry.#ctor(NtApiDotNet.NtObject)">
            <summary>
            Constructor.
            </summary>
            <param name="obj">The object to construct the entry from. Will take a copy of the handle.</param>
        </member>
        <member name="T:NtApiDotNet.AlpcHandleMessageAttribute">
            <summary>
            Class representing a handle message attribute.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcHandleMessageAttribute.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcHandleMessageAttribute.#ctor(System.Collections.Generic.IEnumerable{NtApiDotNet.AlpcHandleMessageAttributeEntry})">
            <summary>
            Constructor.
            </summary>
            <param name="handles">List of handle entries.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcHandleMessageAttribute.#ctor(NtApiDotNet.AlpcHandleMessageAttributeEntry)">
            <summary>
            Constructor.
            </summary>
            <param name="handle">The handle entry.</param>
        </member>
        <member name="M:NtApiDotNet.AlpcHandleMessageAttribute.#ctor(System.Collections.Generic.IEnumerable{NtApiDotNet.NtObject})">
            <summary>
            Constructor.
            </summary>
            <param name="objs">List of objects to create the handle entries.</param>
            <remarks>This constructor takes copies of the objects.</remarks>
        </member>
        <member name="M:NtApiDotNet.AlpcHandleMessageAttribute.#ctor(NtApiDotNet.NtObject)">
            <summary>
            Constructor.
            </summary>
            <param name="obj">A single object to send.</param>
            <remarks>This constructor takes copies of the object.</remarks>
        </member>
        <member name="P:NtApiDotNet.AlpcHandleMessageAttribute.Handles">
            <summary>
            List of handles in this attribute.
            </summary>
        </member>
        <member name="T:NtApiDotNet.AlpcDirectMessageAttribute">
            <summary>
            Class representing a direct message attribute.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcDirectMessageAttribute.#ctor(NtApiDotNet.NtEvent)">
            <summary>
            Constructor.
            </summary>
            <param name="event_object">The event object.</param>
        </member>
        <member name="P:NtApiDotNet.AlpcDirectMessageAttribute.Event">
            <summary>
            The event object.
            </summary>
        </member>
        <member name="T:NtApiDotNet.AlpcWorkOnBehalfMessageAttribute">
            <summary>
            Class representing a work on behalf of message attribute.
            </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcWorkOnBehalfMessageAttribute.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcWorkOnBehalfMessageAttribute.ThreadId">
            <summary>
            Thread ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcWorkOnBehalfMessageAttribute.ThreadCreationTimeLow">
            <summary>
            Thread creation time (low).
            </summary>
        </member>
        <member name="T:NtApiDotNet.SafeAlpcMessageAttributesBuffer">
            <summary>
            Safe buffer to store an allocated set of ALPC atributes.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeAlpcMessageAttributesBuffer.GetAttributePointer(NtApiDotNet.AlpcMessageAttributeFlags)">
            <summary>
            Get a pointer to an allocated attribute. Returns NULL if not available.
            </summary>
            <param name="attribute">The attribute to get.</param>
            <returns>The pointer to the attribute buffer, IntPtr.Zero if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.SafeAlpcMessageAttributesBuffer.GetAttribute``1(NtApiDotNet.AlpcMessageAttributeFlags)">
            <summary>
            Get an attribute as a structured type.
            </summary>
            <typeparam name="T">The attribute type.</typeparam>
            <param name="attribute">The attribute.</param>
            <returns>A buffer which represents the structured type.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if attribute doesn't exist.</exception>
        </member>
        <member name="M:NtApiDotNet.SafeAlpcMessageAttributesBuffer.Create(NtApiDotNet.AlpcMessageAttributeFlags)">
            <summary>
            Create a new buffer with allocations for a specified set of attributes.
            </summary>
            <param name="flags">The attributes to allocate.</param>
            <returns>The allocated buffed.</returns>
        </member>
        <member name="M:NtApiDotNet.SafeAlpcMessageAttributesBuffer.Dispose(System.Boolean)">
            <summary>
            Dispose the safe buffer.
            </summary>
            <param name="disposing">True if disposing</param>
        </member>
        <member name="M:NtApiDotNet.SafeAlpcMessageAttributesBuffer.Detach">
            <summary>
            Detaches the current buffer and allocates a new one.
            </summary>
            <returns>The detached buffer.</returns>
            <remarks>The original buffer will become invalid after this call.</remarks>
        </member>
        <member name="P:NtApiDotNet.SafeAlpcMessageAttributesBuffer.Null">
            <summary>
            Get the NULL buffer.
            </summary>
        </member>
        <member name="T:NtApiDotNet.AlpcPortSection">
            <summary>
            Class to represent an ALPC port section.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcPortSection.Handle">
            <summary>
            Handle to the port section.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcPortSection.Size">
            <summary>
            Size of the port section.
            </summary>
        </member>
        <member name="P:NtApiDotNet.AlpcPortSection.ActualSectionSize">
             <summary>
            The actual section size.
             </summary>
        </member>
        <member name="M:NtApiDotNet.AlpcPortSection.CreateSectionView(NtApiDotNet.AlpcDataViewAttrFlags,System.Int64,System.Boolean)">
            <summary>
            Create a new section view attribute.
            </summary>
            <param name="flags">Specify the flags for the data view attribute.</param>
            <param name="view_size">The section view size.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The section view attribute.</returns>
        </member>
        <member name="M:NtApiDotNet.AlpcPortSection.CreateSectionView(System.Boolean)">
            <summary>
            Create a new section view attribute.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The section view attribute.</returns>
        </member>
        <member name="M:NtApiDotNet.AlpcPortSection.CreateSectionView(NtApiDotNet.AlpcDataViewAttrFlags,System.Int64)">
            <summary>
            Create a new section view attribute.
            </summary>
            <param name="flags">Specify the flags for the data view attribute.</param>
            <param name="view_size">The section view size.</param>
            <returns>The section view attribute.</returns>
        </member>
        <member name="M:NtApiDotNet.AlpcPortSection.CreateSectionView">
            <summary>
            Create a new section view attribute.
            </summary>
            <returns>The section view attribute.</returns>
        </member>
        <member name="M:NtApiDotNet.AlpcPortSection.Dispose">
            <summary>
            Dispose of the port section.
            </summary>
        </member>
        <member name="T:NtApiDotNet.SupportedVersion">
            <summary>
            Supported windows verion
            </summary>
        </member>
        <member name="F:NtApiDotNet.SupportedVersion.Windows10_Latest">
            <summary>
            This should always be at the end.
            </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="P:NtApiDotNet.DataStartAttribute.IncludeDataField">
            <summary>
            When allocating this structure always include the field in the total length calculation.
            </summary>
        </member>
        <member name="T:NtApiDotNet.ApiSet.ApiSetEntry">
            <summary>
            Class to represent an API set entry.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ApiSet.ApiSetEntry.Flags">
            <summary>
            Flags for the entry.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ApiSet.ApiSetEntry.Name">
            <summary>
            The name of the API set.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ApiSet.ApiSetEntry.HostModule">
            <summary>
            The default host module.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ApiSet.ApiSetEntry.HashName">
            <summary>
            Hash version of the name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ApiSet.ApiSetEntry.Hosts">
            <summary>
            List of hosts.
            </summary>
        </member>
        <member name="M:NtApiDotNet.ApiSet.ApiSetEntry.GetHostModule(System.String)">
            <summary>
            Get host module for an import module.
            </summary>
            <param name="import_module"></param>
            <returns></returns>
        </member>
        <member name="T:NtApiDotNet.ApiSet.ApiSetHost">
            <summary>
            Represents a single API set host.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ApiSet.ApiSetHost.ImportModule">
            <summary>
            The imported module this API set host applies to.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ApiSet.ApiSetHost.HostModule">
            <summary>
            The module which implements this API set.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ApiSet.ApiSetHost.DefaultHost">
            <summary>
            Is the host the default host.
            </summary>
        </member>
        <member name="T:NtApiDotNet.ApiSet.ApiSetFlags">
            <summary>
            Flags for API set namespace.
            </summary>
        </member>
        <member name="F:NtApiDotNet.ApiSet.ApiSetFlags.None">
            <summary>
            None.
            </summary>
        </member>
        <member name="F:NtApiDotNet.ApiSet.ApiSetFlags.Sealed">
            <summary>
            The API set is sealed.
            </summary>
        </member>
        <member name="F:NtApiDotNet.ApiSet.ApiSetFlags.Extension">
            <summary>
            The API set is an extension.
            </summary>
        </member>
        <member name="T:NtApiDotNet.ApiSet.ApiSetNamespace">
            <summary>
            Class to represent an API set namespace.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ApiSet.ApiSetNamespace.Flags">
            <summary>
            Flags for the namespace.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ApiSet.ApiSetNamespace.Entries">
            <summary>
            List of API set entries.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ApiSet.ApiSetNamespace.Current">
            <summary>
            Get API set namespace from current process.
            </summary>
        </member>
        <member name="M:NtApiDotNet.ApiSet.ApiSetNamespace.GetApiSet(System.String)">
            <summary>
            Gets an API set based on its name.
            </summary>
            <param name="name">The API set name.</param>
            <returns>The API set entry. Returns null if not found.</returns>
        </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.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.ToBuffer(System.Byte[])">
            <summary>
            Create a buffer based on a byte array.
            </summary>
            <param name="value">The byte array for the buffer.</param>
            <returns>The safe buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.BufferUtils.ToBuffer``1(``0[])">
            <summary>
            Create an buffer from an array.
            </summary>
            <typeparam name="T">The array element type, must be a value type.</typeparam>
            <param name="value">The array of elements.</param>
            <returns>The allocated array buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.BufferUtils.ReadNulTerminatedUnicodeString(System.Runtime.InteropServices.SafeBuffer,System.UInt64)">
            <summary>
            Read a NUL terminated string for the byte offset.
            </summary>
            <param name="buffer">The buffer to read from.</param>
            <param name="byte_offset">The byte offset to read from.</param>
            <returns>The string read from the buffer without the NUL terminator</returns>
        </member>
        <member name="M:NtApiDotNet.BufferUtils.ReadNulTerminatedAnsiString(System.Runtime.InteropServices.SafeBuffer,System.UInt64,System.Text.Encoding)">
            <summary>
            Read a NUL terminated byte string for the byte offset.
            </summary>
            <param name="buffer">The buffer to read from.</param>
            <param name="byte_offset">The byte offset to read from.</param>
            <param name="encoding">Text encoding for the string.</param>
            <returns>The string read from the buffer without the NUL terminator</returns>
        </member>
        <member name="M:NtApiDotNet.BufferUtils.ReadNulTerminatedAnsiString(System.Runtime.InteropServices.SafeBuffer,System.UInt64)">
            <summary>
            Read a NUL terminated ANSI string for the byte offset.
            </summary>
            <param name="buffer">The buffer to read from.</param>
            <param name="byte_offset">The byte offset to read from.</param>
            <returns>The string read from the buffer without the NUL terminator</returns>
        </member>
        <member name="M:NtApiDotNet.BufferUtils.ReadCharArray(System.Runtime.InteropServices.SafeBuffer,System.UInt64,System.Int32)">
            <summary>
            Read a char array with length.
            </summary>
            <param name="buffer">The buffer to read from.</param>
            <param name="count">The number of characters to read.</param>
            <param name="byte_offset">The byte offset to read from.</param>
            <returns>The chars read from the buffer</returns>
        </member>
        <member name="M:NtApiDotNet.BufferUtils.ReadUnicodeString(System.Runtime.InteropServices.SafeBuffer,System.UInt64,System.Int32)">
            <summary>
            Read a Unicode string string with length.
            </summary>
            <param name="buffer">The buffer to read from.</param>
            <param name="count">The number of characters to read.</param>
            <param name="byte_offset">The byte offset to read from.</param>
            <returns>The string read from the buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.BufferUtils.WriteCharArray(System.Runtime.InteropServices.SafeBuffer,System.UInt64,System.Char[])">
            <summary>
            Write char array.
            </summary>
            <param name="buffer">The buffer to write to.</param>
            <param name="byte_offset">The byte offset to write to.</param>
            <param name="value">The chars to write.</param>
        </member>
        <member name="M:NtApiDotNet.BufferUtils.WriteUnicodeString(System.Runtime.InteropServices.SafeBuffer,System.UInt64,System.String)">
            <summary>
            Write unicode string.
            </summary>
            <param name="buffer">The buffer to write to.</param>
            <param name="byte_offset">The byte offset to write to.</param>
            <param name="value">The string value to write.</param>
        </member>
        <member name="M:NtApiDotNet.BufferUtils.ReadBytes(System.Runtime.InteropServices.SafeBuffer,System.UInt64,System.Int32)">
            <summary>
            Read bytes from buffer.
            </summary>
            <param name="buffer">The buffer to read from.</param>
            <param name="byte_offset">The byte offset to read from.</param>
            <param name="count">The number of bytes to read.</param>
            <returns>The byte array.</returns>
        </member>
        <member name="M:NtApiDotNet.BufferUtils.WriteBytes(System.Runtime.InteropServices.SafeBuffer,System.UInt64,System.Byte[])">
            <summary>
            Write bytes to a buffer.
            </summary>
            <param name="buffer">The buffer to write to.</param>
            <param name="byte_offset">The byte offset to write to.</param>
            <param name="data">The data to write.</param>
        </member>
        <member name="M:NtApiDotNet.BufferUtils.GetStructAtOffset``1(System.Runtime.InteropServices.SafeBuffer,System.Int32)">
            <summary>
            Get a structure buffer at a specific offset.
            </summary>
            <typeparam name="T">The type of structure.</typeparam>
            <param name="buffer">The buffer to map.</param>
            <param name="offset">The offset into the buffer.</param>
            <returns>The structure buffer.</returns>
            <remarks>The returned buffer is not owned, therefore you need to maintain the original buffer while operating on this buffer.</remarks>
        </member>
        <member name="M:NtApiDotNet.BufferUtils.CreateBufferView(System.Runtime.InteropServices.SafeBuffer,System.Int32,System.Int32)">
            <summary>
            Creates a view of an existing safe buffer.
            </summary>
            <param name="buffer">The buffer to create a view on.</param>
            <param name="offset">The offset from the start of the buffer.</param>
            <param name="length">The length of the view.</param>
            <returns>The buffer view.</returns>
            <remarks>Note that the returned buffer doesn't own the memory, therefore the original buffer
            must be maintained for the lifetime of this buffer.</remarks>
        </member>
        <member name="M:NtApiDotNet.BufferUtils.CreateBufferView(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.Boolean)">
            <summary>
            Creates a view of an existing safe buffer.
            </summary>
            <param name="buffer">The buffer to create a view on.</param>
            <param name="offset">The offset from the start of the buffer.</param>
            <param name="length">The length of the view.</param>
            <param name="writable">True to make the view writable, false for read-only.</param>
            <returns>The buffer view.</returns>
            <remarks>Note that the returned buffer doesn't own the memory, therefore the original buffer
            must be maintained for the lifetime of this buffer.</remarks>
        </member>
        <member name="M:NtApiDotNet.BufferUtils.ZeroBuffer(System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Zero an entire buffer.
            </summary>
            <param name="buffer">The buffer to zero.</param>
        </member>
        <member name="M:NtApiDotNet.BufferUtils.FillBuffer(System.Runtime.InteropServices.SafeBuffer,System.Byte)">
            <summary>
            Fill an entire buffer with a specific byte value.
            </summary>
            <param name="buffer">The buffer to full.</param>
            <param name="fill">The fill value.</param>
        </member>
        <member name="M:NtApiDotNet.BufferUtils.EqualBuffer(System.Runtime.InteropServices.SafeBuffer,System.Int32,System.Runtime.InteropServices.SafeBuffer,System.Int32,System.Int32)">
            <summary>
            Compare two buffers for equality.
            </summary>
            <param name="left">The left buffer.</param>
            <param name="left_offset">The offset into the left buffer.</param>
            <param name="right">The right buffer.</param>
            <param name="right_offset">The offset into the right buffer.</param>
            <param name="length">The length to compare.</param>
            <returns>True if the buffers are equal.</returns>
        </member>
        <member name="M:NtApiDotNet.BufferUtils.EqualBuffer(System.Runtime.InteropServices.SafeBuffer,System.Int32,System.Byte[])">
            <summary>
            Compare a buffer and a byte array for equality.
            </summary>
            <param name="buffer">The buffer.</param>
            <param name="offset">The offset into the left buffer.</param>
            <param name="compare">The compare byte array.</param>
            <returns>True if the buffers are equal.</returns>
        </member>
        <member name="M:NtApiDotNet.BufferUtils.FindBuffer(System.Runtime.InteropServices.SafeBuffer,System.Int32,System.Byte[])">
            <summary>
            Find a byte array in a buffer. Returns all instances of the compare array.
            </summary>
            <param name="buffer">The buffer to find the data in.</param>
            <param name="start_offset">Start offset in the buffer.</param>
            <param name="compare">The comparison byte array.</param>
            <returns>A list of offsets into the buffer where the compare was found.</returns>
        </member>
        <member name="M:NtApiDotNet.BufferUtils.FindBuffer(System.Runtime.InteropServices.SafeBuffer,System.Byte[])">
            <summary>
            Find a byte array in a buffer. Returns all instances of the compare array.
            </summary>
            <param name="buffer">The buffer to find the data in.</param>
            <param name="compare">The comparison byte array.</param>
            <returns>A list of offsets into the buffer where the compare was found.</returns>
        </member>
        <member name="T:NtApiDotNet.ClaimSecurityAttribute">
            <summary>
            Class to represent a Security Atttribute.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ClaimSecurityAttribute.Name">
            <summary>
            The name of the attribute.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ClaimSecurityAttribute.ValueType">
            <summary>
            The type of values.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ClaimSecurityAttribute.Flags">
            <summary>
            The attribute flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ClaimSecurityAttribute.Values">
            <summary>
            The list of values.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ClaimSecurityAttribute.ValueCount">
            <summary>
            The count of values.
            </summary>
        </member>
        <member name="M:NtApiDotNet.ClaimSecurityAttribute.ToBuilder">
            <summary>
            Convert the attribute to a builder to modify it.
            </summary>
            <returns>The builder object.</returns>
        </member>
        <member name="M:NtApiDotNet.ClaimSecurityAttribute.ToSddl">
            <summary>
            Convert the security attribute to an SDDL string.
            </summary>
            <returns>The security attribute as an SDDL string.</returns>
        </member>
        <member name="M:NtApiDotNet.ClaimSecurityAttribute.ToAce">
            <summary>
            Converts the attribute to a Resource Attribute ACE.
            </summary>
            <returns>The resource attribute ACE.</returns>
        </member>
        <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.ParentProcess">
            <summary>
            Parent process.
            </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="M:NtApiDotNet.CreateUserProcess.AddProtectionLevel(NtApiDotNet.PsProtectedType,NtApiDotNet.PsProtectedSigner)">
            <summary>
            Added protected process protection level.
            </summary>
            <param name="type">The type of protected process.</param>
            <param name="signer">The signer level.</param>
        </member>
        <member name="P:NtApiDotNet.CreateUserProcess.ReturnOnError">
            <summary>
            Return on error instead of throwing an exception.
            </summary>
        </member>
        <member name="P:NtApiDotNet.CreateUserProcess.TerminateOnDispose">
            <summary>
            Whether to terminate the process on dispose.
            </summary>
        </member>
        <member name="P:NtApiDotNet.CreateUserProcess.ProcessSecurityDescriptor">
            <summary>
            Specify a security descriptor for the process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.CreateUserProcess.ThreadSecurityDescriptor">
            <summary>
            Specify a security descriptor for the initial thread.
            </summary>
        </member>
        <member name="P:NtApiDotNet.CreateUserProcess.Token">
            <summary>
            Specify the primary token for the new process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.CreateUserProcess.ProcessDesiredAccess">
            <summary>
            Access for process handle.
            </summary>
        </member>
        <member name="P:NtApiDotNet.CreateUserProcess.ThreadDesiredAccess">
            <summary>
            Access for thread handle.
            </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.Fork(NtApiDotNet.ProcessCreateFlags,NtApiDotNet.ThreadCreateFlags)">
            <summary>
            For the current process
            </summary>
            <param name="process_create_flags">Process create flags.</param>
            <param name="thread_create_flags">Thread create flags.</param>
            <returns>The new forked process result</returns>
        </member>
        <member name="M:NtApiDotNet.CreateUserProcess.Fork(NtApiDotNet.ProcessCreateFlags,NtApiDotNet.ThreadCreateFlags,System.Boolean)">
            <summary>
            For the current process
            </summary>
            <param name="process_create_flags">Process create flags.</param>
            <param name="thread_create_flags">Thread create flags.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The new forked process result</returns>
        </member>
        <member name="M:NtApiDotNet.CreateUserProcess.Start">
            <summary>
            Start the new process based on the ImagePath parameter.
            </summary>
            <returns>The result of the process creation</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.DebugEvent">
            <summary>
            The base class for a debug event.
            </summary>
        </member>
        <member name="P:NtApiDotNet.DebugEvent.ProcessId">
            <summary>
            Process ID for the event.
            </summary>
        </member>
        <member name="P:NtApiDotNet.DebugEvent.ThreadId">
            <summary>
            Thread ID for the event.
            </summary>
        </member>
        <member name="P:NtApiDotNet.DebugEvent.State">
            <summary>
            The event code.
            </summary>
        </member>
        <member name="M:NtApiDotNet.DebugEvent.#ctor(NtApiDotNet.DbgUiWaitStatusChange,NtApiDotNet.NtDebug)">
            <summary>
            Constructor.
            </summary>
            <param name="debug_event">The current debug event.</param>
            <param name="debug">The debug port associated with this event.</param>
        </member>
        <member name="M:NtApiDotNet.DebugEvent.Continue(NtApiDotNet.NtStatus,System.Boolean)">
            <summary>
            Continue the debugged process.
            </summary>
            <param name="continue_status">The continue status code.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.DebugEvent.Continue(NtApiDotNet.NtStatus)">
            <summary>
            Continue the debugged process.
            </summary>
            <param name="continue_status">The continue status code.</param>
        </member>
        <member name="M:NtApiDotNet.DebugEvent.Continue">
            <summary>
            Continue the debugged process with a success code.
            </summary>
        </member>
        <member name="M:NtApiDotNet.DebugEvent.Dispose">
            <summary>
            Dispose the event.
            </summary>
        </member>
        <member name="T:NtApiDotNet.CreateProcessDebugEvent">
            <summary>
            Debug event for the Create Process event.
            </summary>
        </member>
        <member name="P:NtApiDotNet.CreateProcessDebugEvent.ProcessSubSystemKey">
            <summary>
            Subsystem key for the process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.CreateProcessDebugEvent.File">
            <summary>
            Handle to the process file (if available).
            </summary>
        </member>
        <member name="P:NtApiDotNet.CreateProcessDebugEvent.BaseOfImage">
            <summary>
            Base of image file.
            </summary>
        </member>
        <member name="P:NtApiDotNet.CreateProcessDebugEvent.DebugInfoFileOffset">
            <summary>
            Debug info file offset.
            </summary>
        </member>
        <member name="P:NtApiDotNet.CreateProcessDebugEvent.DebugInfoSize">
            <summary>
            Debug info file size.
            </summary>
        </member>
        <member name="P:NtApiDotNet.CreateProcessDebugEvent.ThreadSubSystemKey">
            <summary>
            Subsystem key for the thread.
            </summary>
        </member>
        <member name="P:NtApiDotNet.CreateProcessDebugEvent.ThreadStartAddress">
            <summary>
            Start address of the thread.
            </summary>
        </member>
        <member name="P:NtApiDotNet.CreateProcessDebugEvent.Process">
            <summary>
            Handle to the process (if available).
            </summary>
        </member>
        <member name="P:NtApiDotNet.CreateProcessDebugEvent.Thread">
            <summary>
            Handle to the thread (if available).
            </summary>
        </member>
        <member name="M:NtApiDotNet.CreateProcessDebugEvent.Dispose">
            <summary>
            Dispose the event.
            </summary>
        </member>
        <member name="T:NtApiDotNet.CreateThreadDebugEvent">
            <summary>
            Debug event for the Create Thread event.
            </summary>
        </member>
        <member name="P:NtApiDotNet.CreateThreadDebugEvent.ThreadSubSystemKey">
            <summary>
            Subsystem key for the thread.
            </summary>
        </member>
        <member name="P:NtApiDotNet.CreateThreadDebugEvent.ThreadStartAddress">
            <summary>
            Start address of the thread.
            </summary>
        </member>
        <member name="P:NtApiDotNet.CreateThreadDebugEvent.Thread">
            <summary>
            Handle to the thread (if available).
            </summary>
        </member>
        <member name="M:NtApiDotNet.CreateThreadDebugEvent.Dispose">
            <summary>
            Dispose the event.
            </summary>
        </member>
        <member name="T:NtApiDotNet.ExitThreadDebugEvent">
            <summary>
            Debug event for the Exit Thread event.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ExitThreadDebugEvent.ExitStatus">
            <summary>
            Exit status code.
            </summary>
        </member>
        <member name="T:NtApiDotNet.ExitProcessDebugEvent">
            <summary>
            Debug event for the Exit Process event.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ExitProcessDebugEvent.ExitStatus">
            <summary>
            Exit status code.
            </summary>
        </member>
        <member name="T:NtApiDotNet.LoadDllDebugEvent">
            <summary>
            Debug event for load DLL event.
            </summary>
        </member>
        <member name="P:NtApiDotNet.LoadDllDebugEvent.File">
            <summary>
            DLL file handle.
            </summary>
        </member>
        <member name="P:NtApiDotNet.LoadDllDebugEvent.BaseOfDll">
            <summary>
            Base of loaded DLL.
            </summary>
        </member>
        <member name="P:NtApiDotNet.LoadDllDebugEvent.DebugInfoFileOffset">
            <summary>
            Debug info offset.
            </summary>
        </member>
        <member name="P:NtApiDotNet.LoadDllDebugEvent.DebugInfoSize">
            <summary>
            Debug info size.
            </summary>
        </member>
        <member name="P:NtApiDotNet.LoadDllDebugEvent.NamePointer">
            <summary>
            Address of name.
            </summary>
        </member>
        <member name="M:NtApiDotNet.LoadDllDebugEvent.Dispose">
            <summary>
            Dispose the event.
            </summary>
        </member>
        <member name="T:NtApiDotNet.UnloadDllDebugEvent">
            <summary>
            Debug event for unload DLL event.
            </summary>
        </member>
        <member name="P:NtApiDotNet.UnloadDllDebugEvent.BaseAddress">
            <summary>
            Base of loaded DLL.
            </summary>
        </member>
        <member name="T:NtApiDotNet.ExceptionDebugEvent">
            <summary>
            Debug event for exception event.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ExceptionDebugEvent.FirstChance">
            <summary>
            Indicates if this is a first chance exception.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ExceptionDebugEvent.Code">
            <summary>
            Exception code.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ExceptionDebugEvent.Flags">
            <summary>
            Exception flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ExceptionDebugEvent.RecordChain">
            <summary>
            Pointer to next exception in the chain.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ExceptionDebugEvent.Address">
            <summary>
            Address of exception.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ExceptionDebugEvent.Parameters">
            <summary>
            Additional parameters for exception.
            </summary>
        </member>
        <member name="T:NtApiDotNet.UnknownDebugEvent">
            <summary>
            Debug event when we don't handle the state.
            </summary>
        </member>
        <member name="P:NtApiDotNet.UnknownDebugEvent.DebugEvent">
            <summary>
            The raw debug event.
            </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.AddResource``1(``0)">
            <summary>
            Add a resource to the list and return a reference to it.
            </summary>
            <typeparam name="R">The type of resource to add.</typeparam>
            <param name="resource">The resource object.</param>
            <returns>The added resource.</returns>
        </member>
        <member name="M:NtApiDotNet.DisposableList`1.AddResource``1">
            <summary>
            Add a resource to the list and return a reference to it.
            </summary>
            <typeparam name="R">The type of resource to add.</typeparam>
            <returns>The added resource.</returns>
        </member>
        <member name="M:NtApiDotNet.DisposableList`1.ToArrayAndClear">
            <summary>
            Convert this list to an array then clear it to the disposal no longer happens.
            </summary>
            <returns>The elements as an array.</returns>
            <remarks>After doing this the current list will be cleared.</remarks>
        </member>
        <member name="M:NtApiDotNet.DisposableList`1.Detach``1(NtApiDotNet.Utilities.Misc.DetachableContainer{``0})">
            <summary>
            Detach a detachable reference and add it to the list.
            </summary>
            <typeparam name="R">The type of resource to detach.</typeparam>
            <returns>The detached resource.</returns>
        </member>
        <member name="M:NtApiDotNet.DisposableList`1.Dispose">
            <summary>
            Dispose method
            </summary>
        </member>
        <member name="T:NtApiDotNet.DisposableList">
            <summary>
            Implementation of disposable list which just accepts IDisposable objects.
            </summary>
        </member>
        <member name="M:NtApiDotNet.DisposableList.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:NtApiDotNet.DisposableList.#ctor(System.Int32)">
            <summary>
            Constructor
            </summary>
            <param name="capacity">The initial capacity of the list</param>
        </member>
        <member name="M:NtApiDotNet.DisposableList.#ctor(System.Collections.Generic.IEnumerable{System.IDisposable})">
            <summary>
            Constructor
            </summary>
            <param name="collection">A collection to initialize the list</param>
        </member>
        <member name="M:NtApiDotNet.DisposableList.CallOnDispose(System.Action)">
            <summary>
            Adds a delegate which will be called when the list is disposed.
            </summary>
            <param name="action">The delegate to call on dispose.</param>
            <remarks>This can be used to add more complex disposable.</remarks>
        </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.DangerousMove">
            <summary>
            Move the handle list to a new disposable list.
            </summary>
            <returns>The list of handles which have been moved.</returns>
            <remarks>After doing this the current list will be cleared.</remarks>
        </member>
        <member name="T:NtApiDotNet.EaBufferEntryFlags">
            <summary>
            Flags for an EA entry
            </summary>
        </member>
        <member name="F:NtApiDotNet.EaBufferEntryFlags.None">
            <summary>
            No flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.EaBufferEntryFlags.NeedEa">
            <summary>
            Processor must handle this EA.
            </summary>
        </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="P:NtApiDotNet.EaBufferEntry.Flags">
            <summary>
            Flags
            </summary>
        </member>
        <member name="M:NtApiDotNet.EaBufferEntry.#ctor(System.String,System.Byte[],NtApiDotNet.EaBufferEntryFlags)">
            <summary>
            Constructor
            </summary>
            <param name="name">The name of the entry</param>
            <param name="data">Data associated with the entry</param>
            <param name="flags">Flags for entry.</param>
        </member>
        <member name="M:NtApiDotNet.EaBufferEntry.#ctor(System.String,System.Int32,NtApiDotNet.EaBufferEntryFlags)">
            <summary>
            Constructor
            </summary>
            <param name="name">The name of the entry</param>
            <param name="data">Data associated with the entry</param>
            <param name="flags">Flags for entry.</param>
        </member>
        <member name="M:NtApiDotNet.EaBufferEntry.#ctor(System.String,System.String,NtApiDotNet.EaBufferEntryFlags)">
            <summary>
            Constructor
            </summary>
            <param name="name">The name of the entry</param>
            <param name="data">Data associated with the entry</param>
            <param name="flags">Flags for entry.</param>
        </member>
        <member name="M:NtApiDotNet.EaBufferEntry.DataAsString">
            <summary>
            Get the EA buffer data as a string.
            </summary>
            <returns>The data as a string.</returns>
        </member>
        <member name="M:NtApiDotNet.EaBufferEntry.DataAsInt32">
            <summary>
            Get the EA buffer data as an Int32.
            </summary>
            <returns>The data as an Int32.</returns>
        </member>
        <member name="M:NtApiDotNet.EaBufferEntry.ToString">
            <summary>
            Convert 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.Collections.Generic.IEnumerable{NtApiDotNet.EaBufferEntry})">
            <summary>
            Constructor
            </summary>
            <param name="entries">List of entries to add.</param>
        </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.#ctor(NtApiDotNet.EaBuffer)">
            <summary>
            Constructor
            </summary>
            <param name="buffer">Existing buffer to copy.</param>
        </member>
        <member name="M:NtApiDotNet.EaBuffer.AddEntry(NtApiDotNet.EaBufferEntry)">
            <summary>
            Add a new EA entry from an old entry. The data will be cloned.
            </summary>
            <param name="entry">The entry to add.</param>
        </member>
        <member name="M:NtApiDotNet.EaBuffer.AddEntry(System.String,System.Byte[],NtApiDotNet.EaBufferEntryFlags)">
            <summary>
            Add a new EA entry
            </summary>
            <param name="name">The name of the entry</param>
            <param name="data">The associated data, will be cloned</param>
            <param name="flags">The entry flags.</param>
        </member>
        <member name="M:NtApiDotNet.EaBuffer.AddEntry(System.String,System.Int32,NtApiDotNet.EaBufferEntryFlags)">
            <summary>
            Add a new EA entry
            </summary>
            <param name="name">The name of the entry</param>
            <param name="data">The associated data</param>
            <param name="flags">The entry flags.</param>
        </member>
        <member name="M:NtApiDotNet.EaBuffer.AddEntry(System.String,System.String,NtApiDotNet.EaBufferEntryFlags)">
            <summary>
            Add a new EA entry
            </summary>
            <param name="name">The name of the entry</param>
            <param name="data">The associated data</param>
            <param name="flags">The entry flags.</param>
        </member>
        <member name="M:NtApiDotNet.EaBuffer.GetEntry(System.String)">
            <summary>
            Get an entry by name.
            </summary>
            <param name="name">The name of the entry.</param>
            <returns>The found entry.</returns>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">Thrown if no entry by that name.</exception>
        </member>
        <member name="M:NtApiDotNet.EaBuffer.RemoveEntry(NtApiDotNet.EaBufferEntry)">
            <summary>
            Remove an entry from the buffer.
            </summary>
            <param name="entry">The entry to remove.</param>
        </member>
        <member name="M:NtApiDotNet.EaBuffer.RemoveEntry(System.String)">
            <summary>
            Remove an entry from the buffer by name.
            </summary>
            <param name="name">The name of the entry.</param>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">Thrown if no entry by that name.</exception>
        </member>
        <member name="M:NtApiDotNet.EaBuffer.ToByteArray">
            <summary>
            Convert to a byte array
            </summary>
            <returns>The byte array</returns>
        </member>
        <member name="P:NtApiDotNet.EaBuffer.Entries">
            <summary>
            Get the list of entries.
            </summary>
        </member>
        <member name="P:NtApiDotNet.EaBuffer.Count">
            <summary>
            Get number of entries.
            </summary>
        </member>
        <member name="M:NtApiDotNet.EaBuffer.ContainsEntry(System.String)">
            <summary>
            Get whether the buffer contains a specific entry.
            </summary>
            <param name="name">The name of the entry.</param>
            <returns>True if the buffer contains an entry with the name.</returns>
        </member>
        <member name="P:NtApiDotNet.EaBuffer.Item(System.String)">
            <summary>
            Index to get an entry by name.
            </summary>
            <param name="name">The name of the entry.</param>
            <returns>The found entry.</returns>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">Thrown if no entry by that name.</exception>
        </member>
        <member name="M:NtApiDotNet.EaBuffer.Clear">
            <summary>
            Clear all entries.
            </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(NtApiDotNet.AccessMask)">
            <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.HasRead(NtApiDotNet.AccessMask)">
            <summary>
            Get whether this generic mapping gives read access.
            </summary>
            <param name="mask">The mask to check against.</param>
            <returns>True if we have read access.</returns>
        </member>
        <member name="M:NtApiDotNet.GenericMapping.HasWrite(NtApiDotNet.AccessMask)">
            <summary>
            Get whether this generic mapping gives write access.
            </summary>
            <param name="mask">The mask to check against.</param>
            <returns>True if we have write access.</returns>
        </member>
        <member name="M:NtApiDotNet.GenericMapping.HasExecute(NtApiDotNet.AccessMask)">
            <summary>
            Get whether this generic mapping gives execute access.
            </summary>
            <param name="mask">The mask to check against.</param>
            <returns>True if we have execute access.</returns>
        </member>
        <member name="M:NtApiDotNet.GenericMapping.HasAll(NtApiDotNet.AccessMask)">
            <summary>
            Get whether this generic mapping gives all access.
            </summary>
            <param name="mask">The mask to check against.</param>
            <returns>True if we have all access.</returns>
        </member>
        <member name="M:NtApiDotNet.GenericMapping.UnmapMask(NtApiDotNet.AccessMask)">
            <summary>
            Try and unmap access mask to generic rights.
            </summary>
            <param name="mask">The mask to unmap.</param>
            <returns>The unmapped mask. Any access which can be generic mapped is left in the mask as specific rights.</returns>
        </member>
        <member name="M:NtApiDotNet.GenericMapping.GetAllowedMandatoryAccess(NtApiDotNet.MandatoryLabelPolicy)">
            <summary>
            Get the allowed access mask for a specified mandatory access policy.
            </summary>
            <param name="policy">The mandatory access policy.</param>
            <returns>The allowed access mask for the policy.</returns>
            <remarks>In general NoWriteUp will always be set on the policy.</remarks>
        </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.INtTransaction">
            <summary>
            Interface to abstract the kernel transaction manager support.
            </summary>
        </member>
        <member name="P:NtApiDotNet.INtTransaction.Handle">
            <summary>
            Get handle for the transaction.
            </summary>
        </member>
        <member name="M:NtApiDotNet.INtTransaction.Commit">
            <summary>
            Commit the transaction
            </summary>
        </member>
        <member name="M:NtApiDotNet.INtTransaction.Rollback">
            <summary>
            Rollback the transaction
            </summary>
        </member>
        <member name="M:NtApiDotNet.INtTransaction.Enable">
            <summary>
            Enable the transaction for anything in the current thread context.
            </summary>
            <returns>The transaction context. This should be disposed to disable the transaction.</returns>
        </member>
        <member name="T:NtApiDotNet.IO.MountPointManager.MountPoint">
            <summary>
            Class to represent a mount point.
            </summary>
        </member>
        <member name="P:NtApiDotNet.IO.MountPointManager.MountPoint.SymbolicLinkName">
            <summary>
            Symbolic link name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.IO.MountPointManager.MountPoint.UniqueId">
            <summary>
            Unique ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.IO.MountPointManager.MountPoint.DeviceName">
            <summary>
            Device name.
            </summary>
        </member>
        <member name="T:NtApiDotNet.IO.MountPointManager.MountPointManagerUtils">
            <summary>
            Class to access mount point manager utilities.
            </summary>
        </member>
        <member name="M:NtApiDotNet.IO.MountPointManager.MountPointManagerUtils.QueryMountPoints(System.Boolean)">
            <summary>
            Query the list of mount points.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of mount points.</returns>
        </member>
        <member name="M:NtApiDotNet.IO.MountPointManager.MountPointManagerUtils.QueryMountPoints">
            <summary>
            Query the list of mount points.
            </summary>
            <returns>The list of mount points.</returns>
        </member>
        <member name="T:NtApiDotNet.IO.UsnJournal.UsnJournalData">
            <summary>
            Class to represent the USN journal data.
            </summary>
        </member>
        <member name="T:NtApiDotNet.IO.UsnJournal.UsnJournalReasonFlags">
            <summary>
            Flags for the USN journal change reason.
            </summary>
        </member>
        <member name="T:NtApiDotNet.IO.UsnJournal.UsnJournalRecord">
            <summary>
            Class to represent a USN journal record.
            </summary>
        </member>
        <member name="P:NtApiDotNet.IO.UsnJournal.UsnJournalRecord.FileReferenceNumber">
            <summary>
            Reference number of the file.
            </summary>
        </member>
        <member name="P:NtApiDotNet.IO.UsnJournal.UsnJournalRecord.ParentFileReferenceNumber">
            <summary>
            Reference number of the parent.
            </summary>
        </member>
        <member name="P:NtApiDotNet.IO.UsnJournal.UsnJournalRecord.Usn">
            <summary>
            USN value.
            </summary>
        </member>
        <member name="P:NtApiDotNet.IO.UsnJournal.UsnJournalRecord.TimeStamp">
            <summary>
            Timestamp of entry.
            </summary>
        </member>
        <member name="P:NtApiDotNet.IO.UsnJournal.UsnJournalRecord.Reason">
            <summary>
            Reason code.
            </summary>
        </member>
        <member name="P:NtApiDotNet.IO.UsnJournal.UsnJournalRecord.SourceInfo">
            <summary>
            Source info flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.IO.UsnJournal.UsnJournalRecord.SecurityId">
            <summary>
            Security ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.IO.UsnJournal.UsnJournalRecord.FileAttributes">
            <summary>
            File attributes.
            </summary>
        </member>
        <member name="P:NtApiDotNet.IO.UsnJournal.UsnJournalRecord.FileName">
            <summary>
            Filename.
            </summary>
        </member>
        <member name="P:NtApiDotNet.IO.UsnJournal.UsnJournalRecord.FullPath">
            <summary>
            Full path, if known.
            </summary>
        </member>
        <member name="P:NtApiDotNet.IO.UsnJournal.UsnJournalRecord.Win32Path">
            <summary>
            Full Win32Path if known.
            </summary>
        </member>
        <member name="T:NtApiDotNet.IO.UsnJournal.UsnJournalSourceInfoFlags">
            <summary>
            Flags for USN journal source information.
            </summary>
        </member>
        <member name="T:NtApiDotNet.IO.UsnJournal.UsnJournalUtils">
            <summary>
            Class for methods relating to USN journal.
            </summary>
        </member>
        <member name="M:NtApiDotNet.IO.UsnJournal.UsnJournalUtils.QueryUsnJournalData(NtApiDotNet.NtFile,System.Boolean)">
            <summary>
            Read USN journal information.
            </summary>
            <param name="volume">The handle to the volume to query.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The USN journal information.</returns>
        </member>
        <member name="M:NtApiDotNet.IO.UsnJournal.UsnJournalUtils.QueryUsnJournalData(NtApiDotNet.NtFile)">
            <summary>
            Read USN journal information.
            </summary>
            <param name="volume">The handle to the volume to query.</param>
            <returns>The USN journal information.</returns>
        </member>
        <member name="M:NtApiDotNet.IO.UsnJournal.UsnJournalUtils.ReadJournal(NtApiDotNet.NtFile,System.UInt64,System.UInt64,NtApiDotNet.IO.UsnJournal.UsnJournalReasonFlags)">
            <summary>
            Read USN journal entries from the volume.
            </summary>
            <param name="volume">The volume to read.</param>
            <param name="start_usn">The start USN to read.</param>
            <param name="end_usn">Last USN to read, exclusive.</param>
            <param name="reason_mask">Mask for what records to read.</param>
            <returns>The list of USN journal entries.</returns>
        </member>
        <member name="M:NtApiDotNet.IO.UsnJournal.UsnJournalUtils.ReadJournal(NtApiDotNet.NtFile)">
            <summary>
            Read all USN journal entries from the volume.
            </summary>
            <param name="volume">The volume to read.</param>
            <returns>The list of USN journal entries.</returns>
        </member>
        <member name="M:NtApiDotNet.IO.UsnJournal.UsnJournalUtils.ReadJournalUnprivileged(NtApiDotNet.NtFile,System.UInt64,System.UInt64,NtApiDotNet.IO.UsnJournal.UsnJournalReasonFlags)">
            <summary>
            Read USN journal entries from the volume, unprivileged.
            </summary>
            <param name="volume">The volume to read.</param>
            <param name="start_usn">The start USN to read.</param>
            <param name="end_usn">Last USN to read, exclusive.</param>
            <param name="reason_mask">Mask for what records to read.</param>
            <returns>The list of USN journal entries.</returns>
        </member>
        <member name="M:NtApiDotNet.IO.UsnJournal.UsnJournalUtils.ReadJournalUnprivileged(NtApiDotNet.NtFile)">
            <summary>
            Read USN journal entries from the volume, unprivileged.
            </summary>
            <param name="volume">The volume to read.</param>
            <returns>The list of USN journal entries.</returns>
        </member>
        <member name="T:NtApiDotNet.KnownSidValue">
            <summary>
            An enumeration to reference a known SID.
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.Null">
            <summary>
            NULL SID
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.World">
            <summary>
            Everyone SID
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.Local">
            <summary>
            Local user SID
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.CreatorOwner">
            <summary>
            CREATOR OWNER SID
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.CreatorGroup">
            <summary>
            CREATOR GROUP SID
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.CreatorOwnerServer">
            <summary>
            CREATOR OWNER SERVER SID
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.CreatorGroupServer">
            <summary>
            CREATOR OWNER SERVER SID
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.Service">
            <summary>
            Service SID
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.Anonymous">
            <summary>
            ANONYMOUS LOGON SID
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.AuthenticatedUsers">
            <summary>
            Authenticated Users SID
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.Restricted">
            <summary>
            RESTRICTED SID
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.LocalSystem">
            <summary>
            LOCAL SYSTEM SID
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.LocalService">
            <summary>
            LOCAL SERVICE SID
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.NetworkService">
            <summary>
            NETWORK SERVICE SID
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.AllApplicationPackages">
            <summary>
            APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES SID
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.AllRestrictedApplicationPackages">
            <summary>
            APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APPLICATION PACKAGES
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.TrustedInstaller">
            <summary>
            NT SERVICE\TrustedInstaller
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.BuiltinUsers">
            <summary>
            BUILTIN\Users
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.BuiltinAdministrators">
            <summary>
            BUILTIN\Administrators
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.CapabilityInternetClient">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Your Internet connection
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.CapabilityInternetClientServer">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Your Internet connection, including incoming connections from the Internet
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.CapabilityPrivateNetworkClientServer">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Your home or work networks
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.CapabilityPicturesLibrary">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Your pictures library
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.CapabilityVideosLibrary">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Your videos library
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.CapabilityMusicLibrary">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Your music library
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.CapabilityDocumentsLibrary">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Your documents library
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.CapabilityEnterpriseAuthentication">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Your Windows credentials
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.CapabilitySharedUserCertificates">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Software and hardware certificates or a smart card
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.CapabilityRemovableStorage">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Removable storage
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.CapabilityAppointments">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Your Appointments
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.CapabilityContacts">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Your Contacts
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.CapabilityInternetExplorer">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Internet Explorer
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.CapabilityConstrainedImpersonation">
            <summary>
            Constrained Impersonation Capability
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.OwnerRights">
            <summary>
            OWNER RIGHTS
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.Self">
            <summary>
            NT AUTHORITY\SELF
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.WriteRestricted">
            <summary>
            NT AUTHORITY\WRITE RESTRICTED
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.Builtin">
            <summary>
            BUILTIN\BUILTIN
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.Interactive">
            <summary>
            NT AUTHORITY\INTERACTIVE
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.Dialup">
            <summary>
            NT AUTHORITY\DIALUP
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.Network">
            <summary>
            NT AUTHORITY\NETWORK
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.Batch">
            <summary>
            NT AUTHORITY\BATCH
            </summary>
        </member>
        <member name="F:NtApiDotNet.KnownSidValue.Proxy">
            <summary>
            NT AUTHORITY\PROXY
            </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.CreatorOwnerServer">
            <summary>
            CREATOR OWNER SERVER SID
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.CreatorGroupServer">
            <summary>
            CREATOR OWNER SERVER 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.WriteRestricted">
            <summary>
            NT AUTHORITY\WRITE RESTRICTED
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.Builtin">
            <summary>
            BUILTIN\BUILTIN
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.Interactive">
            <summary>
            NT AUTHORITY\INTERACTIVE
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.Dialup">
            <summary>
            NT AUTHORITY\DIALUP
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.Network">
            <summary>
            NT AUTHORITY\NETWORK
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.Batch">
            <summary>
            NT AUTHORITY\BATCH
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.Proxy">
            <summary>
            NT AUTHORITY\PROXY
            </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="P:NtApiDotNet.KnownSids.AllApplicationPackages">
            <summary>
            APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES SID
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.AllRestrictedApplicationPackages">
            <summary>
            APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APPLICATION PACKAGES
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.TrustedInstaller">
            <summary>
            NT SERVICE\TrustedInstaller
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.BuiltinUsers">
            <summary>
            BUILTIN\Users
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.BuiltinAdministrators">
            <summary>
            BUILTIN\Administrators
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.CapabilityInternetClient">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Your Internet connection
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.CapabilityInternetClientServer">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Your Internet connection, including incoming connections from the Internet
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.CapabilityPrivateNetworkClientServer">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Your home or work networks
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.CapabilityPicturesLibrary">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Your pictures library
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.CapabilityVideosLibrary">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Your videos library
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.CapabilityMusicLibrary">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Your music library
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.CapabilityDocumentsLibrary">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Your documents library
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.CapabilityEnterpriseAuthentication">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Your Windows credentials
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.CapabilitySharedUserCertificates">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Software and hardware certificates or a smart card
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.CapabilityRemovableStorage">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Removable storage
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.CapabilityAppointments">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Your Appointments
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.CapabilityContacts">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Your Contacts
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.CapabilityInternetExplorer">
            <summary>
            APPLICATION PACKAGE AUTHORITY\Internet Explorer
            </summary>
        </member>
        <member name="P:NtApiDotNet.KnownSids.CapabilityConstrainedImpersonation">
            <summary>
            Constrained Impersonation Capability
            </summary>
        </member>
        <member name="M:NtApiDotNet.KnownSids.GetKnownSid(NtApiDotNet.KnownSidValue)">
            <summary>
            Get a known SID based on a specific enumeration.
            </summary>
            <param name="sid">The enumerated sid value.</param>
            <returns></returns>
        </member>
        <member name="T:NtApiDotNet.MandatoryLabelAce">
            <summary>
            Class to represent an Access Control Entry for a Mandatory Label.
            </summary>
        </member>
        <member name="M:NtApiDotNet.MandatoryLabelAce.#ctor(NtApiDotNet.AceFlags,NtApiDotNet.MandatoryLabelPolicy,NtApiDotNet.TokenIntegrityLevel)">
            <summary>
            Constructor.
            </summary>
            <param name="flags">Flags for the ACE.</param>
            <param name="policy">The mandatory label policy.</param>
            <param name="integrity_level">The integrity level.</param>
        </member>
        <member name="M:NtApiDotNet.MandatoryLabelAce.#ctor(NtApiDotNet.AceFlags,NtApiDotNet.MandatoryLabelPolicy,NtApiDotNet.Sid)">
            <summary>
            Constructor from a raw integrity level.
            </summary>
            <param name="flags">Flags for the ACE.</param>
            <param name="policy">The mandatory label policy.</param>
            <param name="sid">The integrity level sid.</param>
        </member>
        <member name="P:NtApiDotNet.MandatoryLabelAce.Policy">
            <summary>
            The policy for the mandatory label.
            </summary>
        </member>
        <member name="P:NtApiDotNet.MandatoryLabelAce.IntegrityLevel">
            <summary>
            Get or set the integrity level
            </summary>
        </member>
        <member name="M:NtApiDotNet.MandatoryLabelAce.ToString">
            <summary>
            Convert ACE to a string.
            </summary>
            <returns></returns>
        </member>
        <member name="T:NtApiDotNet.MappedFile">
            <summary>
            Class which represents a mapped file.
            </summary>
        </member>
        <member name="P:NtApiDotNet.MappedFile.Path">
            <summary>
            Native path to file.
            </summary>
        </member>
        <member name="P:NtApiDotNet.MappedFile.Name">
            <summary>
            Name of the file.
            </summary>
        </member>
        <member name="P:NtApiDotNet.MappedFile.Sections">
            <summary>
            List of mapped sections.
            </summary>
        </member>
        <member name="P:NtApiDotNet.MappedFile.BaseAddress">
            <summary>
            Mapped base address of file.
            </summary>
        </member>
        <member name="P:NtApiDotNet.MappedFile.Size">
            <summary>
            Mapped size of file.
            </summary>
        </member>
        <member name="P:NtApiDotNet.MappedFile.IsImage">
            <summary>
            True if the mapped file is an image section.
            </summary>
        </member>
        <member name="P:NtApiDotNet.MappedFile.ImageSigningLevel">
            <summary>
            Specified the signing level if an image (only on RS3+).
            </summary>
        </member>
        <member name="T:NtApiDotNet.MemoryInformation">
            <summary>
            Class to represent memory information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.MemoryInformation.BaseAddress">
            <summary>
            Base address of memory region.
            </summary>
        </member>
        <member name="P:NtApiDotNet.MemoryInformation.AllocationBase">
            <summary>
            Allocation base for memory region.
            </summary>
        </member>
        <member name="P:NtApiDotNet.MemoryInformation.AllocationProtect">
            <summary>
            Initial allocation protection.
            </summary>
        </member>
        <member name="P:NtApiDotNet.MemoryInformation.RegionSize">
            <summary>
            Region size.
            </summary>
        </member>
        <member name="P:NtApiDotNet.MemoryInformation.State">
            <summary>
            Memory state.
            </summary>
        </member>
        <member name="P:NtApiDotNet.MemoryInformation.Protect">
            <summary>
            Current memory protection.
            </summary>
        </member>
        <member name="P:NtApiDotNet.MemoryInformation.Type">
            <summary>
            Memory type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.MemoryInformation.MappedImagePath">
            <summary>
            The mapped image path, if an image.
            </summary>
        </member>
        <member name="P:NtApiDotNet.MemoryInformation.Name">
            <summary>
            The mapped image path name, if an image.
            </summary>
        </member>
        <member name="P:NtApiDotNet.MemoryInformation.RegionType">
            <summary>
            The region type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.MemoryInformation.SoftwareEnclave">
            <summary>
            Is this a software enclave.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Ndr.Marshal.INdrConformantStructure">
            <summary>
            Interface for a marshalled NDR conformant structure.
            </summary>
            <remarks>This interface is primarily for internal use only.</remarks>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.INdrConformantStructure.GetConformantDimensions">
            <summary>
            Gets the number of conformant dimensions, should be at least one.
            </summary>
            <returns>The number of conformant dimensions.</returns>
        </member>
        <member name="T:NtApiDotNet.Ndr.Marshal.INdrNonEncapsulatedUnion">
            <summary>
            Interface for a marshalled non-encapsulated NDR union.
            </summary>
            <remarks>This interface is primarily for internal use only.</remarks>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.INdrNonEncapsulatedUnion.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer,System.Int64)">
            <summary>
            Marshal the union to a stream.
            </summary>
            <param name="selector">The selector for union arm.</param>
            <param name="marshal">The marshal stream.</param>
        </member>
        <member name="T:NtApiDotNet.Ndr.Marshal.INdrStructure">
            <summary>
            Interface for a marshalled NDR structure.
            </summary>
            <remarks>This interface is primarily for internal use only.</remarks>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.INdrStructure.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer)">
            <summary>
            Marshal the stucture to a stream.
            </summary>
            <param name="marshal">The marshal stream.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer)">
            <summary>
            Unmarshal the structure from a stream.
            </summary>
            <param name="unmarshal">The unmarshal stream.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment">
            <summary>
            Get the structure's alignment.
            </summary>
            <returns></returns>
        </member>
        <member name="T:NtApiDotNet.Ndr.Marshal.NdrContextHandle">
            <summary>
            Structure to represent a context handle.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.Marshal.NdrContextHandle.Attributes">
            <summary>
            Context handle attributes.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.Marshal.NdrContextHandle.Uuid">
            <summary>
            Context handle UUID.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrContextHandle.#ctor(System.Int32,System.Guid)">
            <summary>
            Constructor.
            </summary>
            <param name="attributes">Context handle attributes.</param>
            <param name="uuid">Context handle UUID.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrContextHandle.ToString">
            <summary>
            Overidden ToString method.
            </summary>
            <returns>The handle as string.</returns>
        </member>
        <member name="T:NtApiDotNet.Ndr.Marshal.NdrIntegerRepresentation">
            <summary>
            NDR integer representation.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Ndr.Marshal.NdrCharacterRepresentation">
            <summary>
            NDR character representation.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Ndr.Marshal.NdrFloatingPointRepresentation">
            <summary>
            NDR floating point representation.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Ndr.Marshal.NdrDataRepresentation">
            <summary>
            Definition of the NDR data representation for an NDR stream.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.Marshal.NdrDataRepresentation.IntegerRepresentation">
            <summary>
            The integer representation of the NDR data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.Marshal.NdrDataRepresentation.CharacterRepresentation">
            <summary>
            The character representation of the NDR data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.Marshal.NdrDataRepresentation.FloatingPointRepresentation">
            <summary>
            The floating representation of the NDR data.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer`1">
            <summary>
            A class which represents an embedded pointer.
            </summary>
            <typeparam name="T">The underlying type.</typeparam>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer`1.op_Implicit(`0)~NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer{`0}">
            <summary>
            Operator to convert from a value to an embedded pointer.
            </summary>
            <param name="value">The value to point to.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer`1.op_Implicit(NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer{`0})~`0">
            <summary>
            Operator to convert from an embedded pointer to a value.
            </summary>
            <param name="pointer">The embedded pointer.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer`1.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The string form of the value.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer`1.GetValue">
            <summary>
            Get the value from the embedded pointer.
            </summary>
            <returns>The value of the pointer.</returns>
        </member>
        <member name="T:NtApiDotNet.Ndr.Marshal.NdrEmpty">
            <summary>
            Structure to represent an empty value.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Ndr.Marshal.NdrEnum16">
            <summary>
            Class to represent a 16 bit enumerated type.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Ndr.Marshal.NdrEnum16.Value">
            <summary>
            Value of the structure.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrEnum16.#ctor(System.Int32)">
            <summary>
            Constructor.
            </summary>
            <param name="value"></param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrEnum16.op_Implicit(System.Int32)~NtApiDotNet.Ndr.Marshal.NdrEnum16">
            <summary>
            Constructor.
            </summary>
            <param name="value">The value to construct from.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrEnum16.op_Implicit(NtApiDotNet.Ndr.Marshal.NdrEnum16)~System.Int32">
            <summary>
            Constructor.
            </summary>
            <param name="value">The value to construct from.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrEnum16.op_Explicit(System.UInt32)~NtApiDotNet.Ndr.Marshal.NdrEnum16">
            <summary>
            Constructor.
            </summary>
            <param name="value">The value to construct from.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrEnum16.op_Explicit(NtApiDotNet.Ndr.Marshal.NdrEnum16)~System.Int64">
            <summary>
            Constructor.
            </summary>
            <param name="value">The value to construct from.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrEnum16.op_Explicit(System.Int64)~NtApiDotNet.Ndr.Marshal.NdrEnum16">
            <summary>
            Constructor.
            </summary>
            <param name="value">The value to construct from.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrEnum16.op_Explicit(System.Enum)~NtApiDotNet.Ndr.Marshal.NdrEnum16">
            <summary>
            Constructor.
            </summary>
            <param name="value">The value to construct from.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrEnum16.op_Explicit(NtApiDotNet.Ndr.Marshal.NdrEnum16)~System.UInt32">
            <summary>
            Constructor.
            </summary>
            <param name="value">The value to construct from.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrEnum16.op_Equality(NtApiDotNet.Ndr.Marshal.NdrEnum16,NtApiDotNet.Ndr.Marshal.NdrEnum16)">
            <summary>
            Equality operator.
            </summary>
            <param name="left">The left value.</param>
            <param name="right">The right value.</param>
            <returns>True if the values are equal.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrEnum16.op_Inequality(NtApiDotNet.Ndr.Marshal.NdrEnum16,NtApiDotNet.Ndr.Marshal.NdrEnum16)">
            <summary>
            Inequality operator.
            </summary>
            <param name="left">The left value.</param>
            <param name="right">The right value.</param>
            <returns>True if the values are not-equal.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrEnum16.ToString">
            <summary>
            Overridden ToString.
            </summary>
            <returns>The value as a string.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrEnum16.ToString(System.String)">
            <summary>
            ToString method.
            </summary>
            <param name="format">The formatting string.</param>
            <returns>The value as a string.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrEnum16.ToString(System.String,System.IFormatProvider)">
            <summary>
            IFormattable ToString.
            </summary>
            <param name="format">The formatting string.</param>
            <param name="formatProvider">Formatting provider.</param>
            <returns>The value as a string.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrEnum16.Equals(NtApiDotNet.Ndr.Marshal.NdrEnum16)">
            <summary>
            Equals operator.
            </summary>
            <param name="other">The other enum16.</param>
            <returns>True if the values are equal.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrEnum16.Equals(System.Object)">
            <summary>
            Compare 
            </summary>
            <param name="obj"></param>
            <returns></returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrEnum16.GetHashCode">
            <summary>
            Overridden GetHashCode.
            </summary>
            <returns>The hash code of the enumeration.</returns>
        </member>
        <member name="T:NtApiDotNet.Ndr.Marshal.NdrInt3264">
            <summary>
            Structure which represents an NDR FC_INT3264
            </summary>
        </member>
        <member name="F:NtApiDotNet.Ndr.Marshal.NdrInt3264.Value">
            <summary>
            Value of the structure.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrInt3264.#ctor(System.Int32)">
            <summary>
            Constructor.
            </summary>
            <param name="value">The value to construct from.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrInt3264.#ctor(System.IntPtr)">
            <summary>
            Constructor.
            </summary>
            <param name="value">The value to construct from.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrInt3264.op_Implicit(NtApiDotNet.Ndr.Marshal.NdrInt3264)~System.IntPtr">
            <summary>
            Convert to a native IntPtr.
            </summary>
            <param name="i">The value to convert from.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrInt3264.ToString">
            <summary>
            Overridden ToString.
            </summary>
            <returns>The value as a string.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrInt3264.ToString(System.String)">
            <summary>
            ToString method.
            </summary>
            <param name="format">The formatting string.</param>
            <returns>The value as a string.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrInt3264.ToString(System.String,System.IFormatProvider)">
            <summary>
            IFormattable ToString.
            </summary>
            <param name="format">The formatting string.</param>
            <param name="formatProvider">Formatting provider.</param>
            <returns>The value as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Ndr.Marshal.NdrUInt3264">
            <summary>
            Structure which represents an NDR FC_UINT3264
            </summary>
        </member>
        <member name="F:NtApiDotNet.Ndr.Marshal.NdrUInt3264.Value">
            <summary>
            Value of the structure.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrUInt3264.#ctor(System.UInt32)">
            <summary>
            Constructor.
            </summary>
            <param name="value">The value to construct from.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrUInt3264.#ctor(System.Int32)">
            <summary>
            Constructor.
            </summary>
            <param name="value">The value to construct from.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrUInt3264.#ctor(System.IntPtr)">
            <summary>
            Constructor.
            </summary>
            <param name="value">The value to construct from.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrUInt3264.op_Implicit(NtApiDotNet.Ndr.Marshal.NdrUInt3264)~System.IntPtr">
            <summary>
            Convert to a native IntPtr.
            </summary>
            <param name="i">The value to convert from.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrUInt3264.ToString">
            <summary>
            Overridden ToString.
            </summary>
            <returns>The value as a string.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrUInt3264.ToString(System.String)">
            <summary>
            ToString method.
            </summary>
            <param name="format">The formatting string.</param>
            <returns>The value as a string.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrUInt3264.ToString(System.String,System.IFormatProvider)">
            <summary>
            IFormattable ToString.
            </summary>
            <param name="format">The formatting string.</param>
            <param name="formatProvider">Formatting provider.</param>
            <returns>The value as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Ndr.Marshal.NdrInterfacePointer">
            <summary>
            Class to represent an NDR interface pointer.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.Marshal.NdrInterfacePointer.Data">
            <summary>
            The marshaled interface data.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrInterfacePointer.#ctor(System.Byte[])">
            <summary>
            Constructor.
            </summary>
            <param name="data">The marshaled interface data.</param>
        </member>
        <member name="T:NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer">
            <summary>
            A buffer to marshal NDR data to.
            </summary>
            <remarks>This class is primarily for internal use only.</remarks>
        </member>
        <member name="T:NtApiDotNet.Ndr.Marshal.NdrPickledType">
            <summary>
            Represents an NDR pickled type.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrPickledType.#ctor(System.Byte[])">
            <summary>
            Constructor from a type 1 serialized buffer.
            </summary>
            <param name="encoded">The type 1 serialized encoded buffer.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrPickledType.ToArray">
            <summary>
            Convert the pickled type to a type 1 serialized encoded buffer.
            </summary>
            <returns>The type 1 serialized encoded buffer.</returns>
        </member>
        <member name="T:NtApiDotNet.Ndr.Marshal.NdrPipe`1">
            <summary>
            Type for a synchronous NDR pipe.
            </summary>
            <typeparam name="T">The base type of pipe blocks.</typeparam>
        </member>
        <member name="P:NtApiDotNet.Ndr.Marshal.NdrPipe`1.Blocks">
            <summary>
            The list of blocks for the pipe.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrPipe`1.#ctor(System.Collections.Generic.IEnumerable{`0[]})">
            <summary>
            Constructor.
            </summary>
            <param name="blocks">The list of blocks to return.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrPipe`1.#ctor(`0[])">
            <summary>
            Constructor.
            </summary>
            <param name="block">A single block to return.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.Marshal.NdrPipe`1.ToArray">
            <summary>
            Convert the pipe blocks to a flat array.
            </summary>
            <returns>The flat array.</returns>
        </member>
        <member name="T:NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer">
            <summary>
            A buffer to unmarshal NDR data from.
            </summary>
            <remarks>This class is primarily for internal use only.</remarks>
        </member>
        <member name="T:NtApiDotNet.Ndr.Marshal.NdrUnsupported">
            <summary>
            Place holder for unsupported types.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Ndr.NdrComProxyDefinition">
            <summary>
            Class to represent a single COM proxy definition.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrComProxyDefinition.Name">
            <summary>
            The name of the proxy interface.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrComProxyDefinition.Iid">
            <summary>
            The IID of the proxy interface.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrComProxyDefinition.BaseIid">
            <summary>
            The base IID of the proxy interface.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrComProxyDefinition.DispatchCount">
            <summary>
            The number of dispatch methods on the interface.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrComProxyDefinition.Procedures">
            <summary>
            List of parsed procedures for the interface.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrComProxyDefinition.FromProcedures(System.String,System.Guid,System.Guid,System.Int32,System.Collections.Generic.IEnumerable{NtApiDotNet.Ndr.NdrProcedureDefinition})">
            <summary>
            Creates a proxy definition from a list of procedures.
            </summary>
            <param name="name">The name of the proxy interface.</param>
            <param name="iid">The IID of the proxy interface.</param>
            <param name="base_iid">The base IID of the proxy interface.</param>
            <param name="dispatch_count">The total dispatch count for the proxy interface.</param>
            <param name="procedures">The list of parsed procedures for the proxy interface.</param>
            <returns></returns>
        </member>
        <member name="T:NtApiDotNet.Ndr.NdrExpression">
            <summary>
            Expression element.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrExpression.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The expression as a string.</returns>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrExpression.Type">
            <summary>
            The expression type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrExpression.IsValid">
            <summary>
            Is this operator element valid.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Ndr.NdrOperatorExpression">
            <summary>
            Operator expression element.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrOperatorExpression.Operator">
            <summary>
            NDR format type of element.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrOperatorExpression.Format">
            <summary>
            NDR format type of element.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrOperatorExpression.Offset">
            <summary>
            Offset, used for OP_EXPRESSION.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrOperatorExpression.Arguments">
            <summary>
            Parsed arguments.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrOperatorExpression.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The expression as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Ndr.NdrVariableExpression">
            <summary>
            Variable expression element.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrVariableExpression.Offset">
            <summary>
            Offset of the variable.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrVariableExpression.Format">
            <summary>
            NDR format type of element.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrVariableExpression.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The expression as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Ndr.NdrConstantExpression">
            <summary>
            Expression element.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrConstantExpression.Format">
            <summary>
            NDR format type of element.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrConstantExpression.Offset">
            <summary>
            Offset of the variable.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrConstantExpression.Value">
            <summary>
            The value of the constant.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrConstantExpression.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The expression as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Ndr.INdrFormatter">
            <summary>
            An interface which can be implemented to handle formatting parsed NDR data.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.INdrFormatter.FormatComplexType(NtApiDotNet.Ndr.NdrComplexTypeReference)">
            <summary>
            Format a complex type using the current formatter.
            </summary>
            <param name="complex_type">The complex type to format.</param>
            <returns>The formatted complex type.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.INdrFormatter.FormatProcedure(NtApiDotNet.Ndr.NdrProcedureDefinition)">
            <summary>
            Format a procedure using the current formatter.
            </summary>
            <param name="procedure">The procedure to format.</param>
            <returns>The formatted procedure.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.INdrFormatter.FormatComProxy(NtApiDotNet.Ndr.NdrComProxyDefinition)">
            <summary>
            Format a COM proxy using the current formatter.
            </summary>
            <param name="com_proxy">The COM proxy to format.</param>
            <returns>The formatted COM proxy.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.INdrFormatter.FormatRpcServerInterface(NtApiDotNet.Ndr.NdrRpcServerInterface)">
            <summary>
            Format an RPC server interface using the current formatter.
            </summary>
            <param name="rpc_server">The RPC server.</param>
            <returns>The formatted RPC server interface.</returns>
        </member>
        <member name="T:NtApiDotNet.Ndr.NdrFormatter">
            <summary>
            An base class which describes a text formatter for NDR data.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Ndr.CppNdrFormatterInternal">
            This formatter generates data that the CPP compiler can (hopefully) understand,
            at least it will serve as a good skeleton to support spinning up new projects easily.
            
        </member>
        <member name="T:NtApiDotNet.Ndr.DefaultNdrFormatterFlags">
            <summary>
            Flags for the NDR formatter.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Ndr.DefaultNdrFormatterFlags.None">
            <summary>
            No flags. 
            </summary>
        </member>
        <member name="F:NtApiDotNet.Ndr.DefaultNdrFormatterFlags.RemoveComments">
            <summary>
            Don't emit comments.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Ndr.DefaultNdrFormatter">
            <summary>
            Default NDR formatter constructor.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.DefaultNdrFormatter.Create(System.Collections.Generic.IDictionary{System.Guid,System.String},System.Func{System.String,System.String},NtApiDotNet.Ndr.DefaultNdrFormatterFlags)">
            <summary>
            Create the default formatter.
            </summary>
            <param name="iids_to_names">Specify a dictionary of IIDs to names.</param>
            <param name="demangle_com_name">Function to demangle COM interface names during formatting.</param>
            <param name="flags">Formatter flags.</param>
            <returns>The default formatter.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.DefaultNdrFormatter.Create(System.Collections.Generic.IDictionary{System.Guid,System.String},System.Func{System.String,System.String})">
            <summary>
            Create the default formatter.
            </summary>
            <param name="iids_to_names">Specify a dictionary of IIDs to names.</param>
            <param name="demangle_com_name">Function to demangle COM interface names during formatting.</param>
            <returns>The default formatter.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.DefaultNdrFormatter.Create(System.Collections.Generic.IDictionary{System.Guid,System.String},NtApiDotNet.Ndr.DefaultNdrFormatterFlags)">
            <summary>
            Create the default formatter.
            </summary>
            <param name="iids_to_names">Specify a dictionary of IIDs to names.</param>
            <param name="flags">Formatter flags.</param>
            <returns>The default formatter.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.DefaultNdrFormatter.Create(System.Collections.Generic.IDictionary{System.Guid,System.String})">
            <summary>
            Create the default formatter.
            </summary>
            <param name="iids_to_names">Specify a dictionary of IIDs to names.</param>
            <returns>The default formatter.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.DefaultNdrFormatter.Create(NtApiDotNet.Ndr.DefaultNdrFormatterFlags)">
            <summary>
            Create the default formatter.
            </summary>
            <param name="flags">Formatter flags.</param>
            <returns>The default formatter.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.DefaultNdrFormatter.Create">
            <summary>
            Create the default formatter.
            </summary>
            <returns>The default formatter.</returns>
        </member>
        <member name="T:NtApiDotNet.Ndr.CppNdrFormatter">
            <summary>
            NDR formatter constructor for CPP style output.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.CppNdrFormatter.Create(System.Collections.Generic.IDictionary{System.Guid,System.String},System.Func{System.String,System.String},NtApiDotNet.Ndr.DefaultNdrFormatterFlags)">
            <summary>
            Create the CPP formatter.
            </summary>
            <param name="iids_to_names">Specify a dictionary of IIDs to names.</param>
            <param name="demangle_com_name">Function to demangle COM interface names during formatting.</param>
            <param name="flags">Formatter flags.</param>
            <returns>The CPP formatter.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.CppNdrFormatter.Create(System.Collections.Generic.IDictionary{System.Guid,System.String},System.Func{System.String,System.String})">
            <summary>
            Create the CPP formatter.
            </summary>
            <param name="iids_to_names">Specify a dictionary of IIDs to names.</param>
            <param name="demangle_com_name">Function to demangle COM interface names during formatting.</param>
            <returns>The CPPformatter.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.CppNdrFormatter.Create(System.Collections.Generic.IDictionary{System.Guid,System.String},NtApiDotNet.Ndr.DefaultNdrFormatterFlags)">
            <summary>
            Create the CPP formatter.
            </summary>
            <param name="iids_to_names">Specify a dictionary of IIDs to names.</param>
            <param name="flags">Formatter flags.</param>
            <returns>The CPP formatter.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.CppNdrFormatter.Create(System.Collections.Generic.IDictionary{System.Guid,System.String})">
            <summary>
            Create the CPP formatter.
            </summary>
            <param name="iids_to_names">Specify a dictionary of IIDs to names.</param>
            <returns>The CPP formatter.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.CppNdrFormatter.Create(NtApiDotNet.Ndr.DefaultNdrFormatterFlags)">
            <summary>
            Create the default formatter.
            </summary>
            <param name="flags">Formatter flags.</param>
            <returns>The CPP formatter.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.CppNdrFormatter.Create">
            <summary>
            Create the default formatter.
            </summary>
            <returns>The CPP formatter.</returns>
        </member>
        <member name="T:NtApiDotNet.Ndr.NdrParserFlags">
            <summary>
            Flags for the parser.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Ndr.NdrParserFlags.None">
            <summary>
            No flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Ndr.NdrParserFlags.IgnoreUserMarshal">
            <summary>
            Ignore processing any complex user marshal types.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Ndr.NdrParserFlags.ResolveStructureNames">
            <summary>
            Resolve structure names, required private symbols.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Ndr.NdrParser">
            <summary>
            Class to parse NDR data into a structured format.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.#ctor(NtApiDotNet.Utilities.Memory.IMemoryReader,NtApiDotNet.NtProcess,NtApiDotNet.Win32.ISymbolResolver,NtApiDotNet.Ndr.NdrParserFlags)">
            <summary>
            Constructor.
            </summary>
            <param name="reader">Memory reader to parse from.</param>
            <param name="process">Process to read from.</param>
            <param name="symbol_resolver">Specify a symbol resolver to use for looking up symbols.</param>
            <param name="parser_flags">Flags which affect the parsing operation.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.#ctor(NtApiDotNet.NtProcess,NtApiDotNet.Win32.ISymbolResolver)">
            <summary>
            Constructor.
            </summary>
            <param name="process">Process to parse from.</param>
            <param name="symbol_resolver">Specify a symbol resolver to use for looking up symbols.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.#ctor(NtApiDotNet.NtProcess,NtApiDotNet.Win32.ISymbolResolver,NtApiDotNet.Ndr.NdrParserFlags)">
            <summary>
            Constructor.
            </summary>
            <param name="process">Process to parse from.</param>
            <param name="symbol_resolver">Specify a symbol resolver to use for looking up symbols.</param>
            <param name="parser_flags">Flags which affect the parsing operation.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.#ctor(NtApiDotNet.Win32.ISymbolResolver)">
            <summary>
            Constructor.
            </summary>
            <param name="symbol_resolver">Specify a symbol resolver to use for looking up symbols.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.#ctor(NtApiDotNet.NtProcess)">
            <summary>
            Constructor.
            </summary>
            <param name="process">Process to parse from.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.ReadFromProxyFileInfo(System.IntPtr)">
            <summary>
            Read COM proxy information from a ProxyFileInfo structure.
            </summary>
            <param name="proxy_file_info">The address of the ProxyFileInfo structure.</param>
            <returns>The list of parsed proxy definitions.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.ReadFromProxyFileInfoArray(System.IntPtr)">
            <summary>
            Read COM proxy information from an array of pointers to ProxyFileInfo structures.
            </summary>
            <param name="proxy_file_info_array">The address of an array of pointers to ProxyFileInfo structures. The last pointer should be NULL.</param>
            <returns>The list of parsed proxy definitions.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.ReadFromComProxyFile(System.String,System.Guid,System.Collections.Generic.IEnumerable{System.Guid})">
            <summary>
            Read COM proxy information from a file.
            </summary>
            <param name="path">The path to the DLL containing the proxy.</param>
            <param name="clsid">Optional CLSID for the proxy class.</param>
            <param name="iids">List of IIDs to parse.</param>
            <returns>The list of parsed proxy definitions.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.ReadFromComProxyFile(System.String,System.Guid)">
            <summary>
            Read COM proxy information from a file.
            </summary>
            <param name="path">The path to the DLL containing the proxy.</param>
            <param name="clsid">Optional CLSID for the proxy class.</param>
            <returns>The list of parsed proxy definitions.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.ReadFromComProxyFile(System.String)">
            <summary>
            Read COM proxy information from a file.
            </summary>
            <param name="path">The path to the DLL containing the proxy.</param>
            <returns>The list of parsed proxy definitions.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.ReadFromRpcServerInterface(System.IntPtr)">
            <summary>
            Parse NDR content from an RPC_SERVER_INTERFACE structure in memory.
            </summary>
            <param name="server_interface">Pointer to the RPC_SERVER_INTERFACE.</param>
            <returns>The parsed NDR content.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.ReadFromRpcServerInterface(System.IntPtr,System.IntPtr)">
            <summary>
            Parse NDR content from an RPC_SERVER_INTERFACE structure in memory.
            </summary>
            <param name="server_interface">Pointer to the RPC_SERVER_INTERFACE.</param>
            <param name="base_address">Base address of the library which contains the interface.</param>
            <returns>The parsed NDR content.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.ReadRpcServerInterface(System.IntPtr)">
            <summary>
            Parse NDR content from an RPC_SERVER_INTERFACE structure in memory. Deprecated.
            </summary>
            <param name="server_interface">Pointer to the RPC_SERVER_INTERFACE.</param>
            <returns>The parsed NDR content.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.ReadFromRpcServerInterface(System.String,System.Int32)">
            <summary>
            Parse NDR content from an RPC_SERVER_INTERFACE structure in memory.
            </summary>
            <param name="dll_path">The path to a DLL containing the RPC_SERVER_INTERFACE.</param>
            <param name="offset">Offset to the RPC_SERVER_INTERFACE from the base of the DLL.</param>
            <returns>The parsed NDR content.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.ReadFromMidlServerInfo(System.IntPtr,System.Int32,System.Int32,System.Collections.Generic.IList{System.String})">
            <summary>
            Parse NDR procedures from an MIDL_SERVER_INFO structure in memory.
            </summary>
            <param name="server_info">Pointer to the MIDL_SERVER_INFO.</param>
            <param name="dispatch_count">Number of dispatch functions to parse.</param>
            <param name="start_offset">The start offset to parse from. This is used for COM where the first few proxy stubs are not implemented.</param>
            <param name="names">List of names for the valid procedures. Should either be null or a list equal in size to dispatch_count - start_offset.</param>
            <returns>The parsed NDR content.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.ReadFromMidlServerInfo(System.IntPtr,System.Int32,System.Int32)">
            <summary>
            Parse NDR procedures from an MIDL_SERVER_INFO structure in memory.
            </summary>
            <param name="server_info">Pointer to the MIDL_SERVER_INFO.</param>
            <param name="dispatch_count">Number of dispatch functions to parse.</param>
            <param name="start_offset">The start offset to parse from. This is used for COM where the first few proxy stubs are not implemented.</param>
            <returns>The parsed NDR content.</returns>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrParser.Types">
            <summary>
            List of parsed types from the NDR.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrParser.ComplexTypes">
            <summary>
            List of parsed complex types from the NDR.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.ReadPicklingComplexTypes(NtApiDotNet.NtProcess,System.IntPtr,System.IntPtr,System.IntPtr[],NtApiDotNet.Ndr.NdrParserFlags)">
            <summary>
            Parse NDR complex type information from a pickling structure. Used to extract explicit Encode/Decode method information.
            </summary>
            <param name="process">The process to read from.</param>
            <param name="midl_type_pickling_info">Pointer to the MIDL_TYPE_PICKLING_INFO structure.</param>
            <param name="midl_stub_desc">The pointer to the MIDL_STUB_DESC structure.</param>
            <param name="type_offsets">Pointers to the the format string to the start of the types.</param>
            <param name="parser_flags">Specify additional parser flags.</param>
            <returns>The list of complex types.</returns>
            <remarks>This function is used to extract type information for calls to NdrMesTypeDecode2. MIDL_TYPE_PICKLING_INFO is the second parameter,
            MIDL_STUB_DESC is the third, the Type Offsets is the fourth parameter.</remarks>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.ReadPicklingComplexTypes(NtApiDotNet.NtProcess,System.IntPtr,System.IntPtr,System.IntPtr,System.Int32[],NtApiDotNet.Ndr.NdrParserFlags)">
            <summary>
            Parse NDR complex type information from a pickling structure. Used to extract explicit Encode/Decode method information.
            </summary>
            <param name="process">The process to read from.</param>
            <param name="midl_type_pickling_info">Pointer to the MIDL_TYPE_PICKLING_INFO structure.</param>
            <param name="midl_stubless_proxy">The pointer to the MIDL_STUBLESS_PROXY_INFO structure.</param>
            <param name="type_pickling_offset_table">Pointer to the type pickling offset table.</param>
            <param name="type_index">Index into type_pickling_offset_table array.</param>
            <param name="parser_flags">Specify additional parser flags.</param>
            <returns>The list of complex types.</returns>
            <remarks>This function is used to extract type information for calls to NdrMesTypeDecode3. MIDL_TYPE_PICKLING_INFO is the second parameter,
            MIDL_STUBLESS_PROXY_INFO is the third, the type pickling offset table is the fourth and the type index is the fifth.</remarks>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.ReadPicklingComplexTypes(NtApiDotNet.NtProcess,System.IntPtr,System.IntPtr,System.Int32[],NtApiDotNet.Ndr.NdrParserFlags)">
            <summary>
            Parse NDR complex type information from a pickling structure. Used to extract explicit Encode/Decode method information.
            </summary>
            <param name="process">The process to read from.</param>
            <param name="midl_type_pickling_info">Pointer to the MIDL_TYPE_PICKLING_INFO structure.</param>
            <param name="midl_stub_desc">The pointer to the MIDL_STUB_DESC structure.</param>
            <param name="start_offsets">Offsets into the format string to the start of the types.</param>
            <param name="parser_flags">Specify additional parser flags.</param>
            <returns>The list of complex types.</returns>
            <remarks>This function is used to extract type information for calls to NdrMesTypeDecode2. MIDL_TYPE_PICKLING_INFO is the second parameter,
            MIDL_STUB_DESC is the third (minus the offset).</remarks>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.ReadPicklingComplexTypes(NtApiDotNet.NtProcess,System.IntPtr,System.IntPtr,System.Int32[])">
            <summary>
            Parse NDR complex type information from a pickling structure. Used to extract explicit Encode/Decode method information.
            </summary>
            <param name="process">The process to read from.</param>
            <param name="midl_type_pickling_info">Pointer to the MIDL_TYPE_PICKLING_INFO structure.</param>
            <param name="midl_stub_desc">The pointer to the MIDL_STUB_DESC structure.</param>
            <param name="start_offsets">Offsets into the format string to the start of the types.</param>
            <returns>The list of complex types.</returns>
            <remarks>This function is used to extract type information for calls to NdrMesTypeDecode2. MIDL_TYPE_PICKLING_INFO is the second parameter,
            MIDL_STUB_DESC is the third (minus the offset).</remarks>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParser.ReadPicklingComplexTypes(System.IntPtr,System.IntPtr,System.Int32[])">
            <summary>
            Parse NDR complex type information from a pickling structure. Used to extract explicit Encode/Decode method information.
            </summary>
            <param name="midl_type_pickling_info">Pointer to the MIDL_TYPE_PICKLING_INFO structure.</param>
            <param name="midl_stub_desc">The pointer to the MIDL_STUB_DESC structure.</param>
            <param name="start_offsets">Offsets into the format string to the start of the types.</param>
            <returns>The list of complex types.</returns>
            <remarks>This function is used to extract type information for calls to NdrMesTypeDecode2. MIDL_TYPE_PICKLING_INFO is the second parameter,
            MIDL_STUB_DESC is the third (minus the offset).</remarks>
        </member>
        <member name="T:NtApiDotNet.Ndr.NdrParserException">
            <summary>
            Exception thrown when NDR parsing fails.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParserException.#ctor(System.String)">
            <summary>
            Constructor.
            </summary>
            <param name="message">Exception message.</param>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrParserException.#ctor(System.String,System.Exception)">
            <summary>
            Constructor.
            </summary>
            <param name="message">Exception message.</param>
            <param name="inner_exception">Inner exception to wrap.</param>
        </member>
        <member name="T:NtApiDotNet.Ndr.NdrProtocolSequenceEndpoint">
            <summary>
            Class respresenting an RPC protocol sequence.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrProtocolSequenceEndpoint.ProtocolSequence">
            <summary>
            The protocol sequence for the endpoint.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrProtocolSequenceEndpoint.Endpoint">
            <summary>
            The endpoint name.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Ndr.NdrRpcServerInterface">
            <summary>
            A parsed NDR RPC_SERVER_INTERFACE structure.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrRpcServerInterface.InterfaceId">
            <summary>
            The RPC interface GUID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrRpcServerInterface.InterfaceVersion">
            <summary>
            The RPC interface version.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrRpcServerInterface.TransferSyntaxId">
            <summary>
            The RPC transfer syntax GUID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrRpcServerInterface.TransferSyntaxVersion">
            <summary>
            The RPC transfer syntax version.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrRpcServerInterface.Procedures">
            <summary>
            List of parsed procedures.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Ndr.NdrRpcServerInterface.ProtocolSequences">
            <summary>
            List of protocol sequences.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrRpcServerInterface.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The string form of this class.</returns>
        </member>
        <member name="T:NtApiDotNet.Ndr.NdrFormatCharacter">
            <summary>
            NDR format character.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Ndr.NdrStringBuilder">
            <summary>
            Class to build text strings for an NDR formatter.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrStringBuilder.PushIndent(System.String)">
            <summary>
            Push an indent string on to the indent stack.
            </summary>
            <param name="indent">The string to indent any new lines.</param>
            <returns>The current builder instance.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrStringBuilder.PushIndent(System.Char,System.Int32)">
            <summary>
            Push an indent on to the indent stack.
            </summary>
            <param name="ch">The character to indent with.</param>
            <param name="count">The number of indent characters.</param>
            <returns>The current builder instance.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrStringBuilder.PopIndent">
            <summary>
            Pop the current indent off the indent stack.
            </summary>
            <returns>The current builder instance.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrStringBuilder.Append(System.String)">
            <summary>
            Append a string to the builder.
            </summary>
            <param name="str">The string to append.</param>
            <returns>The current builder instance.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrStringBuilder.Append(System.String,System.Object[])">
            <summary>
            Append a formatted string to the builder.
            </summary>
            <param name="format">The string format.</param>
            <param name="args">The array of arguments to the formatter.</param>
            <returns>The current builder instance.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrStringBuilder.AppendLine">
            <summary>
            Append a new line to the builder.
            </summary>
            <returns>The current builder instance.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrStringBuilder.AppendLine(System.String)">
            <summary>
            Append a string to the builder with a new line.
            </summary>
            <param name="str">The string to append.</param>
            <returns>The current builder instance.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrStringBuilder.AppendLine(System.String,System.Object[])">
            <summary>
            Append a formatted string to the builder with a new line.
            </summary>
            <param name="format">The string format.</param>
            <param name="args">The array of arguments to the formatter.</param>
            <returns>The current builder instance.</returns>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrStringBuilder.ToString">
            <summary>
            Overridden ToString method, returns the current state of the builder.
            </summary>
            <returns>The current stated of the builder.</returns>
        </member>
        <member name="T:NtApiDotNet.Ndr.NdrUtils">
            <summary>
            Utilities for NDR marshaling.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Ndr.NdrUtils.SetNdrMarshalTraceLevel(System.Diagnostics.TraceLevel)">
            <summary>
            Specify NDR marshaler trace level.
            </summary>
            <param name="level">Specify the NDR marshaler trace level.</param>
            <remarks>Verbose marshal stack details.</remarks>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.DataLinkAddressType">
            <summary>
            Datalink address type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallAccessRights">
            <summary>
            Access rights for a firewall object.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallAddressAndMask">
            <summary>
            Represents a firewall address and mask.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallAddressAndMask.Address">
            <summary>
            The IP address.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallAddressAndMask.Mask">
            <summary>
            The mask.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallAddressAndMask.PrefixLength">
            <summary>
            Mask prefix length.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallAddressAndMask.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The value and mask as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallAddressFamily">
            <summary>
            Address family when IP protocol is not specified.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.FirewallAddressFamily.Inet">
            <summary>
            IPv4
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.FirewallAddressFamily.Inet6">
            <summary>
            IPv6
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.FirewallAddressFamily.Ether">
            <summary>
            Ethernet
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.FirewallAddressFamily.None">
            <summary>
            None
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallAleEndpoint">
            <summary>
            Class to represent a firewall ALE endpoint.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallAleEndpoint.EndpointId">
            <summary>
            The ID of the endpoint.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallAleEndpoint.LocalEndpoint">
            <summary>
            The local endpoint.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallAleEndpoint.RemoteEndpoint">
            <summary>
            The remote endpoint.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallAleEndpoint.IpProtocol">
            <summary>
            The protocol type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallAleEndpoint.LocalTokenModifiedId">
            <summary>
            The LUID for the token associated with the endpoint.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallAleEndpoint.MmSaId">
            <summary>
            The IPsec security association identifier.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallAleEndpoint.QmSaId">
            <summary>
            The IPsec security association identifier to expire.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallAleEndpoint.IPsecStatus">
            <summary>
            The IPsec status of the endpoint.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallAleEndpoint.Flags">
            <summary>
            Flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallAleEndpoint.AppId">
            <summary>
            Associated application.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallAleEndpoint.FileName">
            <summary>
            Filename of AppId.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallAleLayer">
            <summary>
            Enumeration for ALE layer types.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallCallout">
            <summary>
            Class to represent a firewall callout object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallCallout.Flags">
            <summary>
            Flags for the callout.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallCallout.ProviderKey">
            <summary>
            Provider key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallCallout.ProviderData">
            <summary>
            Provider data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallCallout.ApplicableLayer">
            <summary>
            Applicable layer key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallCallout.CalloutId">
            <summary>
            Callout ID.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallCalloutFlags">
            <summary>
            Flags for a firewall callout.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallCalloutGuids">
            <summary>
            Guids for pre-defined callouts.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallClassifyOutFlags">
            <summary>
            Flags for classify output.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallClassifyResult">
            <summary>
            Class to represet the result of a classify operations.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallClassifyResult.ActionType">
            <summary>
            Action type of the classify result.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallClassifyResult.OutContext">
            <summary>
            Internal context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallClassifyResult.FilterId">
            <summary>
            ID of the filter.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallClassifyResult.Rights">
            <summary>
            Associated rights.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallClassifyResult.Flags">
            <summary>
            Classify flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallConditionBuilder">
            <summary>
            Base class to implement common condition building operations.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.Conditions">
            <summary>
            Specify list of firewall filter conditions.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddCondition(NtApiDotNet.Net.Firewall.FirewallMatchType,System.Guid,NtApiDotNet.Net.Firewall.FirewallValue)">
            <summary>
            Add a condition.
            </summary>
            <param name="match_type">The match type for the condition.</param>
            <param name="field_key">The field key for the condition.</param>
            <param name="value">The value for the condition.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddConditionRange(System.Guid,NtApiDotNet.Net.Firewall.FirewallValue,NtApiDotNet.Net.Firewall.FirewallValue)">
            <summary>
            Add a condition range.
            </summary>
            <param name="field_key">The field key for the condition.</param>
            <param name="low">The low value for the range.</param>
            <param name="high">The high value from the range.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddFilename(NtApiDotNet.Net.Firewall.FirewallMatchType,System.String)">
            <summary>
            Add an executable filename condition.
            </summary>
            <param name="match_type">The match type for the condition.</param>
            <param name="filename">The path to the file to use.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddAppId(NtApiDotNet.Net.Firewall.FirewallMatchType,System.String)">
            <summary>
            Add an App ID condition.
            </summary>
            <param name="match_type">The match type for the condition.</param>
            <param name="appid">The path to the file already converted to absolute format.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddUserId(NtApiDotNet.Net.Firewall.FirewallMatchType,NtApiDotNet.SecurityDescriptor)">
            <summary>
            Add a user ID security descriptor condition.
            </summary>
            <param name="match_type">The match type for the condition.</param>
            <param name="security_descriptor">The security descriptor.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddRemoteUserId(NtApiDotNet.Net.Firewall.FirewallMatchType,NtApiDotNet.SecurityDescriptor)">
            <summary>
            Add a remote user ID security descriptor condition.
            </summary>
            <param name="match_type">The match type for the condition.</param>
            <param name="security_descriptor">The security descriptor.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddRemoteMachineId(NtApiDotNet.Net.Firewall.FirewallMatchType,NtApiDotNet.SecurityDescriptor)">
            <summary>
            Add a remote machine ID security descriptor condition.
            </summary>
            <param name="match_type">The match type for the condition.</param>
            <param name="security_descriptor">The security descriptor.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddProtocolType(NtApiDotNet.Net.Firewall.FirewallMatchType,System.Net.Sockets.ProtocolType)">
            <summary>
            Add a IP protocol type condition.
            </summary>
            <param name="match_type">The match type for the condition.</param>
            <param name="protocol">The protocol type for the condition.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddConditionFlags(NtApiDotNet.Net.Firewall.FirewallMatchType,NtApiDotNet.Net.Firewall.FirewallConditionFlags)">
            <summary>
            Add a conditions flag condition.
            </summary>
            <param name="match_type">The match type for the condition.</param>
            <param name="flags">The flags for the condition.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddIpAddress(NtApiDotNet.Net.Firewall.FirewallMatchType,System.Boolean,System.Net.IPAddress)">
            <summary>
            Add IP address.
            </summary>
            <param name="match_type">The match type for the condition.</param>
            <param name="remote">True to specify remote, false for local.</param>
            <param name="address">The low IP address.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddIpRange(System.Boolean,System.Net.IPAddress,System.Net.IPAddress)">
            <summary>
            Add IP address range.
            </summary>
            <param name="remote">True to specify remote, false for local.</param>
            <param name="low_address">The low IP address.</param>
            <param name="high_address">The high IP address.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddPortRange(System.Boolean,System.Int32,System.Int32)">
            <summary>
            Add port range.
            </summary>
            <param name="remote">True to specify remote, false for local.</param>
            <param name="low_port">The low port.</param>
            <param name="high_port">The high port.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddPort(NtApiDotNet.Net.Firewall.FirewallMatchType,System.Boolean,System.Int32)">
            <summary>
            Add port.
            </summary>
            <param name="match_type">The match type for the condition.</param>
            <param name="remote">True to specify remote, false for local.</param>
            <param name="port">The port.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddEndpoint(NtApiDotNet.Net.Firewall.FirewallMatchType,System.Boolean,System.Net.IPEndPoint)">
            <summary>
            Add an IP endpoint.
            </summary>
            <param name="match_type">The match type for the condition.</param>
            <param name="remote">True to specify remote, false for local.</param>
            <param name="endpoint">The IP endpoint.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddUserToken(NtApiDotNet.Net.Firewall.FirewallMatchType,NtApiDotNet.NtToken)">
            <summary>
            Add token information.
            </summary>
            <param name="match_type">The match type.</param>
            <param name="token">The token.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddRemoteUserToken(NtApiDotNet.Net.Firewall.FirewallMatchType,NtApiDotNet.NtToken)">
            <summary>
            Add remote token information.
            </summary>
            <param name="match_type">The match type.</param>
            <param name="token">The token.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddRemoteMachineToken(NtApiDotNet.Net.Firewall.FirewallMatchType,NtApiDotNet.NtToken)">
            <summary>
            Add remote machine token information.
            </summary>
            <param name="match_type">The match type.</param>
            <param name="token">The token.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddPackageSid(NtApiDotNet.Net.Firewall.FirewallMatchType,NtApiDotNet.Sid)">
            <summary>
            Add a package SID condition.
            </summary>
            <param name="match_type">The match type.</param>
            <param name="package_sid">The package SID.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddExcludeAppContainer">
            <summary>
            Add a condition which excludes app containers.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddIncludeAppContainer">
            <summary>
            Add a condition which includes app containers.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddProcess(NtApiDotNet.Net.Firewall.FirewallMatchType,NtApiDotNet.NtProcess)">
            <summary>
            Adds details from a process, such as the process' App ID and package SID and token information.
            </summary>
            <param name="match_type">The match type.</param>
            <param name="process">The process.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddProcess(NtApiDotNet.Net.Firewall.FirewallMatchType,System.Int32)">
            <summary>
            Adds details from a process, such as the process' App ID and package SID and token information.
            </summary>
            <param name="match_type">The match type.</param>
            <param name="process_id">The PID of the process.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddRpcUuid(NtApiDotNet.Net.Firewall.FirewallMatchType,System.Guid)">
            <summary>
            Add the RPC UUID.
            </summary>
            <param name="match_type">Match type.</param>
            <param name="uuid">The RPC UUID.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.AddNetEventType(NtApiDotNet.Net.Firewall.FirewallMatchType,NtApiDotNet.Net.Firewall.FirewallNetEventType)">
            <summary>
            Add a network event type.
            </summary>
            <param name="match_type">Match type.</param>
            <param name="type">Network event type.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallConditionBuilder.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallConditionFlags">
            <summary>
            Firewall condition flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallConditionGuids">
            <summary>
            Guids for pre-defined firewall conditions.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallDirectionType">
            <summary>
            Direction of stream for firewall.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.FirewallDirectionType.Outbound">
            <summary>
            Outbound flow.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.FirewallDirectionType.Inbound">
            <summary>
            Inbound flow.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallEmpty">
            <summary>
            Place holder for an empty value.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEmpty.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The value as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallEngine">
            <summary>
            Class to represent the firewall engine.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.Open(System.String,NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType,NtApiDotNet.Win32.Security.Authentication.UserCredentials,NtApiDotNet.Net.Firewall.FirewallSession,System.Boolean)">
            <summary>
            Open an instance of the engine.
            </summary>
            <param name="server_name">The server name for the firewall service.</param>
            <param name="authn_service">RPC authentication service. Use default or WinNT.</param>
            <param name="auth_identity">Optional authentication credentials.</param>
            <param name="session">Optional session information.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened firewall engine.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.Open(System.String,NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType,NtApiDotNet.Win32.Security.Authentication.UserCredentials,NtApiDotNet.Net.Firewall.FirewallSession)">
            <summary>
            Open an instance of the engine.
            </summary>
            <param name="server_name">The server name for the firewall service.</param>
            <param name="authn_service">RPC authentication service. Use default or WinNT.</param>
            <param name="auth_identity">Optional authentication credentials.</param>
            <param name="session">Optional session information.</param>
            <returns>The opened firewall engine.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.Open(System.Boolean)">
            <summary>
            Open an instance of the engine.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened firewall engine.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.Open">
            <summary>
            Open an instance of the engine.
            </summary>
            <returns>The opened firewall engine.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.OpenDynamic(System.Boolean)">
            <summary>
            Open a dynamic instance of the engine.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened firewall engine.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.OpenDynamic">
            <summary>
            Open a dynamic instance of the engine.
            </summary>
            <returns>The opened firewall engine.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetOption(NtApiDotNet.Net.Firewall.FirewallEngineOption,System.Boolean)">
            <summary>
            Get an engine option.
            </summary>
            <param name="option">The option to get.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The engine option's value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetOption(NtApiDotNet.Net.Firewall.FirewallEngineOption)">
            <summary>
            Get an engine option.
            </summary>
            <param name="option">The option to get.</param>
            <returns>The engine option's value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetNetEventMatchAnyKeywords(System.Boolean)">
            <summary>
            Get the current network event keywords setting.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The network event keywords.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetNetEventMatchAnyKeywords">
            <summary>
            Get the current network event keywords setting.
            </summary>
            <returns>The network event keywords.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetCollectNetEvents(System.Boolean)">
            <summary>
            Get collect net events option.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>True if net events are being collected.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetCollectNetEvents">
            <summary>
            Get collect net events option.
            </summary>
            <returns>True if net events are being collected.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.SetOption(NtApiDotNet.Net.Firewall.FirewallEngineOption,NtApiDotNet.Net.Firewall.FirewallValue,System.Boolean)">
            <summary>
            Set an engine option.
            </summary>
            <param name="option">The option to set.</param>
            <param name="value">The value to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.SetOption(NtApiDotNet.Net.Firewall.FirewallEngineOption,NtApiDotNet.Net.Firewall.FirewallValue)">
            <summary>
            Set an engine option.
            </summary>
            <param name="option">The option to set.</param>
            <param name="value">The value to set.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.SetNetEventMatchAnyKeywords(NtApiDotNet.Net.Firewall.FirewallNetEventKeywords,System.Boolean)">
            <summary>
            Set network event keywords.
            </summary>
            <param name="keywords">The keywords to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.SetNetEventMatchAnyKeywords(NtApiDotNet.Net.Firewall.FirewallNetEventKeywords)">
            <summary>
            Set network event keywords.
            </summary>
            <param name="keywords">The keywords to set.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.SetCollectNetEvents(System.Boolean,System.Boolean)">
            <summary>
            Set the collection net events engine option.
            </summary>
            <param name="collect">True to enable collection.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.SetCollectNetEvents(System.Boolean)">
            <summary>
            Set the collection net events engine option.
            </summary>
            <param name="collect">True to enable collection.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetLayer(System.Guid,System.Boolean)">
            <summary>
            Get a layer by its key.
            </summary>
            <param name="key">The key of the layer.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The firewall layer.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetLayer(System.Guid)">
            <summary>
            Get a layer by its key.
            </summary>
            <param name="key">The key of the layer.</param>
            <returns>The firewall layer.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetLayer(System.Int32,System.Boolean)">
            <summary>
            Get a layer by its ID.
            </summary>
            <param name="id">The ID of the layer.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The firewall layer.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetLayer(System.Int32)">
            <summary>
            Get a layer by its ID.
            </summary>
            <param name="id">The ID of the layer.</param>
            <returns>The firewall layer.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetLayer(System.String,System.Boolean)">
            <summary>
            Get a layer by its well-known key name.
            </summary>
            <param name="name">The well-known key name of the layer.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The firewall layer.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetLayer(System.String)">
            <summary>
            Get a layer by its well-known key name.
            </summary>
            <param name="name">The well-known key name of the layer.</param>
            <returns>The firewall layer.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetLayer(NtApiDotNet.Net.Firewall.FirewallAleLayer,System.Boolean)">
            <summary>
            Get a layer by an ALE layer type.
            </summary>
            <param name="ale_layer">The ALE layer type.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The firewall layer.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetLayer(NtApiDotNet.Net.Firewall.FirewallAleLayer)">
            <summary>
            Get a layer by an ALE layer type.
            </summary>
            <param name="ale_layer">The ALE layer type.</param>
            <returns>The firewall layer.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateLayers(System.Boolean)">
            <summary>
            Enumerate all layers.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of layers.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateLayers">
            <summary>
            Enumerate all layers.
            </summary>
            <returns>The list of layers.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetSubLayer(System.Guid,System.Boolean)">
            <summary>
            Get a sub-layer by its key.
            </summary>
            <param name="key">The key of the sub-layer.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The firewall sub-layer.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetSubLayer(System.Guid)">
            <summary>
            Get a sub-layer by its key.
            </summary>
            <param name="key">The key of the sub-layer.</param>
            <returns>The firewall sub-layer.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetSubLayer(System.String,System.Boolean)">
            <summary>
            Get a sub-layer by its well-known key name.
            </summary>
            <param name="name">The well-known key name of the sub-layer.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The firewall sub-layer.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetSubLayer(System.String)">
            <summary>
            Get a sub-layer by its well-known key name.
            </summary>
            <param name="name">The well-known key name of the sub-layer.</param>
            <returns>The firewall sub-layer.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateSubLayers(System.Boolean)">
            <summary>
            Enumerate all sub-layers.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of sub-layers.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateSubLayers">
            <summary>
            Enumerate all sub-layers.
            </summary>
            <returns>The list of sub-layers.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetCallout(System.Guid,System.Boolean)">
            <summary>
            Get a callout by its key.
            </summary>
            <param name="key">The key of the callout.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The firewall callout.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetCallout(System.Guid)">
            <summary>
            Get a callout by its key.
            </summary>
            <param name="key">The key of the callout.</param>
            <returns>The firewall callout.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateCallouts(System.Boolean)">
            <summary>
            Enumerate all callouts
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of callouts.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateCallouts">
            <summary>
            Enumerate all callouts.
            </summary>
            <returns>The list of callouts.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetFilter(System.Guid,System.Boolean)">
            <summary>
            Get a filter by its key.
            </summary>
            <param name="key">The key of the filter.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The firewall filter.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetFilter(System.Guid)">
            <summary>
            Get a filter by its key.
            </summary>
            <param name="key">The key of the filter.</param>
            <returns>The firewall filter.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetFilter(System.UInt64,System.Boolean)">
            <summary>
            Get a filter by its id.
            </summary>
            <param name="id">The ID of the filter.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The firewall filter.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetFilter(System.UInt64)">
            <summary>
            Get a filter by its id.
            </summary>
            <param name="id">The ID of the filter.</param>
            <returns>The firewall filter.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateFilters(NtApiDotNet.Net.Firewall.FirewallFilterEnumTemplate,System.Boolean)">
            <summary>
            Enumerate filters
            </summary>
            <param name="template">Specify a template for enumerating the filters.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of filters.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateFilters(NtApiDotNet.Net.Firewall.FirewallFilterEnumTemplate)">
            <summary>
            Enumerate filters
            </summary>
            <param name="template">Specify a template for enumerating the filters.</param>
            <returns>The list of filters.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateFilters(System.Boolean)">
            <summary>
            Enumerate all filters
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of filters.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateFilters">
            <summary>
            Enumerate all filters.
            </summary>
            <returns>The list of filters.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.AddFilter(NtApiDotNet.Net.Firewall.FirewallFilterBuilder,NtApiDotNet.SecurityDescriptor,System.Boolean)">
            <summary>
            Add a filter.
            </summary>
            <param name="builder">The builder used to create the filter.</param>
            <param name="security_descriptor">Optional security descriptor.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The added filter ID.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.AddFilter(NtApiDotNet.Net.Firewall.FirewallFilterBuilder,NtApiDotNet.SecurityDescriptor)">
            <summary>
            Add a filter.
            </summary>
            <param name="builder">The builder used to create the filter.</param>
            <param name="security_descriptor">Optional security descriptor.</param>
            <returns>The added filter ID.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.AddFilter(NtApiDotNet.Net.Firewall.FirewallFilterBuilder)">
            <summary>
            Add a filter.
            </summary>
            <param name="builder">The builder used to create the filter.</param>
            <returns>The added filter ID.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.DeleteFilter(System.Guid,System.Boolean)">
            <summary>
            Delete a filter.
            </summary>
            <param name="key">The filter key.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.DeleteFilter(System.Guid)">
            <summary>
            Delete a filter.
            </summary>
            <param name="key">The filter key.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.DeleteFilter(System.UInt64,System.Boolean)">
            <summary>
            Delete a filter.
            </summary>
            <param name="id">The filter ID.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.DeleteFilter(System.UInt64)">
            <summary>
            Delete a filter.
            </summary>
            <param name="id">The filter ID.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetProvider(System.Guid,System.Boolean)">
            <summary>
            Get a provider by its key.
            </summary>
            <param name="key">The key of the provider.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The firewall provider.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetProvider(System.Guid)">
            <summary>
            Get a provider by its key.
            </summary>
            <param name="key">The key of the provider.</param>
            <returns>The firewall provider.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateProviders(System.Boolean)">
            <summary>
            Enumerate all providers.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of providers.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateProviders">
            <summary>
            Enumerate all providers.
            </summary>
            <returns>The list of providers.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetIkeSaDbSecurityDescriptor(NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Get the security descriptor for the IKE SA database.
            </summary>
            <param name="security_information">What parts of the security descriptor to retrieve</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The security descriptor</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetIkeSaDbSecurityDescriptor(NtApiDotNet.SecurityInformation)">
            <summary>
            Get the security descriptor for the IKE SA database.
            </summary>
            <param name="security_information">What parts of the security descriptor to retrieve</param>
            <returns>The security descriptor</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetIkeSaDbSecurityDescriptor">
            <summary>
            Get the security descriptor for the IKE SA database.
            </summary>
            <returns>The security descriptor</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateIkeSecurityAssociations(System.Boolean)">
            <summary>
            Enumerate all IKE security associatations.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of IKE security associatations.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateIkeSecurityAssociations">
            <summary>
            Enumerate all IKE security associatations.
            </summary>
            <returns>The list of IKE security associatations.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetIkeSecurityAssociation(System.UInt64,System.Nullable{System.Guid},System.Boolean)">
            <summary>
            Get an IKE security association by its ID and lookup context.
            </summary>
            <param name="id">The ID of the security association.</param>
            <param name="lookup_context">Optional lookup context.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The IKE security association.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetIkeSecurityAssociation(System.UInt64,System.Nullable{System.Guid})">
            <summary>
            Get an IKE security association by its ID and lookup context.
            </summary>
            <param name="id">The ID of the security association.</param>
            <param name="lookup_context">Optional lookup context.</param>
            <returns>The IKE security association.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.Classify(System.Int32,System.Collections.Generic.IEnumerable{NtApiDotNet.Net.Firewall.FirewallValue},System.Boolean)">
            <summary>
            Classify a layer.
            </summary>
            <param name="layer_id">The ID of the layer.</param>
            <param name="incoming_values">A list of incoming values.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The classify result.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.Classify(System.Int32,System.Collections.Generic.IEnumerable{NtApiDotNet.Net.Firewall.FirewallValue})">
            <summary>
            Classify a layer.
            </summary>
            <param name="layer_id">The ID of the layer.</param>
            <param name="incoming_values">A list of incoming values.</param>
            <returns>The classify result.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateKeyManagers(System.Boolean)">
            <summary>
            Enumerate IPSEC key managers.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of registered key managers.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateKeyManagers">
            <summary>
            Enumerate IPSEC key managers.
            </summary>
            <returns>The list of registered key managers.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetKeyManagerSecurityDescriptor(NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Get key manager component security descriptor.
            </summary>
            <param name="security_information">The security information to query.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetKeyManagerSecurityDescriptor(NtApiDotNet.SecurityInformation)">
            <summary>
            Get key manager component security descriptor.
            </summary>
            <param name="security_information">The security information to query.</param>
            <returns>The security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.OpenToken(NtApiDotNet.Luid,NtApiDotNet.TokenAccessRights,System.Boolean)">
            <summary>
            Open token from its modified ID.
            </summary>
            <param name="modified_id">The token's modified ID.</param>
            <param name="desired_access">The desired token access.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened token.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.OpenToken(NtApiDotNet.Luid,NtApiDotNet.TokenAccessRights)">
            <summary>
            Open token from its modified ID.
            </summary>
            <param name="modified_id">The token's modified ID.</param>
            <param name="desired_access">The desired token access.</param>
            <returns>The opened token.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateAleEndpoints(System.Boolean)">
            <summary>
            Enumerate all ALE endpoints.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of ALE endpoints.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateAleEndpoints">
            <summary>
            Enumerate all ALE endpoints.
            </summary>
            <returns>The list of ALE endpoints.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetAleEndpoint(System.UInt64,System.Boolean)">
            <summary>
            Get an ALE endpoint by its ID.
            </summary>
            <param name="id">The ID of the ALE endpoint.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The ALE endpoint.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetAleEndpoint(System.UInt64)">
            <summary>
            Get an ALE endpoint by its ID.
            </summary>
            <param name="id">The ID of the ALE endpoint.</param>
            <returns>The ALE endpoint.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetAleEndpointSecurityDescriptor(NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Get the ALE endpoint security.
            </summary>
            <param name="security_information">The security information to query for.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetAleEndpointSecurityDescriptor(NtApiDotNet.SecurityInformation)">
            <summary>
            Get the ALE endpoint security.
            </summary>
            <param name="security_information">The security information to query for.</param>
            <returns>The security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateSessions(System.Boolean)">
            <summary>
            Enumerate all sessions.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of sessions.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateSessions">
            <summary>
            Enumerate all sessions.
            </summary>
            <returns>The list of sessions.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateNetEvents(NtApiDotNet.Net.Firewall.FirewallNetEventEnumTemplate,System.Boolean)">
            <summary>
            Enumerate all network events.
            </summary>
            <param name="template">Template to filter down enumeration.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of network events.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateNetEvents(System.Boolean)">
            <summary>
            Enumerate all network events.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of network events.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateNetEvents(NtApiDotNet.Net.Firewall.FirewallNetEventEnumTemplate)">
            <summary>
            Enumerate all network events.
            </summary>
            <param name="template">Template to filter down enumeration.</param>
            <returns>The list of network events.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.SubscribeNetEvents(NtApiDotNet.Net.Firewall.FirewallNetEventEnumTemplate,System.Boolean)">
            <summary>
            Subscribe to read network event.s
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <param name="template">Optional template to filter enumeration.</param>
            <returns>The network event listener.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.SubscribeNetEvents(NtApiDotNet.Net.Firewall.FirewallNetEventEnumTemplate)">
            <summary>
            Subscribe to read network event.s
            </summary>
            <param name="template">Optional template to filter enumeration.</param>
            <returns>The network event listener.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.SubscribeNetEvents(System.Boolean)">
            <summary>
            Subscribe to read network event.s
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The network event listener.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.BeginTransaction(NtApiDotNet.Net.Firewall.FirewallTransactionFlags,System.Boolean)">
            <summary>
            Begin a firewall transaction.
            </summary>
            <param name="flags">Flags for the transaction.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The firewall transaction.</returns>
            <remarks>Disposing the transaction will cause it to abort. You should call Commit to use it.</remarks>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateIPsecSecurityAssociationContexts(System.Boolean)">
            <summary>
            Enumerate all IPsec SA contexts.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of SA contexts.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.EnumerateIPsecSecurityAssociationContexts">
            <summary>
            Enumerate all IPsec SA contexts.
            </summary>
            <returns>The list of SA contexts.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetIPsecSecurityAssociationContext(System.UInt64,System.Boolean)">
            <summary>
            Get an IPsec SA context by its ID.
            </summary>
            <param name="id">The ID of the IPsec SA context.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The IPsec SA context.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetIPsecSecurityAssociationContext(System.UInt64)">
            <summary>
            Get an IPsec SA context by its ID.
            </summary>
            <param name="id">The ID of the IPsec SA context.</param>
            <returns>The IPsec SA context.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.BeginTransaction(NtApiDotNet.Net.Firewall.FirewallTransactionFlags)">
            <summary>
            Begin a firewall transaction.
            </summary>
            <param name="flags">Flags for the transaction.</param>
            <returns>The firewall transaction.</returns>
            <remarks>Disposing the transaction will cause it to abort. You should call Commit to use it.</remarks>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.BeginTransaction">
            <summary>
            Begin a read/write firewall transaction.
            </summary>
            <returns>The firewall transaction.</returns>
            <remarks>Disposing the transaction will cause it to abort. You should call Commit to use it.</remarks>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.Dispose">
            <summary>
            Dispose the engine.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallEngine.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="M:NtApiDotNet.Net.Firewall.FirewallEngine.GetSecurityDescriptor(NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Get the security descriptor specifying which parts to retrieve
            </summary>
            <param name="security_information">What parts of the security descriptor to retrieve</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The security descriptor</returns>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallEngineOption">
            <summary>
            Engine option to query or set.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallField">
            <summary>
            Represents a firewall field schema.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallField.Key">
            <summary>
            The field's key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallField.KeyName">
            <summary>
            The name of the key if known.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallField.Type">
            <summary>
            The type of the field.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallField.DataType">
            <summary>
            The data type of the field.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallFieldType">
            <summary>
            Field type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallFilter">
            <summary>
            A class to represent a firewall filter.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilter.ActionType">
            <summary>
            The filter action type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilter.LayerKey">
            <summary>
            The layer the filter applies to.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilter.LayerKeyName">
            <summary>
            The name of the layer if known.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilter.SubLayerKey">
            <summary>
            The sub-layer the filter applies to.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilter.SubLayerKeyName">
            <summary>
            The name of the sub-layer if known.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilter.Flags">
            <summary>
            The flags for the filter.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilter.Conditions">
            <summary>
            List of firewall conditions.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilter.Weight">
            <summary>
            Original weight of the filter.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilter.ProviderKey">
            <summary>
            Provider key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilter.ProviderData">
            <summary>
            Provider data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilter.FilterId">
            <summary>
            Filter identifier.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilter.EffectiveWeight">
            <summary>
            Effective weight of the filter.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilter.FilterType">
            <summary>
            Type of filter.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilter.CalloutKey">
            <summary>
            Key for the callout.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilter.CalloutKeyName">
            <summary>
            Name of the callout key if known.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilter.IsCallout">
            <summary>
            Is the filter a callout.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilter.HasAppId">
            <summary>
            Has the filter got an AppID condition.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilter.HasPackageId">
            <summary>
            Has the filter got an AppContainer package ID condition.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilter.HasUserId">
            <summary>
            Has the filter got a condition to check for a user ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilter.HasRemoteUserId">
            <summary>
            Has the filter got a condition to check for a remote user ID.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallFilter.GetLayer(System.Boolean)">
            <summary>
            Get a layer for this filter.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The firewall layer.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallFilter.GetLayer">
            <summary>
            Get a layer for this filter.
            </summary>
            <returns>The firewall layer.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallFilter.GetSubLayer(System.Boolean)">
            <summary>
            Get a sub-layer for this filter.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The firewall sub-layer.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallFilter.GetSubLayer">
            <summary>
            Get a sub-layer for this filter.
            </summary>
            <returns>The firewall sub-layer.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallFilter.HasCondition(System.Guid)">
            <summary>
            Check if filter has any condition of a specific type.
            </summary>
            <param name="condition_guid">The condition type to check.</param>
            <returns>True if the filter has a condition of the specified type.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallFilter.GetCondition(System.Guid)">
            <summary>
            Get the filter condition for a GUID.
            </summary>
            <param name="condition_guid">The condition type to get.</param>
            <returns>The filter condition.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallFilter.Delete(System.Boolean)">
            <summary>
            Delete the filter.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallFilter.Delete">
            <summary>
            Delete the filter.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallFilter.ToBuilder">
            <summary>
            Convert the filter into a builder so that it can be modified.
            </summary>
            <returns>The created builder.</returns>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallFilterAccessRights">
            <summary>
            Access rights for a firewall filter.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallFilterBuilder">
            <summary>
            A builder to create a new firewall filter.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilterBuilder.Name">
            <summary>
            The name of the filter.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilterBuilder.Description">
            <summary>
            The description of the filter.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilterBuilder.FilterKey">
            <summary>
            The filter key. If empty will be automatically assigned.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilterBuilder.LayerKey">
            <summary>
            The layer key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilterBuilder.SubLayerKey">
            <summary>
            The sub-layer key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilterBuilder.Flags">
            <summary>
            Flags for the filter.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilterBuilder.Weight">
            <summary>
            Specify the initial weight.
            </summary>
            <remarks>You need to specify an EMPTY, UINT64 or UINT8 value.</remarks>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilterBuilder.ActionType">
            <summary>
            Specify the action for this filter.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilterBuilder.FilterType">
            <summary>
            Specify the filter type GUID when not using a callout.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilterBuilder.CalloutKey">
            <summary>
            Specify callout key GUID when using a callout.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilterBuilder.ProviderKey">
            <summary>
            Specify provider key GUID.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallFilterBuilder.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallFilterCondition">
            <summary>
            Firewall filter condition.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilterCondition.MatchType">
            <summary>
            The match type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilterCondition.FieldKey">
            <summary>
            The key of the field.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilterCondition.FieldKeyName">
            <summary>
            The field key name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilterCondition.Value">
            <summary>
            The value for the condition
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallFilterCondition.#ctor(NtApiDotNet.Net.Firewall.FirewallMatchType,System.Guid,NtApiDotNet.Net.Firewall.FirewallValue)">
            <summary>
            Constructor.
            </summary>
            <param name="match_type">The condition match type.</param>
            <param name="field_key">The field key.</param>
            <param name="value">The value.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallFilterCondition.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The condition as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallFilterEnumTemplate">
            <summary>
            Options for enumerating a filter.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilterEnumTemplate.LayerKey">
            <summary>
            Specify the key for the layer to search for.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilterEnumTemplate.ProviderKey">
            <summary>
            Specify the provider key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilterEnumTemplate.Flags">
            <summary>
            Specify the flags for the enumeration.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallFilterEnumTemplate.ActionType">
            <summary>
            Specify the action type.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallFilterEnumTemplate.#ctor(System.Guid)">
            <summary>
            Constructor.
            </summary>
            <param name="layer_key">The layer key.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallFilterEnumTemplate.#ctor(NtApiDotNet.Net.Firewall.FirewallAleLayer)">
            <summary>
            Constructor.
            </summary>
            <param name="ale_layer">The ALE layer type..</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallFilterEnumTemplate.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallLayer">
            <summary>
            Class to represent a firewall layer object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallLayer.Flags">
            <summary>
            Layer flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallLayer.DefaultSubLayerKey">
            <summary>
            Default sub-layer key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallLayer.LayerId">
            <summary>
            The layer ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallLayer.Fields">
            <summary>
            List of fields.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallLayer.IsBuiltin">
            <summary>
            Is builtin layer.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallLayer.IsUser">
            <summary>
            Is a user-mode layer.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallLayer.EnumerateFilters(System.Boolean)">
            <summary>
            Enumerate filters for this layer.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of sorted filters.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallLayer.EnumerateFilters">
            <summary>
            Enumerate filters for this layer.
            </summary>
            <returns>The list of sorted filters.</returns>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallLayerFlags">
            <summary>
            Flags for a firewall layer.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallLayerGuids">
            <summary>
            Guids for pre-defined firewall layers.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallMatchType">
            <summary>
            Firewall filter match type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallNetEventDirectionType">
            <summary>
            Direction type for a network event.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.FirewallNetEventDirectionType.Inbound">
            <summary>
            Inbound
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.FirewallNetEventDirectionType.Outbound">
            <summary>
            Outbound.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.FirewallNetEventDirectionType.Forward">
            <summary>
            Forwarding
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.FirewallNetEventDirectionType.Loopback">
            <summary>
            Loopback.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallNetEvent">
            <summary>
            Base class for a firewall network event.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEvent.Type">
            <summary>
            Type of network event.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEvent.Flags">
            <summary>
            Flags for values set.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEvent.Timestamp">
            <summary>
            Timestamp of the event.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEvent.IPProtocol">
            <summary>
            Type of protocol.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEvent.LocalEndpoint">
            <summary>
            Local endpoint.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEvent.RemoteEndpoint">
            <summary>
            Remote endpoint.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEvent.ScopeId">
            <summary>
            IPv6 Scope ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEvent.AppId">
            <summary>
            Connection AppID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEvent.UserId">
            <summary>
            Connection user ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEvent.AddressFamily">
            <summary>
            Address family.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEvent.PackageSid">
            <summary>
            Package SID.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallNetEventCapabilityAllow">
            <summary>
            Class to represent a network event capability allow.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventCapabilityAllow.NetworkCapabilityId">
            <summary>
            AppContainer network capability.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventCapabilityAllow.FilterId">
            <summary>
            Filter ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventCapabilityAllow.IsLoopback">
            <summary>
            Indicates whether the packet originated from (or was heading to) the loopback adapter.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallNetEventCapabilityDrop">
            <summary>
            Class to represent a network event capability drop.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventCapabilityDrop.NetworkCapabilityId">
            <summary>
            AppContainer network capability.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventCapabilityDrop.FilterId">
            <summary>
            Filter ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventCapabilityDrop.IsLoopback">
            <summary>
            Indicates whether the packet originated from (or was heading to) the loopback adapter.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallNetEventClassifyAllow">
            <summary>
            Class to represent a firewall classification allow.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventClassifyAllow.FilterId">
            <summary>
            Filter ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventClassifyAllow.LayerId">
            <summary>
            Layer ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventClassifyAllow.ReauthReason">
            <summary>
            Reason for reauthorizing 
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventClassifyAllow.OriginalProfile">
            <summary>
            The original profile the connection was received on.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventClassifyAllow.CurrentProfile">
            <summary>
            The profile the error occurred on.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventClassifyAllow.MsFwpDirection">
            <summary>
            Indicates the direction of the packet transmission.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventClassifyAllow.IsLoopback">
            <summary>
            Indicates whether the packet originated from (or was heading to) the loopback adapter.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallNetEventClassifyDrop">
            <summary>
            Class to represent a firewall classification drop.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventClassifyDrop.FilterId">
            <summary>
            Filter ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventClassifyDrop.LayerId">
            <summary>
            Layer ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventClassifyDrop.ReauthReason">
            <summary>
            Reason for reauthorizing 
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventClassifyDrop.OriginalProfile">
            <summary>
            The original profile the connection was received on.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventClassifyDrop.CurrentProfile">
            <summary>
            The profile the error occurred on.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventClassifyDrop.MsFwpDirection">
            <summary>
            Indicates the direction of the packet transmission.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventClassifyDrop.IsLoopback">
            <summary>
            Indicates whether the packet originated from (or was heading to) the loopback adapter.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventClassifyDrop.VSwitchId">
            <summary>
            GUID identifier of a vSwitch.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventClassifyDrop.VSwitchSourcePort">
            <summary>
            Transient source port of a packet within the vSwitch.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventClassifyDrop.VSwitchDestinationPort">
            <summary>
            Transient destination port of a packet within the vSwitch.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallNetEventEnumTemplate">
            <summary>
            Template for network event enumeration.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventEnumTemplate.StartTime">
            <summary>
            Start time for events.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventEnumTemplate.EndTime">
            <summary>
            End time for event.s
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallNetEventEnumTemplate.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallNetEventFlags">
            <summary>
            Flags for a network event.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtEmFailure">
            <summary>
             Class to represent an IKEEXT extended mode failure event.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtEmFailure.FailureErrorCode">
            <summary>
            Windows error code for the failure
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtEmFailure.FailurePoint">
            <summary>
            Point of failure
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtEmFailure.FailureFlags">
            <summary>
            Flags for the failure event
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtEmFailure.KeyingModuleType">
            <summary>
            IKE or Authip.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtEmFailure.EmState">
            <summary>
            Extended mode mode state
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtEmFailure.SaRole">
            <summary>
            Initiator or Responder
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtEmFailure.EmAuthMethod">
            <summary>
            Authentication method
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtEmFailure.EndCertHash">
            <summary>
            Hash (SHA thumbprint) of the end certificate corresponding to failures 
            that happen during building or validating certificate chains.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtEmFailure.MmId">
            <summary>
            LUID for the MM SA
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtEmFailure.QmFilterId">
            <summary>
            Quick mode filter ID
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtEmFailure.LocalPrincipalNameForAuth">
            <summary>
            Name of local security principal that was authenticated, if available. 
            If not available, an empty string will be stored.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtEmFailure.RemotePrincipalNameForAuth">
            <summary>
            Name of remote security principal that was authenticated, if available.
            If not available, an empty string will be stored. 
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtEmFailure.LocalPrincipalGroupSids">
            <summary>
            Array of group SIDs corresponding to the local security principal that 
            was authenticated, if available.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtEmFailure.RemotePrincipalGroupSids">
            <summary>
            Array of group SIDs corresponding to the remote security principal that 
            was authenticated, if available.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtMmFailure">
            <summary>
             Class to represent an IKEEXT main mode failure event.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtMmFailure.FailureErrorCode">
            <summary>
            Windows error code for the failure
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtMmFailure.FailurePoint">
            <summary>
            Point of failure
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtMmFailure.FailureFlags">
            <summary>
            Flags for the failure event
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtMmFailure.KeyingModuleType">
            <summary>
            IKE or Authip.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtMmFailure.MmState">
            <summary>
            Main mode state
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtMmFailure.SaRole">
            <summary>
            Initiator or Responder
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtMmFailure.MmAuthMethod">
            <summary>
            Authentication method
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtMmFailure.EndCertHash">
            <summary>
            Hash (SHA thumbprint) of the end certificate corresponding to failures 
            that happen during building or validating certificate chains.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtMmFailure.MmId">
            <summary>
            LUID for the MM SA
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtMmFailure.MmFilterId">
            <summary>
            Main mode filter ID
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtMmFailure.LocalPrincipalNameForAuth">
            <summary>
            Name of local security principal that was authenticated, if available. 
            If not available, an empty string will be stored.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtMmFailure.RemotePrincipalNameForAuth">
            <summary>
            Name of remote security principal that was authenticated, if available.
            If not available, an empty string will be stored. 
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtMmFailure.LocalPrincipalGroupSids">
            <summary>
            Array of group SIDs corresponding to the local security principal that 
            was authenticated, if available.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtMmFailure.RemotePrincipalGroupSids">
            <summary>
            Array of group SIDs corresponding to the remote security principal that 
            was authenticated, if available.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtQmFailure">
            <summary>
             Class to represent an IKEEXT quick mode failure event.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtQmFailure.FailureErrorCode">
            <summary>
            Windows error code for the failure
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtQmFailure.FailurePoint">
            <summary>
            Point of failure
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtQmFailure.KeyingModuleType">
            <summary>
            IKE or Authip.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtQmFailure.QmState">
            <summary>
            Main mode state
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtQmFailure.SaRole">
            <summary>
            Initiator or Responder
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtQmFailure.SaTrafficType">
            <summary>
            Tunnel or transport mode.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtQmFailure.QmFilterId">
            <summary>
            Main mode filter ID
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtQmFailure.LocalSubNet">
            <summary>
            Local subnet address and mask.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIkeExtQmFailure.RemoteSubNet">
            <summary>
            Remote subnet address and mask.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallNetEventIPsecKernelDrop">
            <summary>
            Class to represent an IPsec kernel drop event.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIPsecKernelDrop.FailureStatus">
            <summary>
            Failure error code.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIPsecKernelDrop.Direction">
            <summary>
            Connection direction.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIPsecKernelDrop.Spi">
            <summary>
            Security parameter index.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIPsecKernelDrop.FilterId">
            <summary>
            Filter ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallNetEventIPsecKernelDrop.LayerId">
            <summary>
            Layer ID.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallNetEventKeywords">
            <summary>
            Flags for network events to capture.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallNetEventListener">
            <summary>
            Class to listen for network events.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallNetEventListener.ReadEvent(System.Int32)">
            <summary>
            Read the next network event.
            </summary>
            <param name="timeout_ms">Timeout in milliseconds.</param>
            <returns>Returns null if not event available, otherwise the next event.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallNetEventListener.ReadEvent">
            <summary>
            Read the next network event. Waiting indefinetely for the event.
            </summary>
            <returns>Returns null if not event available, otherwise the next event.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallNetEventListener.Dispose">
            <summary>
            Dispose the listener.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallNetEventType">
            <summary>
            Type of network event.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallNetworkCapabilityType">
            <summary>
            AppContainer capability type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallObject">
            <summary>
            Abstract class to represent a firewall object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallObject.Key">
            <summary>
            The object's key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallObject.Name">
            <summary>
            The object's name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallObject.Description">
            <summary>
            The object's description.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallObject.KeyName">
            <summary>
            The object's key name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallObject.SecurityDescriptor">
            <summary>
            The object's security descriptor.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallObject.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>
            <remarks>The firewall engine object must still be open.</remarks>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallObject.GetSecurityDescriptor(NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Get the security descriptor specifying which parts to retrieve
            </summary>
            <param name="security_information">What parts of the security descriptor to retrieve</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The security descriptor</returns>
            <remarks>The firewall engine object must still be open.</remarks>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallProfileId">
            <summary>
            Profile ID for the firewall.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallProvider">
            <summary>
            Class to represent a firewall provider.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallProvider.ServiceName">
            <summary>
            Name of the service which implements the provider.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallProvider.Flags">
            <summary>
            Flags for the provider.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallProvider.ProviderData">
            <summary>
            Provider data.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallProviderFlags">
            <summary>
            Flags for a firewall provider.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallRange">
            <summary>
            A firewall value range.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallRange.Low">
            <summary>
            The low value.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallRange.High">
            <summary>
            The high value.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallRange.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The range as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallRightActions">
            <summary>
            Right action flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallSession">
            <summary>
            Class to represent a firewall session.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallSession.SessionKey">
            <summary>
            The session key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallSession.Name">
            <summary>
            Name of the session.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallSession.Description">
            <summary>
            Description of the session.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallSession.Flags">
            <summary>
            Session flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallSession.TxnWaitTimeoutInMSec">
            <summary>
            Transaction wait timeout in ms.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallSession.ProcessId">
            <summary>
            The process ID of the session owner.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallSession.Sid">
            <summary>
            The user SID of the owner.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallSession.UserName">
            <summary>
            The name of the owner.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallSession.KernelMode">
            <summary>
            Is session kernel mode.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallSession.#ctor(System.String,System.String,NtApiDotNet.Net.Firewall.FirewallSessionFlags,System.Int32)">
            <summary>
            Constructor. Used when opening a session.
            </summary>
            <param name="name">The name of the session.</param>
            <param name="description">The description of the sesion.</param>
            <param name="flags">Session flags.</param>
            <param name="txn_wait_timeout_ms">Transaction timeout in ms.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallSession.#ctor(NtApiDotNet.Net.Firewall.FirewallSessionFlags)">
            <summary>
            Constructor. Used when opening a session.
            </summary>
            <param name="flags">Session flags.</param>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallSubLayer">
            <summary>
            Class to represent a firewall sublayer.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallSubLayer.Flags">
            <summary>
            Sub-layer flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallSubLayer.ProviderKey">
            <summary>
            The provider key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallSubLayer.ProviderData">
            <summary>
            Provider data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallSubLayer.Weight">
            <summary>
            Weight of the sub-layer.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallSubLayerFlags">
            <summary>
            Flags for a sub-layer.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallSubLayerGuids">
            <summary>
            Guids for pre-defined firewall sub-layers.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallTokenInformation">
            <summary>
            Token information for a condition.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallTokenInformation.Sids">
            <summary>
            The list of SIDs.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallTokenInformation.RestrictedSids">
            <summary>
            The list of restricted SIDs.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallTokenInformation.Capabilities">
            <summary>
            Capabilities.
            </summary>
            <remarks>This is only used for local filtering. It's not used by WFP.</remarks>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallTokenInformation.AppContainerSid">
            <summary>
            Appcontainer SID.
            </summary>
            <remarks>This is only used for local filtering. It's not used by WFP.</remarks>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallTokenInformation.UserSid">
            <summary>
            User SID.
            </summary>
            <remarks>This is only used for local filtering. It's not used by WFP.</remarks>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallTokenInformation.#ctor(NtApiDotNet.NtToken)">
            <summary>
            Constructor from a token.
            </summary>
            <param name="token">The token to constructo from.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallTokenInformation.#ctor(System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup},System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup})">
            <summary>
            Constructor.
            </summary>
            <param name="sids">The list of SIDs.</param>
            <param name="restricted_sids">The list of restricted SIDs.</param>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallTransaction">
            <summary>
            Class to scope a firewall transaction.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallTransaction.Abort(System.Boolean)">
            <summary>
            Abort the transaction.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallTransaction.Abort">
            <summary>
            Abort the transaction.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallTransaction.Commit(System.Boolean)">
            <summary>
            Commit the transaction.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallTransaction.Commit">
            <summary>
            Commit the transaction.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallTransaction.Dispose">
            <summary>
            Dispose the transaction. Will ca
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallTransactionFlags">
            <summary>
            Flags when creating a transaction.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.FirewallTransactionFlags.None">
            <summary>
            No flags, creates a read/write transaction.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.FirewallTransactionFlags.ReadOnly">
            <summary>
            Read-only transaction.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallUtils">
            <summary>
            Static class for firewall utility functions.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.FirewallUtils.FIREWALL_NT_TYPE_NAME">
            <summary>
            Name for fake NT type.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.FirewallUtils.FIREWALL_FILTER_NT_TYPE_NAME">
            <summary>
            Name for fake filter NT type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallUtils.FirewallType">
            <summary>
            Get the NT type for the firewall.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallUtils.FirewallFilterType">
            <summary>
            Get the NT type for the firewall.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallUtils.GetGenericMapping">
            <summary>
            Get the generic mapping for a firewall object.
            </summary>
            <returns>The firewall object generic mapping.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallUtils.GetFilterGenericMapping">
            <summary>
            Get the generic mapping for a firewall filter object.
            </summary>
            <returns>The firewall filter object generic mapping.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallUtils.GetAppIdFromFileName(System.String,System.Boolean)">
            <summary>
            Get App ID from a filename.
            </summary>
            <param name="filename">The filename to convert.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The App ID.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallUtils.GetAppIdFromFileName(System.String)">
            <summary>
            Get App ID from a filename.
            </summary>
            <param name="filename">The filename to convert.</param>
            <returns>The App ID.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallUtils.GetKnownLayerNames">
            <summary>
            Get a list of known layer names.
            </summary>
            <returns>The list of known layer names.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallUtils.GetKnownLayerGuids">
            <summary>
            Get a list of known layer guids.
            </summary>
            <returns>The list of known layer guids.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallUtils.GetKnownLayerGuid(System.String)">
            <summary>
            Get a known layer GUID from its name.
            </summary>
            <param name="name">The name of the layer.</param>
            <returns>The known layer GUID.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallUtils.GetKnownCalloutGuid(System.String)">
            <summary>
            Get a known callout GUID from its name.
            </summary>
            <param name="name">The name of the callout.</param>
            <returns>The known callout GUID.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallUtils.GetKnownSubLayerNames">
            <summary>
            Get a list of known sub-layer names.
            </summary>
            <returns>The list of known sub-layer names.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallUtils.GetKnownCalloutNames">
            <summary>
            Get a list of known callout names.
            </summary>
            <returns>The list of known callout names.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallUtils.GetKnownSubLayerGuids">
            <summary>
            Get a list of known sub-layer guids.
            </summary>
            <returns>The list of known sub-layer guids.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallUtils.GetKnownSubLayerGuid(System.String)">
            <summary>
            Get a known sub-layer GUID from its name.
            </summary>
            <param name="name">The name of the sub-layer.</param>
            <returns>The known sub-layer GUID.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallUtils.GetLayerGuidForAleLayer(NtApiDotNet.Net.Firewall.FirewallAleLayer)">
            <summary>
            Get a layer GUID for an ALE layer enumeration.
            </summary>
            <param name="ale_layer">The ALE layer enumeration.</param>
            <returns>The ALE layer GUID.</returns>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.FirewallValue">
            <summary>
            Firewall value.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallValue.Type">
            <summary>
            Type of the value.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallValue.Value">
            <summary>
            The raw value.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallValue.ContextValue">
            <summary>
            The context specific value, might be the same as the original.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.FirewallValue.Empty">
            <summary>
            Get a value which represents Empty.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromSecurityDescriptor(NtApiDotNet.SecurityDescriptor)">
            <summary>
            Create a value from a security descriptor.
            </summary>
            <param name="security_descriptor">The security descriptor.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromSid(NtApiDotNet.Sid)">
            <summary>
            Create a value from a SID.
            </summary>
            <param name="sid">The SID.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromUInt8(System.Byte)">
            <summary>
            Create a value.
            </summary>
            <param name="value">The value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromUInt16(System.UInt16)">
            <summary>
            Create a value.
            </summary>
            <param name="value">The value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromUInt32(System.UInt32)">
            <summary>
            Create a value.
            </summary>
            <param name="value">The value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromUInt64(System.UInt64)">
            <summary>
            Create a value.
            </summary>
            <param name="value">The value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromUInt32Bool(System.Boolean)">
            <summary>
            Create a value.
            </summary>
            <param name="value">The value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromInt8(System.SByte)">
            <summary>
            Create a value.
            </summary>
            <param name="value">The value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromInt16(System.Int16)">
            <summary>
            Create a value.
            </summary>
            <param name="value">The value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromInt32(System.Int32)">
            <summary>
            Create a value.
            </summary>
            <param name="value">The value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromInt64(System.UInt64)">
            <summary>
            Create a value.
            </summary>
            <param name="value">The value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromBlob(System.Byte[])">
            <summary>
            Create a value.
            </summary>
            <param name="value">The value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromBlobUnicodeString(System.String)">
            <summary>
            Create a value.
            </summary>
            <param name="value">The value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromUnicodeString(System.String)">
            <summary>
            Create a value.
            </summary>
            <param name="value">The value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromByteArray16(System.Byte[])">
            <summary>
            Create a value.
            </summary>
            <param name="value">The value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromV4AddrMask(System.Net.IPAddress,System.Net.IPAddress)">
            <summary>
            Create a value.
            </summary>
            <param name="address">The IPv4 address.</param>
            <param name="mask">The IPv4 mask.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromV6AddrMask(System.Net.IPAddress,System.Int32)">
            <summary>
            Create a value.
            </summary>
            <param name="address">The IPv6 address.</param>
            <param name="prefix_length">The prefix length.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromProtocolType(System.Net.Sockets.ProtocolType)">
            <summary>
            Create a value.
            </summary>
            <param name="value">The value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromConditionFlags(NtApiDotNet.Net.Firewall.FirewallConditionFlags)">
            <summary>
            Create a value.
            </summary>
            <param name="value">The value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromIpAddress(System.Net.IPAddress)">
            <summary>
            Create a value.
            </summary>
            <param name="value">The value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromRange(NtApiDotNet.Net.Firewall.FirewallValue,NtApiDotNet.Net.Firewall.FirewallValue)">
            <summary>
            Create a range value.
            </summary>
            <param name="low">The low value.</param>
            <param name="high">The high value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromTokenInformation(NtApiDotNet.Net.Firewall.FirewallTokenInformation)">
            <summary>
            Create a value.
            </summary>
            <param name="value">The value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromTokenInformation(NtApiDotNet.NtToken)">
            <summary>
            Create a value.
            </summary>
            <param name="value">The value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromTokenAccessInformation(System.Byte[])">
            <summary>
            Create a value.
            </summary>
            <param name="value">The value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.FromGuid(System.Guid)">
            <summary>
            Create a value.
            </summary>
            <param name="value">The value.</param>
            <returns>The firewall value.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.FirewallValue.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The value as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IkeCertificateCredential">
            <summary>
            Class to represent a certificate credential.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeCertificateCredential.SubjectName">
            <summary>
            Certificate subject name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeCertificateCredential.CertHash">
            <summary>
            Certificatehash.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeCertificateCredential.Flags">
            <summary>
            Flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeCertificateCredential.Certificate">
            <summary>
            Certificate.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.IkeCertificateCredential.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The pair as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IkeCredential">
            <summary>
            Class to represent an IKE credential.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeCredential.AuthenticationMethodType">
            <summary>
            Authentication method type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeCredential.ImpersonationType">
            <summary>
            Impersonation type.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.IkeCredential.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The pair as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IkeCredentialPair">
            <summary>
            Structure to represent a pair of credentials.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeCredentialPair.Local">
            <summary>
            Local credentials.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeCredentialPair.Peer">
            <summary>
            Peer credentials.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.IkeCredentialPair.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The pair as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IkeExtEmFailureFlags">
            <summary>
            IKEEXT EM failure flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtEmFailureFlags.Multiple">
            <summary>
            Flag indicating that multiple IKE EM failure events have been reported that
            should be correlated using the mmId field.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtEmFailureFlags.Benign">
            <summary>
            Flag indicating that the IKE EM failure event is a benign/expected failure
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IkeExtEmSaState">
            <summary>
            IKE extended mode states
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtEmSaState.None">
            <summary>
            Initial state. No EM packets have been sent to the peer yet.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtEmSaState.SentAtts">
            <summary>
            State corresponding to the first EM roundtrip
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtEmSaState.SspiSent">
            <summary>
            State corresponding to the second EM roundtrip
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtEmSaState.AuthComplete">
            <summary>
            State corresponding to the final EM roundtrip
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtEmSaState.Final">
            <summary>
            State corresponding to the final EM roundtrip
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtEmSaState.Complete">
            <summary>
            EM has been completed
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IkeExtMmFailureFlags">
            <summary>
            IKEEXT MM failure flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtMmFailureFlags.Benign">
            <summary>
            Flag indicating that the IKE MM failure event is a benign/expected failure.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtMmFailureFlags.Multiple">
            <summary>
            Flag indicating that multiple IKE MM failure events have been reported that 
            should be correlated using the mmId field.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IkeExtMmSaState">
            <summary>
            IKE main mode states
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtMmSaState.None">
            <summary>
            Initial state. No MM packets have been sent to the peer yet.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtMmSaState.SaSent">
            <summary>
            First roundtrip packet has been sent to the peer. 
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtMmSaState.SspiSent">
            <summary>
            Second roundtrip packet has been sent to the peer, for SSPI auth.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtMmSaState.Final">
            <summary>
            Second roundtrip packet has been sent to the peer.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtMmSaState.FinalSent">
            <summary>
            Final roundtrip packet has been sent to the peer.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtMmSaState.Complete">
            <summary>
            MM has been completed.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IkeExtQmSaState">
            <summary>
            IKE quick mode states
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtQmSaState.None">
            <summary>
            Initial state. No QM packets have been sent to the peer yet.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtQmSaState.Initial">
            <summary>
            State corresponding to the first QM roundtrip
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtQmSaState.Final">
            <summary>
            State corresponding to the final QM roundtrip
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtQmSaState.Complete">
            <summary>
            QM has been completed.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IkeExtSaRole">
            <summary>
            IKE main mode or quick mode SA role
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtSaRole.Initiator">
            <summary>
            SA is initiator
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IkeExtSaRole.Responder">
            <summary>
            SA is responder
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IkeNameCredential">
            <summary>
            Class to represent an IKE name credential.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeNameCredential.PrincipalName">
            <summary>
            The credential principal name.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.IkeNameCredential.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The pair as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IkePreSharedKeyCredential">
            <summary>
            Class to represent an IKE pre-shared key credential.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkePreSharedKeyCredential.Key">
            <summary>
            The pre-shared key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkePreSharedKeyCredential.Flags">
            <summary>
            Key flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IkeSecurityAssociation">
            <summary>
            Class to represent an IKE security association.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeSecurityAssociation.Id">
            <summary>
            ID for the security association.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeSecurityAssociation.KeyModuleType">
            <summary>
            Key module type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeSecurityAssociation.LocalAddress">
            <summary>
            The local address of the association.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeSecurityAssociation.RemoteAddress">
            <summary>
            The remote address of the association.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeSecurityAssociation.InitiatorCookie">
            <summary>
            Initiator cookie.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeSecurityAssociation.ResponderCookie">
            <summary>
            Responder cookie.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeSecurityAssociation.IkePolicyKey">
            <summary>
            IKE policy key,
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeSecurityAssociation.VirtualIfTunnelId">
            <summary>
            Virtual interface tunnel ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeSecurityAssociation.CorrelationKey">
            <summary>
            Correlation key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeSecurityAssociation.Credentials">
            <summary>
            List of credentials.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeSecurityAssociation.CipherAlgorithm">
            <summary>
            Cipher algorithm for the security association.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeSecurityAssociation.KeyLength">
            <summary>
            Length of the key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeSecurityAssociation.Rounds">
            <summary>
            Number of rounds.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeSecurityAssociation.IntegrityAlgorithm">
            <summary>
            Integrity algorithm for the security association.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeSecurityAssociation.MaxLifetime">
            <summary>
            Maximum lifetime in seconds.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeSecurityAssociation.DiffieHellmanGroup">
            <summary>
            Diffie-Hellman group.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IkeSecurityAssociation.QuickModeLimit">
            <summary>
            Quick mode limit.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IPsecAuthConfig">
            <summary>
            IPsec auth config.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IPsecAuthType">
            <summary>
            IPsec authentication type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IPsecCipherConfig">
            <summary>
            IPsec Cipher Configuration.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IPsecCipherType">
            <summary>
            IPSec Cipher Type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IPsecFailurePoint">
            <summary>
            Type used for indicating where an IPsec failure occured.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IPsecFailurePoint.None">
            <summary>
            No information available.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IPsecFailurePoint.Me">
            <summary>
            IPsec failure happened on local machine.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IPsecFailurePoint.Peer">
            <summary>
            IPsec failure happened on remote machine.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IPsecIdentity">
            <summary>
            Class to represent a IPsec identity 
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecIdentity.MmTargetName">
            <summary>
            Main-mode target name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecIdentity.EmTargetName">
            <summary>
            Extended mode target name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecIdentity.Tokens">
            <summary>
            List of tokens.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecIdentity.ExplicitCredentials">
            <summary>
            Explicit credentials handle.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecIdentity.LogonId">
            <summary>
            Logon ID.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IPsecKeyManager">
            <summary>
            Class to prepresent a key manager.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecKeyManager.Key">
            <summary>
            The manager's key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecKeyManager.Name">
            <summary>
            The manager's name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecKeyManager.Description">
            <summary>
            The manager's description.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecKeyManager.Flags">
            <summary>
            The manager's flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecKeyManager.KeyDictationTimeoutHint">
            <summary>
            The manager's dictation timeout hint.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IPsecKeyManagerFlags">
            <summary>
            Flags for IPsec key manager.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IPsecPerfectForwardSecrecyGroup">
            <summary>
            IPsec perfect forward secrecy group.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IPsecSecurityAssociation">
            <summary>
            Class to represent the details of an IPsec security association.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociation.Direction">
            <summary>
            Directory of SA.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociation.LocalEndpoint">
            <summary>
            Local endpoint.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociation.RemoteEndpoint">
            <summary>
            Remote endpoint.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociation.TrafficType">
            <summary>
            Traffic type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociation.TrafficTypeId">
            <summary>
            Traffic type ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociation.IpProtocol">
            <summary>
            IP protocol type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociation.LocalIfLuid">
            <summary>
            Interface LUID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociation.RealIfProfileId">
            <summary>
            Real interface profile ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociation.Bundle">
            <summary>
            The SA bundle.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociation.LocalUdpEncapPort">
            <summary>
            Local IPv4 UDP encapsulation port.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociation.RemoteUdpEncapPort">
            <summary>
            Remote IPv4 UDP encapsulation port.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociation.TransportFilter">
            <summary>
            Transport filter.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociation.VirtualIfTunnelId">
            <summary>
            Virtual interface tunnel ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociation.TrafficSelectorId">
            <summary>
            Traffic selector ID.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.IPsecSecurityAssociation.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The overridden ToString method.</returns>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundle">
            <summary>
            Class to represent a security association bundle.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundle.Flags">
            <summary>
            Flags for the SA.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundle.LifetimeSeconds">
            <summary>
            SA lifetime in seconds.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundle.LifetimeKilobytes">
            <summary>
            SA lifetime in KiB.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundle.LifetimePackets">
            <summary>
            SA lifetime in packets.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundle.IdleTimeoutSeconds">
            <summary>
            Idle timeout.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundle.NdAllowClearTimeoutSeconds">
            <summary>
            ND allow clear timeout.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundle.Identity">
            <summary>
            Identity for IPsec SA.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundle.NapContext">
            <summary>
            NAP context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundle.QmSaId">
            <summary>
            Quick-mode SA ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundle.KeyModuleKey">
            <summary>
            Key module key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundle.KeyModuleStateBlob">
            <summary>
            Key module state blob.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundle.SecurityParameters">
            <summary>
            List of security association parameters.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundle.PeerV4PrivateAddress">
            <summary>
            Peer V4 private address.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundle.MmSaId">
            <summary>
            Main-mode SA ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundle.PfsGroup">
            <summary>
            PFS group.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundle.SaLookupContext">
            <summary>
            SA lookup context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundle.QmFilterId">
            <summary>
            QM filter ID.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundleFlags">
            <summary>
            IPsec SA bundle flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundleFlags.NDSecure">
            <summary>
            Negotiation discovery is enabled in secure ring.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundleFlags.NDBoundary">
            <summary>
            Negotiation discovery in enabled in the untrusted perimeter zone.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundleFlags.NDPeerNatBoundary">
            <summary>
            Peer is in untrusted perimeter zone ring and a network address translation (NAT) is in the way. Used with negotiation discovery.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundleFlags.GuaranteeEncryption">
            <summary>
            Indicates that this is an SA for connections that require guaranteed encryption.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundleFlags.NLB">
            <summary>
            Indicates that this is an SA to an NLB server.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundleFlags.NoMachineLuidVerify">
            <summary>
            Indicates that this SA should bypass machine LUID verification.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundleFlags.NoImpersonationLuidVerify">
            <summary>
            Indicates that this SA should bypass impersonation LUID verification.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundleFlags.NoExplicitCredMatch">
            <summary>
            Indicates that this SA should bypass explicit credential handle matching.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundleFlags.AllowNullTargetNameMatch">
            <summary>
            Allows an SA formed with a peer name to carry traffic that does not have an associated peer target.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundleFlags.ClearDFOnTunnel">
            <summary>
            Clears the DontFragment bit on the outer IP header of an IPsec-tunneled packet. This flag is applicable only to tunnel mode SAs.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundleFlags.AssumeUdpContextOutbound">
            <summary>
            Default encapsulation ports (4500 and 4000) can be used when matching this SA with packets on outbound connections that do not have an associated IPsec-NAT-shim context.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundleFlags.NDPeerBoundary">
            <summary>
            Peer has negotiation discovery enabled, and is on a perimeter network.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundleFlags.SuppressDuplicateDeletion">
            <summary>
            Suppresses the duplicate SA deletion logic. THis logic is performed by the kernel when an outbound SA is added, to prevent unnecessary duplicate SAs.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationBundleFlags.PeerSupportsGuaranteeEncryption">
            <summary>
            	Indicates that the peer computer supports negotiating a separate SA for connections that require guaranteed encryption.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationContext">
            <summary>
            Class to represent an IPsec security association context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationContext.Id">
            <summary>
            ID of the context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationContext.Inbound">
            <summary>
            Inbound security association.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationContext.Outbound">
            <summary>
            Outbound security association.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationParameter">
            <summary>
            Base security association class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationParameter.Index">
            <summary>
            Index of the security parameter (SPI).
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationParameter.TransformType">
            <summary>
            Transform type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationAuthInformation">
            <summary>
            IPsec SA authentication information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationAuthInformation.Type">
            <summary>
            Type of authentication.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationAuthInformation.Config">
            <summary>
            Authentication configuration.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationAuthInformation.CryptoModuleId">
            <summary>
            Module ID for the crypto.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationAuthInformation.Key">
            <summary>
            Authentication key.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationCipherInformation">
            <summary>
            IPsec SA authentication information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationCipherInformation.Type">
            <summary>
            Type of cipher.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationCipherInformation.Config">
            <summary>
            Cipher configuration.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationCipherInformation.CryptoModuleId">
            <summary>
            Module ID for the crypto.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationCipherInformation.Key">
            <summary>
            Cipher key.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationAuthCipherInformation">
            <summary>
            IPsec SA authentication information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationAuthCipherInformation.AuthType">
            <summary>
            Type of authentication.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationAuthCipherInformation.AuthConfig">
            <summary>
            Authentication configuration.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationAuthCipherInformation.AuthCryptoModuleId">
            <summary>
            Modify ID for the crypto.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationAuthCipherInformation.AuthKey">
            <summary>
            Authentication key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationAuthCipherInformation.CipherType">
            <summary>
            Type of cipher.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationAuthCipherInformation.CipherConfig">
            <summary>
            Cipher configuration.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationAuthCipherInformation.CipherCryptoModuleId">
            <summary>
            Module ID for the crypto.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecSecurityAssociationAuthCipherInformation.CipherKey">
            <summary>
            Cipher key.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IPsecToken">
            <summary>
            Class to represent an IPsec token.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecToken.Type">
            <summary>
            Type of token.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecToken.Principal">
            <summary>
            Token principal.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecToken.Mode">
            <summary>
            Token mode.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Firewall.IPsecToken.Token">
            <summary>
            Handle to the token.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.IPsecToken.GetToken(System.Boolean)">
            <summary>
            Get the token from the IKEEXT service.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The token.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Firewall.IPsecToken.GetToken">
            <summary>
            Get the token from the IKEEXT service.
            </summary>
            <returns>The token.</returns>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.IPsecTrafficType">
            <summary>
            IPsec traffic type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.NetworkInterfaceType">
            <summary>
            Network interface type.
            </summary>
            <remarks>See https://www.iana.org/assignments/ianaiftype-mib</remarks>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.NetworkLayerAddressType">
            <summary>
            Network layer address type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Firewall.NetworkTunnelType">
            <summary>
            Type of network tunnel.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Sockets.HyperVEndPoint">
            <summary>
            Endpoint implementation for a HyperV socket.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Sockets.HyperVEndPoint.AF_HYPERV">
            <summary>
            Address family.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Sockets.HyperVEndPoint.HV_PROTOCOL_RAW">
            <summary>
            Protocol type for HyperV sockets.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.HyperVEndPoint.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.HyperVEndPoint.#ctor(System.Guid,System.Guid)">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Sockets.HyperVEndPoint.ServiceId">
            <summary>
            Get or set the service ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Sockets.HyperVEndPoint.VmId">
            <summary>
            Get or set the VM ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Sockets.HyperVEndPoint.AddressFamily">
            <summary>
            Address family.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.HyperVEndPoint.Serialize">
            <summary>
            Serialize the socket address.
            </summary>
            <returns>The serialized address.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.HyperVEndPoint.Create(System.Net.SocketAddress)">
            <summary>
            Create a endpoint from a socket address.
            </summary>
            <param name="address">The socket address.</param>
            <returns>The created endpoint.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.HyperVEndPoint.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The endpoint as a string.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.HyperVEndPoint.Equals(System.Object)">
            <summary>
            Overridden equals method.
            </summary>
            <param name="obj">The object to compare.</param>
            <returns>True if the objects are equal.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.HyperVEndPoint.GetHashCode">
            <summary>
            Get endpoint hash code.
            </summary>
            <returns>The hashcode.</returns>
        </member>
        <member name="T:NtApiDotNet.Net.Sockets.HyperVSocketGuids">
            <summary>
            GUIDs for HyperV Sockets.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Sockets.HyperVSocketGuids.HV_GUID_WILDCARD">
            <summary>
            Allows accepting connections from all partitions.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Sockets.HyperVSocketGuids.HV_GUID_BROADCAST">
            <summary>
            Broadcast. Send to all sockets.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Sockets.HyperVSocketGuids.HV_GUID_CHILDREN">
            <summary>
            Allows accepting connections form all child partitions.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Sockets.HyperVSocketGuids.HV_GUID_LOOPBACK">
            <summary>
            Connect or bind to the loopback address.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Sockets.HyperVSocketGuids.HV_GUID_PARENT">
            <summary>
            Connect to the parent container.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Sockets.HyperVSocketGuids.HV_GUID_SILOHOST">
            <summary>
            Connect to the silo host container.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Sockets.HyperVSocketGuids.HV_GUID_VSOCK_TEMPLATE">
            <summary>
            VSOCK template GUID.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.HyperVSocketGuids.CreateVSockAddress(System.Int32)">
            <summary>
            Create an address for a VSOCK port.
            </summary>
            <param name="vsock">The VSOCK port.</param>
            <returns>The address.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.HyperVSocketGuids.IsVSockAddress(System.Guid)">
            <summary>
            Checks if an address is a VSOCK address.
            </summary>
            <param name="address">The address to check.</param>
            <returns>True if a VSOCK address.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.HyperVSocketGuids.GetVSockPort(System.Guid)">
            <summary>
            Get the port for a VSOCK address.
            </summary>
            <param name="address">The address to query.</param>
            <returns>The VSOCK port.</returns>
            <exception cref="T:System.ArgumentException">Throw if not a valid VSOCK address.</exception>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.HyperVSocketGuids.AddressToString(System.Guid)">
            <summary>
            Convert an address to a string.
            </summary>
            <param name="address">The address to convert.</param>
            <returns>The converted address. If not symbolic name found will return the GUID as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Net.Sockets.SocketSecurityInformation">
            <summary>
            Class to represent current socket security configuration.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Sockets.SocketSecurityInformation.PeerApplicationToken">
            <summary>
            Access token for the peer application.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Sockets.SocketSecurityInformation.PeerMachineToken">
            <summary>
            Access token for the peer machine.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Sockets.SocketSecurityInformation.Flags">
            <summary>
            Socket security flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Sockets.SocketSecurityInformation.MmSaId">
            <summary>
            Security association ID for main mode.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Sockets.SocketSecurityInformation.QmSaId">
            <summary>
            Security association ID for quick mode.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Sockets.SocketSecurityInformation.NegotiationWinerr">
            <summary>
            Negotiation windows error.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Sockets.SocketSecurityInformation.SaLookupContext">
            <summary>
            Security association lookup context. Can be used to bypass security
            checks for querying the security association information from the
            firewall.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityInformation.Dispose">
            <summary>
            Dispose method.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Sockets.SocketSecurityIpsecFlags">
            <summary>
            Socket security IPsec flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Sockets.SocketSecurityQueryFieldMask">
            <summary>
            Flags for querying socket security fields.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Sockets.SocketSecurityQueryFlags">
            <summary>
            Flags for querying socket security information.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Sockets.SocketSecurityQueryInformationFlags">
            <summary>
            Socket security query flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Sockets.SocketSecuritySettingFlags">
            <summary>
            Socket security setting flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Sockets.SocketSecuritySettings">
            <summary>
            Settings for socket security
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Sockets.SocketSecuritySettings.Flags">
            <summary>
            The security flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Sockets.SocketSecuritySettings.IpsecFlags">
            <summary>
            The IPsec flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Sockets.SocketSecuritySettings.MMPolicyKey">
            <summary>
            AuthIP MM policy key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Sockets.SocketSecuritySettings.QMPolicyKey">
            <summary>
            AuthIP QM policy key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Sockets.SocketSecuritySettings.Credentials">
            <summary>
            User credentials.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Sockets.SocketSecuritySettings.AuthenticationId">
            <summary>
            Authentication ID of a user, needs kernel mode to set.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Sockets.SocketSecurityUtils">
            <summary>
            Utilities for socket security.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.Impersonate(System.Net.Sockets.Socket,System.Net.IPEndPoint,System.Boolean)">
            <summary>
            Impersonate the socket's peer.
            </summary>
            <param name="socket">The socket to impersonate.</param>
            <param name="peer_address">Optional peer address. Only needed for datagram sockets.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The impersonation context.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.Impersonate(System.Net.Sockets.Socket,System.Net.IPEndPoint)">
            <summary>
            Impersonate the socket's peer.
            </summary>
            <param name="socket">The socket to impersonate.</param>
            <param name="peer_address">Optional peer address. Only needed for datagram sockets.</param>
            <returns>The impersonation context.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.Impersonate(System.Net.Sockets.TcpClient,System.Boolean)">
            <summary>
            Impersonate the socket's peer.
            </summary>
            <param name="client">The TCP client to impersonate.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The impersonation context.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.Impersonate(System.Net.Sockets.TcpClient)">
            <summary>
            Impersonate the socket's peer.
            </summary>
            <param name="client">The TCP client to impersonate.</param>
            <returns>The impersonation context.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.QuerySecurity(System.Net.Sockets.Socket,System.Net.IPEndPoint,NtApiDotNet.TokenAccessRights,System.Boolean)">
            <summary>
            Query the socket security information.
            </summary>
            <param name="socket">The socket to query.</param>
            <param name="peer_address">Optional peer address. Only needed for datagram sockets.</param>
            <param name="desired_access">Optional desired access for peer tokens. If set to None then no tokens will be returned.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The socket security information.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.QuerySecurity(System.Net.Sockets.Socket,System.Net.IPEndPoint,NtApiDotNet.TokenAccessRights)">
            <summary>
            Query the socket security information.
            </summary>
            <param name="socket">The socket to query.</param>
            <param name="peer_address">Optional peer address. Only needed for datagram sockets.</param>
            <param name="desired_access">Optional desired access for peer tokens. If set to None then no tokens will be returned.</param>
            <returns>The socket security information.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.QuerySecurity(System.Net.Sockets.TcpClient,NtApiDotNet.TokenAccessRights,System.Boolean)">
            <summary>
            Query the socket security information.
            </summary>
            <param name="client">The TCP client to query.</param>
            <param name="desired_access">Optional desired access for peer tokens. If set to None then no tokens will be returned.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The socket security information.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.QuerySecurity(System.Net.Sockets.TcpClient,NtApiDotNet.TokenAccessRights)">
            <summary>
            Query the socket security information.
            </summary>
            <param name="client">The TCP client to query.</param>
            <param name="desired_access">Optional desired access for peer tokens. If set to None then no tokens will be returned.</param>
            <returns>The socket security information.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.SetSecurity(System.Net.Sockets.Socket,NtApiDotNet.Net.Sockets.SocketSecuritySettings,System.Boolean)">
            <summary>
            Set the socket security information.
            </summary>
            <param name="socket">The socket to set.</param>
            <param name="settings">The security settings.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.SetSecurity(System.Net.Sockets.Socket,NtApiDotNet.Net.Sockets.SocketSecuritySettings)">
            <summary>
            Set the socket security information.
            </summary>
            <param name="socket">The socket to set.</param>
            <param name="settings">The security settings.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.SetSecurity(System.Net.Sockets.TcpListener,NtApiDotNet.Net.Sockets.SocketSecuritySettings,System.Boolean)">
            <summary>
            Set the socket security information.
            </summary>
            <param name="listener">The TCP listener to set.</param>
            <param name="settings">The security settings.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.SetSecurity(System.Net.Sockets.TcpListener,NtApiDotNet.Net.Sockets.SocketSecuritySettings)">
            <summary>
            Set the socket security information.
            </summary>
            <param name="listener">The TCP listener to set.</param>
            <param name="settings">The security settings.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.SetSecurity(System.Net.Sockets.TcpClient,NtApiDotNet.Net.Sockets.SocketSecuritySettings,System.Boolean)">
            <summary>
            Set the socket security information.
            </summary>
            <param name="client">The TCP client to set.</param>
            <param name="settings">The security settings.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.SetSecurity(System.Net.Sockets.TcpClient,NtApiDotNet.Net.Sockets.SocketSecuritySettings)">
            <summary>
            Set the socket security information.
            </summary>
            <param name="client">The TCP client to set.</param>
            <param name="settings">The security settings.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.SetPeerTargetName(System.Net.Sockets.Socket,System.String,System.Net.IPEndPoint,System.Boolean)">
            <summary>
            Set target peer for socket.
            </summary>
            <param name="socket">The socket to set.</param>
            <param name="target_name">The target name.</param>
            <param name="peer_address">Optional peer address. Only needed for datagram sockets.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.SetPeerTargetName(System.Net.Sockets.Socket,System.String,System.Net.IPEndPoint)">
            <summary>
            Set target peer for socket.
            </summary>
            <param name="socket">The socket to set.</param>
            <param name="target_name">The target name.</param>
            <param name="peer_address">Optional peer address. Only needed for datagram sockets.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.SetPeerTargetName(System.Net.Sockets.TcpClient,System.String,System.Boolean)">
            <summary>
            Set target peer for socket.
            </summary>
            <param name="socket">The socket to set.</param>
            <param name="target_name">The target name.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.SetPeerTargetName(System.Net.Sockets.TcpClient,System.String)">
            <summary>
            Set target peer for socket.
            </summary>
            <param name="socket">The socket to set.</param>
            <param name="target_name">The target name.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.SetPeerTargetName(System.Net.Sockets.TcpListener,System.String,System.Boolean)">
            <summary>
            Set target peer for socket.
            </summary>
            <param name="listener">The socket to set.</param>
            <param name="target_name">The target name.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.SetPeerTargetName(System.Net.Sockets.TcpListener,System.String)">
            <summary>
            Set target peer for socket.
            </summary>
            <param name="listener">The socket to set.</param>
            <param name="target_name">The target name.</param>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.SocketSecurityUtils.DeletePeerTargetName(System.Net.Sockets.Socket,System.Net.IPEndPoint,System.Boolean)">
            <summary>
            Delete target peer for socket.
            </summary>
            <param name="socket">The socket to set.</param>
            <param name="peer_address">Peer address.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="T:NtApiDotNet.Net.Sockets.SOCKET_SECURITY_PROTOCOL">
            <summary>
            Security protocol for a socket.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Net.Sockets.UnixEndPoint">
            <summary>
            Endpoint implementation for a AF_UNIX socket.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.UnixEndPoint.#ctor">
            <summary>
            Default constructor.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.UnixEndPoint.#ctor(System.String)">
            <summary>
            Constructor.
            </summary>
            <param name="path">The path to the unix socket.</param>
        </member>
        <member name="P:NtApiDotNet.Net.Sockets.UnixEndPoint.Path">
            <summary>
            Get or set the path.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Sockets.UnixEndPoint.AddressFamily">
            <summary>
            Address family.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.UnixEndPoint.Serialize">
            <summary>
            Serialize the socket address.
            </summary>
            <returns>The serialized address.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.UnixEndPoint.Create(System.Net.SocketAddress)">
            <summary>
            Create a endpoint from a socket address.
            </summary>
            <param name="socketAddress">The socket address.</param>
            <returns>The created endpoint.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.UnixEndPoint.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The endpoint as a string.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.UnixEndPoint.Equals(System.Object)">
            <summary>
            Overridden equals method.
            </summary>
            <param name="obj">The object to compare.</param>
            <returns>True if the objects are equal.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Sockets.UnixEndPoint.GetHashCode">
            <summary>
            Get endpoint hash code.
            </summary>
            <returns>The hashcode.</returns>
        </member>
        <member name="T:NtApiDotNet.Net.Tls.TlsRecord">
            <summary>
            A class to represent a TLS record.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Tls.TlsRecord.Type">
            <summary>
            TLS record type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Tls.TlsRecord.Version">
            <summary>
            Version of protocol.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Net.Tls.TlsRecord.Data">
            <summary>
            The record data.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Net.Tls.TlsRecord.Parse(System.IO.BinaryReader)">
            <summary>
            Parse a TLS record from a binary reader.
            </summary>
            <param name="reader">The reader to read from.</param>
            <returns>The parsed TLS record.</returns>
        </member>
        <member name="M:NtApiDotNet.Net.Tls.TlsRecord.Parse(System.Byte[])">
            <summary>
            Parse a TLS record from a byte array.
            </summary>
            <param name="data">The byte array.</param>
            <returns>The parsed TLS record.</returns>
        </member>
        <member name="T:NtApiDotNet.Net.Tls.TlsRecordType">
            <summary>
            Type for a TLS record.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Tls.TlsRecordType.ChangeCipherSpec">
            <summary>
            Change cipher spec.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Tls.TlsRecordType.Alert">
            <summary>
            Alert.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Tls.TlsRecordType.Handshake">
            <summary>
            Handshake.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Net.Tls.TlsRecordType.ApplicationData">
            <summary>
            Application data.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtAlpc">
            <summary>
            Class to represent an ALPC port.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.Disconnect(NtApiDotNet.AlpcDisconnectPortFlags,System.Boolean)">
            <summary>
            Disconnect this port.
            </summary>
            <param name="flags">Disconection flags.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.Disconnect(NtApiDotNet.AlpcDisconnectPortFlags)">
            <summary>
            Disconnect this port.
            </summary>
            <param name="flags">Disconection flags.</param>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.Disconnect">
            <summary>
            Disconnect this port.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.CancelMessage(NtApiDotNet.AlpcCancelMessageFlags,NtApiDotNet.AlpcContextMessageAttribute,System.Boolean)">
            <summary>
            Cancel a message based on a context attribute.
            </summary>
            <param name="flags">Cancellation flags.</param>
            <param name="context">The context attributes.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.CancelMessage(NtApiDotNet.AlpcCancelMessageFlags,NtApiDotNet.AlpcContextMessageAttribute)">
            <summary>
            Cancel a message based on a context attribute.
            </summary>
            <param name="flags">Cancellation flags.</param>
            <param name="context">The context attributes.</param>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.CancelMessage(NtApiDotNet.AlpcContextMessageAttribute)">
            <summary>
            Cancel a message based on a context attribute.
            </summary>
            <param name="context">The context attributes.</param>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.SendReceive(NtApiDotNet.AlpcMessageFlags,NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcSendMessageAttributes,NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcReceiveMessageAttributes,NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <summary>
            Send and receive messages on an ALPC port.
            </summary>
            <param name="flags">Send/Receive flags.</param>
            <param name="send_message">The message to send. Optional.</param>
            <param name="send_attributes">The attributes to send with the message. Optional.</param>
            <param name="receive_message">The message to receive. Optional.</param>
            <param name="receive_attributes">The attributes to receive with the message. Optional.</param>
            <param name="timeout">Time out for the send/receive.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <remarks>The attribute parameters will be repopulated with the attribute results.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.SendReceive(NtApiDotNet.AlpcMessageFlags,NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcSendMessageAttributes,NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcReceiveMessageAttributes,NtApiDotNet.NtWaitTimeout)">
            <summary>
            Send and receive messages on an ALPC port.
            </summary>
            <param name="flags">Send/Receive flags.</param>
            <param name="send_message">The message to send. Optional.</param>
            <param name="send_attributes">The attributes to send with the message. Optional.</param>
            <param name="receive_message">The message to receive. Optional.</param>
            <param name="receive_attributes">The attributes to receive with the message. Optional.</param>
            <param name="timeout">Time out for the send/receive.</param>
            <returns>True if completed successfully, false if timed out.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.Send(NtApiDotNet.AlpcMessageFlags,NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcSendMessageAttributes,NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <summary>
            Send a message on an ALPC port.
            </summary>
            <param name="flags">Send flags.</param>
            <param name="send_message">The message to send. Optional.</param>
            <param name="send_attributes">The attributes to send with the message. Optional.</param>
            <param name="timeout">Time out for the send/receive.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <remarks>The attribute parameters will be repopulated with the attribute results.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.Send(NtApiDotNet.AlpcMessageFlags,NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcSendMessageAttributes,NtApiDotNet.NtWaitTimeout)">
            <summary>
            Send a message on an ALPC port.
            </summary>
            <param name="flags">Send flags.</param>
            <param name="send_message">The message to send. Optional.</param>
            <param name="send_attributes">The attributes to send with the message. Optional.</param>
            <param name="timeout">Time out for the send/receive.</param>
            <remarks>The attribute parameters will be repopulated with the attribute results.</remarks>
            <returns>True if completed successfully, false if timed out.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.Send(NtApiDotNet.AlpcMessageFlags,NtApiDotNet.AlpcMessage)">
            <summary>
            Send a message on an ALPC port.
            </summary>
            <param name="flags">Send flags.</param>
            <param name="send_message">The message to send. Optional.</param>
            <remarks>The attribute parameters will be repopulated with the attribute results.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.Receive(NtApiDotNet.AlpcMessageFlags,System.Int32,NtApiDotNet.AlpcReceiveMessageAttributes,NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <summary>
            Receive a message on an ALPC port.
            </summary>
            <param name="flags">Receive flags.</param>
            <param name="receive_length">The maximum length to receive.</param>
            <param name="receive_attributes">The attributes to receive with the message. Optional.</param>
            <param name="timeout">Time out for the send/receive.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The received message.</returns>
            <remarks>The attribute parameters will be repopulated with the attribute results.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.Receive(NtApiDotNet.AlpcMessageFlags,System.Int32,NtApiDotNet.AlpcReceiveMessageAttributes,NtApiDotNet.NtWaitTimeout)">
            <summary>
            Receive a message on an ALPC port.
            </summary>
            <param name="flags">Receive flags.</param>
            <param name="receive_length">The maximum length to receive.</param>
            <param name="receive_attributes">The attributes to receive with the message. Optional.</param>
            <param name="timeout">Time out for the send/receive.</param>
            <returns>The received message.</returns>
            <remarks>The attribute parameters will be repopulated with the attribute results.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.Receive(NtApiDotNet.AlpcMessageFlags,System.Int32,NtApiDotNet.AlpcReceiveMessageAttributes)">
            <summary>
            Receive a message on an ALPC port.
            </summary>
            <param name="flags">Receive flags.</param>
            <param name="receive_length">The maximum length to receive.</param>
            <param name="receive_attributes">The attributes to receive with the message. Optional.</param>
            <returns>The received message.</returns>
            <remarks>The attribute parameters will be repopulated with the attribute results.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.Receive(NtApiDotNet.AlpcMessageFlags,System.Int32)">
            <summary>
            Receive a message on an ALPC port.
            </summary>
            <param name="flags">Receive flags.</param>
            <param name="receive_length">The maximum length to receive.</param>
            <returns>The received message.</returns>
            <remarks>The attribute parameters will be repopulated with the attribute results.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.Receive``1(NtApiDotNet.AlpcMessageFlags,NtApiDotNet.AlpcReceiveMessageAttributes,NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <summary>
            Receive a message on an ALPC port.
            </summary>
            <param name="flags">Receive flags.</param>
            <param name="receive_attributes">The attributes to receive with the message. Optional.</param>
            <param name="timeout">Time out for the send/receive.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The received message.</returns>
            <remarks>The attribute parameters will be repopulated with the attribute results.</remarks>
            <typeparam name="T">The type of structure to receive.</typeparam>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.Receive``1(NtApiDotNet.AlpcMessageFlags,NtApiDotNet.AlpcReceiveMessageAttributes,NtApiDotNet.NtWaitTimeout)">
            <summary>
            Receive a message on an ALPC port.
            </summary>
            <param name="flags">Receive flags.</param>
            <param name="receive_attributes">The attributes to receive with the message. Optional.</param>
            <param name="timeout">Time out for the send/receive.</param>
            <remarks>The attribute parameters will be repopulated with the attribute results.</remarks>
            <typeparam name="T">The type of structure to receive.</typeparam>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.Receive``1(NtApiDotNet.AlpcMessageFlags,NtApiDotNet.AlpcReceiveMessageAttributes)">
            <summary>
            Receive a message on an ALPC port.
            </summary>
            <param name="flags">Receive flags.</param>
            <param name="receive_attributes">The attributes to receive with the message. Optional.</param>
            <remarks>The attribute parameters will be repopulated with the attribute results.</remarks>
            <typeparam name="T">The type of structure to receive.</typeparam>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.Receive``1(NtApiDotNet.AlpcMessageFlags)">
            <summary>
            Receive a message on an ALPC port.
            </summary>
            <param name="flags">Receive flags.</param>
            <typeparam name="T">The type of structure to receive.</typeparam>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.ImpersonateClientOfPort(NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcImpersonationClientOfPortFlags,NtApiDotNet.SecurityImpersonationLevel,System.Boolean)">
            <summary>
            Impersonate client of port for a message.
            </summary>
            <param name="message">The message send by the client.</param>
            <param name="flags">Impersonation flags.</param>
            <param name="required_impersonation_level">Required impersonation level. Need to set RequiredImpersonationLevel flag as well.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>Thread impersonation context.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.ImpersonateClientOfPort(NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcImpersonationClientOfPortFlags,NtApiDotNet.SecurityImpersonationLevel)">
            <summary>
            Impersonate client of port for a message.
            </summary>
            <param name="message">The message send by the client.</param>
            <param name="flags">Impersonation flags.</param>
            <param name="required_impersonation_level">Required impersonation level. Need to set RequiredImpersonationLevel flag as well.</param>
            <returns>Thread impersonation context.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.ImpersonateClientOfPort(NtApiDotNet.AlpcMessage)">
            <summary>
            Impersonate client of port for a message.
            </summary>
            <param name="message">The message send by the client.</param>
            <returns>Thread impersonation context.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.ImpersonateClientContainerOfPort(NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcImpersonateClientContainerOfPortFlags,System.Boolean)">
            <summary>
            Impersonate client container of port for a message.
            </summary>
            <param name="message">The message send by the client.</param>
            <param name="flags">Impersonation flags.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>Thread impersonation context.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.ImpersonateClientContainerOfPort(NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcImpersonateClientContainerOfPortFlags)">
            <summary>
            Impersonate client container of port for a message.
            </summary>
            <param name="message">The message send by the client.</param>
            <param name="flags">Impersonation flags.</param>
            <returns>Thread impersonation context.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.ImpersonateClientContainerOfPort(NtApiDotNet.AlpcMessage)">
            <summary>
            Impersonate client container of port for a message.
            </summary>
            <param name="message">The message send by the client.</param>
            <returns>Thread impersonation context.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.OpenSenderProcess(NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcOpenSenderProcessFlags,NtApiDotNet.ProcessAccessRights,NtApiDotNet.ObjectAttributes,System.Boolean)">
            <summary>
            Open the process of the message sender.
            </summary>
            <param name="message">The sent message.</param>
            <param name="flags">Optional flags. Currently none defined.</param>
            <param name="desired_access">The desired access for the process.</param>
            <param name="object_attributes">Optional object attributes.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened process object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.OpenSenderProcess(NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcOpenSenderProcessFlags,NtApiDotNet.ProcessAccessRights,NtApiDotNet.ObjectAttributes)">
            <summary>
            Open the process of the message sender.
            </summary>
            <param name="message">The sent message.</param>
            <param name="flags">Optional flags. Currently none defined.</param>
            <param name="desired_access">The desired access for the process.</param>
            <param name="object_attributes">Optional object attributes.</param>
            <returns>The opened process object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.OpenSenderProcess(NtApiDotNet.AlpcMessage,NtApiDotNet.ProcessAccessRights)">
            <summary>
            Open the process of the message sender.
            </summary>
            <param name="message">The sent message.</param>
            <param name="desired_access">The desired access for the process.</param>
            <returns>The opened process object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.OpenSenderProcess(NtApiDotNet.AlpcMessage)">
            <summary>
            Open the process of the message sender with maximum privileges.
            </summary>
            <param name="message">The sent message.</param>
            <returns>The opened process object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.OpenSenderThread(NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcOpenSenderThreadFlags,NtApiDotNet.ThreadAccessRights,NtApiDotNet.ObjectAttributes,System.Boolean)">
            <summary>
            Open the thread of the message sender.
            </summary>
            <param name="message">The sent message.</param>
            <param name="flags">Optional flags. Currently none defined.</param>
            <param name="desired_access">The desired access for the thread.</param>
            <param name="object_attributes">Optional object attributes.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened thread object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.OpenSenderThread(NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcOpenSenderThreadFlags,NtApiDotNet.ThreadAccessRights,NtApiDotNet.ObjectAttributes)">
            <summary>
            Open the thread of the message sender.
            </summary>
            <param name="message">The sent message.</param>
            <param name="flags">Optional flags. Currently none defined.</param>
            <param name="desired_access">The desired access for the thread.</param>
            <param name="object_attributes">Optional object attributes.</param>
            <returns>The opened thread object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.OpenSenderThread(NtApiDotNet.AlpcMessage,NtApiDotNet.ThreadAccessRights)">
            <summary>
            Open the thread of the message sender.
            </summary>
            <param name="message">The sent message.</param>
            <param name="desired_access">The desired access for the thread.</param>
            <returns>The opened thread object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.OpenSenderThread(NtApiDotNet.AlpcMessage)">
            <summary>
            Open the thread of the message sender with maximum privileges.
            </summary>
            <param name="message">The sent message.</param>
            <returns>The opened thread object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.AssociateCompletionPort(NtApiDotNet.NtIoCompletion,System.IntPtr,System.Boolean)">
            <summary>
            Associate an IO completion port with this ALPC port.
            </summary>
            <param name="io_completion">The IO completion object.</param>
            <param name="completion_key">Optional completion key.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.AssociateCompletionPort(NtApiDotNet.NtIoCompletion,System.IntPtr)">
            <summary>
            Associate an IO completion port with this ALPC port.
            </summary>
            <param name="io_completion">The IO completion object.</param>
            <param name="completion_key">Optional completion key.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.IsConnectedSid(NtApiDotNet.Sid,System.Boolean)">
            <summary>
            Check if the current SID matches the connected SID.
            </summary>
            <param name="sid">The SID to compare.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>True if the connected SID matches the specified SID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.IsConnectedSid(NtApiDotNet.Sid)">
            <summary>
            Check if the current SID matches the connected SID.
            </summary>
            <param name="sid">The SID to compare.</param>
            <returns>True if the connected SID matches the specified SID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.CreatePortSection(NtApiDotNet.AlpcCreatePortSectionFlags,NtApiDotNet.NtSection,System.Int64,System.Boolean)">
            <summary>
            Create a new port section.
            </summary>
            <param name="flags">Flags for the port section.</param>
            <param name="section">Optional backing section.</param>
            <param name="section_size">Size of the section to create.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created port section.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.CreatePortSection(NtApiDotNet.AlpcCreatePortSectionFlags,NtApiDotNet.NtSection,System.Int64)">
            <summary>
            Create a new port section.
            </summary>
            <param name="flags">Flags for the port section.</param>
            <param name="section">Optional backing section.</param>
            <param name="section_size">Size of the section to create.</param>
            <returns>The created port section.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.CreatePortSection(NtApiDotNet.AlpcCreatePortSectionFlags,System.Int64)">
            <summary>
            Create a new port section.
            </summary>
            <param name="flags">Flags for the port section.</param>
            <param name="section_size">Size of the section to create.</param>
            <returns>The created port section.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.CreatePortSection(System.Int64)">
            <summary>
            Create a new port section.
            </summary>
            <param name="section_size">Size of the section to create.</param>
            <returns>The created port section.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.GetHandleInformation(NtApiDotNet.AlpcMessage,System.Int32,System.Boolean)">
            <summary>
            Get a handle entry for a message.
            </summary>
            <param name="index">The handle index to get.</param>
            <param name="message">The associated message.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The ALPC handle entry.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.GetHandleInformation(NtApiDotNet.AlpcMessage,System.Int32)">
            <summary>
            Get a handle entry for a message.
            </summary>
            <param name="index">The handle index to get.</param>
            <param name="message">The associated message.</param>
            <returns>The ALPC handle entry.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.CreateSecurityContext(NtApiDotNet.AlpcCreateSecurityContextFlags,NtApiDotNet.SecurityQualityOfService,System.Boolean)">
            <summary>
            Create a security context.
            </summary>
            <param name="flags">Flags for the creation.</param>
            <param name="security_quality_of_service">Security quality of service.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created security context.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.CreateSecurityContext(NtApiDotNet.AlpcCreateSecurityContextFlags,NtApiDotNet.SecurityQualityOfService)">
            <summary>
            Create a security context.
            </summary>
            <param name="flags">Flags for the creation.</param>
            <param name="security_quality_of_service">Security quality of service.</param>
            <returns>The created security context.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.CreateSecurityContext(NtApiDotNet.SecurityQualityOfService)">
            <summary>
            Create a security context.
            </summary>
            <param name="security_quality_of_service">Security quality of service.</param>
            <returns>The created security context.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.CreateSecurityContext">
            <summary>
            Create a security context.
            </summary>
            <returns>The created security context.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.SetPortAttributeFlags(NtApiDotNet.AlpcPortAttributeFlags,System.Boolean)">
            <summary>
            Set port attribute flags.
            </summary>
            <param name="flags">The flags to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.QueryInformation(NtApiDotNet.AlpcPortInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Int32@)">
            <summary>
            Method to query information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to return data in.</param>
            <param name="return_length">Return length from the query.</param>
            <returns>The NT status code for the query.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpc.SetInformation(NtApiDotNet.AlpcPortInformationClass,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Method to set information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to set data from.</param>
            <returns>The NT status code for the set.</returns>
        </member>
        <member name="P:NtApiDotNet.NtAlpc.Flags">
            <summary>
            Port flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtAlpc.SequenceNumber">
            <summary>
            Port sequence number.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtAlpc.PortContext">
            <summary>
            Port context.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtAlpcClient">
            <summary>
            Class to represent an ALPC client port.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtAlpcClient.Connect(System.String,NtApiDotNet.ObjectAttributes,NtApiDotNet.AlpcPortAttributes,NtApiDotNet.AlpcMessageFlags,NtApiDotNet.Sid,NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcSendMessageAttributes,NtApiDotNet.AlpcReceiveMessageAttributes,NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <summary>
            Connect to an ALPC port.
            </summary>
            <param name="port_name">The path to the port.</param>
            <param name="object_attributes">Object attributes for the handle. Optional.</param>
            <param name="port_attributes">Attributes for the port. Optional.</param>
            <param name="flags">Send flags for the initial connection message.</param>
            <param name="required_server_sid">Required SID for the server.</param>
            <param name="connection_message">Initial connection message.</param>
            <param name="out_message_attributes">Outbound message attributes.</param>
            <param name="in_message_attributes">Inbound message atributes.</param>
            <param name="timeout">Connect timeout.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The connected ALPC port.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpcClient.Connect(System.String,NtApiDotNet.ObjectAttributes,NtApiDotNet.AlpcPortAttributes,NtApiDotNet.AlpcMessageFlags,NtApiDotNet.Sid,NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcSendMessageAttributes,NtApiDotNet.AlpcReceiveMessageAttributes,NtApiDotNet.NtWaitTimeout)">
            <summary>
            Connect to an ALPC port.
            </summary>
            <param name="port_name">The path to the port.</param>
            <param name="object_attributes">Object attributes for the handle. Optional.</param>
            <param name="port_attributes">Attributes for the port. Optional.</param>
            <param name="flags">Send flags for the initial connection message.</param>
            <param name="required_server_sid">Required SID for the server.</param>
            <param name="connection_message">Initial connection message.</param>
            <param name="out_message_attributes">Outbound message attributes.</param>
            <param name="in_message_attributes">Inbound message atributes.</param>
            <param name="timeout">Connect timeout.</param>
            <returns>The connected ALPC port.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtAlpcClient.Connect(System.String,NtApiDotNet.AlpcPortAttributes)">
            <summary>
            Connect to an ALPC port.
            </summary>
            <param name="port_name">The name of the port to connect to.</param>
            <param name="port_attributes">Attributes for the port.</param>
            <returns>The connected ALPC port object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpcClient.Connect(NtApiDotNet.ObjectAttributes,NtApiDotNet.ObjectAttributes,NtApiDotNet.AlpcPortAttributes,NtApiDotNet.AlpcMessageFlags,NtApiDotNet.SecurityDescriptor,NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcSendMessageAttributes,NtApiDotNet.AlpcReceiveMessageAttributes,NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <summary>
            Connect to an ALPC port.
            </summary>
            <param name="port_object_attributes">Object attribute for the port name.</param>
            <param name="object_attributes">Object attributes for the handle. Optional.</param>
            <param name="port_attributes">Attributes for the port. Optional.</param>
            <param name="flags">Send flags for the initial connection message.</param>
            <param name="server_security_requirements">Required security descriptor for the server.</param>
            <param name="connection_message">Initial connection message.</param>
            <param name="out_message_attributes">Outbound message attributes.</param>
            <param name="in_message_attributes">Inbound message atributes.</param>
            <param name="timeout">Connect timeout.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The connected ALPC port.</returns>
            <remarks>Only available on Windows 8+.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtAlpcClient.Connect(NtApiDotNet.ObjectAttributes,NtApiDotNet.ObjectAttributes,NtApiDotNet.AlpcPortAttributes,NtApiDotNet.AlpcMessageFlags,NtApiDotNet.SecurityDescriptor,NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcSendMessageAttributes,NtApiDotNet.AlpcReceiveMessageAttributes,NtApiDotNet.NtWaitTimeout)">
            <summary>
            Connect to an ALPC port.
            </summary>
            <param name="port_object_attributes">Object attribute for the port name.</param>
            <param name="object_attributes">Object attributes for the handle. Optional.</param>
            <param name="port_attributes">Attributes for the port. Optional.</param>
            <param name="flags">Send flags for the initial connection message.</param>
            <param name="server_security_requirements">Required security descriptor for the server.</param>
            <param name="connection_message">Initial connection message.</param>
            <param name="out_message_attributes">Outbound message attributes.</param>
            <param name="in_message_attributes">Inbound message atributes.</param>
            <param name="timeout">Connect timeout.</param>
            <returns>The connected ALPC port.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtAlpcClient.Connect(NtApiDotNet.ObjectAttributes,NtApiDotNet.AlpcPortAttributes)">
            <summary>
            Connect to an ALPC port.
            </summary>
            <param name="port_object_attributes">Object attribute for the port name.</param>
            <param name="port_attributes">Attributes for the port.</param>
            <returns>The connected ALPC port object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpcClient.GetServerProcess(System.Boolean)">
            <summary>
            Get the server process information.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The process information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpcClient.GetServerProcess">
            <summary>
            Get the server process information.
            </summary>
            <returns>The process information.</returns>
        </member>
        <member name="P:NtApiDotNet.NtAlpcClient.ServerProcessId">
            <summary>
            Get the server process ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtAlpcClient.ServerSessionId">
            <summary>
            Get the server session ID.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtAlpcServer">
            <summary>
            Class to represent an ALPC server port.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtAlpcServer.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.AlpcPortAttributes,System.Boolean)">
            <summary>
            Create an ALPC port.
            </summary>
            <param name="object_attributes">The object attributes for the port.</param>
            <param name="port_attributes">The attributes for the port.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpcServer.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.AlpcPortAttributes)">
            <summary>
            Create an ALPC port.
            </summary>
            <param name="object_attributes">The object attributes for the port.</param>
            <param name="port_attributes">The attributes for the port.</param>
            <returns>The created object.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtAlpcServer.Create(System.String,NtApiDotNet.AlpcPortAttributes)">
            <summary>
            Create an ALPC port.
            </summary>
            <param name="port_name">The name of the port to create.</param>
            <param name="port_attributes">The attributes for the port.</param>
            <returns>The created object.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtAlpcServer.AcceptConnectPort(NtApiDotNet.AlpcMessageFlags,NtApiDotNet.ObjectAttributes,NtApiDotNet.AlpcPortAttributes,System.IntPtr,NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcSendMessageAttributes,System.Boolean,System.Boolean)">
            <summary>
            Accept a new connection on a port.
            </summary>
            <param name="flags">The message send flags.</param>
            <param name="object_attributes">Object attributes. Optional.</param>
            <param name="port_attributes">The attributes for the port.</param>
            <param name="port_context">Port context. Optional.</param>
            <param name="connection_request">Connect request message.</param>
            <param name="connection_message_attributes">Connect request attributes.</param>
            <param name="accept_connection">True to accept the connection.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The accepted port.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpcServer.AcceptConnectPort(NtApiDotNet.AlpcMessageFlags,NtApiDotNet.ObjectAttributes,NtApiDotNet.AlpcPortAttributes,System.IntPtr,NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcSendMessageAttributes,System.Boolean)">
            <summary>
            Accept a new connection on a port.
            </summary>
            <param name="flags">The message send flags.</param>
            <param name="object_attributes">Object attributes. Optional.</param>
            <param name="port_attributes">The attributes for the port.</param>
            <param name="port_context">Port context. Optional.</param>
            <param name="connection_request">Connect request message.</param>
            <param name="connection_message_attributes">Connect request attributes.</param>
            <param name="accept_connection">True to accept the connection.</param>
            <returns>The accepted port.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAlpcServer.AcceptConnectPort(NtApiDotNet.AlpcMessageFlags,NtApiDotNet.AlpcMessage,NtApiDotNet.AlpcSendMessageAttributes,System.Boolean)">
            <summary>
            Accept a new connection on a port.
            </summary>
            <param name="flags">The message send flags.</param>
            <param name="connection_request">Connect request message.</param>
            <param name="connection_message_attributes">Connect request attributes.</param>
            <param name="accept_connection">True to accept the connection.</param>
            <returns>The accepted port.</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="F:NtApiDotNet.AlpcPortAttributeFlags.AllowMultiHandleAttribute">
            <summary>
            If set then object duplication won't complete. Used by RPC to ensure
            multi-handle attributes don't fail when receiving.
            </summary>
        </member>
        <member name="F:NtApiDotNet.AlpcDataViewAttrFlags.ReleaseView">
            <summary>
            Use in a reply to release the view.
            </summary>
        </member>
        <member name="F:NtApiDotNet.AlpcDataViewAttrFlags.AutoRelease">
            <summary>
            Automatically release the view once it's passed to the receiver. 
            </summary>
        </member>
        <member name="F:NtApiDotNet.AlpcDataViewAttrFlags.Secure">
            <summary>
            Make the data view secure.
            </summary>
        </member>
        <member name="F:NtApiDotNet.AlpcMessageFlags.Wow64Call">
            <summary>
            When used all structures passed to kernel need to be 64 bit versions.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtAlpcUtils">
            <summary>
            Static utilities for ALPC.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtAsyncResult.WaitForComplete(NtApiDotNet.NtWaitTimeout)">
            <summary>
            Wait for the result to complete. This could be waiting on an event
            or the file handle.
            </summary>
            <param name="timeout">Wait timeout. Will cancel the operation if it times out.</param>
            <returns>Returns true if the wait completed successfully.</returns>
            <remarks>If true is returned then status and information can be read out.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtAsyncResult.WaitForCompleteAsync(System.Threading.CancellationToken)">
            <summary>
            Wait for the result to complete asynchronously. This could be waiting on an event
            or the file handle.
            </summary>
            <param name="token">Cancellation token.</param>
            <returns>Returns true if the wait completed successfully.</returns>
            <remarks>If true is returned then status and information can be read out.</remarks>
        </member>
        <member name="P:NtApiDotNet.NtAsyncResult.Information">
            <summary>
            Return the status information field.
            </summary>
            <exception cref="T:NtApiDotNet.NtException">Thrown if not complete.</exception>
        </member>
        <member name="P:NtApiDotNet.NtAsyncResult.Information32">
            <summary>
            Return the status information field. (32 bit)
            </summary>
            <exception cref="T:NtApiDotNet.NtException">Thrown if not complete.</exception>
        </member>
        <member name="P:NtApiDotNet.NtAsyncResult.Status">
            <summary>
            Get completion status code.
            </summary>
            <exception cref="T:NtApiDotNet.NtException">Thrown if not complete.</exception>
        </member>
        <member name="P:NtApiDotNet.NtAsyncResult.IsPending">
            <summary>
            Returns true if the call is pending.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtAsyncResult.Dispose">
            <summary>
            Dispose object.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtAsyncResult.Reset">
            <summary>
            Reset the file result so it can be reused.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtAsyncResult.Cancel">
            <summary>
            Cancel the pending IO operation.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtAsyncResult.Cancel(System.Boolean)">
            <summary>
            Cancel the pending IO operation.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="T:NtApiDotNet.NtAtom">
            <summary>
            Class to handle NT atoms
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtAtom.Add(System.String,NtApiDotNet.AddAtomFlags,System.Boolean)">
            <summary>
            Add a global atom name
            </summary>
            <param name="name">The name to add</param>
            <param name="flags">Flags for the add.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>A reference to the atom</returns>
        </member>
        <member name="M:NtApiDotNet.NtAtom.Add(System.String,NtApiDotNet.AddAtomFlags)">
            <summary>
            Add a global atom name
            </summary>
            <param name="name">The name to add</param>
            <param name="flags">Flags for the add.</param>
            <returns>A reference to the atom</returns>
        </member>
        <member name="M:NtApiDotNet.NtAtom.Add(System.String,System.Boolean)">
            <summary>
            Add a global atom name
            </summary>
            <param name="name">The name to add</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>A reference to the atom</returns>
        </member>
        <member name="M:NtApiDotNet.NtAtom.Add(System.String)">
            <summary>
            Add a global atom name
            </summary>
            <param name="name">The name to add</param>
            <returns>A reference to the atom</returns>
        </member>
        <member name="M:NtApiDotNet.NtAtom.Find(System.String,System.Boolean)">
            <summary>
            Find a global atom by name.
            </summary>
            <param name="name">The name of the atom.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The found atom.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAtom.Find(System.String)">
            <summary>
            Find a global atom by name.
            </summary>
            <param name="name">The name of the atom.</param>
            <returns>The found atom.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAtom.Exists(System.UInt16)">
            <summary>
            Query if a global atom exists.
            </summary>
            <param name="atom">The atom to check.</param>
            <returns>True if the atom exists.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAtom.Exists(System.UInt16,System.Boolean)">
            <summary>
            Query if the atom exists.
            </summary>
            <param name="atom">The atom to check.</param>
            <param name="global">Specify true to check for a global atom, otherwise gets a user atom.</param>
            <returns>True if the atom exists.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAtom.Open(System.UInt16,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Open a global atom by number.
            </summary>
            <param name="atom">The atom to open.</param>
            <param name="check_exists">True to check atom exists.</param>
            <param name="global">True to open a global atom, otherwise a user atom.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The atom object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAtom.Open(System.UInt16,System.Boolean,System.Boolean)">
            <summary>
            Open a global atom by number.
            </summary>
            <param name="atom">The atom to open.</param>
            <param name="check_exists">True to check atom exists.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The atom object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAtom.Open(System.UInt16,System.Boolean)">
            <summary>
            Open a global atom by number.
            </summary>
            <param name="atom">The atom to open.</param>
            <param name="check_exists">True to check atom exists.</param>
            <returns>The atom object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAtom.Open(System.UInt16)">
            <summary>
            Open a global atom by number.
            </summary>
            <param name="atom">The atom to open.</param>
            <returns>The atom object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAtom.GetAtoms(System.Boolean)">
            <summary>
            Enumerate all atoms.
            </summary>
            <returns>An enumeration of all atoms on the system.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAtom.GetAtoms">
            <summary>
            Enumerate all global atoms.
            </summary>
            <returns>An enumeration of all atoms on the system.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAtom.Delete(System.Boolean)">
            <summary>
            Delete a global atom.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtAtom.Delete">
            <summary>
            Delete a global atom.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtAtom.GetName(System.Boolean)">
            <summary>
            Get the name of the atom.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The name of the atom.</returns>
        </member>
        <member name="P:NtApiDotNet.NtAtom.Atom">
            <summary>
            The atom value
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtAtom.Name">
            <summary>
            Get the name of the atom.
            </summary>
            <returns>The name of the atom</returns>
        </member>
        <member name="P:NtApiDotNet.NtAtom.Global">
            <summary>
            If true indicates this is a global atom, otherwise it's a user atom.
            </summary>
        </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,NtApiDotNet.DebugObjectFlags)">
            <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>
            <param name="flags">Debug object flags.</param>
            <returns>The debug object</returns>
        </member>
        <member name="M:NtApiDotNet.NtDebug.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.DebugAccessRights,NtApiDotNet.DebugObjectFlags)">
            <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>
            <param name="flags">Debug object flags.</param>
            <returns>The debug object</returns>
        </member>
        <member name="M:NtApiDotNet.NtDebug.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.DebugAccessRights,NtApiDotNet.DebugObjectFlags,System.Boolean)">
            <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>
            <param name="flags">Debug object flags.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDebug.Create">
            <summary>
            Create a debug object
            </summary>
            <returns>The debug object</returns>
        </member>
        <member name="M:NtApiDotNet.NtDebug.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.DebugAccessRights)">
            <summary>
            Open a named debug object
            </summary>
            <param name="name">The debug object name </param>
            <param name="root">The root directory for relative names</param>
            <param name="desired_access">Desired access for the debug object</param>
            <returns>The debug object</returns>
        </member>
        <member name="M:NtApiDotNet.NtDebug.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.DebugAccessRights)">
            <summary>
            Open a named debug object
            </summary>
            <param name="object_attributes">The object attributes to open.</param>
            <param name="desired_access">Desired access for the debug object</param>
            <returns>The debug object</returns>
        </member>
        <member name="M:NtApiDotNet.NtDebug.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.DebugAccessRights,System.Boolean)">
            <summary>
            Open a named debug object
            </summary>
            <param name="object_attributes">The object attributes to open.</param>
            <param name="desired_access">Desired access for the debug object</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDebug.OpenCurrent(System.Boolean)">
            <summary>
            Open the current thread's debug object.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened debug object. Returns null if no object exists.</returns>
        </member>
        <member name="P:NtApiDotNet.NtDebug.Current">
            <summary>
            Open the current thread's debug object. Returns null if no object exists.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtDebug.Attach(NtApiDotNet.NtProcess,System.Boolean)">
            <summary>
            Attach to an active process.
            </summary>
            <param name="process">The process to debug.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDebug.Attach(System.Int32,System.Boolean)">
            <summary>
            Attach to an active process.
            </summary>
            <param name="pid">The process ID to debug.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDebug.Attach(NtApiDotNet.NtProcess)">
            <summary>
            Attach to an active process.
            </summary>
            <param name="process">The process to debug.</param>
        </member>
        <member name="M:NtApiDotNet.NtDebug.Attach(System.Int32)">
            <summary>
            Attach to an active process.
            </summary>
            <param name="pid">The process ID to debug.</param>
        </member>
        <member name="M:NtApiDotNet.NtDebug.Detach(NtApiDotNet.NtProcess,System.Boolean)">
            <summary>
            Detach a process from this debug object.
            </summary>
            <param name="process">The process to remove.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDebug.Detach(NtApiDotNet.NtProcess)">
            <summary>
            Detach a process from this debug object.
            </summary>
            <param name="process">The process to remove.</param>
        </member>
        <member name="M:NtApiDotNet.NtDebug.Detach(System.Int32,System.Boolean)">
            <summary>
            Detach a process from this debug object.
            </summary>
            <param name="pid">The process ID to remove.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDebug.Detach(System.Int32)">
            <summary>
            Detach a process from this debug object.
            </summary>
            <param name="pid">The process ID to remove.</param>
        </member>
        <member name="M:NtApiDotNet.NtDebug.SetKillOnClose(System.Boolean,System.Boolean)">
            <summary>
            Set kill process on close flag.
            </summary>
            <param name="kill_on_close">The flag state.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDebug.SetKillOnClose(System.Boolean)">
            <summary>
            Set kill process on close flag.
            </summary>
            <param name="kill_on_close">The flag state.</param>
        </member>
        <member name="M:NtApiDotNet.NtDebug.Continue(NtApiDotNet.ClientId,NtApiDotNet.NtStatus,System.Boolean)">
            <summary>
            Continue the debugged process.
            </summary>
            <param name="client_id">The client ID for the process and thread IDs.</param>
            <param name="continue_status">The continue status code.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDebug.Continue(System.Int32,System.Int32,NtApiDotNet.NtStatus,System.Boolean)">
            <summary>
            Continue the debugged process.
            </summary>
            <param name="pid">The process ID to continue.</param>
            <param name="tid">The thread ID to continue.</param>
            <param name="continue_status">The continue status code.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDebug.Continue(NtApiDotNet.ClientId,NtApiDotNet.NtStatus)">
            <summary>
            Continue the debugged process.
            </summary>
            <param name="client_id">The client ID for the process and thread IDs.</param>
            <param name="continue_status">The continue status code.</param>
        </member>
        <member name="M:NtApiDotNet.NtDebug.Continue(System.Int32,System.Int32,NtApiDotNet.NtStatus)">
            <summary>
            Continue the debugged process.
            </summary>
            <param name="pid">The process ID to continue.</param>
            <param name="tid">The thread ID to continue.</param>
            <param name="continue_status">The continue status code.</param>
        </member>
        <member name="M:NtApiDotNet.NtDebug.Continue(System.Int32,System.Int32)">
            <summary>
            Continue the debugged process with a success code.
            </summary>
            <param name="pid">The process ID to continue.</param>
            <param name="tid">The thread ID to continue.</param>
        </member>
        <member name="M:NtApiDotNet.NtDebug.WaitForDebugEvent(System.Boolean,NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <summary>
            Wait for a debug event.
            </summary>
            <param name="alertable">True to set the thread as alertable.</param>
            <param name="timeout">Wait timeout.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The debug event.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDebug.WaitForDebugEvent(System.Boolean,NtApiDotNet.NtWaitTimeout)">
            <summary>
            Wait for a debug event.
            </summary>
            <param name="alertable">True to set the thread as alertable.</param>
            <param name="timeout">Wait timeout.</param>
            <returns>The debug event.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDebug.WaitForDebugEvent(NtApiDotNet.NtWaitTimeout)">
            <summary>
            Wait for a debug event.
            </summary>
            <param name="timeout">Wait timeout.</param>
            <returns>The debug event.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDebug.WaitForDebugEvent(System.Int64)">
            <summary>
            Wait for a debug event.
            </summary>
            <param name="timeout_ms">Wait timeout in milliseconds.</param>
            <returns>The debug event.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDebug.WaitForDebugEvent">
            <summary>
            Wait for a debug event.
            </summary>
            <returns>The debug event.</returns>
        </member>
        <member name="T:NtApiDotNet.NtDesktop">
            <summary>
            Class which represents a desktop object.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtDesktop.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.CreateDesktopFlags,NtApiDotNet.DesktopAccessRights,System.Boolean)">
            <summary>
            Open a desktop by name.
            </summary>
            <param name="object_attributes">The object attributes for opening.</param>
            <param name="flags">Flags for opening the desktop.</param>
            <param name="desired_access">Desired access.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The instance of the desktop.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtDesktop.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.CreateDesktopFlags,NtApiDotNet.DesktopAccessRights)">
            <summary>
            Open a desktop by name.
            </summary>
            <param name="object_attributes">The object attributes for opening.</param>
            <param name="flags">Flags for opening the desktop.</param>
            <param name="desired_access">Desired access.</param>
            <returns>The instance of the desktop.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtDesktop.Open(System.String,NtApiDotNet.NtObject)">
            <summary>
            Open a desktop by name.
            </summary>
            <param name="desktop_name">The name of the desktop.</param>
            <param name="root">Optional root object</param>
            <returns>An instance of NtDesktop.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtDesktop.Open(System.String)">
            <summary>
            Open a desktop by name.
            </summary>
            <param name="desktop_name">The name of the desktop.</param>
            <returns>An instance of NtDesktop.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDesktop.Create(NtApiDotNet.ObjectAttributes,System.String,NtApiDotNet.DEVMODE,NtApiDotNet.CreateDesktopFlags,NtApiDotNet.DesktopAccessRights,System.Int32,System.Boolean)">
            <summary>
            Create a new desktop.
            </summary>
            <param name="object_attributes">The object attributes for opening.</param>
            <param name="flags">Flags for opening the desktop.</param>
            <param name="desired_access">Desired access.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <param name="device">Device name.</param>
            <param name="dev_mode">Device mode.</param>
            <param name="heap_size">Heap size.</param>
            <returns>An instance of NtDesktop.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDesktop.Create(NtApiDotNet.ObjectAttributes,System.String,NtApiDotNet.DEVMODE,NtApiDotNet.CreateDesktopFlags,NtApiDotNet.DesktopAccessRights,System.Int32)">
            <summary>
            Create a new desktop.
            </summary>
            <param name="object_attributes">The object attributes for opening.</param>
            <param name="flags">Flags for opening the desktop.</param>
            <param name="desired_access">Desired access.</param>
            <param name="device">Device name.</param>
            <param name="dev_mode">Device mode.</param>
            <param name="heap_size">Heap size.</param>
            <returns>An instance of NtDesktop.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDesktop.Create(System.String,NtApiDotNet.NtObject)">
            <summary>
            Create a new desktop.
            </summary>
            <param name="desktop_name">The name of the desktop.</param>
            <param name="root">Optional root object</param>
            <returns>An instance of NtDesktop.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDesktop.Create(System.String)">
            <summary>
            Create a new desktop.
            </summary>
            <param name="desktop_name">The name of the desktop.</param>
            <returns>An instance of NtDesktop.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDesktop.GetThreadDesktop(System.Int32,System.Boolean)">
            <summary>
            Get the desktop for a thread.
            </summary>
            <param name="thread_id">The thread ID of the thread.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The desktop result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDesktop.GetThreadDesktop(System.Int32)">
            <summary>
            Get the desktop for a thread.
            </summary>
            <param name="thread_id">The thread ID of the thread.</param>
            <returns>The desktop result.</returns>
        </member>
        <member name="P:NtApiDotNet.NtDesktop.Current">
            <summary>
            Get desktop for current thread.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtDesktop.Windows">
            <summary>
            Get list of top level Windows for this Desktop.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtDesktop.CloseDesktop(System.Boolean)">
            <summary>
            Close the Desktop. This is different from normal Close as it destroys the Desktop.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status.</returns>
        </member>
        <member name="T:NtApiDotNet.NtDirectory">
            <summary>
            NT Directory Object class
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtDirectory.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.DirectoryAccessRights,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error and throw_on_error is true.</exception>
        </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,NtApiDotNet.NtObject,NtApiDotNet.DirectoryAccessRights,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw an exception on error.</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,NtApiDotNet.DirectoryCreateFlags,System.Boolean)">
            <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>
            <param name="flags">Flags for creation.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error and throw_on_error is true.</exception>
        </member>
        <member name="M:NtApiDotNet.NtDirectory.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.DirectoryAccessRights,NtApiDotNet.NtDirectory,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error and throw_on_error is true.</exception>
        </member>
        <member name="M:NtApiDotNet.NtDirectory.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.DirectoryAccessRights,NtApiDotNet.NtDirectory,NtApiDotNet.DirectoryCreateFlags)">
            <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>
            <param name="flags">Flags for creation.</param>
            <returns>The directory object</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown 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.OpenSessionDirectory(System.Int32,System.String,NtApiDotNet.DirectoryAccessRights)">
            <summary>
            Open a session directory.
            </summary>
            <param name="sessionid">The session ID to open</param>
            <param name="sub_directory">Sub directory to open.</param>
            <param name="desired_access">Desired access to open directory.</param>
            <returns>The directory object</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception>
        </member>
        <member name="M:NtApiDotNet.NtDirectory.OpenSessionDirectory(System.String)">
            <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.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.GetBasedNamedObjects(System.Int32)">
            <summary>
            Get the based named object's directory for a session.
            </summary>
            <param name="session_id">The session ID</param>
            <returns>The based named object's directory.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDirectory.GetBasedNamedObjects">
            <summary>
            Get the based named object's directory for the current session.
            </summary>
            <returns>The based named object's directory.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDirectory.GetWindows(System.Int32)">
            <summary>
            Get the a session's Windows object directory.
            </summary>
            <param name="session_id">The session id to use.</param>
            <returns>The path to the windows object directory.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDirectory.GetWindows">
            <summary>
            Get the current session's Windows object directory.
            </summary>
            <returns>The path to the windows object directory.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDirectory.GetWindowStations(System.Int32)">
            <summary>
            Get the a session's Window Stations object directory.
            </summary>
            <param name="session_id">The session id to use.</param>
            <returns>The path to the window stations object directory.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDirectory.GetWindowStations">
            <summary>
            Get the current session's Window Stations object directory.
            </summary>
            <returns>The path to the window stations object directory.</returns>
        </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,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <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,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw an exception on error.</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.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.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.VisitAccessibleDirectories(System.Func{NtApiDotNet.NtDirectory,System.Boolean},NtApiDotNet.DirectoryAccessRights,System.Boolean,System.Int32)">
            <summary>
            Visit all accessible directories under this one.
            </summary>
            <param name="visitor">A function to be called on every accessible directory. Return true to continue enumeration.</param>
            <param name="desired_access">Specify the desired access for the directory</param>
            <param name="recurse">True to recurse into sub directories.</param>
            <param name="max_depth">Specify max recursive depth. -1 to not set a limit.</param>
            <returns>True if all children were visited.</returns>
        </member>
        <member name="M:NtApiDotNet.NtDirectory.VisitAccessibleDirectories(System.Func{NtApiDotNet.NtDirectory,System.Boolean})">
            <summary>
            Visit all accessible directories under this one.
            </summary>
            <param name="visitor">A function to be called on every accessible directory. Return true to continue enumeration.</param>
        </member>
        <member name="M:NtApiDotNet.NtDirectory.VisitAccessibleDirectories(System.Func{NtApiDotNet.NtDirectory,System.Boolean},System.Boolean)">
            <summary>
            Visit all accessible directories under this one.
            </summary>
            <param name="visitor">A function to be called on every accessible directory. Return true to continue enumeration.</param>
            <param name="recurse">True to recurse into sub directories.</param>
        </member>
        <member name="M:NtApiDotNet.NtDirectory.VisitAccessibleDirectories(System.Func{NtApiDotNet.NtDirectory,System.Boolean},NtApiDotNet.DirectoryAccessRights,System.Boolean)">
            <summary>
            Visit all accessible directories under this one.
            </summary>
            <param name="visitor">A function to be called on every accessible directory. Return true to continue enumeration.</param>
            <param name="desired_access">Specify the desired access for the directory</param>
            <param name="recurse">True to recurse into sub directories.</param>
        </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.Delete(System.Boolean)">
            <summary>
            Deletes a private namespace. If not a private namespace this does nothing.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </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)">
            <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="M:NtApiDotNet.NtDirectory.SetCurrentSessionId(System.Boolean)">
            <summary>
            Set the session ID for this directory to the current session.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <remarks>Needs SeTcbPrivilege.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtDirectory.SetCurrentSessionObject(System.Boolean)">
            <summary>
            Set the session object for this directory to the current session.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <remarks>Needs SeTcbPrivilege.</remarks>
        </member>
        <member name="P:NtApiDotNet.NtDirectory.IsContainer">
            <summary>
            Returns whether this object is a container.
            </summary>
        </member>
        <member name="T:NtApiDotNet.DirectoryAccessRights">
            <summary>
            Directory access rights.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtEnclave">
            <summary>
            Base class to implement an enclave.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtEnclave.BaseAddress">
            <summary>
            The base address of the enclave.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtEnclave.Type">
            <summary>
            The type of enclave.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtEnclave.Dispose">
            <summary>
            Dispose of the enclave.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtEnclave.Close">
            <summary>
            Close the enclave.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtEnclave.Call(System.Int64,System.Int64,System.Boolean,System.Boolean)">
            <summary>
            Call a method in the enclave.
            </summary>
            <param name="routine">The routine address to call.</param>
            <param name="parameter">The parameter to pass to the routine.</param>
            <param name="wait_for_threads">True to wait for a free thread.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The return value from the call.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnclave.Call(System.Int64,System.Int64,System.Boolean)">
            <summary>
            Call a method in the enclave.
            </summary>
            <param name="routine">The routine address to call.</param>
            <param name="parameter">The parameter to pass to the routine.</param>
            <param name="wait_for_threads">True to wait for a free thread.</param>
            <returns>The return value from the call.</returns>
        </member>
        <member name="T:NtApiDotNet.LdrEnclaveType">
            <summary>
            Type of enclave.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtEnclaveVBS">
            <summary>
            Class to represent a VBS enclave.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtEnclaveVBS.Create(NtApiDotNet.SafeKernelObjectHandle,System.Int64,NtApiDotNet.LdrEnclaveVBSFlags,System.Byte[],System.Boolean)">
            <summary>
            Create a VBS enclave.
            </summary>
            <param name="process">The process to create the enclave in.</param>
            <param name="size">Size of the enclave.</param>
            <param name="flags">Flags for the enclave.</param>
            <param name="owner_id">Owner ID. Must be 32 bytes.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created enclave.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnclaveVBS.Create(NtApiDotNet.SafeKernelObjectHandle,System.Int64,NtApiDotNet.LdrEnclaveVBSFlags,System.Byte[])">
            <summary>
            Create a VBS enclave.
            </summary>
            <param name="process">The process to create the enclave in.</param>
            <param name="size">Size of the enclave.</param>
            <param name="flags">Flags for the enclave.</param>
            <param name="owner_id">Owner ID. Must be 32 bytes.</param>
            <returns>The created enclave.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnclaveVBS.GetProcAddress(System.String,System.Boolean)">
            <summary>
            Get a procedure address in the loaded enclave.
            </summary>
            <param name="name">The name of the procedure.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The address of the procedure.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnclaveVBS.GetProcAddress(System.String)">
            <summary>
            Get a procedure address in the loaded enclave.
            </summary>
            <param name="name">The name of the procedure.</param>
            <returns>The address of the procedure.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnclaveVBS.Terminate(NtApiDotNet.TerminateEnclaveFlags,System.Boolean)">
            <summary>
            Terminate the enclave.
            </summary>
            <param name="flags">Flags for the terminate.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnclaveVBS.Terminate(NtApiDotNet.TerminateEnclaveFlags)">
            <summary>
            Terminate the enclave.
            </summary>
            <param name="flags">Flags for the terminate.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnclaveVBS.LoadModule(System.String,System.IntPtr,System.Boolean)">
            <summary>
            Load a module into the enclave.
            </summary>
            <param name="module_name">The name of the module</param>
            <param name="flags">Flags or path.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnclaveVBS.LoadModule(System.String,System.IntPtr)">
            <summary>
            Load a module into the enclave.
            </summary>
            <param name="module_name">The name of the module</param>
            <param name="flags">Flags or path.</param>
            <returns>The NT status.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnclaveVBS.Initialize(System.Int32,System.Boolean)">
            <summary>
            Initialize the enclave.
            </summary>
            <param name="thread_count">The number of threads to create.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The number of created threads.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnclaveVBS.Initialize(System.Int32)">
            <summary>
            Initialize the enclave.
            </summary>
            <param name="thread_count">The number of threads to create.</param>
            <returns>The number of created threads.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnclaveVBS.Dispose">
            <summary>
            Dispose of the enclave.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtEnlistment">
            <summary>
            Class to represent a kernel transaction enlistment.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.EnlistmentAccessRights,NtApiDotNet.NtResourceManager,NtApiDotNet.NtTransaction,NtApiDotNet.EnlistmentCreateOptions,NtApiDotNet.TransactionNotificationMask,System.IntPtr,System.Boolean)">
            <summary>
            Create a new enlistment object.
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="resource_manager">Resource manager to handle the enlistment.</param>
            <param name="transaction">The transaction to enlist.</param>
            <param name="create_options">Optional create options.</param>
            <param name="notification_mask">Notification mask.</param>
            <param name="enlistment_key">Enlistment key returned during notification.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The created enlistment and NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.EnlistmentAccessRights,NtApiDotNet.NtResourceManager,NtApiDotNet.NtTransaction,NtApiDotNet.EnlistmentCreateOptions,NtApiDotNet.TransactionNotificationMask,System.IntPtr)">
            <summary>
            Create a new enlistment object.
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="resource_manager">Resource manager to handle the enlistment.</param>
            <param name="transaction">The transaction to enlist.</param>
            <param name="create_options">Optional create options.</param>
            <param name="notification_mask">Notification mask.</param>
            <param name="enlistment_key">Enlistment key returned during notification.</param>
            <returns>The created enlistment.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.EnlistmentAccessRights,NtApiDotNet.NtResourceManager,System.Guid,System.Boolean)">
            <summary>
            Open a existing new enlistment object.
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="resource_manager">Resource manager handling the enlistment.</param>
            <param name="enlistment_guid">ID of the enlistment to open.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The opened enlistment and NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.EnlistmentAccessRights,NtApiDotNet.NtResourceManager,System.Guid)">
            <summary>
            Open a existing new enlistment object.
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="resource_manager">Resource manager handling the enlistment.</param>
            <param name="enlistment_guid">ID of the enlistment to open.</param>
            <returns>The opened enlistment.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.GetDefaultMaskForCreateOption(NtApiDotNet.EnlistmentCreateOptions)">
            <summary>
            Get a default mask for creating an enlistment object.
            </summary>
            <param name="create_options">The creation option to get default mask for.</param>
            <returns>A default working mask.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.CommitComplete(System.Nullable{System.Int64},System.Boolean)">
            <summary>
            Commit complete enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.CommitEnlistment(System.Nullable{System.Int64},System.Boolean)">
            <summary>
            Commit enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.PrePrepareComplete(System.Nullable{System.Int64},System.Boolean)">
            <summary>
            Preprepare complete enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.PrePrepareEnlistment(System.Nullable{System.Int64},System.Boolean)">
            <summary>
            Preprepare enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.PrepareComplete(System.Nullable{System.Int64},System.Boolean)">
            <summary>
            Prepare complete enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.PrepareEnlistment(System.Nullable{System.Int64},System.Boolean)">
            <summary>
            Prepare enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.RollbackComplete(System.Nullable{System.Int64},System.Boolean)">
            <summary>
            Rollback complete enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.RollbackEnlistment(System.Nullable{System.Int64},System.Boolean)">
            <summary>
            Rollback enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.ReadOnlyEnlistment(System.Nullable{System.Int64},System.Boolean)">
            <summary>
            Read only enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.RecoverEnlistment(System.Nullable{System.Int64},System.Boolean)">
            <summary>
            Recover enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.SinglePhaseReject(System.Nullable{System.Int64},System.Boolean)">
            <summary>
            Single phase reject enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.CommitComplete(System.Nullable{System.Int64})">
            <summary>
            Commit complete enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.CommitEnlistment(System.Nullable{System.Int64})">
            <summary>
            Commit enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.PrePrepareComplete(System.Nullable{System.Int64})">
            <summary>
            Preprepare complete enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.PrePrepareEnlistment(System.Nullable{System.Int64})">
            <summary>
            Preprepare enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.PrepareComplete(System.Nullable{System.Int64})">
            <summary>
            Prepare complete enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.PrepareEnlistment(System.Nullable{System.Int64})">
            <summary>
            Prepare enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.RollbackComplete(System.Nullable{System.Int64})">
            <summary>
            Rollback complete enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.RollbackEnlistment(System.Nullable{System.Int64})">
            <summary>
            Rollback enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.ReadOnlyEnlistment(System.Nullable{System.Int64})">
            <summary>
            Read only enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.RecoverEnlistment(System.Nullable{System.Int64})">
            <summary>
            Recover enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.SinglePhaseReject(System.Nullable{System.Int64})">
            <summary>
            Single phase reject enlistment.
            </summary>
            <param name="virtual_clock">Optional virtual clock value.</param>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.QueryInformation(NtApiDotNet.EnlistmentInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Int32@)">
            <summary>
            Method to query information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to return data in.</param>
            <param name="return_length">Return length from the query.</param>
            <returns>The NT status code for the query.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.SetInformation(NtApiDotNet.EnlistmentInformationClass,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Method to set information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to set data from.</param>
            <returns>The NT status code for the set.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEnlistment.QueryObject(NtApiDotNet.EnlistmentInformationClass,System.Boolean)">
            <summary>
            Query the information class as an object.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The information class as an object.</returns>
        </member>
        <member name="P:NtApiDotNet.NtEnlistment.EnlistmentId">
            <summary>
            Get enlistment ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtEnlistment.TransactionId">
            <summary>
            Get associated transaction ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtEnlistment.ResourceManagerId">
            <summary>
            Get resource manager ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtEnlistment.CrmEnlistmentId">
            <summary>
            Get CRM enlistment ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtEnlistment.CrmTransactionManagerId">
            <summary>
            Get CRM transaction manager ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtEnlistment.CrmResourceManagerId">
            <summary>
            Get CRM resource manager ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtEnlistment.RecoveryInformation">
            <summary>
            Get or set recovery information.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtEtwRegistration">
            <summary>
            Class to represent an NT trace GUID.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtEvent">
            <summary>
            Class representing a NT Event object
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtEvent.Create(System.String,NtApiDotNet.NtObject,NtApiDotNet.EventType,System.Boolean,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 event</param>
            <param name="initial_state">The initial state of the event</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The event object</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 event</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(NtApiDotNet.ObjectAttributes,NtApiDotNet.EventType,System.Boolean,NtApiDotNet.EventAccessRights,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</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 event</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>The event object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEvent.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.EventAccessRights,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</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="M:NtApiDotNet.NtEvent.Set(System.Boolean)">
            <summary>
            Set the event state
            </summary>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The previous state of the event and NT status.</returns>
        </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(System.Boolean)">
            <summary>
            Clear the event state
            </summary>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEvent.Clear">
            <summary>
            Clear the event state
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtEvent.Pulse(System.Boolean)">
            <summary>
            Pulse the event state.
            </summary>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The previous state of the event and NT status.</returns>
        </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.QueryInformation(NtApiDotNet.EventInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Int32@)">
            <summary>
            Method to query information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to return data in.</param>
            <param name="return_length">Return length from the query.</param>
            <returns>The NT status code for the query.</returns>
        </member>
        <member name="M:NtApiDotNet.NtEvent.QueryObject(NtApiDotNet.EventInformationClass,System.Boolean)">
            <summary>
            Query the information class as an object.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The information class as an object.</returns>
        </member>
        <member name="P:NtApiDotNet.NtEvent.EventType">
            <summary>
            Get event type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtEvent.EventState">
            <summary>
            Get current event state.
            </summary>
        </member>
        <member name="T:NtApiDotNet.EventType">
            <summary>
            Type of Event object.
            </summary>
        </member>
        <member name="F:NtApiDotNet.EventType.NotificationEvent">
            <summary>
            Manual reset event.
            </summary>
        </member>
        <member name="F:NtApiDotNet.EventType.SynchronizationEvent">
            <summary>
            Automatic reset event.
            </summary>
        </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="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,System.Nullable{System.Int64},System.Boolean)">
            <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>
            <param name="allocation_size">Optional allocation size.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.FileAccessRights,NtApiDotNet.FileAttributes,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions,NtApiDotNet.FileDisposition,NtApiDotNet.EaBuffer,System.Nullable{System.Int64})">
            <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>
            <param name="allocation_size">Optional allocation size.</param>
            <returns>The created/opened file object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.FileAccessRights,NtApiDotNet.FileAttributes,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions,NtApiDotNet.FileDisposition,NtApiDotNet.EaBuffer,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </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,System.Boolean)">
            <summary>
            Create a new file
            </summary>
            <param name="path">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>
            <param name="throw_on_error">True to throw an exception on error.</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="path">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="path">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.CreateNamedPipe(NtApiDotNet.ObjectAttributes,NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions,NtApiDotNet.FileDisposition,NtApiDotNet.NamedPipeType,NtApiDotNet.NamedPipeReadMode,NtApiDotNet.NamedPipeCompletionMode,System.Int32,System.Int32,System.Int32,NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <summary>
            Create a new named pipe file
            </summary>
            <param name="obj_attributes">The object attributes</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="completion_mode">Pipe completion mode</param>
            <param name="default_timeout">Default timeout</param>
            <param name="input_quota">Input quota</param>
            <param name="maximum_instances">Maximum number of instances (-1 for infinite)</param>
            <param name="output_quota">Output quota</param>
            <param name="pipe_type">Type of pipe to create</param>
            <param name="read_mode">Pipe read mode</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.CreateNamedPipe(NtApiDotNet.ObjectAttributes,NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions,NtApiDotNet.FileDisposition,NtApiDotNet.NamedPipeType,NtApiDotNet.NamedPipeReadMode,NtApiDotNet.NamedPipeCompletionMode,System.Int32,System.Int32,System.Int32,NtApiDotNet.NtWaitTimeout)">
            <summary>
            Create a new named pipe file
            </summary>
            <param name="obj_attributes">The object attributes</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="completion_mode">Pipe completion mode</param>
            <param name="default_timeout">Default timeout</param>
            <param name="input_quota">Input quota</param>
            <param name="maximum_instances">Maximum number of instances (-1 for infinite)</param>
            <param name="output_quota">Output quota</param>
            <param name="pipe_type">Type of pipe to create</param>
            <param name="read_mode">Pipe read mode</param>
            <returns>The file instance for the pipe.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.CreateNamedPipe(System.String,NtApiDotNet.NtObject,NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions,NtApiDotNet.FileDisposition,NtApiDotNet.NamedPipeType,NtApiDotNet.NamedPipeReadMode,NtApiDotNet.NamedPipeCompletionMode,System.Int32,System.Int32,System.Int32,NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <summary>
            Create a new named pipe file
            </summary>
            <param name="path">The path to the pipe 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="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="completion_mode">Pipe completion mode</param>
            <param name="default_timeout">Default timeout</param>
            <param name="input_quota">Input quota</param>
            <param name="maximum_instances">Maximum number of instances (-1 for infinite)</param>
            <param name="output_quota">Output quota</param>
            <param name="pipe_type">Type of pipe to create</param>
            <param name="read_mode">Pipe read mode</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The file instance for the pipe.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.CreateNamedPipe(System.String,NtApiDotNet.NtObject,NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions,NtApiDotNet.FileDisposition,NtApiDotNet.NamedPipeType,NtApiDotNet.NamedPipeReadMode,NtApiDotNet.NamedPipeCompletionMode,System.Int32,System.Int32,System.Int32,NtApiDotNet.NtWaitTimeout)">
            <summary>
            Create a new named pipe file
            </summary>
            <param name="path">The path to the pipe 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="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="completion_mode">Pipe completion mode</param>
            <param name="default_timeout">Default timeout</param>
            <param name="input_quota">Input quota</param>
            <param name="maximum_instances">Maximum number of instances (-1 for infinite)</param>
            <param name="output_quota">Output quota</param>
            <param name="pipe_type">Type of pipe to create</param>
            <param name="read_mode">Pipe read mode</param>
            <returns>The file instance for the pipe.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.CreatePipePair(System.Boolean)">
            <summary>
            Create an anonymous named pipe pair.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The named pipe pair.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.CreatePipePair">
            <summary>
            Create an anonymous named pipe pair.
            </summary>
            <returns>The named pipe pair.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.CreateMailslot(NtApiDotNet.ObjectAttributes,NtApiDotNet.FileAccessRights,NtApiDotNet.FileOpenOptions,System.Int32,System.Int32,NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <summary>
            Create a new named mailslot file
            </summary>
            <param name="obj_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the file</param>
            <param name="open_options">Open options for file</param>
            <param name="mailslot_quota">Mailslot quota</param>
            <param name="maximum_message_size">Maximum message size (0 for any size)</param>
            <param name="default_timeout">Read Timeout.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The file instance for the mailslot.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.CreateMailslot(NtApiDotNet.ObjectAttributes,NtApiDotNet.FileAccessRights,NtApiDotNet.FileOpenOptions,System.Int32,System.Int32,System.Int64,System.Boolean)">
            <summary>
            Create a new named mailslot file
            </summary>
            <param name="obj_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the file</param>
            <param name="open_options">Open options for file</param>
            <param name="mailslot_quota">Mailslot quota</param>
            <param name="maximum_message_size">Maximum message size (0 for any size)</param>
            <param name="default_timeout">Read timeout in MS (&lt;0 is infinite)</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The file instance for the mailslot.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.CreateMailslot(NtApiDotNet.ObjectAttributes,NtApiDotNet.FileAccessRights,NtApiDotNet.FileOpenOptions,System.Int32,System.Int32,System.Int64)">
            <summary>
            Create a new named mailslot file
            </summary>
            <param name="obj_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the file</param>
            <param name="open_options">Open options for file</param>
            <param name="mailslot_quota">Mailslot quota</param>
            <param name="maximum_message_size">Maximum message size (0 for any size)</param>
            <param name="default_timeout">Read timeout in MS ( &lt;0 is infinite)</param>
            <returns>The file instance for the mailslot.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.CreateMailslot(System.String,NtApiDotNet.NtObject,NtApiDotNet.FileAccessRights,NtApiDotNet.FileOpenOptions,System.Int32,System.Int32,System.Int64)">
            <summary>
            Create a new named mailslot file
            </summary>
            <param name="path">The path to the mailslot 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="open_options">Open options for file</param>
            <param name="mailslot_quota">Mailslot quota</param>
            <param name="maximum_message_size">Maximum message size (0 for any size)</param>
            <param name="default_timeout">Timeout in MS ( &lt;0 is infinite)</param>
            <returns>The file instance for the mailslot.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions,System.Boolean)">
            <summary>
            Open a file
            </summary>
            <param name="obj_attributes">The object attributes</param>
            <param name="desired_access">The desired access for the file handle</param>
            <param name="share_access">The file share access</param>
            <param name="open_options">File open options</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </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>f
            <param name="desired_access">The desired access for the file handle</param>
            <param name="share_access">The file share access</param>
            <param name="open_options">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,System.Boolean)">
            <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="desired_access">The desired access for the file handle</param>
            <param name="shared_access">The file share access</param>
            <param name="open_options">File open options</param>
            <param name="throw_on_error">True to throw an exception on error.</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="desired_access">The desired access for the file handle</param>
            <param name="shared_access">The file share access</param>
            <param name="open_options">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)">
            <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="desired_access">The desired access for the file handle</param>
            <returns>The opened file</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,System.Boolean)">
            <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="desired_access">The desired access for the file</param>
            <param name="share_access">File share access</param>
            <param name="open_options">Open options.</param>
            <param name="throw_on_error">True to throw on error</param>
            <returns>The opened file object</returns>
        </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="desired_access">The desired access for the file</param>
            <param name="share_access">File share access</param>
            <param name="open_options">Open options.</param>
            <returns>The opened file object</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.OpenFileById(NtApiDotNet.NtFile,System.Byte[],NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions,System.Boolean)">
            <summary>
            Open a file by its ID
            </summary>
            <param name="volume">A handle to the volume on which the file resides.</param>
            <param name="id">The file's ID. Can be a file reference number or an Object ID.</param>
            <param name="desired_access">The desired access for the file</param>
            <param name="share_access">File share access</param>
            <param name="open_options">Open options.</param>
            <param name="throw_on_error">True to throw on error</param>
            <returns>The opened file object</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.OpenFileById(NtApiDotNet.NtFile,System.Byte[],NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions)">
            <summary>
            Open a file by its ID
            </summary>
            <param name="volume">A handle to the volume on which the file resides.</param>
            <param name="id">The file's ID. Can be a file reference number or an Object ID.</param>
            <param name="desired_access">The desired access for the file</param>
            <param name="share_access">File share access</param>
            <param name="open_options">Open options.</param>
            <returns>The opened file object</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.OpenFileById(NtApiDotNet.NtFile,System.Int64,NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions,System.Boolean)">
            <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="fileid">The file ID.</param>
            <param name="desired_access">The desired access for the file</param>
            <param name="share_access">File share access</param>
            <param name="open_options">Open options.</param>
            <param name="throw_on_error">True to throw on error</param>
            <returns>The opened file object</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.OpenFileById(NtApiDotNet.NtFile,System.Int64,NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions)">
            <summary>
            Open a file by its file ID
            </summary>
            <param name="volume">A handle to the volume on which the file resides.</param>
            <param name="fileid">The file ID.</param>
            <param name="desired_access">The desired access for the file</param>
            <param name="share_access">File share access</param>
            <param name="open_options">Open options.</param>
            <returns>The opened file object</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.OpenFileById(System.String,System.Int64,NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions,System.Boolean)">
            <summary>
            Open a file by its file ID
            </summary>
            <param name="volume_path">The path to the volume which contains the file.</param>
            <param name="fileid">The file ID.</param>
            <param name="desired_access">The desired access for the file</param>
            <param name="share_access">File share access</param>
            <param name="open_options">Open options.</param>
            <param name="throw_on_error">True to throw on error</param>
            <returns>The opened file object</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.OpenFileById(System.String,System.Int64,NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions)">
            <summary>
            Open a file by its file ID
            </summary>
            <param name="volume_path">The path to the volume which contains the file.</param>
            <param name="fileid">The file ID.</param>
            <param name="desired_access">The desired access for the file</param>
            <param name="share_access">File share access</param>
            <param name="open_options">Open options.</param>
            <returns>The opened file object</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.Delete(NtApiDotNet.ObjectAttributes,System.Boolean)">
            <summary>
            Delete a file
            </summary>
            <param name="obj_attributes">The object attributes for the file.</param>
            <param name="throw_on_error">True to throw an exception on error</param>
            <returns>The status result of the delete</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.Delete(NtApiDotNet.ObjectAttributes)">
            <summary>
            Delete a file
            </summary>
            <param name="obj_attributes">The object attributes for the file.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.Delete(System.String)">
            <summary>
            Delete a file
            </summary>
            <param name="path">The path to the file.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.Rename(System.String,System.String)">
            <summary>
            Rename file.
            </summary>
            <param name="path">The file to rename.</param>
            <param name="new_name">The target 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.CreateMountPoint(System.String,System.String,System.String)">
            <summary>
            Create a mount point.
            </summary>
            <param name="path">The path to the mount point to create.</param>
            <param name="substitute_name">The substitute name to reparse to.</param>
            <param name="print_name">The print name to display (can be null).</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.CreateSymlink(System.String,System.Boolean,System.String,System.String,NtApiDotNet.SymlinkReparseBufferFlags)">
            <summary>
            Create a symlink.
            </summary>
            <param name="path">The path to the mount point to create.</param>
            <param name="directory">True to create a directory symlink, false for a file.</param>
            <param name="substitute_name">The substitute name to reparse to.</param>
            <param name="print_name">The print name to display.</param>
            <param name="flags">Additional flags for the symlink.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetReparsePoint(System.String)">
            <summary>
            Get the reparse point buffer for the file.
            </summary>
            <param name="path">The path to the reparse point.</param>
            <returns>The reparse point buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeleteReparsePoint(System.String)">
            <summary>
            Delete the reparse point buffer.
            </summary>
            <param name="path">The path to the reparse point.</param>
            <returns>The original reparse buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryAttributes(NtApiDotNet.ObjectAttributes,System.Boolean)">
            <summary>
            Query attributes of a file.
            </summary>
            <param name="object_attributes">The object attributes.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The file attributes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryAttributes(NtApiDotNet.ObjectAttributes)">
            <summary>
            Query attributes of a file.
            </summary>
            <param name="object_attributes">The object attributes.</param>
            <returns>The file attributes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryAttributes(System.String,NtApiDotNet.NtObject,System.Boolean)">
            <summary>
            Query attributes of a file.
            </summary>
            <param name="path">The path to the file.</param>
            <param name="root">The root directory to parse from.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The file attributes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryAttributes(System.String,NtApiDotNet.NtObject)">
            <summary>
            Query attributes of a file.
            </summary>
            <param name="path">The path to the file.</param>
            <param name="root">The root directory to parse from.</param>
            <returns>The file attributes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryAttributes(System.String)">
            <summary>
            Query attributes of a file.
            </summary>
            <param name="path">The path to the file.</param>
            <returns>The file attributes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeviceIoControlAsync(NtApiDotNet.NtIoControlCode,System.Runtime.InteropServices.SafeBuffer,System.Runtime.InteropServices.SafeBuffer,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Send a 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>
            <param name="token">Cancellation token to cancel the async operation.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <returns>The length of output bytes returned.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeviceIoControlAsync(NtApiDotNet.NtIoControlCode,System.Byte[],System.Int32,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Send a 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="max_output">Maximum output buffer size</param>
            <param name="token">Cancellation token to cancel the async operation.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The output buffer returned by the kernel.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeviceIoControlAsync(NtApiDotNet.NtIoControlCode,System.Runtime.InteropServices.SafeBuffer,System.Runtime.InteropServices.SafeBuffer,System.Threading.CancellationToken)">
            <summary>
            Send a 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>
            <param name="token">Cancellation token to cancel the async operation.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <returns>The length of output bytes returned.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeviceIoControlAsync(NtApiDotNet.NtIoControlCode,System.Byte[],System.Int32,System.Threading.CancellationToken)">
            <summary>
            Send a 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="max_output">Maximum output buffer size</param>
            <param name="token">Cancellation token to cancel the async operation.</param>
            <returns>The output buffer returned by the kernel.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.FsControlAsync(NtApiDotNet.NtIoControlCode,System.Runtime.InteropServices.SafeBuffer,System.Runtime.InteropServices.SafeBuffer,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Send a File System 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>
            <param name="token">Cancellation token to cancel the async operation.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <returns>The length of output bytes returned.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.FsControlAsync(NtApiDotNet.NtIoControlCode,System.Byte[],System.Int32,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Send a File System 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="max_output">Maximum output buffer size</param>
            <param name="token">Cancellation token to cancel the async operation.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The output buffer returned by the kernel.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.FsControlAsync(NtApiDotNet.NtIoControlCode,System.Runtime.InteropServices.SafeBuffer,System.Runtime.InteropServices.SafeBuffer,System.Threading.CancellationToken)">
            <summary>
            Send a File System 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>
            <param name="token">Cancellation token to cancel the async operation.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <returns>The length of output bytes returned.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.FsControlAsync(NtApiDotNet.NtIoControlCode,System.Byte[],System.Int32,System.Threading.CancellationToken)">
            <summary>
            Send a File System 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="max_output">Maximum output buffer size</param>
            <param name="token">Cancellation token to cancel the async operation.</param>
            <returns>The output buffer returned by the kernel.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeviceIoControlAsync(NtApiDotNet.NtIoControlCode,System.Runtime.InteropServices.SafeBuffer,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Send a 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>
            <returns>The length of output bytes returned.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeviceIoControlAsync(NtApiDotNet.NtIoControlCode,System.Byte[],System.Int32)">
            <summary>
            Send a 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="max_output">Maximum output buffer size</param>
            <returns>The output buffer returned by the kernel.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.FsControlAsync(NtApiDotNet.NtIoControlCode,System.Runtime.InteropServices.SafeBuffer,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Send a File System 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>
            <returns>The length of output bytes returned.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.FsControlAsync(NtApiDotNet.NtIoControlCode,System.Byte[],System.Int32)">
            <summary>
            Send a File System 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="max_output">Maximum output buffer size</param>
            <returns>The output buffer returned by the kernel.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeviceIoControlAsync(NtApiDotNet.NtIoControlCode,System.Runtime.InteropServices.SafeBuffer,System.Runtime.InteropServices.SafeBuffer,System.Boolean)">
            <summary>
            Send a 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>
            <param name="throw_on_error">True to throw on error.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <returns>The length of output bytes returned.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeviceIoControlAsync(NtApiDotNet.NtIoControlCode,System.Byte[],System.Int32,System.Boolean)">
            <summary>
            Send a 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="max_output">Maximum output buffer size</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The output buffer returned by the kernel.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.FsControlAsync(NtApiDotNet.NtIoControlCode,System.Runtime.InteropServices.SafeBuffer,System.Runtime.InteropServices.SafeBuffer,System.Boolean)">
            <summary>
            Send a File System 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>
            <param name="throw_on_error">True to throw on error.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <returns>The length of output bytes returned.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.FsControlAsync(NtApiDotNet.NtIoControlCode,System.Byte[],System.Int32,System.Boolean)">
            <summary>
            Send a File System 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="max_output">Maximum output buffer size</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The output buffer returned by the kernel.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeviceIoControl(NtApiDotNet.NtIoControlCode,System.Runtime.InteropServices.SafeBuffer,System.Runtime.InteropServices.SafeBuffer,System.Boolean)">
            <summary>
            Send a 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>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <returns>The length of output bytes returned.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeviceIoControl(NtApiDotNet.NtIoControlCode,System.Runtime.InteropServices.SafeBuffer,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Send a 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>
            <returns>The length of output bytes returned.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeviceIoControl(NtApiDotNet.NtIoControlCode,System.Byte[],System.Int32,System.Boolean)">
            <summary>
            Send a 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="max_output">Maximum output buffer size</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The output buffer returned by the kernel.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeviceIoControl(NtApiDotNet.NtIoControlCode,System.Byte[],System.Int32)">
            <summary>
            Send a 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="max_output">Maximum output buffer size</param>
            <returns>The output buffer returned by the kernel.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.FsControl(NtApiDotNet.NtIoControlCode,System.Runtime.InteropServices.SafeBuffer,System.Runtime.InteropServices.SafeBuffer,System.Boolean)">
            <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 can be null</param>
            <param name="output_buffer">Output buffer can be null</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The length of output bytes returned.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.FsControl(NtApiDotNet.NtIoControlCode,System.Byte[],System.Int32,System.Boolean)">
            <summary>
            Send a File System 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="max_output">Maximum output buffer size</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The output buffer returned by the kernel.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.FsControl(NtApiDotNet.NtIoControlCode,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 can be null</param>
            <param name="output_buffer">Output buffer can be null</param>
            <returns>The length of output bytes returned.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.FsControl(NtApiDotNet.NtIoControlCode,System.Byte[],System.Int32)">
            <summary>
            Send a File System 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="max_output">Maximum output buffer size</param>
            <returns>The output buffer returned by the kernel.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.ReOpen(NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions,NtApiDotNet.AttributeFlags,System.Boolean)">
            <summary>
            Re-open an existing file for different access.
            </summary>
            <param name="desired_access">The desired access for the file handle</param>
            <param name="share_access">The file share access</param>
            <param name="open_options">File open options</param>
            <param name="attributes">Flags for the object attributes.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.ReOpen(NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions,System.Boolean)">
            <summary>
            Re-open an existing file for different access.
            </summary>
            <param name="desired_access">The desired access for the file handle</param>
            <param name="share_access">The file share access</param>
            <param name="open_options">File open options</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.ReOpen(NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions)">
            <summary>
            Re-open an exsiting file for different access.
            </summary>
            <param name="desired_access">The desired access for the file handle</param>
            <param name="share_access">The file share access</param>
            <param name="open_options">File open options</param>
            <returns>The opened file</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetDisposition(System.Boolean,System.Boolean)">
            <summary>
            Specify file disposition.
            </summary>
            <param name="delete_file">True to set delete on close, false to clear delete on close.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <remarks>You can't prevent deletion if file opened with DeleteOnClose flag.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetDisposition(System.Boolean)">
            <summary>
            Specify file disposition.
            </summary>
            <param name="delete_file">True to set delete on close, false to clear delete on close.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <remarks>You can't prevent deletion if file opened with DeleteOnClose flag.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtFile.Delete(System.Boolean)">
            <summary>
            Delete the file. Must have been opened with DELETE access.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</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.SetDispositionEx(NtApiDotNet.FileDispositionInformationExFlags,System.Boolean)">
            <summary>
            Set disposition on the file (extended Windows version).
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <param name="flags">Flags for SetDispositionEx call.</param>
            <returns>The NT status code.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetDispositionEx(NtApiDotNet.FileDispositionInformationExFlags)">
            <summary>
            Set disposition on the file (extended Windows version).
            </summary>
            <param name="flags">Flags for SetDispositionEx call.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeleteEx(NtApiDotNet.FileDispositionInformationExFlags,System.Boolean)">
            <summary>
            Delete the file (extended Windows version). Must have been opened with DELETE access.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <param name="flags">Flags for DeleteEx call.</param>
            <returns>The NT status code.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeleteEx(NtApiDotNet.FileDispositionInformationExFlags)">
            <summary>
            Delete the file (extended Windows version). Must have been opened with DELETE access.
            </summary>
            <param name="flags">Flags for DeleteEx call.</param>
            <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,NtApiDotNet.NtObject,System.Boolean,System.Boolean)">
            <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>
            <param name="replace_if_exists">If TRUE, replaces the target file if it exists. If FALSE, fails if the target file already exists.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.CreateHardlink(System.String,NtApiDotNet.NtObject,System.Boolean)">
            <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>
            <param name="replace_if_exists">If TRUE, replaces the target file if it exists. If FALSE, fails if the target file already exists.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.CreateHardlinkEx(System.String,NtApiDotNet.NtObject,NtApiDotNet.FileRenameInformationExFlags,System.Boolean)">
            <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>
            <param name="flags">The flags associated to FileLinkInformationEx.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.CreateHardlinkEx(System.String,NtApiDotNet.NtObject,NtApiDotNet.FileRenameInformationExFlags)">
            <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>
            <param name="flags">The flags associated to FileLinkInformationEx.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.Rename(System.String,NtApiDotNet.NtObject,System.Boolean,System.Boolean)">
            <summary>
            Rename file.
            </summary>
            <param name="new_name">The target NT path.</param>
            <param name="root">The root directory if new_name is relative</param>
            <param name="replace_if_exists">If TRUE, replaces the target file if it exists. If FALSE, fails if the target file already exists.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.Rename(System.String,NtApiDotNet.NtObject,System.Boolean)">
            <summary>
            Rename file.
            </summary>
            <param name="new_name">The target NT path.</param>
            <param name="root">The root directory if new_name is relative</param>
            <param name="replace_if_exists">If TRUE, replaces the target file if it exists. If FALSE, fails if the target file already exists.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.Rename(System.String,NtApiDotNet.NtFile)">
            <summary>
            Rename file.
            </summary>
            <param name="new_name">The target NT path.</param>
            <param name="root">The root directory if new_name is relative</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.Rename(System.String,System.Boolean)">
            <summary>
            Rename this file with an absolute path.
            </summary>
            <param name="new_name">The target absolute NT path.</param>
            <param name="replace_if_exists">If TRUE, replace the target file if it exists. If FALSE, fails if the target file already exists.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.Rename(System.String)">
            <summary>
            Rename this file with an absolute path.
            </summary>
            <param name="new_name">The target absolute NT path.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.RenameEx(System.String,NtApiDotNet.NtObject,NtApiDotNet.FileRenameInformationExFlags,System.Boolean)">
            <summary>
            Rename (extended Windows version) this file with an absolute path.
            </summary>
            <param name="new_name">The target absolute NT path.</param>
            <param name="root">The root directory if new_name is relative</param>
            <param name="flags">The flags associated to FileRenameInformationEx.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.RenameEx(System.String,NtApiDotNet.NtObject,NtApiDotNet.FileRenameInformationExFlags)">
            <summary>
            Rename (extended Windows version) this file with an absolute path.
            </summary>
            <param name="new_name">The target absolute NT path.</param>
            <param name="root">The root directory if new_name is relative</param>
            <param name="flags">The flags associated to FileRenameInformationEx.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.RenameEx(System.String,NtApiDotNet.FileRenameInformationExFlags)">
            <summary>
            Rename (extended Windows version) this file with an absolute path.
            </summary>
            <param name="new_name">The target absolute NT path.</param>
            <param name="flags">The flags associated to FileRenameInformationEx.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetReparsePoint(NtApiDotNet.ReparseBuffer)">
            <summary>
            Set an arbitrary reparse point.
            </summary>
            <param name="reparse">The reparse point data.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetReparsePoint(NtApiDotNet.ReparseBuffer,System.Boolean)">
            <summary>
            Set an arbitrary reparse point.
            </summary>
            <param name="reparse">The reparse point data.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetReparsePoint(System.Byte[])">
            <summary>
            Set an arbitrary reparse point as a raw byte array.
            </summary>
            <param name="reparse">The reparse point data as a byte array.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetReparsePoint(System.Byte[],System.Boolean)">
            <summary>
            Set an arbitrary reparse point as a raw byte array.
            </summary>
            <param name="reparse">The reparse point data as a byte array.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetReparsePointEx(NtApiDotNet.ReparseBuffer,NtApiDotNet.ReparseBufferExFlags,NtApiDotNet.ReparseTag,System.Guid,System.Boolean)">
            <summary>
            Set an arbitrary reparse point.
            </summary>
            <param name="reparse">The reparse point data.</param>
            <param name="flags">Flags for the reparse buffer.</param>
            <param name="existing_tag">Existing tag to check against. If no check required use 0.</param>
            <param name="existing_guid">Existing Guid to check against. If no check requested use empty GUID.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetReparsePointEx(NtApiDotNet.ReparseBuffer,NtApiDotNet.ReparseBufferExFlags,NtApiDotNet.ReparseTag,System.Guid)">
            <summary>
            Set an arbitrary reparse point.
            </summary>
            <param name="reparse">The reparse point data.</param>
            <param name="flags">Flags for the reparse buffer.</param>
            <param name="existing_tag">Existing tag to check against. If no check required use 0.</param>
            <param name="existing_guid">Existing Guid to check against. If no check requested use empty GUID.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetReparsePointEx(NtApiDotNet.ReparseBuffer,NtApiDotNet.ReparseTag)">
            <summary>
            Set an arbitrary reparse point.
            </summary>
            <param name="reparse">The reparse point data.</param>
            <param name="existing_tag">Existing tag to check against. If no check required use 0.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetReparsePointEx(NtApiDotNet.ReparseBuffer)">
            <summary>
            Set an arbitrary reparse point.
            </summary>
            <param name="reparse">The reparse point data.</param>>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetMountPoint(System.String,System.String)">
            <summary>
            Set a mount point on the current file object.
            </summary>
            <param name="substitute_name">The substitute name to reparse to.</param>
            <param name="print_name">The print name to display (can be null).</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetSymlink(System.String,System.String,NtApiDotNet.SymlinkReparseBufferFlags)">
            <summary>
            Set a symlink on the current file object.
            </summary>
            <param name="substitute_name">The substitute name to reparse to.</param>
            <param name="print_name">The print name to display.</param>
            <param name="flags">Additional flags for the symlink.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetMountPoint(System.String,System.String,System.Boolean)">
            <summary>
            Set a mount point on the current file object.
            </summary>
            <param name="substitute_name">The substitute name to reparse to.</param>
            <param name="print_name">The print name to display (can be null).</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetSymlink(System.String,System.String,NtApiDotNet.SymlinkReparseBufferFlags,System.Boolean)">
            <summary>
            Set a symlink on the current file object.
            </summary>
            <param name="substitute_name">The substitute name to reparse to.</param>
            <param name="print_name">The print name to display.</param>
            <param name="flags">Additional flags for the symlink.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetReparsePoint(System.Boolean)">
            <summary>
            Get the reparse point buffer for the file.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The reparse point buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetReparsePoint">
            <summary>
            Get the reparse point buffer for the file.
            </summary>
            <returns>The reparse point buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetReparsePointRaw(System.Boolean)">
            <summary>
            Get the reparse point buffer for the file as a raw buffer.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The reparse point buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetReparsePointRaw">
            <summary>
            Get the reparse point buffer for the file as a raw buffer.
            </summary>
            <returns>The reparse point buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeleteReparsePoint(NtApiDotNet.ReparseTag,System.Boolean)">
            <summary>
            Delete the reparse point buffer
            </summary>
            <param name="tag">The reparse tag.</param>
            <returns>The NT status code.</returns>
            <param name="throw_on_error">True to throw on error.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeleteReparsePoint(NtApiDotNet.ReparseTag)">
            <summary>
            Delete the reparse point buffer
            </summary>
            <param name="tag">The reparse tag.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeleteReparsePoint(System.Boolean)">
            <summary>
            Delete the reparse point buffer
            </summary>
            <returns>The original reparse buffer.</returns>
            <param name="throw_on_error">True to throw on error.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeleteReparsePoint">
            <summary>
            Delete the reparse point buffer
            </summary>
            <returns>The original reparse buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryAccessibleFiles(NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions,System.String,NtApiDotNet.FileTypeMask)">
            <summary>
            Get list of accessible files underneath a directory.
            </summary>
            <param name="share_access">Share access for file open</param>
            <param name="open_options">Options for open call.</param>
            <param name="desired_access">The desired access for each file.</param>
            <param name="file_mask">A file name mask (such as *.txt). Can be null.</param>
            <param name="type_mask">Indicate what entries to return.</param>
            <returns>The list of files which can be access.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryAccessibleFiles(NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions)">
            <summary>
            Get list of accessible files underneath a directory.
            </summary>
            <param name="share_access">Share access for file open</param>
            <param name="open_options">Options for open call.</param>
            <param name="desired_access">The desired access for each file.</param>
            <returns>The list of files which can be access.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryDirectoryInfo">
            <summary>
            Query a directory for files.
            </summary>
            <returns>The list of directory entries.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryDirectoryInfo(System.String,NtApiDotNet.FileTypeMask,NtApiDotNet.DirectoryEntryIncludeFlags)">
            <summary>
            Query a directory for files.
            </summary>
            <param name="file_mask">A file name mask (such as *.txt). Can be null.</param>
            <param name="type_mask">Indicate what entries to return.</param>
            <param name="include_flags">Specify what additional data to include in the directory entries.</param>
            <returns>The list of directory entries. You might need to cast the directories to the appropriate types if using include flags.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryDirectoryInfo(System.String,NtApiDotNet.FileTypeMask)">
            <summary>
            Query a directory for files.
            </summary>
            <param name="file_mask">A file name mask (such as *.txt). Can be null.</param>
            <param name="type_mask">Indicate what entries to return.</param>
            <returns>The list of directory entries.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryFileIdDirectoryInfo(System.String,NtApiDotNet.FileTypeMask,System.Boolean)">
            <summary>
            Query a directory for files with file ID.
            </summary>
            <param name="file_mask">A file name mask (such as *.txt). Can be null.</param>
            <param name="type_mask">Indicate what entries to return.</param>
            <param name="with_placeholders">Return placeholder parent and current directory entries.</param>
            <returns>The list of directory entries.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.Read(System.Runtime.InteropServices.SafeBuffer,System.Nullable{System.Int64},System.Boolean)">
            <summary>
            Read data from a file with a length and position.
            </summary>
            <param name="buffer">The buffer to read to.</param>
            <param name="position">The position in the file to read. The position is optional.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The length of bytes read into the buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.Read(System.Runtime.InteropServices.SafeBuffer,System.Nullable{System.Int64})">
            <summary>
            Read data from a file with a length and position.
            </summary>
            <param name="buffer">The buffer to read to.</param>
            <param name="position">The position in the file to read. The position is optional.</param>
            <returns>The length of bytes read into the buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.Read(System.Int32,System.Nullable{System.Int64},System.Boolean)">
            <summary>
            Read data from a file with a length and position.
            </summary>
            <param name="length">The length of the read</param>
            <param name="position">The position in the file to read. The position is optional.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The read bytes, this can be smaller than length.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.Read(System.Int32,System.Int64)">
            <summary>
            Read data from a file with a length and position.
            </summary>
            <param name="length">The length of the read</param>
            <param name="position">The position in the file to read</param>
            <returns>The read bytes, this can be smaller than length.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.Read(System.Int32)">
            <summary>
            Read data from a file with a length.
            </summary>
            <param name="length">The length of the read</param>
            <returns>The read bytes, this can be smaller than length.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.ReadScatter(System.Collections.Generic.IEnumerable{System.Int64},System.Int32,System.Int64,System.Boolean)">
            <summary>
            Read data from a file with a length over a scatter set of pages.
            </summary>
            <param name="pages">List of pages to read into. These pages must be Page Size aligned.</param>
            <param name="length">The length of the read</param>
            <param name="position">The position in the file to read.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The length of bytes read.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.ReadScatter(System.Collections.Generic.IEnumerable{System.Int64},System.Int32,System.Int64)">
            <summary>
            Read data from a file with a length over a scatter set of pages.
            </summary>
            <param name="pages">List of pages to read into. These pages must be Page Size aligned.</param>
            <param name="length">The length of the read</param>
            <param name="position">The position in the file to read.</param>
            <returns>The length of bytes read.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.ReadAsync(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Read data from a file with a length and position asynchronously.
            </summary>
            <param name="buffer">The buffer to read to.</param>
            <param name="position">The position in the file to read. The position is optional.</param>
            <param name="token">Cancellation token to cancel async operation.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The length of bytes read into the buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.ReadAsync(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Threading.CancellationToken)">
            <summary>
            Read data from a file with a length and position asynchronously.
            </summary>
            <param name="buffer">The buffer to read to.</param>
            <param name="position">The position in the file to read. The position is optional.</param>
            <param name="token">Cancellation token to cancel async operation.</param>
            <returns>The length of bytes read into the buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.ReadAsync(System.Int32,System.Int64,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Read data from a file with a length and position asynchronously.
            </summary>
            <param name="length">The length of the read</param>
            <param name="position">The position in the file to read. The position is optional.</param>
            <param name="token">Cancellation token to cancel async operation.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The length of bytes read into the buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.ReadAsync(System.Int32,System.Int64,System.Threading.CancellationToken)">
            <summary>
            Read data from a file with a length and position asynchronously..
            </summary>
            <param name="length">The length of the read</param>
            <param name="position">The position in the file to read</param>
            <param name="token">Cancellation token to cancel async operation.</param>
            <returns>The read bytes, this can be smaller than length.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.ReadAsync(System.Int32,System.Int64)">
            <summary>
            Read data from a file with a length and position asynchronously..
            </summary>
            <param name="length">The length of the read</param>
            <param name="position">The position in the file to read</param>
            <returns>The read bytes, this can be smaller than length.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.ReadScatterAsync(System.Collections.Generic.IEnumerable{System.Int64},System.Int32,System.Int64,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Read data from a file with a length and position asynchronously.
            </summary>
            <param name="pages">List of pages to read into. These pages must be Page Size aligned.</param>
            <param name="length">The length of the read</param>
            <param name="position">The position in the file to read.</param>
            <param name="token">Cancellation token to cancel async operation.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The length of bytes read into the buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.ReadScatterAsync(System.Collections.Generic.IEnumerable{System.Int64},System.Int32,System.Int64,System.Boolean)">
            <summary>
            Read data from a file with a length and position asynchronously.
            </summary>
            <param name="pages">List of pages to read into. These pages must be Page Size aligned.</param>
            <param name="length">The length of the read</param>
            <param name="position">The position in the file to read.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The length of bytes read into the buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.ReadScatterAsync(System.Collections.Generic.IEnumerable{System.Int64},System.Int32,System.Int64,System.Threading.CancellationToken)">
            <summary>
            Read data from a file with a length and position asynchronously.
            </summary>
            <param name="pages">List of pages to read into. These pages must be Page Size aligned.</param>
            <param name="length">The length of the read</param>
            <param name="position">The position in the file to read.</param>
            <param name="token">Cancellation token to cancel async operation.</param>
            <returns>The length of bytes read into the buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.ReadScatterAsync(System.Collections.Generic.IEnumerable{System.Int64},System.Int32,System.Int64)">
            <summary>
            Read data from a file with a length and position asynchronously.
            </summary>
            <param name="pages">List of pages to read into. These pages must be Page Size aligned.</param>
            <param name="length">The length of the read</param>
            <param name="position">The position in the file to read.</param>
            <returns>The length of bytes read into the buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.WriteAsync(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Write data to a file at a specific position asynchronously.
            </summary>
            <param name="data">The data to write as a buffer.</param>
            <param name="position">The position to write to.</param>
            <param name="token">Cancellation token to cancel async operation.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The number of bytes written</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.WriteAsync(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Threading.CancellationToken)">
            <summary>
            Write data to a file at a specific position asynchronously.
            </summary>
            <param name="data">The data to write as a buffer.</param>
            <param name="position">The position to write to.</param>
            <param name="token">Cancellation token to cancel async operation.</param>
            <returns>The number of bytes written</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.WriteAsync(System.Byte[],System.Int64,System.Threading.CancellationToken)">
            <summary>
            Write data to a file at a specific position asynchronously.
            </summary>
            <param name="data">The data to write.</param>
            <param name="position">The position to write to.</param>
            <param name="token">Cancellation token to cancel async operation.</param>
            <returns>The number of bytes written</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.WriteAsync(System.Byte[],System.Int64)">
            <summary>
            Write data to a file at a specific position asynchronously.
            </summary>
            <param name="data">The data to write</param>
            <param name="position">The position to write to</param>
            <returns>The number of bytes written</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.WriteAsync(System.Byte[],System.Int64,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Write data to a file at a specific position asynchronously.
            </summary>
            <param name="data">The data to write.</param>
            <param name="position">The position to write to.</param>
            <param name="token">Cancellation token to cancel async operation.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The number of bytes written</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.Write(System.Runtime.InteropServices.SafeBuffer,System.Nullable{System.Int64},System.Boolean)">
            <summary>
            Write data to a file at a specific position.
            </summary>
            <param name="data">The data to write</param>
            <param name="position">The position to write to. Optional</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The number of bytes written.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.Write(System.Runtime.InteropServices.SafeBuffer,System.Nullable{System.Int64})">
            <summary>
            Write data to a file at a specific position.
            </summary>
            <param name="data">The data to write</param>
            <param name="position">The position to write to. Optional</param>
            <returns>The number of bytes written.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.Write(System.Byte[],System.Nullable{System.Int64},System.Boolean)">
            <summary>
            Write data to a file at a specific position.
            </summary>
            <param name="data">The data to write</param>
            <param name="position">The position to write to. Optional</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The number of bytes written.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.Write(System.Byte[],System.Int64)">
            <summary>
            Write data to a file at a specific position.
            </summary>
            <param name="data">The data to write</param>
            <param name="position">The position to write to</param>
            <returns>The number of bytes written</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.Write(System.Byte[])">
            <summary>
            Write data to a file
            </summary>
            <param name="data">The data to write</param>
            <returns>The number of bytes written</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.WriteGather(System.Collections.Generic.IEnumerable{System.Int64},System.Int32,System.Int64,System.Boolean)">
            <summary>
            Write data to a file at a specific position gathered from a list of pages.
            </summary>
            <param name="pages">List of pages to write. These pages must be page size aligned.</param>
            <param name="length">The length of the write.</param>
            <param name="position">The position to write to.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The number of bytes written.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.WriteGather(System.Collections.Generic.IEnumerable{System.Int64},System.Int32,System.Int64)">
            <summary>
            Write data to a file at a specific position gathered from a list of pages.
            </summary>
            <param name="pages">List of pages to write. These pages must be page size aligned.</param>
            <param name="length">The length of the write.</param>
            <param name="position">The position to write to.</param>
            <returns>The number of bytes written.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.WriteGatherAsync(System.Collections.Generic.IEnumerable{System.Int64},System.Int32,System.Int64,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Write data to a file at a specific position asynchronously from a list of pages.
            </summary>
            <param name="pages">List of pages to write. These pages must be page size aligned.</param>
            <param name="length">The length of the write.</param>
            <param name="position">The position to write to.</param>
            <param name="token">Cancellation token to cancel async operation.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The number of bytes written</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.WriteGatherAsync(System.Collections.Generic.IEnumerable{System.Int64},System.Int32,System.Int64,System.Boolean)">
            <summary>
            Write data to a file at a specific position asynchronously from a list of pages.
            </summary>
            <param name="pages">List of pages to write. These pages must be page size aligned.</param>
            <param name="length">The length of the write.</param>
            <param name="position">The position to write to.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The number of bytes written</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.WriteGatherAsync(System.Collections.Generic.IEnumerable{System.Int64},System.Int32,System.Int64,System.Threading.CancellationToken)">
            <summary>
            Write data to a file at a specific position asynchronously from a list of pages.
            </summary>
            <param name="pages">List of pages to write. These pages must be page size aligned.</param>
            <param name="length">The length of the write.</param>
            <param name="position">The position to write to.</param>
            <param name="token">Cancellation token to cancel async operation.</param>
            <returns>The number of bytes written</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.WriteGatherAsync(System.Collections.Generic.IEnumerable{System.Int64},System.Int32,System.Int64)">
            <summary>
            Write data to a file at a specific position asynchronously from a list of pages.
            </summary>
            <param name="pages">List of pages to write. These pages must be page size aligned.</param>
            <param name="length">The length of the write.</param>
            <param name="position">The position to write to.</param>
            <returns>The number of bytes written</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.Lock(System.Int64,System.Int64,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Lock part of a file.
            </summary>
            <param name="offset">The offset into the file to lock</param>
            <param name="size">The number of bytes to lock</param>
            <param name="fail_immediately">True to fail immediately if the lock can't be taken</param>
            <param name="exclusive">True to do an exclusive lock</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.Lock(System.Int64,System.Int64,System.Boolean,System.Boolean)">
            <summary>
            Lock part of a file.
            </summary>
            <param name="offset">The offset into the file to lock</param>
            <param name="size">The number of bytes to lock</param>
            <param name="fail_immediately">True to fail immediately if the lock can't be taken</param>
            <param name="exclusive">True to do an exclusive lock</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.Lock(System.Int64,System.Int64)">
            <summary>
            Shared lock part of a file.
            </summary>
            <param name="offset">The offset into the file to lock</param>
            <param name="size">The number of bytes to lock</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.LockAsync(System.Int64,System.Int64,System.Boolean,System.Boolean,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Lock part of a file asynchronously.
            </summary>
            <param name="offset">The offset into the file to lock</param>
            <param name="size">The number of bytes to lock</param>
            <param name="fail_immediately">True to fail immediately if the lock can't be taken</param>
            <param name="exclusive">True to do an exclusive lock</param>
            <param name="token">Cancellation token to cancel async operation.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.LockAsync(System.Int64,System.Int64,System.Boolean,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Lock part of a file asynchronously.
            </summary>
            <param name="offset">The offset into the file to lock</param>
            <param name="size">The number of bytes to lock</param>
            <param name="fail_immediately">True to fail immediately if the lock can't be taken</param>
            <param name="exclusive">True to do an exclusive lock</param>
            <param name="token">Cancellation token to cancel async operation.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.LockAsync(System.Int64,System.Int64,System.Boolean,System.Boolean)">
            <summary>
            Lock part of a file asynchronously.
            </summary>
            <param name="offset">The offset into the file to lock</param>
            <param name="size">The number of bytes to lock</param>
            <param name="fail_immediately">True to fail immediately if the lock can't be taken</param>
            <param name="exclusive">True to do an exclusive lock</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.LockAsync(System.Int64,System.Int64)">
            <summary>
            Shared lock part of a file asynchronously.
            </summary>
            <param name="offset">The offset into the file to lock</param>
            <param name="size">The number of bytes to lock</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.Unlock(System.Int64,System.Int64)">
            <summary>
            Unlock part of a file previously locked with Lock
            </summary>
            <param name="offset">The offset into the file to unlock</param>
            <param name="size">The number of bytes to unlock</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.Unlock(System.Int64,System.Int64,System.Boolean)">
            <summary>
            Unlock part of a file previously locked with Lock
            </summary>
            <param name="offset">The offset into the file to unlock</param>
            <param name="size">The number of bytes to unlock</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </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="M:NtApiDotNet.NtFile.GetWin32PathName(NtApiDotNet.Win32.Win32PathNameFlags)">
            <summary>
            Get the Win32 path name for the file.
            </summary>
            <param name="flags">The flags to determine what path information to get.</param>
            <returns>The path.</returns>
            <exception cref="T:NtApiDotNet.NtException">Throw on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetWin32PathName(NtApiDotNet.Win32.Win32PathNameFlags,System.Boolean)">
            <summary>
            Get the Win32 path name for the file.
            </summary>
            <param name="flags">The flags to determine what path information to get.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The path.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.RequestOplock(NtApiDotNet.OplockRequestLevel,System.Boolean)">
            <summary>
            Oplock the file with a specific level.
            </summary>
            <param name="level">The level of oplock to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The oplock response level.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.RequestOplock(NtApiDotNet.OplockRequestLevel)">
            <summary>
            Oplock the file with a specific level.
            </summary>
            <param name="level">The level of oplock to set.</param>
            <returns>The oplock response level.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.RequestOplockAsync(NtApiDotNet.OplockRequestLevel,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Oplock the file with a specific level.
            </summary>
            <param name="level">The level of oplock to set.</param>
            <param name="token">Cancellation token to cancel async operation.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The oplock response level.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.RequestOplockAsync(NtApiDotNet.OplockRequestLevel,System.Boolean)">
            <summary>
            Oplock the file with a specific level.
            </summary>
            <param name="level">The level of oplock to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The oplock response level.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.RequestOplockAsync(NtApiDotNet.OplockRequestLevel,System.Threading.CancellationToken)">
            <summary>
            Oplock the file with a specific level.
            </summary>
            <param name="level">The level of oplock to set.</param>
            <param name="token">Cancellation token to cancel async operation.</param>
            <returns>The oplock response level.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.RequestOplockAsync(NtApiDotNet.OplockRequestLevel)">
            <summary>
            Oplock the file with a specific level.
            </summary>
            <param name="level">The level of oplock to set.</param>
            <returns>The oplock response level.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.AcknowledgeOplock(NtApiDotNet.OplockAcknowledgeLevel,System.Boolean)">
            <summary>
            Acknowledge an oplock break.
            </summary>
            <param name="level">The acknowledgment level.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <remarks>Oplock break acknowledgement returns STATUS_PENDING.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtFile.AcknowledgeOplock(NtApiDotNet.OplockAcknowledgeLevel)">
            <summary>
            Acknowledge an oplock break.
            </summary>
            <param name="level">The acknowledgment level.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.RequestOplockLease(NtApiDotNet.OplockLevelCache,NtApiDotNet.RequestOplockInputFlag,System.Boolean)">
            <summary>
            Oplock the file with a specific level.
            </summary>
            <param name="requested_oplock_level">The oplock cache level.</param>
            <param name="flags">Specify additional flags for the request.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The result of the oplock request.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.RequestOplockLease(NtApiDotNet.OplockLevelCache,System.Boolean)">
            <summary>
            Oplock the file with a specific level.
            </summary>
            <param name="requested_oplock_level">The oplock cache level.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The result of the oplock request.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.RequestOplockLeaseAsync(NtApiDotNet.OplockLevelCache,NtApiDotNet.RequestOplockInputFlag,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Oplock the file with a specific level and flags.
            </summary>
            <param name="requested_oplock_level">The oplock level.</param>
            <param name="token">Cancellation token to cancel async operation.</param>
            <param name="flags">Specify additional flags for the request.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The request of the oplock request.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.RequestOplockLeaseAsync(NtApiDotNet.OplockLevelCache,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Oplock the file with a specific level and flags.
            </summary>
            <param name="requested_oplock_level">The oplock level.</param>
            <param name="token">Cancellation token to cancel async operation.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The request of the oplock request.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.RequestOplockLease(NtApiDotNet.OplockLevelCache,NtApiDotNet.RequestOplockInputFlag)">
            <summary>
            Oplock the file with a specific lease level and flags.
            </summary>
            <param name="requested_oplock_level">The oplock lease level.</param>
            <param name="flags">Specify additional flags for the request.</param>
            <returns>The result of the oplock request.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.RequestOplockLease(NtApiDotNet.OplockLevelCache)">
            <summary>
            Oplock the file with a specific lease level and flags.
            </summary>
            <param name="requested_oplock_level">The oplock lease level.</param>
            <returns>The result of the oplock request.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.RequestOplockLeaseAsync(NtApiDotNet.OplockLevelCache,NtApiDotNet.RequestOplockInputFlag,System.Threading.CancellationToken)">
            <summary>
            Oplock the file with a specific level and flags.
            </summary>
            <param name="requested_oplock_level">The oplock level.</param>
            <param name="flags">Specify additional flags for the request.</param>
            <param name="token">Cancellation token to cancel async operation.</param>
            <returns>The request of the oplock request.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.RequestOplockLeaseAsync(NtApiDotNet.OplockLevelCache,System.Threading.CancellationToken)">
            <summary>
            Oplock the file with a specific level and flags.
            </summary>
            <param name="requested_oplock_level">The oplock level.</param>
            <param name="token">Cancellation token to cancel async operation.</param>
            <returns>The request of the oplock request.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.RequestOplockLeaseAsync(NtApiDotNet.OplockLevelCache,System.Boolean)">
            <summary>
            Oplock the file with a specific level and flags.
            </summary>
            <param name="requested_oplock_level">The oplock level.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The request of the oplock request.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.RequestOplockLeaseAsync(NtApiDotNet.OplockLevelCache)">
            <summary>
            Oplock the file with a specific level and flags.
            </summary>
            <param name="requested_oplock_level">The oplock level.</param>
            <returns>The response of the oplock request.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.RequestOplockLeaseAsync(NtApiDotNet.OplockLevelCache,NtApiDotNet.RequestOplockInputFlag)">
            <summary>
            Oplock the file with a specific level and flags.
            </summary>
            <param name="requested_oplock_level">The oplock level.</param>
            <param name="flags">Specify additional flags for the request.</param>
            <returns>The response of the oplock request.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.AcknowledgeOplockLease(System.Boolean,System.Boolean)">
            <summary>
            Acknowledge a lease oplock started with RequestOplockLease.
            </summary>
            <param name="complete_on_close">True to complete acknowledgement on close.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <remarks>This breaks to None. If you want to request the new oplock level then request a new oplock.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtFile.AcknowledgeOplockLease(System.Boolean)">
            <summary>
            Acknowledge a lease oplock started with RequestOplockLease.
            </summary>
            <param name="complete_on_close">True to complete acknowledgement on close.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.AcknowledgeOplockLease">
            <summary>
            Acknowledge a lease oplock started with RequestOplockLease.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtFile.OplockExclusive(System.Boolean)">
            <summary>
            Oplock the file exclusively (no other users can access the file).
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The oplock response level.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.OplockExclusive">
            <summary>
            Oplock the file exclusively (no other users can access the file).
            </summary>
            <returns>The oplock response level.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.OplockExclusiveAsync(System.Threading.CancellationToken)">
            <summary>
            Oplock the file exclusively (no other users can access the file).
            </summary>
            <param name="token">Cancellation token to cancel async operation.</param>
            <returns>The oplock response level.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.OplockExclusiveAsync">
            <summary>
            Oplock the file exclusively (no other users can access the file).
            </summary>
            <returns>The oplock response level.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.NotifyOplockBreak(System.Boolean)">
            <summary>
            Wait for an oplock break to complete.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.NotifyOplockBreak">
            <summary>
            Wait for an oplock break to complete.
            </summary>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.NotifyOplockBreakAsync(System.Boolean)">
            <summary>
            Wait for an oplock break to complete.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.NotifyOplockBreakAsync">
            <summary>
            Wait for an oplock break to complete.
            </summary>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.Dispose(System.Boolean)">
            <summary>
            Dispose.
            </summary>
            <param name="disposing">True is disposing.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.CancelIo">
            <summary>
            Try and cancel any pending asynchronous IO.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetEa(System.Boolean)">
            <summary>
            Get the extended attributes of a file.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The extended attributes, empty if no extended attributes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetEa">
            <summary>
            Get the extended attributes of a file.
            </summary>
            <returns>The extended attributes, empty if no extended attributes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetEa(NtApiDotNet.EaBuffer,System.Boolean)">
            <summary>
            Set the extended attributes for a file.
            </summary>
            <param name="ea">The EA buffer to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <remarks>This will add entries if they no longer exist, 
            remove entries if the data is empty or update existing entires.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetEa(NtApiDotNet.EaBuffer)">
            <summary>
            Set the extended attributes for a file.
            </summary>
            <param name="ea">The EA buffer to set.</param>
            <remarks>This will add entries if they no longer exist, 
            remove entries if the data is empty or update existing entires.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetEa(System.String,System.Byte[],NtApiDotNet.EaBufferEntryFlags)">
            <summary>
            Set the extended attributes for a file.
            </summary>
            <param name="name">The name of the entry</param>
            <param name="data">The associated data</param>
            <param name="flags">The entry flags.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.AddEntry(System.String,System.Int32,NtApiDotNet.EaBufferEntryFlags)">
            <summary>
            Set the extended attributes for a file.
            </summary>
            <param name="name">The name of the entry</param>
            <param name="data">The associated data</param>
            <param name="flags">The entry flags.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetEa(System.String,System.String,NtApiDotNet.EaBufferEntryFlags)">
            <summary>
            Set the extended attributes for a file.
            </summary>
            <param name="name">The name of the entry</param>
            <param name="data">The associated data</param>
            <param name="flags">The entry flags.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.RemoveEa(System.String)">
            <summary>
            Remove an extended attributes entry for a file.
            </summary>
            <param name="name">The name of the entry</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetCompletionPort(NtApiDotNet.NtIoCompletion,System.IntPtr)">
            <summary>
            Assign completion port to file.
            </summary>
            <param name="completion_port">The completion port.</param>
            <param name="key">A key to associate with this completion.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.IsAccessGranted(NtApiDotNet.FileDirectoryAccessRights)">
            <summary>
            Check if a specific set of file directory access rights is granted
            </summary>
            <param name="access">The file directory access rights to check</param>
            <returns>True if all access rights are granted</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetCachedSigningLevel(System.Boolean)">
            <summary>
            Get the cached signing level for a file.
            </summary>
            <returns>The cached signing level.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetCachedSigningLevel">
            <summary>
            Get the cached signing level for a file.
            </summary>
            <returns>The cached signing level.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetCachedSigningLevelFromEa">
            <summary>
            Get the cached singing level from the raw EA buffer.
            </summary>
            <returns>The cached signing level data.</returns>
            <exception cref="T:NtApiDotNet.NtException">Throw on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetCachedSigningLevel(System.Int32,NtApiDotNet.SigningLevel)">
            <summary>
            Set the cached signing level for a file.
            </summary>
            <param name="flags">Flags to set for the cache.</param>
            <param name="signing_level">The signing level to cache</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetCachedSigningLevel(System.Int32,NtApiDotNet.SigningLevel,System.String)">
            <summary>
            Set the cached signing level for a file.
            </summary>
            <param name="flags">Flags to set for the cache.</param>
            <param name="signing_level">The signing level to cache</param>
            <param name="catalog_path">Optional directory path to look for catalog files.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetCachedSigningLevel(System.Int32,NtApiDotNet.SigningLevel,System.Collections.Generic.IEnumerable{NtApiDotNet.NtFile},System.String)">
            <summary>
            Set the cached signing level for a file.
            </summary>
            <param name="flags">Flags to set for the cache.</param>
            <param name="signing_level">The signing level to cache</param>
            <param name="files">Files for signature.</param>
            <param name="catalog_path">Optional directory path to look for catalog files.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetCachedSigningLevel(System.Int32,NtApiDotNet.SigningLevel,System.Collections.Generic.IEnumerable{NtApiDotNet.NtFile},System.String,System.Boolean)">
            <summary>
            Set the cached signing level for a file.
            </summary>
            <param name="flags">Flags to set for the cache.</param>
            <param name="signing_level">The signing level to cache</param>
            <param name="files">Files for signature.</param>
            <param name="catalog_path">Optional directory path to look for catalog files.</param>
            <param name="throw_on_error">True to throw on error.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetEndOfFile(System.Int64)">
            <summary>
            Set the end of file.
            </summary>
            <param name="offset">The offset to the end of file.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetValidDataLength(System.Int64)">
            <summary>
            Set the valid data length of the file without zeroing. Needs SeManageVolumePrivilege.
            </summary>
            <param name="length">The length to set.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetHardLinks">
            <summary>
            Get list of hard link entries for a file.
            </summary>
            <returns>The list of entries.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetStreams">
            <summary>
            Get a list of stream entries for the current file.
            </summary>
            <returns>The list of streams.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.VisitAccessibleStreams(System.Func{NtApiDotNet.NtFile,System.Boolean},NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions)">
            <summary>
            Visit all accessible streams under this file.
            </summary>
            <param name="visitor">A function to be called on every accessible stream. Return true to continue enumeration.</param>
            <param name="desired_access">Specify the desired access for the streams.</param>
            <param name="share_access">The share access to open the streams with.</param>
            <param name="open_options">Additional options to open the s with.</param>
            <returns>True if all accessible streams were visited, false if not.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetUsingProcessIds">
            <summary>
            Get list of process ids using this file.
            </summary>
            <returns>The list of process ids.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.VisitAccessibleFiles(System.Func{NtApiDotNet.NtFile,System.Boolean},NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions,System.Boolean,System.Int32,System.String,NtApiDotNet.FileTypeMask)">
            <summary>
            Visit all accessible files under this directory.
            </summary>
            <param name="visitor">A function to be called on every accessible file. Return true to continue enumeration.</param>
            <param name="desired_access">Specify the desired access for the files.</param>
            <param name="recurse">True to recurse into sub keys.</param>
            <param name="share_access">The share access to open the files with.</param>
            <param name="max_depth">Specify max recursive depth. -1 to not set a limit.</param>
            <param name="open_options">Additional options to open the files with.</param>
            <param name="file_mask">A file name mask (such as *.txt). Can be null.</param>
            <param name="type_mask">Indicate what entries to return.</param>
            <returns>True if all accessible files were visited, false if not.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.VisitAccessibleFiles(System.Func{NtApiDotNet.NtFile,System.Boolean},NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.FileOpenOptions,System.Boolean,System.Int32)">
            <summary>
            Visit all accessible files under this directory.
            </summary>
            <param name="visitor">A function to be called on every accessible file. Return true to continue enumeration.</param>
            <param name="desired_access">Specify the desired access for the files.</param>
            <param name="recurse">True to recurse into sub keys.</param>
            <param name="share_access">The share access to open the files with.</param>
            <param name="max_depth">Specify max recursive depth. -1 to not set a limit.</param>
            <param name="open_options">Additional options to open the files with.</param>
            <returns>True if all accessible files were visited, false if not.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.VisitAccessibleFiles(System.Func{NtApiDotNet.NtFile,System.Boolean})">
            <summary>
            Visit all accessible files under this directory.
            </summary>
            <param name="visitor">A function to be called on every accessible file. Return true to continue enumeration.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.VisitAccessibleFiles(System.Func{NtApiDotNet.NtFile,System.Boolean},NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode)">
            <summary>
            Visit all accessible files under this directory.
            </summary>
            <param name="visitor">A function to be called on every accessible file. Return true to continue enumeration.</param>
            <param name="desired_access">Specify the desired access for the files.</param>
            <param name="share_access">The share access to open the files with.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryDynamicCodeTrust">
            <summary>
            Query whether a file is trusted for dynamic code.
            </summary>
            <returns>Returns true if the file is trusted.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetDynamicCodeTrust">
            <summary>
            Set a file is trusted for dynamic code.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetDynamicCodeTrust(System.Boolean)">
            <summary>
            Set a file is trusted for dynamic code.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.FindFilesBySid(NtApiDotNet.Sid)">
            <summary>
            Find files in a directory by the owner SID.
            </summary>
            <param name="sid">The owner SID.</param>
            <returns>A list of files in the directory.</returns>
            <remarks>For this method to work you need Quota enabled on the volume.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotificationFull(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean,NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <summary>
            Get full change notifications. Will pick ex version if available and revert to old format if not.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <param name="timeout">Wait timeout.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotificationFull(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean,NtApiDotNet.NtWaitTimeout)">
            <summary>
            Get full change notifications. Will pick ex version if available and revert to old format if not.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <param name="timeout">Wait timeout.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotificationFullAsync(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Get full change notifications asynchronously. Will pick ex version if available and revert to old format if not.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <param name="token">Cancellation token.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotificationFullAsync(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Get full change notifications asynchronously. Will pick ex version if available and revert to old format if not.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <param name="token">Cancellation token.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotificationFullAsync(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean)">
            <summary>
            Get full change notifications asynchronously. Will pick ex version if available and revert to old format if not.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotification(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean,NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <summary>
            Get change notifications.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <param name="timeout">Wait timeout.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotification(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean,System.Boolean)">
            <summary>
            Get change notifications.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotification(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean,NtApiDotNet.NtWaitTimeout)">
            <summary>
            Get change notifications.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <param name="timeout">Wait timeout.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotification(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean)">
            <summary>
            Get change notifications.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotificationAsync(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Get change notifications.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <param name="token">Cancellation token.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotificationAsync(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean,System.Boolean)">
            <summary>
            Get change notifications.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotificationAsync(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Get change notifications.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <param name="token">Cancellation token.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotificationAsync(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean)">
            <summary>
            Get change notifications.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotificationEx(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean,NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <summary>
            Get extended change notifications.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <param name="timeout">Timeout to wait.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotificationEx(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean,System.Boolean)">
            <summary>
            Get extended change notifications.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotificationEx(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean,NtApiDotNet.NtWaitTimeout)">
            <summary>
            Get change notifications.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <param name="timeout">Timeout to wait.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotificationEx(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean)">
            <summary>
            Get change notifications.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotificationExAsync(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Get change notifications.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <param name="token">Cancellation token.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotificationExAsync(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean,System.Boolean)">
            <summary>
            Get change notifications.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotificationExAsync(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean,System.Threading.CancellationToken)">
            <summary>
            Get change notifications.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <param name="token">Cancellation token.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeNotificationExAsync(NtApiDotNet.DirectoryChangeNotifyFilter,System.Boolean)">
            <summary>
            Get change notifications.
            </summary>
            <param name="completion_filter">The filter of events to watch for.</param>
            <param name="watch_subtree">True to watch all sub directories.</param>
            <returns>The list of changes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetFileAttributes(System.Boolean)">
            <summary>
            Get the file attributes.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The file attributes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetFileAttributes(NtApiDotNet.FileAttributes,System.Boolean)">
            <summary>
            Set the file attributes.
            </summary>
            <param name="file_attributes">The file attributes to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetCreationTime(System.Boolean)">
            <summary>
            Get the creation time.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The creation time.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetLastWriteTime(System.Boolean)">
            <summary>
            Get the last write time.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The last write time.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetChangeTime(System.Boolean)">
            <summary>
            Get the change time time.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The change time.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetLastAccessTime(System.Boolean)">
            <summary>
            Get the last access time.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The last access time time.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetCreationTime(System.DateTime,System.Boolean)">
            <summary>
            Set the file's creation time.
            </summary>
            <param name="time">The time to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetLastAccessTime(System.DateTime,System.Boolean)">
            <summary>
            Set the file's last access time.
            </summary>
            <param name="time">The time to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetLastWriteTime(System.DateTime,System.Boolean)">
            <summary>
            Set the file's last write time.
            </summary>
            <param name="time">The time to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetChangeTime(System.DateTime,System.Boolean)">
            <summary>
            Set the file's change time.
            </summary>
            <param name="time">The time to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetFilePosition(System.Int64,System.Boolean)">
            <summary>
            Set the file position.
            </summary>
            <param name="position">The file position to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetFileInformation(System.Boolean)">
            <summary>
            Get file information.
            </summary>
            <param name="throw_on_error"></param>
            <returns></returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryReparsePoints">
            <summary>
            Query all reparse points from a volume.
            </summary>
            <returns>The list of reparse points.</returns>
            <remarks>You'll need to open the reparse database, which is typically \$Extend\$Reparse:$R:$INDEX_ALLOCATION on the volume.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryObjectIds">
            <summary>
            Query all object ids from a volume.
            </summary>
            <returns>The list of object ids.</returns>
            <remarks>You need to open the object ID database, which is typically \$Extend\$ObjId:$O:$INDEX_ALLOCATION on the volume.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetObjectId(System.Boolean)">
            <summary>
            Get the Object ID buffer for a file.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The object ID buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetObjectId">
            <summary>
            Get the Object ID create for a file.
            </summary>
            <returns>The object ID buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.CreateOrGetObjectId(System.Boolean)">
            <summary>
            Get the Object ID buffer for a file.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The object ID buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.CreateOrGetObjectId">
            <summary>
            Get or create the Object ID for a file.
            </summary>
            <returns>The object ID buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetObjectId(NtApiDotNet.FileObjectIdBuffer,System.Boolean,System.Boolean)">
            <summary>
            Set Object ID and extended information.
            </summary>
            <param name="object_id">The Object ID buffer.</param>
            <param name="extended_only">Only set the extended information.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetObjectId(NtApiDotNet.FileObjectIdBuffer,System.Boolean)">
            <summary>
            Set Object ID and extended information.
            </summary>
            <param name="object_id">The Object ID buffer.</param>
            <param name="extended_only">Only set the extended information.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetObjectId(System.Guid,System.Byte[])">
            <summary>
            Set Object ID and extended information.
            </summary>
            <param name="object_id">The Object ID GUID.</param>
            <param name="extended_info">Extended info buffer, needs to be 48 bytes in size.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetObjectId(System.Byte[])">
            <summary>
            Set only Object ID extended information.
            </summary>>
            <param name="extended_info">Extended info buffer, needs to be 48 bytes in size.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeleteObjectId(System.Boolean)">
            <summary>
            Delete the Object ID for a file.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.DeleteObjectId">
            <summary>
            Delete the Object ID for a file.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetSparse(System.Boolean,System.Boolean)">
            <summary>
            Make the file sparse.
            </summary>
            <param name="sparse">True to make the file sparse.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.DriverInPath(System.String,System.Boolean)">
            <summary>
            Query if the driver is in the device stack for the device.
            </summary>
            <param name="driver_path">The driver path. Can be a plain name of full object manager path, e.g. \Device\Blah.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>True indicating driver in path.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.DriverInPath(System.String)">
            <summary>
            Query if the driver is in the device stack for the device.
            </summary>
            <param name="driver_path">The driver path.</param>
            <returns>True indicating driver in path.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetVolumeInformation(System.Boolean)">
            <summary>
            Get filesystem and volume information.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryVolumeFixed``1(NtApiDotNet.FsInformationClass)">
            <summary>
            Query a fixed buffer for a volume.
            </summary>
            <typeparam name="T">The type to query.</typeparam>
            <param name="info_class">The volume information class.</param>
            <returns>The returned type.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryVolumeFixed``1(NtApiDotNet.FsInformationClass,System.Boolean)">
            <summary>
            Query a fixed buffer for a volume.
            </summary>
            <typeparam name="T">The type to query.</typeparam>
            <param name="info_class">The volume information class.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The returned type.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryVolume``1(NtApiDotNet.FsInformationClass,System.Boolean)">
            <summary>
            Query a buffer for a volume.
            </summary>
            <typeparam name="T">The type to query.</typeparam>
            <param name="info_class">The volume information class.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The returned type.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryVolumeBuffer(NtApiDotNet.FsInformationClass,System.Byte[],System.Boolean)">
            <summary>
            Query a buffer for a volume.
            </summary>
            <param name="info_class">The volume information class.</param>
            <param name="init_buffer">Initialization buffer.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The returned type.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryVolumeBuffer(NtApiDotNet.FsInformationClass,System.Byte[])">
            <summary>
            Query a buffer for a volume.
            </summary>
            <param name="info_class">The volume information class.</param>
            <param name="init_buffer">Initialization buffer.</param>
            <returns>The returned type.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryVolume``1(NtApiDotNet.FsInformationClass)">
            <summary>
            Query a buffer for a volume.
            </summary>
            <typeparam name="T">The type to query.</typeparam>
            <param name="info_class">The volume information class.</param>
            <returns>The returned type.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryVolume(NtApiDotNet.FsInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Boolean)">
            <summary>
            Query a buffer for a volume.
            </summary>
            <param name="info_class">The volume information class.</param>
            <param name="buffer">The buffer for the query. Can be initialized.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryVolume(NtApiDotNet.FsInformationClass,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Query a buffer for a volume.
            </summary>
            <param name="info_class">The volume information class.</param>
            <param name="buffer">The buffer for the query. Can be initialized.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetVolume(NtApiDotNet.FsInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Boolean)">
            <summary>
            Set a buffer on a volume.
            </summary>
            <param name="info_class">The volume information class.</param>
            <param name="buffer">The buffer for the set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetVolume(NtApiDotNet.FsInformationClass,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Set a buffer on a volume.
            </summary>
            <param name="info_class">The volume information class.</param>
            <param name="buffer">The buffer for the set.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetVolumeFixed``1(NtApiDotNet.FsInformationClass,``0,System.Boolean)">
            <summary>
            Set a fixed value on a volume.
            </summary>
            <param name="info_class">The volume information class.</param>
            <param name="value">The fixed value to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetVolumeFixed``1(NtApiDotNet.FsInformationClass,``0)">
            <summary>
            Set a fixed value on a volume.
            </summary>
            <param name="info_class">The volume information class.</param>
            <param name="value">The fixed value to set.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryQuota(System.Collections.Generic.IEnumerable{NtApiDotNet.Sid})">
            <summary>
            Query the quota entries for a volume.
            </summary>
            <param name="sid_list">Return quote entries for the specified SIDs.</param>
            <returns>The list of quota entries.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryQuota">
            <summary>
            Query all quota entries for a volume.
            </summary>
            <returns>The list of quota entries.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetQuota(System.Collections.Generic.IEnumerable{NtApiDotNet.FileQuotaEntry},System.Boolean)">
            <summary>
            Set quota entries.
            </summary>
            <param name="quota_entries">The quota entries to set.</param>
            <param name="throw_no_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetQuota(System.Collections.Generic.IEnumerable{NtApiDotNet.FileQuotaEntry})">
            <summary>
            Set quota entries.
            </summary>
            <param name="quota_entries">The quota entries to set.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetQuota(NtApiDotNet.FileQuotaEntry)">
            <summary>
            Set quota entry.
            </summary>
            <param name="quota_entry">The quota entry to set.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetQuota(NtApiDotNet.Sid,System.Int64,System.Int64)">
            <summary>
            Set quota entry.
            </summary>
            <param name="sid">The SID for the quota.</param>
            <param name="limit">The quota limit to set.</param>
            <param name="threshold">The quota threshold to set.</param>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetFileName(System.Boolean)">
            <summary>
            Get the file's full path.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The file name.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.GetNormalizedFileName(System.Boolean)">
            <summary>
            Get the file's normalized path.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The file name.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryInformation(NtApiDotNet.FileInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Int32@)">
            <summary>
            Method to query information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to return data in.</param>
            <param name="return_length">Return length from the query.</param>
            <returns>The NT status code for the query.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.SetInformation(NtApiDotNet.FileInformationClass,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Method to set information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to set data from.</param>
            <returns>The NT status code for the set.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFile.QueryObject(NtApiDotNet.FileInformationClass,System.Boolean)">
            <summary>
            Query the information class as an object.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The information class as an object.</returns>
        </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.FileIdValue">
            <summary>
            Get object ID for current file as a number.
            </summary>
            <returns>The object ID as a number.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="P:NtApiDotNet.NtFile.FileAttributes">
            <summary>
            Get or set the attributes of a file.
            </summary>
            <returns>The file attributes</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="P:NtApiDotNet.NtFile.FileCreationTime">
            <summary>
            Get or set the creation time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.LastAccessTime">
            <summary>
            Get or set the last access time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.LastWriteTime">
            <summary>
            Get or set the last write time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.ChangeTime">
            <summary>
            Get or set the change time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.FileInformation">
            <summary>
            Get file information, which is times, attributes and sizes.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.Sparse">
            <summary>
            Get or set the file as sparse.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.IsDirectory">
            <summary>
            Get whether this file represents a directory.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.IsReparsePoint">
            <summary>
            Get whether this file repsents a reparse point.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.OpenResult">
            <summary>
            The result of opening the file, whether it was created, overwritten etc.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.Position">
            <summary>
            Get or set the current file position.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.Length">
            <summary>
            Get or sets the file's length
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.AllocationSize">
            <summary>
            Get the file's allocation size.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.NumberOfLinks">
            <summary>
            Get the number of links.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.DeletePending">
            <summary>
            Get whether delete is pending.
            </summary>
        </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.Characteristics">
            <summary>
            Get the low-level device characteristics of the file.
            </summary>
            <returns>The file device characteristics.</returns>
        </member>
        <member name="P:NtApiDotNet.NtFile.VolumeInformation">
            <summary>
            Get filesystem and volume information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.CompressionFormat">
            <summary>
            Get or set the file's compression format.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.IsRemote">
            <summary>
            Gets whether the file is on a remote file system.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.CaseSensitive">
            <summary>
            Get or set whether this file/directory is case sensitive.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.CaseSensitiveFlags">
            <summary>
            Get or set whether this file/directory is case sensitive.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.Mode">
            <summary>
            Get the file mode.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.Access">
            <summary>
            Get file access information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.FileName">
            <summary>
            Get the filename with the volume path.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.NormalizedFileName">
            <summary>
            Get the normalized filename with the volume path.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.FileShortName">
            <summary>
            Get the associated short filename
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.ShortName">
            <summary>
            Get the associated short filename
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.NormalizedName">
            <summary>
            Get the normalized name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.StorageReserveId">
            <summary>
            Get or set the storage reserve ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.IsContainer">
            <summary>
            Returns whether this object is a container.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.ReadOnly">
            <summary>
            Get or set the read only status of the file.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.Compressed">
            <summary>
            Is the file compressed.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.RemoteProtocol">
            <summary>
            Get remote protocol information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.DirectoryGrantedAccess">
            <summary>
            Get the granted access as directory rights.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.ControlFlags">
            <summary>
            Get the file system control flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFile.PersistentVolumeFlags">
            <summary>
            Get persist volume flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.IoStatus.Information32">
            <summary>
            Return the status information field. (32 bit)
            </summary>
        </member>
        <member name="T:NtApiDotNet.FileInformation">
            <summary>
            Class representing file information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.FileInformation.CreationTime">
            <summary>
            Time of creation.
            </summary>
        </member>
        <member name="P:NtApiDotNet.FileInformation.LastAccessTime">
            <summary>
            Time of last access.
            </summary>
        </member>
        <member name="P:NtApiDotNet.FileInformation.LastWriteTime">
            <summary>
            Time of last write.
            </summary>
        </member>
        <member name="P:NtApiDotNet.FileInformation.ChangeTime">
            <summary>
            Time of change.
            </summary>
        </member>
        <member name="P:NtApiDotNet.FileInformation.EndOfFile">
            <summary>
            Length of the file.
            </summary>
        </member>
        <member name="P:NtApiDotNet.FileInformation.FileSize">
            <summary>
            Length of the file, alias of EndOfFile.
            </summary>
        </member>
        <member name="P:NtApiDotNet.FileInformation.AllocationSize">
            <summary>
            Allocation size.
            </summary>
        </member>
        <member name="P:NtApiDotNet.FileInformation.Attributes">
            <summary>
            File attributes.
            </summary>
        </member>
        <member name="M:NtApiDotNet.FileInformation.HasAttributes(NtApiDotNet.FileAttributes)">
            <summary>
            Has the file got a set of attributes set.
            </summary>
            <param name="attributes">The attributes to check.</param>
            <returns>True if it has the attributes.</returns>
        </member>
        <member name="P:NtApiDotNet.FileInformation.IsDirectory">
            <summary>
            Is the file a directory.
            </summary>
        </member>
        <member name="P:NtApiDotNet.FileInformation.IsReparsePoint">
            <summary>
            Is the file a reparse point.
            </summary>
        </member>
        <member name="T:NtApiDotNet.FileDirectoryEntry">
            <summary>
            Class to represent a directory entry.
            </summary>
        </member>
        <member name="P:NtApiDotNet.FileDirectoryEntry.FileIndex">
            <summary>
            Index of the file.
            </summary>
        </member>
        <member name="P:NtApiDotNet.FileDirectoryEntry.FileName">
            <summary>
            File name.
            </summary>
        </member>
        <member name="T:NtApiDotNet.FileIdDirectoryEntry">
            <summary>
            Class to represent a directory entry with file IDs.
            </summary>
        </member>
        <member name="P:NtApiDotNet.FileIdDirectoryEntry.EaSize">
            <summary>
            Length of any EA buffer.
            </summary>
        </member>
        <member name="P:NtApiDotNet.FileIdDirectoryEntry.FileId">
            <summary>
            The file reference number if known.
            </summary>
        </member>
        <member name="T:NtApiDotNet.FileBothDirectoryEntry">
            <summary>
            Class to represent a directory entry with short names.
            </summary>
        </member>
        <member name="P:NtApiDotNet.FileBothDirectoryEntry.EaSize">
            <summary>
            Length of any EA buffer.
            </summary>
        </member>
        <member name="P:NtApiDotNet.FileBothDirectoryEntry.ShortName">
            <summary>
            The short name of the file.
            </summary>
        </member>
        <member name="T:NtApiDotNet.FileIdBothDirectoryEntry">
            <summary>
            Class to represent a directory entry with short names and file ids.
            </summary>
        </member>
        <member name="P:NtApiDotNet.FileIdBothDirectoryEntry.EaSize">
            <summary>
            Length of any EA buffer.
            </summary>
        </member>
        <member name="P:NtApiDotNet.FileIdBothDirectoryEntry.ShortName">
            <summary>
            The short name of the file.
            </summary>
        </member>
        <member name="P:NtApiDotNet.FileIdBothDirectoryEntry.FileId">
            <summary>
            The file reference number if known.
            </summary>
        </member>
        <member name="T:NtApiDotNet.FileQuotaEntry">
            <summary>
            Class to represent a file quota entry.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtFileObjectId">
            <summary>
            Class to represet a file object ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFileObjectId.FullPath">
            <summary>
            Full path to the file with the reparse point.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFileObjectId.Win32Path">
            <summary>
            Win32 path to the file with the reparse point.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFileObjectId.FileReferenceNumber">
            <summary>
            Reference number for the file.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFileObjectId.FileAttributes">
            <summary>
            The file's attributes.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFileObjectId.ObjectId">
            <summary>
            The file's object ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFileObjectId.ExtendedInfo">
            <summary>
            The file's extended info.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFileObjectId.BirthVolumeId">
            <summary>
            File's birth volume ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFileObjectId.BirthObjectId">
            <summary>
            File's birth object ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFileObjectId.DomainId">
            <summary>
            File's domain ID.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtFileReparsePoint">
            <summary>
            Class to represent a file reparse point.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFileReparsePoint.FullPath">
            <summary>
            Full path to the file with the reparse point.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFileReparsePoint.Win32Path">
            <summary>
            Win32 path to the file with the reparse point.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFileReparsePoint.FileReferenceNumber">
            <summary>
            Reference number for the file.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFileReparsePoint.FileAttributes">
            <summary>
            The file's attributes.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFileReparsePoint.Buffer">
            <summary>
            The reparse point buffer.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtFileReparsePoint.Tag">
            <summary>
            The reparse point tag.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtFileUtils">
            <summary>
            Utility functions for files
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.DosFileNameToNt(System.String,System.Boolean)">
            <summary>
            Convert a DOS filename to an absolute NT filename
            </summary>
            <param name="filename">The filename, can be relative</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT filename</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.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.NtFileUtils.DosFileNameToNt(System.String[])">
            <summary>
            Convert a DOS filename to an absolute NT filename
            </summary>
            <param name="paths">List of paths to combine before converting.</param>
            <returns>The NT filename</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.DosFileNameToObjectAttributes(System.String,NtApiDotNet.AttributeFlags,NtApiDotNet.SecurityQualityOfService,NtApiDotNet.SecurityDescriptor,System.Boolean)">
            <summary>
            Convert a DOS filename to an NT filename and get as an ObjectAttributes structure
            </summary>
            <param name="filename">The DOS filename.</param>
            <param name="attributes">The object attribute flags.</param>
            <param name="sqos">An optional security quality of service.</param>
            <param name="security_descriptor">An optional security descriptor.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The object attributes</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.DosFileNameToObjectAttributes(System.String,NtApiDotNet.AttributeFlags,NtApiDotNet.SecurityQualityOfService,NtApiDotNet.SecurityDescriptor)">
            <summary>
            Convert a DOS filename to an NT filename and get as an ObjectAttributes structure
            </summary>
            <param name="filename">The DOS filename.</param>
            <param name="attributes">The object attribute flags.</param>
            <param name="sqos">An optional security quality of service.</param>
            <param name="security_descriptor">An optional security descriptor.</param>
            <returns>The object attributes</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.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.NtFileUtils.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.NtFileUtils.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="M:NtApiDotNet.NtFileUtils.MapToFileAccess(NtApiDotNet.FileDirectoryAccessRights)">
            <summary>
            Map directory access rights to file access rights.
            </summary>
            <param name="access_rights">The directory access rights to map.</param>
            <returns>The mapped access rights.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.FileIdToString(System.Int64)">
            <summary>
            Convert a file ID long to a string.
            </summary>
            <param name="fileid">The file ID to convert</param>
            <returns>The string format of the file id.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.StringToFileId(System.String)">
            <summary>
            Convert a string to a file ID.
            </summary>
            <param name="fileid">The file ID as a string (must be 4 characters).</param>
            <returns>The file ID as a long.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.IsReparseTagMicrosoft(NtApiDotNet.ReparseTag)">
            <summary>
            Get if a reparse tag is a Microsoft defined one.
            </summary>
            <param name="tag">The reparse tag.</param>
            <returns>True if it's a Microsoft reparse tag.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.IsReparseTagNameSurrogate(NtApiDotNet.ReparseTag)">
            <summary>
            Get if a reparse tag is a name surrogate.
            </summary>
            <param name="tag">The reparse tag.</param>
            <returns>True if it's a surrogate reparse tag.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.IsReparseTagDirectory(NtApiDotNet.ReparseTag)">
            <summary>
            Get if a reparse tag is a directory which can have children.
            </summary>
            <param name="tag">The reparse tag.</param>
            <returns>True if it's a directory reparse tag which can have children.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.ToFileAccessRights(NtApiDotNet.FileDirectoryAccessRights)">
            <summary>
            Convert a directory access rights mask to a normal file access mask.
            </summary>
            <param name="access">The access to convert.</param>
            <returns>The converted access rights.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.ToDirectoryAccessRights(NtApiDotNet.FileAccessRights)">
            <summary>
            Convert a file access rights mask to a directory file access mask.
            </summary>
            <param name="access">The access to convert.</param>
            <returns>The converted access rights.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.Wow64EnableFsRedirection(System.Boolean,System.Boolean)">
            <summary>
            Enable or disable Wow64 FS redirection.
            </summary>
            <param name="enable">True to enable FS redirection.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The old enable state.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.Wow64EnableFsRedirection(System.Boolean)">
            <summary>
            Enable or disable Wow64 FS redirection.
            </summary>
            <param name="enable">True to enable FS redirection.</param>
            <returns>The old enable state.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.SplitAddressToPages(System.Int64,System.Int32)">
            <summary>
            Split an allocated address into a list of pages. This can be used to pass to
            ReadScatter or WriteGather file APIs.
            </summary>
            <param name="address">The base address to split. The address should be page aligned.</param>
            <param name="length">The length of bytes to split into pages. This will be rounded up to the next page boundary.</param>
            <returns>The list of pages.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.SplitAddressToPages(System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Split an allocated address into a list of pages. This can be used to pass to
            ReadScatter or WriteGather file APIs.
            </summary>
            <param name="buffer">The allocated buffer to split. The address should be page aligned.</param>
            <remarks>The buffer will be split up based on its length. Note that the length will be rounded up.</remarks>
            <returns>The list of pages.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.NtFileNameToDos(System.String)">
            <summary>
            Attempt to convert an NT device filename to a DOS filename.
            </summary>
            <param name="filename">The filename to convert.</param>
            <returns>The converted string. Returns a path prefixed with GLOBALROOT if it doesn't understand the format.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.GetOpenByIdPath(System.String,System.Byte[])">
            <summary>
            Build a path for an open by ID file.
            </summary>
            <param name="volume_path">The path to the volume.</param>
            <param name="id">The ID.</param>
            <returns>The bytes for the ID path.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.GetFileIdPath(System.String,System.Int64)">
            <summary>
            Build a path for a file ID volume.
            </summary>
            <param name="volume_path">The path to the volume.</param>
            <param name="file_reference">The file reference number.</param>
            <returns>The bytes for the file ID path.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.GetObjectIdPath(System.String,System.Guid)">
            <summary>
            Build a path for an object ID volume.
            </summary>
            <param name="volume_path">The path to the volume.</param>
            <param name="object_id">The file object ID.</param>
            <returns>The bytes for the file ID path.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.Generate8dot3Name(System.String,System.Boolean,System.Int32,System.Boolean)">
            <summary>
            Generate a DOS filename from a full filename.
            </summary>
            <param name="filename">The full filename.</param>
            <param name="allow_extended">True to allow extended characters.</param>
            <param name="iterations">Number of iterations of the algorithm to test.</param>
            <param name="throw_on_error">True throw on error.</param>
            <returns>The DOS filename.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.Generate8dot3Name(System.String,System.Boolean,System.Int32)">
            <summary>
            Generate a DOS filename from a full filename.
            </summary>
            <param name="filename">The full filename.</param>
            <param name="allow_extended">True to allow extended characters.</param>
            <param name="iterations">Number of iterations of the algorithm to test.</param>
            <returns>The DOS filename.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.Generate8dot3Name(System.String,System.Boolean)">
            <summary>
            Generate a DOS filename from a full filename.
            </summary>
            <param name="filename">The full filename.</param>
            <param name="allow_extended">True to allow extended characters.</param>
            <returns>The DOS filename.</returns>
        </member>
        <member name="M:NtApiDotNet.NtFileUtils.IsLegal8dot3Name(System.String)">
            <summary>
            Is the filename a legal 8dot3 name.
            </summary>
            <param name="filename">The filename to check.</param>
            <returns>True if it's a legal 8dot3 name.</returns>
        </member>
        <member name="T:NtApiDotNet.NtFilterConnectionPort">
            <summary>
            Class representing a NT FilterConnectionPort object. Note this is just a dummy object for typing purposes.
            </summary>
        </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="M:NtApiDotNet.NtGeneric.ToTypedObject(System.Boolean)">
            <summary>
            Convert the generic object to the best typed object.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The typed object. Can be NtGeneric if no better type is known.</returns>
        </member>
        <member name="P:NtApiDotNet.NtGeneric.IsContainer">
            <summary>
            Returns whether this object is a container.
            </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.ProcessImagePath">
            <summary>
            Get the image path for the process which contains this handle.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtHandle.ProcessName">
            <summary>
            Get name of the process which contains this handle.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtHandle.ObjectTypeIndex">
            <summary>
            The object type index
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtHandle.ObjectType">
            <summary>
            The object type name
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtHandle.NtType">
            <summary>
            The object type
            </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.GrantedAccessString">
            <summary>
            The granted access mask as a string.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtHandle.GrantedGenericAccessString">
            <summary>
            The granted access mask as a string.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtHandle.Inherit">
            <summary>
            Whether the handle is inheritable.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtHandle.ProtectFromClose">
            <summary>
            Whether the handle is protected from close.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtHandle.HasWriteAccess">
            <summary>
            Whether the handle has write access.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtHandle.HasReadAccess">
            <summary>
            Whether the handle has read access.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtHandle.HasExecuteAccess">
            <summary>
            Whether the handle has execute access.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtHandle.HasFullAccess">
            <summary>
            Whether the handle has full access.
            </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="P:NtApiDotNet.NtHandle.HandleValid">
            <summary>
            Indicates if the handle was valid.
            </summary>
            <remarks>This can cause the handle's values to be queried which can take time.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtHandle.ToString">
            <summary>
            Overridden ToString.
            </summary>
            <returns>The handle as a string.</returns>
        </member>
        <member name="M:NtApiDotNet.NtHandle.GetObject(System.Boolean)">
            <summary>
            Get handle into the current process
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The handle to the object</returns>
        </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="M:NtApiDotNet.NtHandle.CloseHandle(System.Boolean)">
            <summary>
            Close the handle in the original process.
            </summary>
            <param name="throw_on_error">True throw on error.</param>
            <returns>The NT status code.</returns>
            <remarks>This is not recommended.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtHandle.CloseHandle">
            <summary>
            Close the handle in the original process.
            </summary>
            <remarks>This is not recommended.</remarks>
        </member>
        <member name="T:NtApiDotNet.NtHeap">
            <summary>
            Class to call NT heap APIs.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtHeap.Allocate(NtApiDotNet.HeapAllocFlags,System.Int64,System.Boolean)">
            <summary>
            Allocate a buffer from the heap.
            </summary>
            <param name="flags">Heap flags.</param>
            <param name="size">Size of the allocation.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The allocated memory address.</returns>
        </member>
        <member name="M:NtApiDotNet.NtHeap.Allocate(NtApiDotNet.HeapAllocFlags,System.Int64)">
            <summary>
            Allocate a buffer from the heap.
            </summary>
            <param name="flags">Heap flags.</param>
            <param name="size">Size of the allocation.</param>
            <returns>The allocated memory address.</returns>
        </member>
        <member name="M:NtApiDotNet.NtHeap.Free(NtApiDotNet.HeapAllocFlags,System.Int64,System.Boolean)">
            <summary>
            Free a buffer from the heap.
            </summary>
            <param name="flags">Heap flags.</param>
            <param name="address">Address of the allocation.</param>
            <param name="throw_on_error">True to throw on error.</param>
        </member>
        <member name="M:NtApiDotNet.NtHeap.Free(NtApiDotNet.HeapAllocFlags,System.Int64)">
            <summary>
            Free a buffer from the heap.
            </summary>
            <param name="flags">Heap flags.</param>
            <param name="address">Address of the allocation.</param>
        </member>
        <member name="P:NtApiDotNet.NtHeap.Current">
            <summary>
            Get the current process heap.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtIoCompletion">
            <summary>
            Class representing an NT IO Completion Port object
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtIoCompletion.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.IoCompletionAccessRights,System.Int32,System.Boolean)">
            <summary>
            Create an IO Completion Port object
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">The desired access for the event</param>
            <param name="concurrent_threads">Number of concurrent threads to process I/O packets. 0 for CPU count.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtIoCompletion.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.IoCompletionAccessRights,System.Int32)">
            <summary>
            Create an IO Completion Port object
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">The desired access for the event</param>
            <param name="concurrent_threads">Number of concurrent threads to process I/O packets. 0 for CPU count.</param>
            <returns>The IO Completion Port object.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtIoCompletion.Create(System.String,NtApiDotNet.NtObject,NtApiDotNet.IoCompletionAccessRights,System.Int32)">
            <summary>
            Create an IO Completion Port object
            </summary>
            <param name="name">The path to the IO Completion Port</param>
            <param name="root">The root object for relative path names</param>
            <param name="desired_access">The desired access for the event</param>
            <param name="concurrent_threads">Number of concurrent threads to process I/O packets. 0 for CPU count.</param>
            <returns>The IO Completion Port object.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtIoCompletion.Create">
            <summary>
            Create an unnamed IO Completion Port object.
            </summary>
            <returns>The IO Completion Port object.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtIoCompletion.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.IoCompletionAccessRights)">
            <summary>
            Open an IO Completion Port object
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">The desired access for the event</param>
            <returns>The IO Completion Port object.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtIoCompletion.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.IoCompletionAccessRights,System.Boolean)">
            <summary>
            Open an IO Completion Port object
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">The desired access for the event</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtIoCompletion.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.IoCompletionAccessRights)">
            <summary>
            Open an IO Completion Port object
            </summary>
            <param name="name">The path to the IO Completion Port</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 IO Completion Port object.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtIoCompletion.Open(System.String)">
            <summary>
            Open an IO Completion Port object
            </summary>
            <param name="name">The path to the IO Completion Port</param>
            <returns>The IO Completion Port object.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtIoCompletion.Remove(NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <summary>
            Remove a queued status from the queue.
            </summary>
            <param name="timeout">An optional timeout.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The completion result.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error or timeout.</exception>
        </member>
        <member name="M:NtApiDotNet.NtIoCompletion.Remove(NtApiDotNet.NtWaitTimeout)">
            <summary>
            Remove a queued status from the queue.
            </summary>
            <param name="timeout">An optional timeout.</param>
            <returns>The completion result.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error or timeout.</exception>
        </member>
        <member name="M:NtApiDotNet.NtIoCompletion.Remove(System.Int32,NtApiDotNet.NtWaitTimeout,System.Boolean,System.Boolean)">
            <summary>
            Remove multiple queued status from the queue.
            </summary>
            <param name="max_count">Maximum number of status to remove.</param>
            <param name="timeout">An optional timeout.</param>
            <param name="alertable">Indicate whether the wait is alertable.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>Array of completion results. Length can be &lt;= max_count.</returns>
        </member>
        <member name="M:NtApiDotNet.NtIoCompletion.Remove(System.Int32,NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <summary>
            Remove multiple queued status from the queue.
            </summary>
            <param name="max_count">Maximum number of status to remove.</param>
            <param name="timeout">An optional timeout.</param>
            <param name="alertable">Indicate whether the wait is alertable.</param>
            <returns>Array of completion results. Length can be &lt;= max_count. If timeout then returns an empty array.</returns>
        </member>
        <member name="M:NtApiDotNet.NtIoCompletion.Remove(System.Int32)">
            <summary>
            Remove multiple queued status from the queue.
            </summary>
            <param name="max_count">Maximum number of status to remove.</param>
            <returns>Array of completion results. Length can be &lt;= max_count</returns>
        </member>
        <member name="M:NtApiDotNet.NtIoCompletion.Remove">
            <summary>
            Remove a queued status from the queue. Wait for an infinite time for the result.
            </summary>
            <returns>The completion result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtIoCompletion.Set(System.IntPtr,System.IntPtr,NtApiDotNet.NtStatus,System.IntPtr)">
            <summary>
            Add a queued status to the queue.
            </summary>
            <param name="key_context">The optional key context.</param>
            <param name="apc_context">The optional APC context.</param>
            <param name="status">Status code</param>
            <param name="information">The information context.</param>
        </member>
        <member name="M:NtApiDotNet.NtIoCompletion.QueryInformation(NtApiDotNet.IoCompletionInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Int32@)">
            <summary>
            Method to query information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to return data in.</param>
            <param name="return_length">Return length from the query.</param>
            <returns>The NT status code for the query.</returns>
        </member>
        <member name="P:NtApiDotNet.NtIoCompletion.Depth">
            <summary>
            Get current depth of IO Completion Port
            </summary>
        </member>
        <member name="T:NtApiDotNet.FileControlMethod">
            <summary>
            Memory control method.
            </summary>
        </member>
        <member name="F:NtApiDotNet.FileControlMethod.Buffered">
            <summary>
            Buffered.
            </summary>
        </member>
        <member name="F:NtApiDotNet.FileControlMethod.InDirect">
            <summary>
            IN Direct.
            </summary>
        </member>
        <member name="F:NtApiDotNet.FileControlMethod.OutDirect">
            <summary>
            OUT Direct.
            </summary>
        </member>
        <member name="F:NtApiDotNet.FileControlMethod.Neither">
            <summary>
            Neither.
            </summary>
        </member>
        <member name="T:NtApiDotNet.FileControlAccess">
            <summary>
            Access control flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.FileControlAccess.Any">
            <summary>
            Any access.
            </summary>
        </member>
        <member name="F:NtApiDotNet.FileControlAccess.Read">
            <summary>
            Read access.
            </summary>
        </member>
        <member name="F:NtApiDotNet.FileControlAccess.Write">
            <summary>
            Write access.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtIoControlCode">
            <summary>
            Represents 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="P:NtApiDotNet.NtIoControlCode.Custom">
            <summary>
            Is the function number custom, i.e. has the top bit set.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtIoControlCode.Name">
            <summary>
            Get a known name associated with this IO control code.
            </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.ToControlCode(System.Int32)">
            <summary>
            Static method to create an NtIoControlCode 
            </summary>
            <param name="code">The conde as an integer.</param>
            <returns>The io control code.</returns>
        </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="M:NtApiDotNet.NtIoControlCode.GetHashCode">
            <summary>
            Overriden hash code.
            </summary>
            <returns>The hash code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtIoControlCode.Equals(System.Object)">
            <summary>
            Overridden equals.
            </summary>
            <param name="obj">The object to compare against.</param>
            <returns>True if equal.</returns>
        </member>
        <member name="M:NtApiDotNet.NtIoControlCode.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The IO control code as a string.</returns>
        </member>
        <member name="M:NtApiDotNet.NtIoControlCode.ToString(System.String)">
            <summary>
            Format IO control code with an format specifier.
            </summary>
            <param name="format">The format specified. For example use X to format as a hexadecimal number.</param>
            <returns>The formatted string.</returns>
        </member>
        <member name="M:NtApiDotNet.NtIoControlCode.ToString(System.String,System.IFormatProvider)">
            <summary>
            Format the underlying IO control code with an format specifier.
            </summary>
            <param name="format">The format specified. For example use X to format as a hexadecimal number.</param>
            <param name="formatProvider">Format provider.</param>
            <returns>The formatted string.</returns>
        </member>
        <member name="T:NtApiDotNet.NtJob">
            <summary>
            Class representing a NT Job object
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtJob.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.JobAccessRights,System.Boolean)">
            <summary>
            Create a job object
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for job.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.JobAccessRights)">
            <summary>
            Create a job object
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for job.</param>
            <returns>The Job object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.Create(System.String,NtApiDotNet.NtObject,NtApiDotNet.JobAccessRights)">
            <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>
            <param name="desired_access">Desired access for job.</param>
            <returns>The Job object</returns>
        </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.Create">
            <summary>
            Create an unnamed job object
            </summary>
            <returns>The Job object</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.JobAccessRights,System.Boolean)">
            <summary>
            Open a job object
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for job.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.JobAccessRights)">
            <summary>
            Open a job object
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for job.</param>
            <returns>The Job object</returns>
        </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="M:NtApiDotNet.NtJob.Open(System.String,NtApiDotNet.NtObject)">
            <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>
            <returns>The Job object</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.CreateSilo(NtApiDotNet.ObjectAttributes,NtApiDotNet.JobAccessRights,NtApiDotNet.SiloObjectRootDirectoryControlFlags,System.Boolean)">
            <summary>
            Create and initialize a Silo,
            </summary>
            <param name="root_dir_flags">Flags for root directory.</param>
            <param name="desired_access">Desired access for the job.</param>
            <param name="object_attributes">Object attributes.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The Job object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.CreateSilo(NtApiDotNet.ObjectAttributes,NtApiDotNet.JobAccessRights,NtApiDotNet.SiloObjectRootDirectoryControlFlags)">
            <summary>
            Create and initialize a Silo,
            </summary>
            <param name="root_dir_flags">Flags for root directory.</param>
            <param name="desired_access">Desired access for the job.</param>
            <param name="object_attributes">Object attributes.</param>
            <returns>The Job object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.CreateSilo(NtApiDotNet.SiloObjectRootDirectoryControlFlags,System.Boolean)">
            <summary>
            Create and initialize a Silo,
            </summary>
            <param name="root_dir_flags">Flags for root directory.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The Job object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.CreateSilo(NtApiDotNet.SiloObjectRootDirectoryControlFlags)">
            <summary>
            Create an initialize a Silo,
            </summary>
            <param name="root_dir_flags">Flags for root directory.</param>
            <returns>The Job object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.CreateServerSilo(NtApiDotNet.ObjectAttributes,NtApiDotNet.JobAccessRights,NtApiDotNet.SiloObjectRootDirectoryControlFlags,System.String,NtApiDotNet.NtEvent,System.Boolean,System.Boolean)">
            <summary>
            Create and initialize a Server Silo,
            </summary>
            <param name="root_dir_flags">Flags for root directory.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <param name="system_root">Path to the system root.</param>
            <param name="delete_event">Event to signal when silo deleted.</param>
            <param name="downlevel_container">True if a downlevel container.</param>
            <param name="desired_access">Desired access for the job.</param>
            <param name="object_attributes">Object attributes.</param>
            <returns>The Job object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.CreateServerSilo(NtApiDotNet.ObjectAttributes,NtApiDotNet.JobAccessRights,NtApiDotNet.SiloObjectRootDirectoryControlFlags,System.String,NtApiDotNet.NtEvent,System.Boolean)">
            <summary>
            Create and initialize a Server Silo,
            </summary>
            <param name="root_dir_flags">Flags for root directory.</param>
            <param name="system_root">Path to the system root.</param>
            <param name="delete_event">Event to signal when silo deleted.</param>
            <param name="downlevel_container">True if a downlevel container.</param>
            <param name="desired_access">Desired access for the job.</param>
            <param name="object_attributes">Object attributes.</param>
            <returns>The Job object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.CreateServerSilo(NtApiDotNet.SiloObjectRootDirectoryControlFlags,System.String,NtApiDotNet.NtEvent,System.Boolean,System.Boolean)">
            <summary>
            Create and initialize a Server Silo,
            </summary>
            <param name="root_dir_flags">Flags for root directory.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <param name="system_root">Path to the system root.</param>
            <param name="delete_event">Event to signal when silo deleted.</param>
            <param name="downlevel_container">True if a downlevel container.</param>
            <returns>The Job object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.CreateServerSilo(NtApiDotNet.SiloObjectRootDirectoryControlFlags,System.String,NtApiDotNet.NtEvent,System.Boolean)">
            <summary>
            Create and initialize a Server Silo,
            </summary>
            <param name="root_dir_flags">Flags for root directory.</param>
            <param name="system_root">Path to the system root.</param>
            <param name="delete_event">Event to signal when silo deleted.</param>
            <param name="downlevel_container">True if a downlevel container.</param>
            <returns>The Job object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.CreateSilo(System.Boolean)">
            <summary>
            Convert Job object into a Silo
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.CreateSilo">
            <summary>
            Convert Job object into a Silo
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtJob.InitializeSilo(NtApiDotNet.SiloObjectRootDirectoryControlFlags,System.Boolean)">
            <summary>
            Initialize a Silo,
            </summary>
            <param name="root_dir_flags">Flags for root directory.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.InitializeSilo(NtApiDotNet.SiloObjectRootDirectoryControlFlags)">
            <summary>
            Initialize a Silo,
            </summary>
            <param name="root_dir_flags">Flags for root directory.</param>
        </member>
        <member name="M:NtApiDotNet.NtJob.InitializeServerSilo(NtApiDotNet.NtEvent,System.Boolean,System.Boolean)">
            <summary>
            Initialize a Silo to a Server Silo.
            </summary>
            <param name="delete_event">Event to signal when silo deleted.</param>
            <param name="downlevel_container">True if a downlevel container.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <remarks>You must have set a system root and added a \Device directory (which shadows the real directory) to the silo object directory.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtJob.InitializeServerSilo(NtApiDotNet.NtEvent,System.Boolean)">
            <summary>
            Initialize a Silo to a Server Silo.
            </summary>
            <param name="delete_event">Event to signal when silo deleted.</param>
            <param name="downlevel_container">True if a downlevel container.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetSiloObjectRootDirectory(NtApiDotNet.SiloObjectRootDirectoryControlFlags,System.Boolean)">
            <summary>
            Create the silo's root object directory.
            </summary>
            <param name="flags">The flags for the creation.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetSiloObjectRootDirectory(NtApiDotNet.SiloObjectRootDirectoryControlFlags)">
            <summary>
            Create the silo's root object directory.
            </summary>
            <param name="flags">The flags for the creation.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.AssignProcess(NtApiDotNet.NtProcess)">
            <summary>
            Assign a process to this job object.
            </summary>
            <param name="process">The process to assign.</param>
        </member>
        <member name="M:NtApiDotNet.NtJob.AssignProcess(NtApiDotNet.NtProcess,System.Boolean)">
            <summary>
            Assign a process to this job object.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <param name="process">The process to assign.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.AssignProcessPseudoHandle(System.Boolean)">
            <summary>
            Assign a process to this job object using current Job on Windows 1709+.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtJob.AssignProcessPseudoHandle">
            <summary>
            Assign a process to this job object using current Job on Windows 1709+.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtJob.AssociateCompletionPort(NtApiDotNet.NtIoCompletion,System.IntPtr)">
            <summary>
            Associate a completion port with the job.
            </summary>
            <param name="port">The completion port.</param>
            <param name="key">The key associated with the port.</param>
        </member>
        <member name="M:NtApiDotNet.NtJob.Terminate(NtApiDotNet.NtStatus,System.Boolean)">
            <summary>
            Terminate this job object.
            </summary>
            <param name="status">The termination status.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.Terminate(NtApiDotNet.NtStatus)">
            <summary>
            Terminate this job object.
            </summary>
            <param name="status">The termination status.</param>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetLimitFlags(NtApiDotNet.JobObjectLimitFlags,System.Boolean)">
            <summary>
            Set the limit flags for the job.
            </summary>
            <param name="flags">The limit flags.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetLimitFlags(NtApiDotNet.JobObjectLimitFlags)">
            <summary>
            Set the limit flags for the job.
            </summary>
            <param name="flags">The limit flags.</param>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetSiloSystemRoot(System.String,System.Boolean)">
            <summary>
            Set the Silo system root directory.
            </summary>
            <param name="system_root">The absolute path to the system root directory.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <remarks>The system_root path must start with a capital drive letter and not end with a backslash.</remarks>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetSiloSystemRoot(System.String)">
            <summary>
            Set the Silo system root directory.
            </summary>
            <param name="system_root">The absolute path to the system root directory.</param>
            <remarks>The system_root path must start with a capital drive letter and not end with a backslash.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetActiveProcessLimit(System.Int32,System.Boolean)">
            <summary>
            Set the active process limit.
            </summary>
            <param name="active_process_limit">The number of active processes in the job.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetActiveProcessLimit(System.Int32)">
            <summary>
            Set the active process limit.
            </summary>
            <param name="active_process_limit">The number of active processes in the job.</param>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetWorkingSetSize(System.Int64,System.Int64,System.Boolean)">
            <summary>
            Set minimum and maximum working set size.
            </summary>
            <param name="minimum_working_set_size">The minimum working set size.</param>
            <param name="maximum_working_set_size">The maximum working set size.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetWorkingSetSize(System.Int64,System.Int64)">
            <summary>
            Set minimum and maximum working set size.
            </summary>
            <param name="minimum_working_set_size">The minimum working set size.</param>
            <param name="maximum_working_set_size">The maximum working set size.</param>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetProcessMemoryLimit(System.Int64,System.Boolean)">
            <summary>
            Set the process memory limit.
            </summary>
            <param name="process_memory_limit">The memory limit for a process.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetProcessMemoryLimit(System.Int64)">
            <summary>
            Set the process memory limit.
            </summary>
            <param name="process_memory_limit">The memory limit for a process.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetJobMemoryLimit(System.Int64,System.Boolean)">
            <summary>
            Set the job memory limit.
            </summary>
            <param name="job_memory_limit">The memory limit for a job.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetJobMemoryLimit(System.Int64)">
            <summary>
            Set the job memory limit.
            </summary>
            <param name="process_memory_limit">The memory limit for a job.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetProcessTimeLimit(System.Int64,System.Boolean)">
            <summary>
            Set the time limit for a process.
            </summary>
            <param name="process_time_limit">The time limit for a process, in 100ns ticks. Set to 0 to clear the timeout.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetProcessTimeLimit(System.Int64)">
            <summary>
            Set the time limit for a process.
            </summary>
            <param name="process_time_limit">The time limit for a process, in 100ns ticks. Set to 0 to clear the timeout.</param>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetProcessTimeLimit(NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <summary>
            Set the time limit for a process.
            </summary>
            <param name="process_time_limit">The time limit for a process.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetProcessTimeLimit(NtApiDotNet.NtWaitTimeout)">
            <summary>
            Set the time limit for a process.
            </summary>
            <param name="process_time_limit">The time limit for a process.</param>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetJobTimeLimit(System.Int64,System.Boolean)">
            <summary>
            Set the time limit for a job.
            </summary>
            <param name="job_time_limit">The time limit for a job, in 100ns ticks. Set to 0 to clear timeout.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetJobTimeLimit(System.Int64)">
            <summary>
            Set the time limit for a job.
            </summary>
            <param name="job_time_limit">The time limit for a job, in 100ns ticks. Set to 0 to clear timeout.</param>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetJobTimeLimit(NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <summary>
            Set the time limit for a job.
            </summary>
            <param name="job_time_limit">The time limit for a job.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetJobTimeLimit(NtApiDotNet.NtWaitTimeout)">
            <summary>
            Set the time limit for a job.
            </summary>
            <param name="job_time_limit">The time limit for a job.</param>
        </member>
        <member name="M:NtApiDotNet.NtJob.GetProcessIdList(System.Boolean)">
            <summary>
            Get list of process IDs in Job.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of process IDs.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.GetProcessIdList">
            <summary>
            Get list of process IDs in Job.
            </summary>
            <returns>The list of process IDs.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetUiRestrictionFlags(NtApiDotNet.JobObjectUiLimitFlags,System.Boolean)">
            <summary>
            Set UI Restriction Flags.
            </summary>
            <param name="flags">The UI Restriction Flags.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetUiRestrictionFlags(NtApiDotNet.JobObjectUiLimitFlags)">
            <summary>
            Set UI Restriction Flags.
            </summary>
            <param name="flags">The UI Restriction Flags.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.QuerySiloRootDirectory(System.Boolean)">
            <summary>
            Query Silo Root directory.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The silo root directory.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.QuerySiloBasicInformation(System.Boolean)">
            <summary>
            Get Silo basic information.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The Silo Basic Information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.QueryServerSiloBasicInformation(System.Boolean)">
            <summary>
            Get Silo basic information.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The Server Silo Basic Information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.QuerySiloUserSharedData(System.Boolean)">
            <summary>
            Get Silo user shared data.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The Silo User Shared Data.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.QueryThreadImpersonation(System.Boolean)">
            <summary>
            Get whether this job object can be impersonated.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>True if the job object can be impersonated.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.EnableThreadImpersonation(System.Boolean)">
            <summary>
            Enable thread impersonation on this job object.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.QueryInformation(NtApiDotNet.JobObjectInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Int32@)">
            <summary>
            Method to query information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to return data in.</param>
            <param name="return_length">Return length from the query.</param>
            <returns>The NT status code for the query.</returns>
        </member>
        <member name="M:NtApiDotNet.NtJob.SetInformation(NtApiDotNet.JobObjectInformationClass,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Method to set information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to set data from.</param>
            <returns>The NT status code for the set.</returns>
        </member>
        <member name="P:NtApiDotNet.NtJob.CompletionFilter">
            <summary>
            Get or set completion filter for job object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.CompletionCounter">
            <summary>
            The count of completions for the job.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.MaxBandwidth">
            <summary>
            Get or set the Maximum Bandwith NetRate limitation.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.DscpTag">
            <summary>
            Get or set the DSCP Tag NetRate limitation.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.ActiveProcessLimit">
            <summary>
            Get or set the active process limit.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.ActiveProcess">
            <summary>
            Get or set the active process limit.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.MinimumWorkingSetSize">
            <summary>
            Get or set the minimum working set size.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.MaximumWorkingSetSize">
            <summary>
            Get or set the maximum working set size.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.ProcessTime">
            <summary>
            Get or set the process time limit.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.JobTime">
            <summary>
            Get or set the process time limit.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.ProcessMemory">
            <summary>
            Get or set the process memory limit.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.JobMemory">
            <summary>
            Get or set the process memory limit.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.PeakJobMemoryUsed">
            <summary>
            Get used peak job memory used.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.PeakProcessMemoryUsed">
            <summary>
            Get used peak job memory used.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.LimitFlags">
            <summary>
            Get or set the job limit flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.UiRestrictionFlags">
            <summary>
            Get or set the job UI Restriction flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.BreakawayOk">
            <summary>
            Get or set whether job breakaway is allowed.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.SilentBreakawayOk">
            <summary>
            Get or set whether silenty job breakaway is allowed.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.ContainerId">
            <summary>
            ID of container.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.ContainerTelemetryId">
            <summary>
            ID of container telemetry.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.JobId">
            <summary>
            Job ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.SiloRootDirectory">
            <summary>
            Get the Silo's Root Directory.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.SiloBasicInformation">
            <summary>
            Get Silo basic information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.ServerSiloBasicInformation">
            <summary>
            Get Silo basic information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.SiloUserSharedData">
            <summary>
            Get Silo user shared data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.ThreadImpersonation">
            <summary>
            Get or set the thread impersonation status.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtJob.Silo">
            <summary>
            Get whether this Job object is a silo.
            </summary>
        </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_obj_attr">Object attributes for the key name</param>
            <param name="file_obj_attr">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.LoadKey(NtApiDotNet.ObjectAttributes,NtApiDotNet.ObjectAttributes,NtApiDotNet.LoadKeyFlags,NtApiDotNet.KeyAccessRights,NtApiDotNet.NtKey,NtApiDotNet.NtEvent,System.Boolean)">
            <summary>
            Load a new hive
            </summary>
            <param name="key_obj_attr">Object attributes for the key name</param>
            <param name="file_obj_attr">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>
            <param name="trust_key">Key that this hive will be trusted for.</param>
            <param name="key_event">Event handle for key load.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.LoadKeyNoOpen(NtApiDotNet.ObjectAttributes,NtApiDotNet.ObjectAttributes,NtApiDotNet.LoadKeyFlags,NtApiDotNet.NtKey,NtApiDotNet.NtEvent,System.Boolean)">
            <summary>
            Load a new hive and do not open the root key.
            </summary>
            <param name="key_obj_attr">Object attributes for the key name</param>
            <param name="file_obj_attr">Object attributes for the path to the hive file</param>
            <param name="flags">Load flags</param>
            <param name="trust_key">Key that this hive will be trusted for.</param>
            <param name="key_event">Event handle for key load.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.LoadKey(NtApiDotNet.ObjectAttributes,NtApiDotNet.ObjectAttributes,NtApiDotNet.LoadKeyFlags,NtApiDotNet.KeyAccessRights,NtApiDotNet.NtKey,NtApiDotNet.NtEvent)">
            <summary>
            Load a new hive
            </summary>
            <param name="key_obj_attr">Object attributes for the key name</param>
            <param name="file_obj_attr">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>
            <param name="trust_key">Key that this hive will be trusted for.</param>
            <param name="key_event">Event handle for key load.</param>
            <returns>The opened key.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.LoadKeyNoOpen(NtApiDotNet.ObjectAttributes,NtApiDotNet.ObjectAttributes,NtApiDotNet.LoadKeyFlags,NtApiDotNet.NtKey,NtApiDotNet.NtEvent)">
            <summary>
            Load a new hive and do not open the root key.
            </summary>
            <param name="key_obj_attr">Object attributes for the key name</param>
            <param name="file_obj_attr">Object attributes for the path to the hive file</param>
            <param name="flags">Load flags</param>
            <param name="trust_key">Key that this hive will be trusted for.</param>
            <param name="key_event">Event handle for key load.</param>
        </member>
        <member name="M:NtApiDotNet.NtKey.LoadKey(NtApiDotNet.ObjectAttributes,NtApiDotNet.ObjectAttributes,NtApiDotNet.LoadKeyFlags,NtApiDotNet.KeyAccessRights,System.Boolean)">
            <summary>
            Load a new hive
            </summary>
            <param name="key_obj_attr">Object attributes for the key name</param>
            <param name="file_obj_attr">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>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.LoadKey(NtApiDotNet.ObjectAttributes,NtApiDotNet.ObjectAttributes,NtApiDotNet.LoadKeyFlags,NtApiDotNet.KeyAccessRights,NtApiDotNet.NtKey,NtApiDotNet.NtEvent,NtApiDotNet.NtToken,System.Boolean)">
            <summary>
            Load a new hive
            </summary>
            <param name="key_obj_attr">Object attributes for the key name</param>
            <param name="file_obj_attr">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>
            <param name="token">Token to open the hive files under.</param>
            <param name="trust_key">Key that this hive will be trusted for.</param>
            <param name="key_event">Event handle for key load.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.LoadKeyNoOpen(NtApiDotNet.ObjectAttributes,NtApiDotNet.ObjectAttributes,NtApiDotNet.LoadKeyFlags,NtApiDotNet.NtKey,NtApiDotNet.NtEvent,NtApiDotNet.NtToken,System.Boolean)">
            <summary>
            Load a new hive and do not open the root key.
            </summary>
            <param name="key_obj_attr">Object attributes for the key name</param>
            <param name="file_obj_attr">Object attributes for the path to the hive file</param>
            <param name="flags">Load flags</param>
            <param name="token">Token to open the hive files under.</param>
            <param name="trust_key">Key that this hive will be trusted for.</param>
            <param name="key_event">Event handle for key load.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.LoadKey(NtApiDotNet.ObjectAttributes,NtApiDotNet.ObjectAttributes,NtApiDotNet.LoadKeyFlags,NtApiDotNet.KeyAccessRights,NtApiDotNet.NtKey,NtApiDotNet.NtEvent,NtApiDotNet.NtToken)">
            <summary>
            Load a new hive
            </summary>
            <param name="key_obj_attr">Object attributes for the key name</param>
            <param name="file_obj_attr">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>
            <param name="token">Token to open the hive files under.</param>
            <param name="trust_key">Key that this hive will be trusted for.</param>
            <param name="key_event">Event handle for key load.</param>
            <returns>The loaded key.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.LoadKeyNoOpen(NtApiDotNet.ObjectAttributes,NtApiDotNet.ObjectAttributes,NtApiDotNet.LoadKeyFlags,NtApiDotNet.NtKey,NtApiDotNet.NtEvent,NtApiDotNet.NtToken)">
            <summary>
            Load a new hive and do not open the root key.
            </summary>
            <param name="key_obj_attr">Object attributes for the key name</param>
            <param name="file_obj_attr">Object attributes for the path to the hive file</param>
            <param name="flags">Load flags</param>
            <param name="token">Token to open the hive files under.</param>
            <param name="trust_key">Key that this hive will be trusted for.</param>
            <param name="key_event">Event handle for key load.</param>
        </member>
        <member name="M:NtApiDotNet.NtKey.UnloadKey(NtApiDotNet.ObjectAttributes,NtApiDotNet.UnloadKeyFlags,System.Boolean)">
            <summary>
            Unload an existing hive.
            </summary>
            <param name="key_obj_attr">Object attributes for the key name</param>
            <param name="flags">Unload flags</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.UnloadKey(System.String,NtApiDotNet.UnloadKeyFlags)">
            <summary>
            Unload an existing hive.
            </summary>
            <param name="key">Path to key to unload.</param>
            <param name="flags">Unload flags</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtKey.UnloadKey(System.String)">
            <summary>
            Unload an existing hive.
            </summary>
            <param name="key">Path to key to unload.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtKey.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.KeyAccessRights,NtApiDotNet.KeyCreateOptions,NtApiDotNet.INtTransaction,System.Boolean)">
            <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>
            <param name="transaction">Optional transaction object.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.KeyAccessRights,NtApiDotNet.KeyCreateOptions,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </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(NtApiDotNet.ObjectAttributes,NtApiDotNet.KeyAccessRights,NtApiDotNet.KeyCreateOptions,NtApiDotNet.INtTransaction)">
            <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>
            <param name="transaction">Optional transaction object.</param>
            <returns>The NT status code and object result.</returns>
        </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.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.KeyAccessRights,NtApiDotNet.KeyCreateOptions,NtApiDotNet.INtTransaction,System.Boolean)">
            <summary>
            Try and 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>
            <param name="open_options">Open options.</param>
            <param name="transaction">Optional transaction object.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.KeyAccessRights,NtApiDotNet.KeyCreateOptions,System.Boolean)">
            <summary>
            Try and 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>
            <param name="open_options">Open options.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.KeyAccessRights,NtApiDotNet.KeyCreateOptions,NtApiDotNet.INtTransaction,System.Boolean)">
            <summary>
            Try and 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>
            <param name="open_options">Open options.</param>
            <param name="transaction">Optional transaction object.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.KeyAccessRights,NtApiDotNet.KeyCreateOptions,System.Boolean)">
            <summary>
            Try and 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>
            <param name="open_options">Open options.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.KeyAccessRights,NtApiDotNet.KeyCreateOptions)">
            <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>
            <param name="open_options">Open 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,NtApiDotNet.KeyCreateOptions,NtApiDotNet.INtTransaction)">
            <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>
            <param name="open_options">Open options.</param>
            <param name="transaction">Optional transaction object.</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.QueryLicenseValue(System.String,System.Boolean)">
            <summary>
            Query a license value. While technically not directly a registry key
            it has many of the same properties such as using the same registry
            value types.
            </summary>
            <param name="name">The name of the license value.</param>
            <param name="throw_on_error">True to throw an exception on error</param>
            <returns>The license value key</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.QueryLicenseValue(System.String)">
            <summary>
            Query a license value. While technically not directly a registry key
            it has many of the same properties such as using the same registry
            value types.
            </summary>
            <param name="name">The name of the license value.</param>
            <returns>The license value key</returns>
        </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 created symbolic link 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 with the maximum access allowed.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtKey.GetMachineKey(System.Boolean)">
            <summary>
            Open the machine key
            </summary>
            <returns>The opened key with the maximum access allowed.</returns>
            <param name="throw_on_error">True to throw on error.</param>
            <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(System.Boolean)">
            <summary>
            Open the user key
            </summary>
            <returns>The opened key with the maximum access allowed.</returns>
            <param name="throw_on_error">True to throw on error.</param>
            <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 of 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.GetUserKey(NtApiDotNet.Sid,System.Boolean)">
            <summary>
            Open the user key
            </summary>
            <param name="sid">The SID of the user to open</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened key with the maximum access allowed.</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.GetCurrentUserKey(System.Boolean)">
            <summary>
            Open the current user key
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened key with the maximum access allowed.</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.GetRootKey(System.Boolean)">
            <summary>
            Open the root key
            </summary>
            <returns>The opened key with the maximum access allowed.</returns>
            <param name="throw_on_error">True to throw on error.</param>
            <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.Delete(System.Boolean)">
            <summary>
            Delete the key
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
        </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[],System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw on error.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <returns>The NT status code.</returns>
        </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,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw on error.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.SetValue(System.String,System.String,System.Boolean)">
            <summary>
            Set a string resistry value as REG_SZ.
            </summary>
            <param name="value_name">The name of the value</param>
            <param name="data">The value data</param>
            <param name="throw_on_error">True to throw on error.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <returns>The NT status code.</returns>
        </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.String)">
            <summary>
            Set a string resistry value as REG_SZ.
            </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.Collections.Generic.IEnumerable{System.String},System.Boolean)">
            <summary>
            Set a list of strings as a resistry value.
            </summary>
            <param name="value_name">The name of the value</param>
            <param name="data">The list of strings to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.SetValue(System.String,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Set a list of strings as a resistry value.
            </summary>
            <param name="value_name">The name of the value</param>
            <param name="data">The list of strings to set.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtKey.SetValue(System.String,System.UInt32,System.Boolean)">
            <summary>
            Set a DWORD resistry value
            </summary>
            <param name="value_name">The name of the value</param>
            <param name="data">The value data</param>
            <param name="throw_on_error">True to throw on error.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.SetValue(System.String,System.Boolean,System.UInt32,System.Boolean)">
            <summary>
            Set a DWORD resistry value
            </summary>
            <param name="value_name">The name of the value</param>
            <param name="data">The value data</param>
            <param name="big_endian">True to set the value of big endian.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.SetValue(System.String,System.UInt64,System.Boolean)">
            <summary>
            Set a QWORD resistry value
            </summary>
            <param name="value_name">The name of the value</param>
            <param name="data">The value data</param>
            <param name="throw_on_error">True to throw on error.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <returns>The NT status code.</returns>
        </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.Boolean,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>
            <param name="big_endian">True to set the value of big endian.</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.DeleteValue(System.String,System.Boolean)">
            <summary>
            Delete a registry value
            </summary>
            <param name="value_name">The name of the value</param>
            <param name="throw_on_error">True to throw on error.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.DeleteValue(System.String)">
            <summary>
            Delete a registry value
            </summary>
            <param name="value_name">The name of the value</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtKey.QueryValue(System.String,System.Boolean)">
            <summary>
            Query a value by name
            </summary>
            <param name="value_name">The name of the value</param>
            <param name="throw_on_error">True to throw on error</param>
            <returns>The value information</returns>
        </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.QueryKeyEntries">
            <summary>
            Query all subkey entries.
            </summary>
            <returns>The list of subkey entries</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,System.Boolean,System.Boolean)">
            <summary>
            Return a list of subkeys which can be accessed.
            </summary>
            <param name="desired_access">The required access rights for the subkeys</param>
            <param name="open_link">True to open link keys rather than following the link.</param>
            <param name="open_for_backup">True to open keys with backup flag set.</param>
            <returns>The disposable list of subkeys.</returns>
        </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.SetSymbolicLinkTarget(System.String,System.Boolean)">
            <summary>
            Set a symbolic link target for this key (must have been created with
            appropriate create flags)
            </summary>
            <param name="target">The symbolic link target.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtKey.SetSymbolicLinkTarget(System.String)">
            <summary>
            Set a symbolic link target for this key (must have been created with
            appropriate create flags)
            </summary>
            <param name="target">The symbolic link target.</param>
        </member>
        <member name="M:NtApiDotNet.NtKey.GetSymbolicLinkTarget(System.Boolean)">
            <summary>
            Get the symbolic link target for this key.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The symbolic link target.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtKey.GetSymbolicLinkTarget">
            <summary>
            Get the symbolic link target for this key.
            </summary>
            <returns>The symbolic link target.</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.Open(System.String,NtApiDotNet.KeyAccessRights,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw on error.</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,NtApiDotNet.KeyCreateOptions,System.Boolean)">
            <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>
            <param name="open_options">Key open options.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened key</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtKey.ReOpen(NtApiDotNet.KeyAccessRights,NtApiDotNet.KeyCreateOptions,System.Boolean)">
            <summary>
            Reopen the key with different access rights.
            </summary>
            <param name="desired_access">The access rights to reopen with.</param>
            <param name="options">Open options.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened key.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.ReOpen(NtApiDotNet.KeyAccessRights,NtApiDotNet.AttributeFlags,NtApiDotNet.KeyCreateOptions,System.Boolean)">
            <summary>
            Reopen the key with different access rights.
            </summary>
            <param name="desired_access">The access rights to reopen with.</param>
            <param name="attributes">The object attributes to open with.</param>
            <param name="options">Open options.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened key.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.ReOpen(NtApiDotNet.KeyAccessRights,NtApiDotNet.KeyCreateOptions)">
            <summary>
            Reopen the key with different access rights.
            </summary>
            <param name="desired_access">The access rights to reopen with.</param>
            <param name="options">Open options.</param>
            <returns>The opened key.</returns>
        </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="M:NtApiDotNet.NtKey.Rename(System.String,System.Boolean)">
            <summary>
            Rename key.
            </summary>
            <param name="new_name">The new name for the key.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtKey.Rename(System.String)">
            <summary>
            Rename key.
            </summary>
            <param name="new_name">The new name for the key.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtKey.Save(NtApiDotNet.NtFile,NtApiDotNet.SaveKeyFlags,System.Boolean)">
            <summary>
            Save the opened key into a file.
            </summary>
            <param name="file">The file to save to.</param>
            <param name="flags">Save key flags</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtKey.Save(NtApiDotNet.NtFile,NtApiDotNet.SaveKeyFlags)">
            <summary>
            Save the opened key into a file.
            </summary>
            <param name="file">The file to save to.</param>
            <param name="flags">Save key flags</param>
        </member>
        <member name="M:NtApiDotNet.NtKey.Save(System.String,NtApiDotNet.SaveKeyFlags,System.Boolean)">
            <summary>
            Save the opened key into a file.
            </summary>
            <param name="path">The file path to save to.</param>
            <param name="flags">Save key flags</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtKey.Save(System.String,NtApiDotNet.SaveKeyFlags)">
            <summary>
            Save the opened key into a file.
            </summary>
            <param name="path">The file path to save to.</param>
            <param name="flags">Save key flags</param>
        </member>
        <member name="M:NtApiDotNet.NtKey.Save(System.String)">
            <summary>
            Save the opened key into a file.
            </summary>
            <param name="path">The file path to save to.</param>
        </member>
        <member name="M:NtApiDotNet.NtKey.Restore(NtApiDotNet.NtFile,NtApiDotNet.RestoreKeyFlags,System.Boolean)">
            <summary>
            Restore key from a file.
            </summary>
            <param name="file">The file to restore from</param>
            <param name="flags">Restore key flags</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtKey.Restore(NtApiDotNet.NtFile,NtApiDotNet.RestoreKeyFlags)">
            <summary>
            Restore key from a file.
            </summary>
            <param name="file">The file to restore from</param>
            <param name="flags">Restore key flags</param>
        </member>
        <member name="M:NtApiDotNet.NtKey.Restore(System.String,NtApiDotNet.RestoreKeyFlags,System.Boolean)">
            <summary>
            Restore key from a file.
            </summary>
            <param name="path">The file path to restore from</param>
            <param name="flags">Restore key flags</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtKey.Restore(System.String,NtApiDotNet.RestoreKeyFlags)">
            <summary>
            Restore key from a file.
            </summary>
            <param name="path">The file path to restore from</param>
            <param name="flags">Restore key flags</param>
        </member>
        <member name="M:NtApiDotNet.NtKey.Restore(System.String)">
            <summary>
            Restore key from a file.
            </summary>
            <param name="path">The file path to restore from</param>
        </member>
        <member name="M:NtApiDotNet.NtKey.Lock">
            <summary>
            Try and lock the registry key to prevent further modification.
            </summary>
            <remarks>Note that this almost certainly never works from usermode, there's an explicit
            check to prevent it in the kernel.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtKey.NotifyChange(NtApiDotNet.NotifyCompletionFilter,System.Boolean)">
            <summary>
            Wait for a change on the registry key.
            </summary>
            <param name="completion_filter">Specify what changes will be notified.</param>
            <param name="watch_tree">True to watch the entire tree.</param>
            <returns>The status from the change notification.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtKey.NotifyChangeAsync(NtApiDotNet.NotifyCompletionFilter,System.Boolean)">
            <summary>
            Wait for a change on thie registry key asynchronously.
            </summary>
            <param name="completion_filter">Specify what changes will be notified.</param>
            <param name="watch_tree">True to watch the entire tree.</param>
            <returns>The status from the change notification.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtKey.VisitAccessibleKeys(System.Func{NtApiDotNet.NtKey,System.Boolean},NtApiDotNet.KeyAccessRights,System.Boolean,System.Boolean,System.Int32)">
            <summary>
            Visit all accessible keys under this one.
            </summary>
            <param name="visitor">A function to be called on every accessible key. Return true to continue enumeration.</param>
            <param name="desired_access">Specify the desired access for the keys.</param>
            <param name="recurse">True to recurse into sub keys.</param>
            <param name="max_depth">Specify max recursive depth. -1 to not set a limit.</param>
            <param name="open_for_backup">Open the key using backup privileges.</param>
        </member>
        <member name="M:NtApiDotNet.NtKey.VisitAccessibleKeys(System.Func{NtApiDotNet.NtKey,System.Boolean})">
            <summary>
            Visit all accessible directories under this one.
            </summary>
            <param name="visitor">A function to be called on every accessible directory. Return true to continue enumeration.</param>
        </member>
        <member name="M:NtApiDotNet.NtKey.VisitAccessibleKeys(System.Func{NtApiDotNet.NtKey,System.Boolean},System.Boolean)">
            <summary>
            Visit all accessible directories under this one.
            </summary>
            <param name="visitor">A function to be called on every accessible directory. Return true to continue enumeration.</param>
            <param name="recurse">True to recurse into sub directories.</param>
        </member>
        <member name="M:NtApiDotNet.NtKey.VisitAccessibleKeys(System.Func{NtApiDotNet.NtKey,System.Boolean},NtApiDotNet.KeyAccessRights,System.Boolean,System.Boolean)">
            <summary>
            Visit all accessible directories under this one.
            </summary>
            <param name="visitor">A function to be called on every accessible directory. Return true to continue enumeration.</param>
            <param name="desired_access">Specify the desired access for the directory</param>
            <param name="recurse">True to recurse into sub directories.</param>
            <param name="open_for_backup">Open the key using backup privileges.</param>
        </member>
        <member name="M:NtApiDotNet.NtKey.QueryInformation(NtApiDotNet.KeyInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Int32@)">
            <summary>
            Method to query information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to return data in.</param>
            <param name="return_length">Return length from the query.</param>
            <returns>The NT status code for the query.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKey.SetInformation(NtApiDotNet.KeySetInformationClass,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Method to set information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to set data from.</param>
            <returns>The NT status code for the set.</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="P:NtApiDotNet.NtKey.ValueCount">
            <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="P:NtApiDotNet.NtKey.Win32Path">
            <summary>
            Get the key path as a Win32 style one. If not possible returns
            the original path.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtKey.Disposition">
            <summary>
            The disposition when the key was created.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtKey.PredefinedHandle">
            <summary>
            Indicates the handle is a special pre-defined one by the kernel.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtKey.VirtualizationFlags">
            <summary>
            Get or set virtualization flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtKey.ControlFlags">
            <summary>
            Get or set key control flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtKey.Wow64Flags">
            <summary>
            Get or set wow64 flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtKey.KeyFlags">
            <summary>
            Get key flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtKey.Trusted">
            <summary>
            Indicates if this key is from a trusted hive.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtKey.IsLink">
            <summary>
            Indicates if this key is a symbolic link.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtKey.IsVolatile">
            <summary>
            Indicates if this key is volatile.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtKey.NameInformation">
            <summary>
            Get the name from NtQueryKey.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtKey.IsContainer">
            <summary>
            Returns whether this object is a container.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtKeyEntry">
            <summary>
            A key entry.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtKeyEntry.Name">
            <summary>
            The name of the key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtKeyEntry.LastWriteTime">
            <summary>
            The last write time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtKeyEntry.TitleIndex">
            <summary>
            The key's title index.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtKeyHive">
            <summary>
            Class to represent a loaded hive from the Hive List.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtKeyHive.KeyPath">
            <summary>
            Path to the root key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtKeyHive.HivePath">
            <summary>
            Path to the hive file.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtKeyUtils">
            <summary>
            Utilities for registry keys.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtKeyUtils.Win32KeyNameToNt(System.String)">
            <summary>
            Convert a Win32 style keyname such as HKEY_LOCAL_MACHINE\Path into a native key path.
            </summary>
            <param name="path">The win32 style keyname to convert.</param>
            <returns>The converted keyname.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if invalid name.</exception>
        </member>
        <member name="M:NtApiDotNet.NtKeyUtils.NtKeyNameToWin32(System.String)">
            <summary>
            Attempt to convert an NT style registry key name to Win32 form.
            If it's not possible to convert the function will return the 
            original form.
            </summary>
            <param name="nt_path">The NT path to convert.</param>
            <returns>The converted path, or original if it can't be converted.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKeyUtils.GetHiveList(System.Boolean)">
            <summary>
            Query list of loaded hives from the Registry.
            </summary>
            <param name="convert_file_to_dos">Convert the file path to a DOS path.</param>
            <returns>The list of loaded hives.</returns>
        </member>
        <member name="M:NtApiDotNet.NtKeyUtils.GetHiveList">
            <summary>
            Query list of loaded hives from the Registry.
            </summary>
            <returns>The list of loaded hives.</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="P:NtApiDotNet.NtKeyValue.DataObject">
            <summary>
            Get the value as an object.
            </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.NtLdr">
            <summary>
            LDR static methods.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtLdr.GetProcedureAddress(System.IntPtr,System.String,System.Boolean)">
            <summary>
            Get address of a procedure in a mapped image.
            </summary>
            <param name="dll_handle">The handle to the mapped image.</param>
            <param name="name">The name of the procedure to find.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The procedure address.</returns>
        </member>
        <member name="M:NtApiDotNet.NtLdr.GetProcedureAddress(System.IntPtr,System.String)">
            <summary>
            Get address of a procedure in a mapped image.
            </summary>
            <param name="dll_handle">The handle to the mapped image.</param>
            <param name="name">The name of the procedure to find.</param>
            <returns>The procedure address.</returns>
        </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,System.Boolean)">
            <summary>
            Get mapped NLS section
            </summary>
            <param name="type">The type of section</param>
            <param name="codepage">The codepage number</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The mapped section if it exists.</returns>
        </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,System.Boolean)">
            <summary>
            Get default locale ID
            </summary>
            <param name="thread">True if the locale should be the thread's, otherwise the systems</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The locale ID</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,System.Boolean)">
            <summary>
            Set default locale
            </summary>
            <param name="thread">True if the locale should be the thread's, otherwise the systems</param>
            <param name="throw_on_error">True to throw on error.</param>
            <param name="locale">The locale ID</param>
            <returns>The NT status code.</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.NtMailslotFile">
            <summary>
            Class representing a NT File Mailslot client object
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtMailslotFile.SetReadTimeout(NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <summary>
            Set the mailslot read timeout.
            </summary>
            <param name="timeout">The timeout to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT Status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtMailslotFile.Peek(System.Boolean)">
            <summary>
            Peek on the current status of the Mailslot.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The peek status.</returns>
        </member>
        <member name="M:NtApiDotNet.NtMailslotFile.Peek">
            <summary>
            Peek on the current status of the Mailslot.
            </summary>
            <returns>The peek status.</returns>
        </member>
        <member name="P:NtApiDotNet.NtMailslotFile.ReadTimeout">
            <summary>
            Get or set the Read Timeout.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtMailslotFile.MaximumMessageSize">
            <summary>
            Get maximum message size.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtMailslotFile.MailslotQuota">
            <summary>
            Get mailslot quota.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtMailslotFile.NextMessageSize">
            <summary>
            Get next message size.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtMailslotFile.MessagesAvailable">
            <summary>
            Get messages available.
            </summary>
        </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.ValidLength">
            <summary>
            The valid length of the mapped section from the current position.
            </summary>
            <remarks>This doesn't take into account the possibility of fragmented commits.</remarks>
        </member>
        <member name="P:NtApiDotNet.NtMappedSection.FullPath">
            <summary>
            Get full path for mapped section.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtMappedSection.Protection">
            <summary>
            Query the memory protection setting for this mapping.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtMappedSection.ImageSigningLevel">
            <summary>
            Get image signing level.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtMappedSection.BaseAddress">
            <summary>
            Get the base address 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.IsSameMapping(System.Int64,System.Boolean)">
            <summary>
            Checks if this mapped view represents the same file.
            </summary>
            <param name="address">The address to check.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>True if the mapped view represents the same file.</returns>
        </member>
        <member name="M:NtApiDotNet.NtMappedSection.IsSameMapping(System.Int64)">
            <summary>
            Checks if this mapped view represents the same file.
            </summary>
            <param name="address">The address to check.</param>
            <returns>True if the mapped view represents the same file.</returns>
        </member>
        <member name="M:NtApiDotNet.NtMappedSection.Detach(System.Int32)">
            <summary>
            Detaches the current buffer and allocates a new one.
            </summary>
            <param name="length">Specify a new length for the detached buffer. Must be &lt;= Length.</param>
            <returns>The detached buffer.</returns>
            <remarks>The original buffer will become invalid after this call.</remarks>
        </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.Create(NtApiDotNet.ObjectAttributes,System.Boolean,NtApiDotNet.MutantAccessRights,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </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(System.String,NtApiDotNet.NtObject)">
            <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>
            <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.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.MutantAccessRights,System.Boolean)">
            <summary>
            Open a mutant
            </summary>
            <param name="object_attributes">Object attributes</param>
            <param name="desired_access">Desired access for mutant</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtMutant.Release(System.Boolean)">
            <summary>
            Release the mutant
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The previous release count</returns>
        </member>
        <member name="M:NtApiDotNet.NtMutant.Release">
            <summary>
            Release the mutant
            </summary>
            <returns>The previous release count</returns>
        </member>
        <member name="M:NtApiDotNet.NtMutant.QueryInformation(NtApiDotNet.MutantInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Int32@)">
            <summary>
            Method to query information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to return data in.</param>
            <param name="return_length">Return length from the query.</param>
            <returns>The NT status code for the query.</returns>
        </member>
        <member name="P:NtApiDotNet.NtMutant.Owner">
            <summary>
            Get the owner of the mutant.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtMutant.CurrentCount">
            <summary>
            Get current count.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtMutant.OwnedByCaller">
            <summary>
            Get wether mutant owned by current thread.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtMutant.AbandonedState">
            <summary>
            Get whether mutant is abandoned.
            </summary>
        </member>
        <member name="T:NtApiDotNet.PipeAttributeType">
            <summary>
            Pipe attribute type.
            </summary>
        </member>
        <member name="F:NtApiDotNet.PipeAttributeType.Pipe">
            <summary>
            The pipe attributes.
            </summary>
        </member>
        <member name="F:NtApiDotNet.PipeAttributeType.Connection">
            <summary>
            The pipe connect attributes.
            </summary>
        </member>
        <member name="F:NtApiDotNet.PipeAttributeType.Handle">
            <summary>
            The pipe handle attributes.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtNamedPipeFileBase">
            <summary>
            Class to add additional methods to a file for a named pipe. This is a base class for server and client types.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFileBase.GetAttribute(NtApiDotNet.PipeAttributeType,System.String,System.Boolean)">
            <summary>
            Get a named attribute from the pipe.
            </summary>
            <param name="attribute_type">The attribute type to query.</param>
            <param name="name">The name of the attribute.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The attribute value as a byte array.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFileBase.SetAttribute(NtApiDotNet.PipeAttributeType,System.String,System.Byte[],System.Boolean)">
            <summary>
            Set a named attribute for a pipe.
            </summary>
            <param name="attribute_type">The attribute type to set.</param>
            <param name="name">The name of the attribute.</param>
            <param name="value">The value to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The status code for the attribute.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFileBase.SetAttribute(NtApiDotNet.PipeAttributeType,System.String,System.Byte[])">
            <summary>
            Set a named attribute for a pipe.
            </summary>
            <param name="attribute_type">The attribute type to set.</param>
            <param name="name">The name of the attribute.</param>
            <param name="value">The value to set.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFileBase.SetAttribute(NtApiDotNet.PipeAttributeType,System.String,System.Int32,System.Boolean)">
            <summary>
            Set a named attribute for a pipe.
            </summary>
            <param name="attribute_type">The attribute type to set.</param>
            <param name="name">The name of the attribute.</param>
            <param name="value">The value to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The status code for the attribute.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFileBase.SetAttribute(NtApiDotNet.PipeAttributeType,System.String,System.Int32)">
            <summary>
            Set a named attribute for a pipe.
            </summary>
            <param name="attribute_type">The attribute type to set.</param>
            <param name="name">The name of the attribute.</param>
            <param name="value">The value to set.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFileBase.SetAttribute(NtApiDotNet.PipeAttributeType,System.String,System.String,System.Boolean)">
            <summary>
            Set a named attribute for a pipe.
            </summary>
            <param name="attribute_type">The attribute type to set.</param>
            <param name="name">The name of the attribute.</param>
            <param name="value">The value to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The status code for the attribute.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFileBase.SetAttribute(NtApiDotNet.PipeAttributeType,System.String,System.String)">
            <summary>
            Set a named attribute for a pipe.
            </summary>
            <param name="attribute_type">The attribute type to set.</param>
            <param name="name">The name of the attribute.</param>
            <param name="value">The value to set.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFileBase.GetAttribute(NtApiDotNet.PipeAttributeType,System.String)">
            <summary>
            Get a named attribute from the pipe.
            </summary>
            <param name="attribute_type">The attribute type to query.</param>
            <param name="name">The name of the attribute.</param>
            <returns>The attribute value as a byte array.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFileBase.GetAttributeInt(NtApiDotNet.PipeAttributeType,System.String,System.Boolean)">
            <summary>
            Get a named attribute from the pipe as an integer.
            </summary>
            <param name="attribute_type">The attribute type to query.</param>
            <param name="name">The name of the attribute.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The attribute value as an integer.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFileBase.GetAttributeInt(NtApiDotNet.PipeAttributeType,System.String)">
            <summary>
            Get a named attribute from the pipe as an integer.
            </summary>
            <param name="attribute_type">The attribute type to query.</param>
            <param name="name">The name of the attribute.</param>
            <returns>The attribute value as an integer.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFileBase.GetAttributeString(NtApiDotNet.PipeAttributeType,System.String,System.Boolean)">
            <summary>
            Get a named attribute from the pipe as an integer.
            </summary>
            <param name="attribute_type">The attribute type to query.</param>
            <param name="name">The name of the attribute.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The attribute value as an integer.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFileBase.GetAttributeString(NtApiDotNet.PipeAttributeType,System.String)">
            <summary>
            Get a named attribute from the pipe as an integer.
            </summary>
            <param name="attribute_type">The attribute type to query.</param>
            <param name="name">The name of the attribute.</param>
            <returns>The attribute value as an integer.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFileBase.Transceive(System.Byte[],System.Int32,System.Boolean)">
            <summary>
            Send and receive a message in one call.
            </summary>
            <param name="input_buffer">The input buffer to send.</param>
            <param name="max_output">The maximum output size.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The received buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFileBase.Transceive(System.Byte[],System.Int32)">
            <summary>
            Send and receive a message in one call.
            </summary>
            <param name="input_buffer">The input buffer to send.</param>
            <param name="max_output">The maximum output size.</param>
            <returns>The received buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFileBase.TransceiveAsync(System.Byte[],System.Int32,System.Boolean)">
            <summary>
            Send and receive a message in one call.
            </summary>
            <param name="input_buffer">The input buffer to send.</param>
            <param name="max_output">The maximum output size.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The received buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFileBase.TransceiveAsync(System.Byte[],System.Int32)">
            <summary>
            Send and receive a message in one call.
            </summary>
            <param name="input_buffer">The input buffer to send.</param>
            <param name="max_output">The maximum output size.</param>
            <returns>The received buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFileBase.SetPipeInformation(NtApiDotNet.NamedPipeReadMode,NtApiDotNet.NamedPipeCompletionMode,System.Boolean)">
            <summary>
            Set pipe information flags.
            </summary>
            <param name="read_mode">The read mode to set.</param>
            <param name="completion_mode">The completion mode.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFileBase.SetPipeInformation(NtApiDotNet.NamedPipeReadMode,NtApiDotNet.NamedPipeCompletionMode)">
            <summary>
            Set pipe information flags.
            </summary>
            <param name="read_mode">The read mode to set.</param>
            <param name="completion_mode">The completion mode.</param>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFileBase.QueryObject(NtApiDotNet.FileInformationClass,System.Boolean)">
            <summary>
            Query the information class as an object.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The information class as an object.</returns>
        </member>
        <member name="P:NtApiDotNet.NtNamedPipeFileBase.CompletionMode">
            <summary>
            Pipe completion mode.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtNamedPipeFileBase.ReadMode">
            <summary>
            Pipe read mode.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtNamedPipeFileBase.PipeType">
            <summary>
            Pipe type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtNamedPipeFileBase.Configuration">
            <summary>
            Pipe configuration.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtNamedPipeFileBase.MaximumInstances">
            <summary>
            Maximum instances of the pipe, -1 is unlimited.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtNamedPipeFileBase.CurrentInstances">
            <summary>
            Current pipe instances.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtNamedPipeFileBase.InboundQuota">
            <summary>
            Inbound quota.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtNamedPipeFileBase.ReadDataAvailable">
            <summary>
            Available bytes to read.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtNamedPipeFileBase.OutboundQuota">
            <summary>
            Outbound quota.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtNamedPipeFileBase.WriteQuotaAvailable">
            <summary>
            Available outbound quota.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtNamedPipeFileBase.ConnectState">
            <summary>
            Connect state of the named pipe.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtNamedPipeFileBase.EndPointType">
            <summary>
            Type of pipe endpoint.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtNamedPipeFile">
            <summary>
            Class to add additional methods to a file for a named pipe server.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFile.Listen">
            <summary>
            Listen for a new connection to this named pipe server.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFile.ListenAsync(System.Threading.CancellationToken)">
            <summary>
            Listen for a new connection to this named pipe server asynchronously.
            </summary>
            <param name="token">An optional cancellation token.</param>
            <returns>The async task to complete.</returns>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFile.ListenAsync">
            <summary>
            Listen for a new connection to this named pipe server asynchronously.
            </summary>
            <returns>The async task to complete.</returns>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFile.Disconnect">
            <summary>
            Disconnect this named pipe server.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFile.DisconnectAsync(System.Threading.CancellationToken)">
            <summary>
            Disconnect this named pipe server asynchronously.
            </summary>
            <param name="token">An optional cancellation token.</param>
            <returns>The async task to complete.</returns>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFile.DisconnectAsync">
            <summary>
            Disconnect this named pipe server asynchronously.
            </summary>
            <returns>The async task to complete.</returns>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFile.Impersonate">
            <summary>
            Impersonate the client of the named pipe.
            </summary>
            <returns>The impersonation context. Dispose to revert to self.</returns>
        </member>
        <member name="P:NtApiDotNet.NtNamedPipeFile.ClientProcessId">
            <summary>
            Get client process ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtNamedPipeFile.ClientSessionId">
            <summary>
            Get client session ID. If this is 0 then the client is local, otherwise it's set by the SMB server.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtNamedPipeFile.ClientComputerName">
            <summary>
            Get client computer name.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFile.GetDefaultNamedPipeAcl">
            <summary>
            Get the default named pipe ACL for the current caller.
            </summary>
            <returns>The default named pipe ACL.</returns>
        </member>
        <member name="T:NtApiDotNet.NtNamedPipeFileClient">
            <summary>
            Class to add additional methods to a file for a named pipe client.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtNamedPipeFileClient.DisableImpersonation">
            <summary>
            Disables impersonation on a named pipe.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtNamedPipeFileClient.ServerProcessId">
            <summary>
            Get server process ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtNamedPipeFileClient.ServerSessionId">
            <summary>
            Get client session ID.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtNamedPipeFilePair">
            <summary>
            A pair of named pipes.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtNamedPipeFilePair.ReadPipe">
            <summary>
            Read pipe for the pair.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtNamedPipeFilePair.WritePipe">
            <summary>
            Write pipe for the pair.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtObject">
            <summary>
            Base class for all NtObject types we handle
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtObject.QueryBasicInformation(NtApiDotNet.SafeKernelObjectHandle)">
            <summary>
            Get the basic information for the object.
            </summary>
            <returns>The basic information</returns>
        </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,NtApiDotNet.SafeKernelObjectHandle,NtApiDotNet.NtProcess,NtApiDotNet.AccessMask,NtApiDotNet.AttributeFlags,NtApiDotNet.DuplicateObjectOptions,System.Boolean)">
            <summary>
            Duplicate the internal handle to a new handle.
            </summary>
            <param name="flags">Attribute flags for new handle</param>
            <param name="src_handle">The source handle to duplicate</param>
            <param name="src_process">The source process to duplicate from</param>
            <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>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.DuplicateHandle(NtApiDotNet.SafeKernelObjectHandle,NtApiDotNet.NtProcess,NtApiDotNet.AccessMask,NtApiDotNet.DuplicateObjectOptions)">
            <summary>
            Duplicate the internal handle to a new handle.
            </summary>
            <param name="src_handle">The source handle to duplicate</param>
            <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 duplicated handle.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.DuplicateHandle(NtApiDotNet.SafeKernelObjectHandle,NtApiDotNet.NtProcess)">
            <summary>
            Duplicate a handle from the current process to a new handle with the same access rights.
            </summary>
            <param name="src_handle">The source handle to duplicate</param>
            <param name="dest_process">The desination process for the handle</param>
            <returns>The duplicated handle.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.DuplicateHandle(NtApiDotNet.SafeKernelObjectHandle)">
            <summary>
            Duplicate a handle from and to the current process to a new handle with the same access rights.
            </summary>
            <param name="src_handle">The source handle to duplicate</param>
            <returns>The duplicated handle.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.DuplicateHandle(NtApiDotNet.SafeKernelObjectHandle,System.Boolean)">
            <summary>
            Duplicate a handle from and to the current process to a new handle with the same access rights.
            </summary>
            <param name="src_handle">The source handle to duplicate</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The duplicated handle.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.DuplicateHandle(NtApiDotNet.SafeKernelObjectHandle,NtApiDotNet.AccessMask)">
            <summary>
            Duplicate a handle from and to the current process to a new handle with new access rights.
            </summary>
            <param name="src_handle">The source handle to duplicate</param>
            <param name="access_rights">The access for the new handle.</param>
            <returns>The duplicated handle.</returns>
        </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>
        </member>
        <member name="M:NtApiDotNet.NtObject.OpenWithType(NtApiDotNet.NtType,NtApiDotNet.ObjectAttributes,NtApiDotNet.AccessMask,System.Boolean)">
            <summary>
            Open an NT object with a specified type.
            </summary>
            <param name="type">The type to open. If null the method will try and lookup the appropriate type.</param>
            <param name="object_attributes">Object attributes for object.</param>
            <param name="access">Generic access rights to the object.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened object.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred opening the object.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObject.OpenWithType(System.String,System.String,NtApiDotNet.NtObject,NtApiDotNet.AttributeFlags,NtApiDotNet.AccessMask,NtApiDotNet.SecurityQualityOfService,System.Boolean)">
            <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>
            <param name="attributes">Attributes to open the object.</param>
            <param name="security_quality_of_service">Security quality of service.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened object.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred opening the object.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObject.OpenWithType(System.String,System.String,NtApiDotNet.NtObject,NtApiDotNet.AttributeFlags,NtApiDotNet.AccessMask,NtApiDotNet.SecurityQualityOfService)">
            <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>
            <param name="attributes">Attributes to open the object.</param>
            <param name="security_quality_of_service">Security quality of service.</param>
            <returns>The opened object.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred opening the object.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObject.OpenWithType(System.String,System.String,NtApiDotNet.NtObject,NtApiDotNet.AccessMask)">
            <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="M:NtApiDotNet.NtObject.CloseHandle(NtApiDotNet.NtProcess,System.IntPtr,System.Boolean)">
            <summary>
            Close a handle in another process.
            </summary>
            <param name="handle">The source handle to close.</param>
            <param name="process">The source process containing the handle to close.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.CloseHandle(NtApiDotNet.NtProcess,System.IntPtr)">
            <summary>
            Close a handle in another process.
            </summary>
            <param name="handle">The source handle to close.</param>
            <param name="process">The source process containing the handle to close.</param>
        </member>
        <member name="M:NtApiDotNet.NtObject.CloseHandle(System.Int32,System.IntPtr,System.Boolean)">
            <summary>
            Close a handle in another process by PID.
            </summary>
            <param name="handle">The source handle to close.</param>
            <param name="pid">The source process ID containing the handle to close.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.CloseHandle(System.Int32,System.IntPtr)">
            <summary>
            Close a handle in another process by PID.
            </summary>
            <param name="handle">The source handle to close.</param>
            <param name="pid">The source process ID containing the handle to close.</param>
        </member>
        <member name="M:NtApiDotNet.NtObject.CloseHandle(System.IntPtr)">
            <summary>
            Close a handle.
            </summary>
            <param name="handle">The handle to close.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.CloseHandle(NtApiDotNet.SafeKernelObjectHandle)">
            <summary>
            Close a handle.
            </summary>
            <param name="handle">The handle to close.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.DuplicateHandle(NtApiDotNet.NtProcess,System.IntPtr,NtApiDotNet.NtProcess,NtApiDotNet.AccessMask,NtApiDotNet.AttributeFlags,NtApiDotNet.DuplicateObjectOptions,System.Boolean)">
            <summary>
            Duplicate a handle to a new handle, potentially in a different process.
            </summary>
            <param name="flags">Attribute flags for new handle</param>
            <param name="src_handle">The source handle to duplicate</param>
            <param name="src_process">The source process to duplicate from</param>
            <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>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.DuplicateHandle(NtApiDotNet.NtProcess,System.IntPtr,NtApiDotNet.NtProcess,NtApiDotNet.AccessMask,NtApiDotNet.AttributeFlags,NtApiDotNet.DuplicateObjectOptions)">
            <summary>
            Duplicate a handle to a new handle, potentially in a different process.
            </summary>
            <param name="flags">Attribute flags for new handle</param>
            <param name="src_handle">The source handle to duplicate</param>
            <param name="src_process">The source process to duplicate from</param>
            <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 NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.DuplicateObject(NtApiDotNet.AccessMask,NtApiDotNet.AttributeFlags,NtApiDotNet.DuplicateObjectOptions,System.Boolean)">
            <summary>
            Duplicate object.
            </summary>
            <param name="access_rights">Access rights to duplicate with.</param>
            <param name="flags">Attribute flags.</param>
            <param name="options">Duplicate options</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The duplicated object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.DuplicateObject(NtApiDotNet.AccessMask,NtApiDotNet.AttributeFlags,NtApiDotNet.DuplicateObjectOptions)">
            <summary>
            Duplicate object.
            </summary>
            <param name="access_rights">Access rights to duplicate with.</param>
            <param name="flags">Attribute flags.</param>
            <param name="options">Duplicate options</param>
            <returns>The duplicated object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.DuplicateObject(NtApiDotNet.AccessMask)">
            <summary>
            Duplicate object with specific access rights.
            </summary>
            <param name="access_rights">Access rights to duplicate with.</param>
            <returns>The duplicated object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.DuplicateObject">
            <summary>
            Duplicate object with same access rights.
            </summary>
            <returns>The duplicated object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.DuplicateAsWaitHandle">
            <summary>
            Duplicate the object handle as a WaitHandle.
            </summary>
            <returns>The wait handle.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.IsAccessMaskGranted(NtApiDotNet.AccessMask)">
            <summary>
            Check if access is granted to a set of rights
            </summary>
            <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(NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Get security descriptor as a byte array
            </summary>
            <param name="security_information">What parts of the security descriptor to retrieve</param>
            <param name="throw_on_error">True to throw on error.</param>
            <return>The NT status result and security descriptor.</return>
        </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,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw on error.</param>
            <return>The NT status result.</return>
        </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.SetSecurityDescriptor(NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityInformation,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </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="M:NtApiDotNet.NtObject.GetSecurityDescriptor(NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Get the security descriptor specifying which parts to retrieve
            </summary>
            <param name="security_information">What parts of the security descriptor to retrieve</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The security descriptor</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.GetSddl">
            <summary>
            Get the security descriptor as an SDDL string
            </summary>
            <returns>The security descriptor as an SDDL string</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.MakeTemporary(System.Boolean)">
            <summary>
            Make the object a temporary object
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.MakeTemporary">
            <summary>
            Make the object a temporary object
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtObject.MakePermanent(System.Boolean)">
            <summary>
            Make the object a permanent object
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </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 signaled
            </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 signaled
            </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 signaled
            </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 signaled
            </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 signaled 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.WaitAsync(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Wait on the object to become signaled.
            </summary>
            <param name="timeout_sec">Timeout in seconds.</param>
            <param name="cancellation_token">Cancellation token for wait.</param>
            <returns>A task to wait on. If result is true then event was signaled.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.WaitAsync(System.Int32)">
            <summary>
            Wait on the object to become signaled.
            </summary>
            <param name="timeout_sec">Timeout in seconds.</param>
            <returns>A task to wait on. If result is true then event was signaled.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.WaitAsync">
            <summary>
            Wait on the object to become signaled.
            Will wait an infinite time.
            </summary>
            <returns>A task to wait on.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.GrantedAccessAsString(System.Boolean)">
            <summary>
            Convert an enumerable access rights to a string
            </summary>
            <param name="map_to_generic">True to try and convert to generic rights where possible.</param>
            <returns>The string format of the access rights</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.GrantedAccessAsString">
            <summary>
            Convert an enumerable access rights to a string
            </summary>
            <returns>The string format of the access rights</returns>
        </member>
        <member name="M:NtApiDotNet.NtObject.CompareObject(NtApiDotNet.NtObject)">
            <summary>
            Check if this object is exactly the same as another using NtCompareObject.
            </summary>
            <param name="obj">The object to compare against.</param>
            <returns>True if this is the same object.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <remarks>This is only supported on Windows 10 and above. For one which works on everything use SameObject.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtObject.SameObject(NtApiDotNet.NtObject)">
            <summary>
            Check if this object is exactly the same as another.
            </summary>
            <param name="obj">The object to compare against.</param>
            <returns>True if this is the same object.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <remarks>This function can be slow to run and unreliable. Use CompareObject is Windows 10 or above.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtObject.ToString">
            <summary>
            Convert to a string
            </summary>
            <returns>The string form of the object</returns>
        </member>
        <member name="P:NtApiDotNet.NtObject.FullPath">
            <summary>
            Get full path to the object
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtObject.GrantedAccessMask">
            <summary>
            Get the granted access as an unsigned integer
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtObject.SecurityDescriptor">
            <summary>
            Get the security descriptor, with Dacl, Owner, Group and Label
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtObject.Sddl">
            <summary>
            Get the security descriptor as an SDDL string
            </summary>
            <returns>The security descriptor as an SDDL string</returns>
        </member>
        <member name="P:NtApiDotNet.NtObject.Handle">
            <summary>
            The low-level handle to the object.
            </summary>
        </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="P:NtApiDotNet.NtObject.Name">
            <summary>
            Get the name of the object
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtObject.CanSynchronize">
            <summary>
            Indicates if the handle can be used for synchronization.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtObject.CreationTime">
            <summary>
            Get object creation time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtObject.AttributesFlags">
            <summary>
            Get the attribute flags for the object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtObject.HandleReferenceCount">
            <summary>
            Get number of handles for this object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtObject.PointerReferenceCount">
            <summary>
            Get reference count for this object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtObject.Inherit">
            <summary>
            Get or set whether the handle is inheritable.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtObject.ProtectFromClose">
            <summary>
            Get or set whether the handle is protected from closing.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtObject.Address">
            <summary>
            Get the object's address is kernel memory.
            </summary>
            <remarks>As getting the address is expensive you need to pass the object to NtSystemInfo::ResolveObjectAddress to intialize.</remarks>
        </member>
        <member name="P:NtApiDotNet.NtObject.IsContainer">
            <summary>
            Returns whether this object is a container.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtObject.IsClosed">
            <summary>
            Returns whether this object is closed.
            </summary>
        </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.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="F:NtApiDotNet.DuplicateObjectOptions.NoRightsUpgrade">
            <summary>
            Prevent duplicating handle above the existing access.
            </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.Runtime.InteropServices.SafeBuffer,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.ObjectTypeInformation">
            <summary>
            Native structure used for getting type information.
            </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 error
            </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.ToNtException(NtApiDotNet.NtStatus,System.Boolean)">
            <summary>
            Convert an NtStatus to an exception if the status is an error and throw_on_error is true.
            </summary>
            <param name="status">The NtStatus</param>
            <param name="throw_on_error">True to throw an exception onerror.</param>
            <returns>The original NtStatus if not thrown</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if status is an error and throw_on_error is true.</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>
        <member name="M:NtApiDotNet.NtObjectUtils.IsError(NtApiDotNet.NtStatus)">
            <summary>
            Checks if the NtStatus value is an error.
            </summary>
            <param name="status">The NtStatus value</param>
            <returns>True if an error.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.GetSeverity(NtApiDotNet.NtStatus)">
            <summary>
            Get the severity of the NTSTATUS.
            </summary>
            <param name="status">The NtStatus value</param>
            <returns>The severity.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.GetFacility(NtApiDotNet.NtStatus)">
            <summary>
            Get the facility of the NTSTATUS.
            </summary>
            <param name="status">The NtStatus value</param>
            <returns>The facility.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.GetStatusCode(NtApiDotNet.NtStatus)">
            <summary>
            Get the status code of the NTSTATUS.
            </summary>
            <param name="status">The NtStatus value.</param>
            <returns>The static code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.IsCustomerCode(NtApiDotNet.NtStatus)">
            <summary>
            Is an NTSTATUS a customer code.
            </summary>
            <param name="status">The NtStatus value</param>
            <returns>True if is a customer code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.IsReserved(NtApiDotNet.NtStatus)">
            <summary>
            Is an NTSTATUS reserved.
            </summary>
            <param name="status">The NtStatus value</param>
            <returns>True if reserved.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.BuildStatus(NtApiDotNet.NtStatusSeverity,System.Boolean,System.Boolean,NtApiDotNet.NtStatusFacility,System.Int32)">
            <summary>
            Build a status from it's component parts.
            </summary>
            <param name="severity">The severity of the status code.</param>
            <param name="is_customer_code">Is this a customer code?</param>
            <param name="is_reserved">Is this a reserved code?</param>
            <param name="facility">The facility.</param>
            <param name="code">The status code.</param>
            <returns></returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.GetNtStatusMessage(NtApiDotNet.NtStatus)">
            <summary>
            Convert an NTSTATUS to a message description.
            </summary>
            <param name="status">The status to convert.</param>
            <returns>The message description, or an empty string if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.ConvertIntToNtStatus(System.Int32)">
            <summary>
            Convert an integer to an NtStatus code.
            </summary>
            <param name="status">The integer status.</param>
            <returns>The converted code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.GrantedAccessAsString(NtApiDotNet.AccessMask,NtApiDotNet.GenericMapping,System.Type,System.Boolean)">
            <summary>
            Convert an enumerable access rights to a string
            </summary>
            <param name="granted_access">The granted access mask.</param>
            <param name="generic_mapping">Generic mapping for object type.</param>
            <param name="enum_type">Enum type to convert to string.</param>
            <param name="map_to_generic">True to try and convert to generic rights where possible.</param>
            <returns>The string format of the access rights</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.ToDisposableList``1(System.Collections.Generic.IEnumerable{``0})">
            <summary>
            Convert an IEnumerable to a Disposable List.
            </summary>
            <typeparam name="T"></typeparam>
            <param name="list"></param>
            <returns></returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.RunAndDispose``2(NtApiDotNet.NtResult{``0},System.Func{``0,``1},``1)">
            <summary>
            Run a function on an NtResult and dispose the result afterwards.
            </summary>
            <typeparam name="T">The underlying result type.</typeparam>
            <typeparam name="S">The result of the function.</typeparam>
            <param name="result">The result.</param>
            <param name="func">The function to call.</param>
            <param name="default_value">The default value to return if an error occurred.</param>
            <returns>The result of func.</returns>
            <remarks>If result is not a success then the function is not called.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.RunAndDispose``2(NtApiDotNet.NtResult{``0},System.Func{``0,``1})">
            <summary>
            Run a function on an NtResult and dispose the result afterwards.
            </summary>
            <typeparam name="T">The underlying result type.</typeparam>
            <typeparam name="S">The result of the function.</typeparam>
            <param name="result">The result.</param>
            <param name="func">The function to call.</param>
            <returns>The result of func.</returns>
            <remarks>If result is not a success then the function is not called.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.RunAndDispose``1(NtApiDotNet.NtResult{``0},System.Action{``0})">
            <summary>
            Run an action on an NtResult and dispose the result afterwards.
            </summary>
            <typeparam name="T">The underlying result type.</typeparam>
            <param name="result">The result.</param>
            <param name="action">The action to call.</param>
            <remarks>If result is not a success then the action is not called.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.RunAndDispose``2(``0,System.Func{``0,``1})">
            <summary>
            Run a function on an NtResult and dispose the result afterwards.
            </summary>
            <typeparam name="T">The underlying result type.</typeparam>
            <typeparam name="S">The result of the function.</typeparam>
            <param name="result">The result.</param>
            <param name="func">The function to call.</param>
            <returns>The result of func.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.RunAndDispose``1(``0,System.Action{``0})">
            <summary>
            Run an action on an NtResult and dispose the result afterwards.
            </summary>
            <typeparam name="T">The underlying result type.</typeparam>
            <param name="result">The result.</param>
            <param name="action">The action to call.</param>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.FromHandle(NtApiDotNet.SafeKernelObjectHandle)">
            <summary>
            Convert a handle to a known object type.
            </summary>
            <param name="handle">The handle.</param>
            <returns>The object type.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.FromHandle(System.IntPtr,System.Boolean)">
            <summary>
            Convert a handle to a known object type.
            </summary>
            <param name="handle">The handle.</param>
            <param name="owns_handle">True to own the handle.</param>
            <returns>The object type.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.FromHandle(System.Int32,System.Boolean)">
            <summary>
            Convert a handle to a known object type.
            </summary>
            <param name="handle">The handle.</param>
            <param name="owns_handle">True to own the handle.</param>
            <returns>The object type.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.MapDosErrorToStatus(NtApiDotNet.Win32.Win32Error)">
            <summary>
            Map a DOS error to an NT status code.
            </summary>
            <param name="dos_error">The DOS error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.MapNtStatusToDosError(NtApiDotNet.NtStatus)">
            <summary>
            Map a status to a DOS error code. Takes into account NTWIN32
            status codes.
            </summary>
            <param name="status">The status code.</param>
            <returns>The mapped DOS error.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.GetLastNtStatus">
            <summary>
            Get the last NT status code in this thread set for Win32 last error.
            </summary>
            <returns>The last NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.CreateResult``1(NtApiDotNet.NtStatus,System.Boolean,System.Func{``0})">
            <summary>
            Create an NT result object. If status is successful then call function otherwise use default value.
            </summary>
            <typeparam name="T">The result type.</typeparam>
            <param name="status">The associated status code.</param>
            <param name="throw_on_error">Throw an exception on error.</param>
            <param name="create_func">Function to call to create an instance of the result</param>
            <returns>The created result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.CreateResult``1(``0)">
            <summary>
            Create a successful NT result object.
            </summary>
            <typeparam name="T">The result type.</typeparam>
            <param name="result">The result value.</param>
            <returns>The created result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.CreateResult``1(NtApiDotNet.NtStatus,System.Boolean,System.Func{NtApiDotNet.NtStatus,``0},System.Action{NtApiDotNet.NtStatus})">
            <summary>
            Create an NT result object. If status is successful then call function otherwise use default value.
            </summary>
            <typeparam name="T">The result type.</typeparam>
            <param name="status">The associated status code.</param>
            <param name="throw_on_error">Throw an exception on error.</param>
            <param name="create_func">Function to call to create an instance of the result</param>
            <param name="error_func">Function to call on error.</param>
            <returns>The created result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectUtils.CreateResult``1(NtApiDotNet.NtStatus,System.Boolean,System.Func{NtApiDotNet.NtStatus,``0})">
            <summary>
            Create an NT result object. If status is successful then call function otherwise use default value.
            </summary>
            <typeparam name="T">The result type.</typeparam>
            <param name="status">The associated status code.</param>
            <param name="throw_on_error">Throw an exception on error.</param>
            <param name="create_func">Function to call to create an instance of the result</param>
            <returns>The created result.</returns>
        </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.ReOpen(`1,NtApiDotNet.AttributeFlags,System.Boolean)">
            <summary>
            Reopen object with different access rights.
            </summary>
            <param name="desired_access">The desired access.</param>
            <param name="attributes">Additional attributes for open.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The reopened object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.ReOpen(`1,System.Boolean)">
            <summary>
            Reopen object with different access rights.
            </summary>
            <param name="desired_access">The desired access.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The reopened object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.ReOpen(`1)">
            <summary>
            Reopen object with different access rights.
            </summary>
            <param name="desired_access">The desired access.</param>
            <returns>The reopened object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateObject(NtApiDotNet.AccessMask,NtApiDotNet.AttributeFlags,NtApiDotNet.DuplicateObjectOptions,System.Boolean)">
            <summary>
            Duplicate object.
            </summary>
            <param name="access_rights">Access rights to duplicate with.</param>
            <param name="flags">Attribute flags.</param>
            <param name="options">Duplicate options</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The duplicated object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.Duplicate(`1,NtApiDotNet.AttributeFlags,NtApiDotNet.DuplicateObjectOptions,System.Boolean)">
            <summary>
            Duplicate object.
            </summary>
            <param name="access_rights">Access rights to duplicate with.</param>
            <param name="flags">Attribute flags.</param>
            <param name="options">Duplicate options</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The duplicated object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.Duplicate(`1,NtApiDotNet.AttributeFlags,NtApiDotNet.DuplicateObjectOptions)">
            <summary>
            Duplicate object.
            </summary>
            <param name="access_rights">Access rights to duplicate with.</param>
            <param name="flags">Attribute flags.</param>
            <param name="options">Duplicate options</param>
            <returns>The duplicated object.</returns>
        </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(`1,System.Boolean)">
            <summary>
            Duplicate the object with specific access rights
            </summary>
            <param name="access">The access rights for the new handle</param>
            <param name="throw_on_error">True to throw an exception on error.</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="M:NtApiDotNet.NtObjectWithDuplicate`2.Duplicate(System.Boolean)">
            <summary>
            Duplicate the object with same access rights
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <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.GrantedAccessGeneric">
            <summary>
            Get generic granted access for handle.
            </summary>
            <returns>Generic Granted access</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.GetMaximumAccess(NtApiDotNet.NtToken)">
            <summary>
            Get the maximum permission access for this object based on a token
            and it's security descriptor.
            </summary>
            <param name="token">The token to check against.</param>
            <returns>Returns 0 if can't read the security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.GetMaximumAccess">
            <summary>
            Get the maximum permission access for this object based on the current token
            and its security descriptor.
            </summary>
            <returns>Returns 0 if can't read the security descriptor.</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.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.FromHandle(System.IntPtr,System.Boolean)">
            <summary>
            Create a new instance from a kernel handle
            </summary>
            <param name="handle">The kernel handle</param>
            <param name="owns_handle">True to own the handle.</param>
            <returns>The new typed instance</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.FromHandle(System.IntPtr)">
            <summary>
            Create a new instance from a kernel handle.
            </summary>
            <param name="handle">The kernel handle</param>
            <remarks>The call doesn't own the handle. The returned object can't be used to close the handle.</remarks>
            <returns>The new typed instance</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateFrom(NtApiDotNet.NtProcess,System.IntPtr,`1,NtApiDotNet.AttributeFlags,NtApiDotNet.DuplicateObjectOptions,System.Boolean)">
            <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>
            <param name="options">The options for duplication.</param>
            <param name="attributes">The attribute flags for the new object.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateFrom(NtApiDotNet.NtProcess,System.IntPtr,`1,NtApiDotNet.AttributeFlags,NtApiDotNet.DuplicateObjectOptions)">
            <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>
            <param name="options">The options for duplication.</param>
            <param name="attributes">The attribute flags for the new object.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateFrom(NtApiDotNet.NtProcess,System.IntPtr,`1,NtApiDotNet.DuplicateObjectOptions,System.Boolean)">
            <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>
            <param name="options">The options for duplication.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateFrom(System.Int32,System.IntPtr,`1,NtApiDotNet.DuplicateObjectOptions,System.Boolean)">
            <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>
            <param name="options">The options for duplication.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateFrom(NtApiDotNet.NtProcess,System.IntPtr,`1)">
            <summary>
            Duplicate an instance from a process with a specified access rights.
            </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.</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 object.</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="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateTo(NtApiDotNet.NtProcess,`1,NtApiDotNet.DuplicateObjectOptions,System.Boolean)">
            <summary>
            Duplicate an instance from current process to an other process
            </summary>
            <param name="process">The destination process (with DupHandle access)</param>
            <param name="access">The access rights to duplicate with</param>
            <param name="options">The options for duplication.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateTo(NtApiDotNet.NtProcess,NtApiDotNet.SafeKernelObjectHandle,`1,NtApiDotNet.DuplicateObjectOptions,System.Boolean)">
            <summary>
            Duplicate an instance from current process to an other process
            </summary>
            <param name="process">The destination process (with DupHandle access)</param>
            <param name="handle">The handle value to duplicate</param>
            <param name="access">The access rights to duplicate with</param>
            <param name="options">The options for duplication.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateTo(System.Int32,NtApiDotNet.SafeKernelObjectHandle,`1,NtApiDotNet.DuplicateObjectOptions,System.Boolean)">
            <summary>
            Duplicate an instance from current process to an other process
            </summary>
            <param name="pid">The destination process ID</param>
            <param name="handle">The handle value to duplicate</param>
            <param name="access">The access rights to duplicate with</param>
            <param name="options">The options for duplication.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateTo(NtApiDotNet.NtProcess,NtApiDotNet.SafeKernelObjectHandle,`1)">
            <summary>
            Duplicate an instance from current process to an other process with a specified access rights.
            </summary>
            <param name="process">The destination process (with DupHandle access)</param>
            <param name="handle">The handle value to duplicate</param>
            <param name="access">The access rights to duplicate.</param>
            <returns>The duplicated handle</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateTo(System.Int32,NtApiDotNet.SafeKernelObjectHandle,`1)">
            <summary>
            Duplicate an instance from current process to an other process
            </summary>
            <param name="pid">The destination 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.DuplicateTo(NtApiDotNet.NtProcess,NtApiDotNet.SafeKernelObjectHandle)">
            <summary>
            Duplicate an instance from current process to an other process with same access rights.
            </summary>
            <param name="process">The destination process (with DupHandle access)</param>
            <param name="handle">The handle value to duplicate</param>
            <returns>The duplicated object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateTo(NtApiDotNet.NtProcess)">
            <summary>
            Duplicate an instance from current process to an other process with same access rights.
            </summary>
            <param name="process">The destination process (with DupHandle access)</param>
            <returns>The duplicated object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateTo(System.Int32,NtApiDotNet.SafeKernelObjectHandle)">
            <summary>
            Duplicate an instance from current process to an other process with same access rights
            </summary>
            <param name="pid">The destination process ID</param>
            <param name="handle">The handle value to duplicate</param>
            <returns>The duplicated handle</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateTo(System.Int32)">
            <summary>
            Duplicate an instance from current process to an other process with same access rights
            </summary>
            <param name="pid">The destination process ID</param>
            <returns>The duplicated handle</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateTo(NtApiDotNet.NtProcess,System.IntPtr,NtApiDotNet.NtProcess,`1,NtApiDotNet.DuplicateObjectOptions,System.Boolean)">
            <summary>
            Duplicate an instance from a process to an other process
            </summary>
            <param name="src_process">The source process (with DupHandle access)</param>
            <param name="handle">The handle value to duplicate</param>
            <param name="dst_process">The destination process (with DupHandle access)</param>
            <param name="access">The access rights to duplicate with</param>
            <param name="options">The options for duplication.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateTo(System.Int32,System.IntPtr,System.Int32,`1,NtApiDotNet.DuplicateObjectOptions,System.Boolean)">
            <summary>
            Duplicate an instance from a process to an other process
            </summary>
            <param name="src_pid">The source process ID</param>
            <param name="handle">The handle value to duplicate</param>
            <param name="dst_pid">The destination process ID</param>
            <param name="access">The access rights to duplicate with</param>
            <param name="options">The options for duplication.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateTo(NtApiDotNet.NtProcess,System.IntPtr,NtApiDotNet.NtProcess,`1)">
            <summary>
            Duplicate an instance from a process to an other process with a specified access rights.
            </summary>
            <param name="src_process">The source process (with DupHandle access)</param>
            <param name="handle">The handle value to duplicate</param>
            <param name="dst_process">The destination process (with DupHandle access)</param>
            <param name="access">The access rights to duplicate.</param>
            <returns>The duplicated handle</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateTo(System.Int32,System.IntPtr,System.Int32,`1)">
            <summary>
            Duplicate an instance from a process to an other process
            </summary>
            <param name="src_pid">The source process ID</param>
            <param name="handle">The handle value to duplicate</param>
            <param name="dst_pid">The destination process ID</param>
            <param name="access">The access rights to duplicate with</param>
            <returns>The duplicated handle</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateTo(NtApiDotNet.NtProcess,System.IntPtr,NtApiDotNet.NtProcess)">
            <summary>
            Duplicate an instance from a process to an other process with same access rights.
            </summary>
            <param name="src_process">The source process (with DupHandle access)</param>
            <param name="handle">The handle value to duplicate</param>
            <param name="dst_process">The destination process (with DupHandle access)</param>
            <returns>The duplicated object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicate`2.DuplicateTo(System.Int32,System.IntPtr,System.Int32)">
            <summary>
            Duplicate an instance from a process to an other process with same access rights
            </summary>
            <param name="src_pid">The source process ID</param>
            <param name="handle">The handle value to duplicate</param>
            <param name="dst_pid">The destination process ID</param>
            <returns>The duplicated handle</returns>
        </member>
        <member name="T:NtApiDotNet.INtObjectQueryInformation">
            <summary>
            Interface to generically query an object.
            </summary>
        </member>
        <member name="T:NtApiDotNet.INtObjectSetInformation">
            <summary>
            Interface to generically set an object.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtObjectWithDuplicateAndInfo`4">
            <summary>
            A derived class to add some useful functions such as Duplicate as well as generic Query and Set information methods.
            </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>
            <typeparam name="Q">An enum which represents the information class for query.</typeparam>
            <typeparam name="S">An enum which represents the information class for set.</typeparam>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.Query``1(`2,``0,System.Boolean)">
            <summary>
            Query a fixed structure from the object.
            </summary>
            <typeparam name="T">The type of structure to return.</typeparam>
            <param name="info_class">The information class to query.</param>
            <param name="default_value">A default value for the query.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.Query``1(`2,``0)">
            <summary>
            Query a fixed structure from the object.
            </summary>
            <typeparam name="T">The type of structure to return.</typeparam>
            <param name="info_class">The information class to query.</param>
            <param name="default_value">A default value for the query.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.Query``1(`2)">
            <summary>
            Query a fixed structure from the object.
            </summary>
            <typeparam name="T">The type of structure to return.</typeparam>
            <param name="info_class">The information class to query.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.QueryEnum``2(`2)">
            <summary>
            Query an enumerated value from the object.
            </summary>
            <typeparam name="T">The type of enum to return.</typeparam>
            <typeparam name="U">The base type for the enumeration.</typeparam>
            <param name="info_class">The information class to query.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.QueryEnum``1(`2)">
            <summary>
            Query an enumerated value from the object.
            </summary>
            <typeparam name="T">The type of enum to return.</typeparam>
            <param name="info_class">The information class to query.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.QueryObject(`2,System.Boolean)">
            <summary>
            Query the information class as an object.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The information class as an object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.QueryObject(`2)">
            <summary>
            Query the information class as an object.
            </summary>
            <param name="info_class">The information class.</param>
            <returns>The information class as an object.</returns>
            <remarks>If the information class doesn't have an explicit object type a raw byte query will be made.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.QueryBuffer``1(`2,``0,System.Boolean)">
            <summary>
            Query a variable buffer from the object.
            </summary>
            <typeparam name="T">The type of structure to return.</typeparam>
            <param name="info_class">The information class to query.</param>
            <param name="default_value">A default value for the query.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.QueryRawBuffer(`2,System.Byte[],System.Boolean)">
            <summary>
            Query a variable buffer from the object.
            </summary>
            <param name="info_class">The information class to query.</param>
            <param name="init_buffer">A buffer to initialize the initial query. Can be null.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.QueryRawBuffer(`2,System.Byte[])">
            <summary>
            Query a variable buffer from the object.
            </summary>
            <param name="info_class">The information class to query.</param>
            <param name="init_buffer">A buffer to initialize the initial query. Can be null.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.QueryRawBuffer(`2)">
            <summary>
            Query a variable buffer from the object.
            </summary>
            <param name="info_class">The information class to query.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.QueryRawBytes(`2,System.Byte[],System.Boolean)">
            <summary>
            Query a variable buffer from the object and return as bytes.
            </summary>
            <param name="info_class">The information class to query.</param>
            <param name="init_buffer">A buffer to initialize the initial query. Can be null.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.QueryRawBytes(`2,System.Byte[])">
            <summary>
            Query a variable buffer from the object and return as bytes.
            </summary>
            <param name="info_class">The information class to query.</param>
            <param name="init_buffer">A buffer to initialize the initial query. Can be null.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.QueryRawBytes(`2)">
            <summary>
            Query a variable buffer from the object and return as bytes.
            </summary>
            <param name="info_class">The information class to query.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.QueryBuffer``1(`2,``0)">
            <summary>
            Query a variable buffer from the object.
            </summary>
            <typeparam name="T">The type of structure to return.</typeparam>
            <param name="info_class">The information class to query.</param>
            <param name="default_value">A default value for the query.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.QueryBuffer``1(`2)">
            <summary>
            Query a variable buffer from the object.
            </summary>
            <typeparam name="T">The type of structure to return.</typeparam>
            <param name="info_class">The information class to query.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.Set``1(`3,``0,System.Boolean)">
            <summary>
            Set a value to the object.
            </summary>
            <typeparam name="T">The type of structure to set.</typeparam>
            <param name="info_class">The information class to set.</param>
            <param name="value">The value to set. If you specify a SafeBuffer then it'll be passed directly.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code of the set.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.Set``1(`3,``0)">
            <summary>
            Set a value to the object.
            </summary>
            <typeparam name="T">The type of structure to set.</typeparam>
            <param name="info_class">The information class to set.</param>
            <param name="value">The value to set.</param>
            <returns>The NT status code of the set.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.SetBuffer(`3,System.Runtime.InteropServices.SafeBuffer,System.Boolean)">
            <summary>
            Set a value to the object from a buffer.
            </summary>
            <param name="info_class">The information class to set.</param>
            <param name="buffer">The value to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code of the set.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.SetBuffer(`3,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Set a value to the object from a buffer..
            </summary>
            <param name="info_class">The information class to set.</param>
            <param name="buffer">The value to set.</param>
            <returns>The NT status code of the set.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.SetBytes(`3,System.Byte[],System.Boolean)">
            <summary>
            Set a raw value to the object.
            </summary>
            <param name="info_class">The information class to set.</param>
            <param name="value">The raw value to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code of the set.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.SetBytes(`3,System.Byte[])">
            <summary>
            Set a raw value to the object.
            </summary>
            <param name="info_class">The information class to set.</param>
            <param name="value">The raw value to set.</param>
            <returns>The NT status code of the set.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.QueryInformation(`2,System.Runtime.InteropServices.SafeBuffer,System.Int32@)">
            <summary>
            Method to query information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to return data in.</param>
            <param name="return_length">Return length from the query.</param>
            <returns>The NT status code for the query.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.SetInformation(`3,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Method to set information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to set data from.</param>
            <returns>The NT status code for the set.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.GetMaximumBruteForceLength(`2)">
            <summary>
            Overriddable method to determine the maximum brute force length for query.
            </summary>
            <param name="info_class">Information class to key on if needs to return different sizes.</param>
            <returns>The maximum bytes to brute force. Returning 0 will disable brute force.</returns>
        </member>
        <member name="M:NtApiDotNet.NtObjectWithDuplicateAndInfo`4.GetTrustReturnLength(`2)">
            <summary>
            Overridable method to determine if the return length shouldn't be trusted for this info class when querying a variable buffer.
            </summary>
            <param name="info_class">Information class to key on.</param>
            <returns>True to trust the return length when querying a variable buffer.</returns>
        </member>
        <member name="T:NtApiDotNet.NtPartition">
            <summary>
            Class representing a NT Partition object
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtPartition.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.MemoryPartitionAccessRights,NtApiDotNet.NtPartition,System.Int32,System.Boolean)">
            <summary>
            Create a partition object
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="parent_partition">Optional parent parition.</param>
            <param name="desired_access">Desired access for the partition.</param>
            <param name="preferred_node">The preferred node, -1 for any node.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtPartition.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.MemoryPartitionAccessRights,NtApiDotNet.NtPartition,System.Int32)">
            <summary>
            Create a partition object
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="parent_partition">Optional parent parition.</param>
            <param name="desired_access">Desired access for the partition.</param>
            <param name="preferred_node">The preferred node, -1 for any node.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtPartition.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.MemoryPartitionAccessRights,System.Boolean)">
            <summary>
            Open a partition object
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the partition.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtPartition.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.MemoryPartitionAccessRights)">
            <summary>
            Open a partition object
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the partition.</param>
            <returns>The NT status code and object result.</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.GetProcesses(NtApiDotNet.ProcessAccessRights,System.Boolean)">
            <summary>
            Gets all accessible processes on the system.
            </summary>
            <param name="desired_access">The access desired for each process.</param>
            <param name="from_system_info">True to get processes from system information rather than NtGetNextProcess</param>
            <returns>The list of accessible processes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetSessionProcesses(System.Int32,NtApiDotNet.ProcessAccessRights)">
            <summary>
            Gets all accessible processes on the system in a particular session.
            </summary>
            <param name="session_id">The session ID.</param>
            <param name="desired_access">The access desired for each process.</param>
            <returns>The list of accessible processes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetSessionProcesses(NtApiDotNet.ProcessAccessRights)">
            <summary>
            Gets all accessible processes on the system in the current session session.
            </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.Open(System.Int32,System.Int32,NtApiDotNet.ProcessAccessRights,System.Boolean)">
            <summary>
            Open a process
            </summary>
            <param name="pid">The process ID to open</param>
            <param name="tid">Optional thread ID to verify the correct process is opened.</param>
            <param name="desired_access">The desired access for the handle</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.Open(System.Int32,NtApiDotNet.ProcessAccessRights,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </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.Open(System.Int32,System.Int32,NtApiDotNet.ProcessAccessRights)">
            <summary>
            Open a process
            </summary>
            <param name="pid">The process ID to open</param>
            <param name="tid">Optional thread ID to verify the correct process is opened.</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.ObjectAttributes,NtApiDotNet.ProcessAccessRights,NtApiDotNet.NtProcess,NtApiDotNet.ProcessCreateFlags,NtApiDotNet.NtSection,NtApiDotNet.NtDebug,NtApiDotNet.NtToken,System.Boolean)">
            <summary>
            Create a new process
            </summary>
            <param name="object_attributes">Optional object attributes.</param>
            <param name="desired_access">Desired access for the new process.</param>
            <param name="parent_process">The parent process</param>
            <param name="flags">Creation flags</param>
            <param name="section_handle">Handle to the executable image section</param>
            <param name="debug_port">Debug port for the new process.</param>
            <param name="token">Access token for the new process.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created process</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.CreateProcessEx(NtApiDotNet.ObjectAttributes,NtApiDotNet.ProcessAccessRights,NtApiDotNet.NtProcess,NtApiDotNet.ProcessCreateFlags,NtApiDotNet.NtSection,NtApiDotNet.NtDebug,NtApiDotNet.NtToken)">
            <summary>
            Create a new process
            </summary>
            <param name="desired_access">Desired access for the new process.</param>
            <param name="object_attributes">Optional object attributes.</param>
            <param name="parent_process">The parent process</param>
            <param name="flags">Creation flags</param>
            <param name="section_handle">Handle to the executable image section</param>
            <param name="debug_port">Debug port for the new process.</param>
            <param name="token">Access token for the new process.</param>
            <returns>The created process</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.CreateProcessEx(NtApiDotNet.NtProcess,NtApiDotNet.ProcessCreateFlags,NtApiDotNet.NtSection,NtApiDotNet.NtToken)">
            <summary>
            Create a new process
            </summary>
            <param name="parent_process">The parent process</param>
            <param name="flags">Creation flags</param>
            <param name="section_handle">Handle to the executable image section</param>
            <param name="token">Access token for the new process.</param>
            <returns>The created process</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.CreateProcessEx(NtApiDotNet.NtProcess,NtApiDotNet.ProcessCreateFlags,NtApiDotNet.NtSection)">
            <summary>
            Create a new process
            </summary>
            <param name="parent_process">The parent process</param>
            <param name="flags">Creation flags</param>
            <param name="section_handle">Handle to the executable image section</param>
            <returns>The created process</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.CreateProcessEx(NtApiDotNet.NtSection,NtApiDotNet.NtToken)">
            <summary>
            Create a new process
            </summary>
            <param name="section_handle">Handle to the executable image section</param>
            <param name="token">Access token for the new process.</param>
            <returns>The created process</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.CreateProcessEx(NtApiDotNet.NtSection)">
            <summary>
            Create a new process
            </summary>
            <param name="section_handle">Handle to the executable image section</param>
            <returns>The created process</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.ProcessAccessRights,NtApiDotNet.NtProcess,NtApiDotNet.ProcessCreateFlags,NtApiDotNet.NtSection,NtApiDotNet.NtDebug,NtApiDotNet.NtToken,System.Boolean)">
            <summary>
            Create a new process
            </summary>
            <param name="object_attributes">Optional object attributes.</param>
            <param name="desired_access">Desired access for the new process.</param>
            <param name="parent_process">The parent process</param>
            <param name="flags">Creation flags</param>
            <param name="section_handle">Handle to the executable image section</param>
            <param name="debug_port">Debug port for the new process.</param>
            <param name="token">Access token for the new process.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created process</returns>
            <remarks>This uses NtCreateProcessEx rather than NtCreateUserProcess</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.ProcessAccessRights,NtApiDotNet.NtProcess,NtApiDotNet.ProcessCreateFlags,NtApiDotNet.NtSection,NtApiDotNet.NtDebug,NtApiDotNet.NtToken)">
            <summary>
            Create a new process
            </summary>
            <param name="desired_access">Desired access for the new process.</param>
            <param name="object_attributes">Optional object attributes.</param>
            <param name="parent_process">The parent process</param>
            <param name="flags">Creation flags</param>
            <param name="section_handle">Handle to the executable image section</param>
            <param name="debug_port">Debug port for the new process.</param>
            <param name="token">Access token for the new process.</param>
            <returns>The created process</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.Create(NtApiDotNet.NtProcessCreateConfig,System.Boolean)">
            <summary>
            Create a new user process.
            </summary>
            <param name="config">The process configuration.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The result of the process creation</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.Create(NtApiDotNet.NtProcessCreateConfig)">
            <summary>
            Create a new user process.
            </summary>
            <param name="config">The process configuration.</param>
            <returns>The result of the process creation</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.Fork(NtApiDotNet.NtProcessCreateConfig,System.Boolean)">
            <summary>
            Fork a process.
            </summary>
            <param name="config">The process configuration.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The new forked process result</returns>
            <remarks>This uses NtCreateUserProcess.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.Fork(NtApiDotNet.NtProcessCreateConfig)">
            <summary>
            Fork a process.
            </summary>
            <param name="config">The process configuration.</param>
            <returns>The new forked process result</returns>
            <remarks>This uses NtCreateUserProcess.</remarks>
        </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="M:NtApiDotNet.NtProcess.TestProtectedAccess(NtApiDotNet.NtProcess,NtApiDotNet.NtProcess)">
            <summary>
            Test whether a process can access another protected process.
            </summary>
            <param name="current">The current process.</param>
            <param name="target">The target process.</param>
            <returns>True if the process can be accessed.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.ReOpen(NtApiDotNet.ProcessAccessRights,NtApiDotNet.AttributeFlags,System.Boolean)">
            <summary>
            Reopen object with different access rights.
            </summary>
            <param name="desired_access">The desired access.</param>
            <param name="attributes">Additional attributes for open.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The reopened object.</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.GetPreviousProcess(NtApiDotNet.ProcessAccessRights)">
            <summary>
            Get previous 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.GetPreviousProcess">
            <summary>
            Get previous accessible process (used in combination with GetFirstProcess)
            </summary>
            <returns>The accessible process, or null if one couldn't be opened.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetFirstThread(NtApiDotNet.ThreadAccessRights)">
            <summary>
            Get first accessible thread for process.
            </summary>
            <param name="desired_access">The desired access for the thread.</param>
            <returns>The first thread object, or null if not accessible threads.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetFirstThread">
            <summary>
            Get first accessible thread for process.
            </summary>
            <returns>The first thread object, or null if not accessible threads.</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="M:NtApiDotNet.NtProcess.GetPeb">
            <summary>
            Read a partial PEB from the process.
            </summary>
            <returns>The read PEB structure.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.Create(NtApiDotNet.ProcessCreateFlags,NtApiDotNet.NtSection)">
            <summary>
            Create a new process
            </summary>
            <param name="flags">Creation flags</param>
            <param name="section_handle">Handle to the executable image section</param>
            <returns>The created process</returns>
            <remarks>This uses NtCreateProcessEx rather than NtCreateUserProcess</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.ProcessAccessRights,NtApiDotNet.ProcessCreateFlags,NtApiDotNet.NtSection,NtApiDotNet.NtDebug,NtApiDotNet.NtToken,System.Boolean)">
            <summary>
            Create a new process
            </summary>
            <param name="object_attributes">Optional object attributes.</param>
            <param name="desired_access">Desired access for the new process.</param>
            <param name="flags">Creation flags</param>
            <param name="section_handle">Handle to the executable image section</param>
            <param name="debug_port">Debug port for the new process.</param>
            <param name="token">Access token for the new process.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created process</returns>
            <remarks>This uses NtCreateProcessEx rather than NtCreateUserProcess</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.ProcessAccessRights,NtApiDotNet.ProcessCreateFlags,NtApiDotNet.NtSection,NtApiDotNet.NtDebug,NtApiDotNet.NtToken)">
            <summary>
            Create a new process
            </summary>
            <param name="object_attributes">Optional object attributes.</param>
            <param name="desired_access">Desired access for the new process.</param>
            <param name="flags">Creation flags</param>
            <param name="section_handle">Handle to the executable image section</param>
            <param name="debug_port">Debug port for the new process.</param>
            <param name="token">Access token for the new process.</param>
            <returns>The created process</returns>
            <remarks>This uses NtCreateProcessEx rather than NtCreateUserProcess</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.Terminate(System.Int32)">
            <summary>
            Terminate the process
            </summary>
            <param name="exitcode">The exit code for the termination</param>
        </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.Terminate(NtApiDotNet.NtStatus,System.Boolean)">
            <summary>
            Terminate the process
            </summary>
            <param name="exitcode">The exit code for the termination</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetImageFilePath(System.Boolean,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>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The process image file path</returns>
        </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="M:NtApiDotNet.NtProcess.GetRawMitigationPolicy(NtApiDotNet.ProcessMitigationPolicy,System.Boolean)">
            <summary>
            Get a mitigation policy raw value
            </summary>
            <param name="policy">The policy to get</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The raw policy value</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetRawMitigationPolicy(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.GetMitigationPolicy(NtApiDotNet.ProcessMitigationPolicy,System.Boolean)">
            <summary>
            Get a mitigation policy as an enumeration.
            </summary>
            <param name="policy">The policy to get.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The mitigation policy value</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetMitigationPolicy(NtApiDotNet.ProcessMitigationPolicy)">
            <summary>
            Get a mitigation policy as an enumeration.
            </summary>
            <param name="policy">The policy to get.</param>
            <returns>The mitigation policy value</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetProcessMitigationPolicy(NtApiDotNet.ProcessMitigationPolicy,System.Boolean)">
            <summary>
            Get a mitigation policy raw value
            </summary>
            <param name="policy">The policy to get</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The raw policy value</returns>
        </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.SetRawMitigationPolicy(NtApiDotNet.ProcessMitigationPolicy,System.Int32,System.Boolean)">
            <summary>
            Set a mitigation policy raw value
            </summary>
            <param name="policy">The policy to set</param>
            <param name="value">The value to set</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.SetRawMitigationPolicy(NtApiDotNet.ProcessMitigationPolicy,System.Int32)">
            <summary>
            Set a mitigation policy raw value
            </summary>
            <param name="policy">The policy to set</param>
            <param name="value">The value to set</param>
        </member>
        <member name="M:NtApiDotNet.NtProcess.SetMitigationPolicy(NtApiDotNet.ProcessMitigationPolicy,System.Enum,System.Boolean)">
            <summary>
            Set a mitigation policy value from an enum.
            </summary>
            <param name="policy">The policy to set</param>
            <param name="value">The value to set</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.SetMitigationPolicy(NtApiDotNet.ProcessMitigationPolicy,System.Enum)">
            <summary>
            Set a mitigation policy value from an enum.
            </summary>
            <param name="policy">The policy to set</param>
            <param name="value">The value to set</param>
        </member>
        <member name="M:NtApiDotNet.NtProcess.SetProcessMitigationPolicy(NtApiDotNet.ProcessMitigationPolicy,System.Int32,System.Boolean)">
            <summary>
            Set a mitigation policy raw value
            </summary>
            <param name="policy">The policy to set</param>
            <param name="value">The value to set</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.SetProcessMitigationPolicy(NtApiDotNet.ProcessMitigationPolicy,System.Int32)">
            <summary>
            Set a mitigation policy raw value
            </summary>
            <param name="policy">The policy to set</param>
            <param name="value">The value to set</param>
        </member>
        <member name="M:NtApiDotNet.NtProcess.DisableDynamicCodePolicy">
            <summary>
            Disable dynamic code policy on another process.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtProcess.Suspend(System.Boolean)">
            <summary>
            Suspend the entire process.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.Resume(System.Boolean)">
            <summary>
            Resume the entire process.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</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="M:NtApiDotNet.NtProcess.OpenToken">
            <summary>
            Open the process' token
            </summary>
            <returns>The process token.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.OpenToken(System.Boolean)">
            <summary>
            Open the process' token
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The process token.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.OpenToken(NtApiDotNet.TokenAccessRights,System.Boolean)">
            <summary>
            Open the process' token
            </summary>
            <param name="desired_access">Desired access for token.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The process token.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.SetToken(NtApiDotNet.NtToken,System.Boolean)">
            <summary>
            Set process access token. Process must be have not been started.
            </summary>
            <param name="token">The token to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.SetToken(NtApiDotNet.NtToken)">
            <summary>
            Set process access token. Process must be have not been started.
            </summary>
            <param name="token">The token to set.</param>
        </member>
        <member name="M:NtApiDotNet.NtProcess.ReadMemory(System.Int64,System.Int32,System.Boolean)">
            <summary>
            Read memory from a process.
            </summary>
            <param name="base_address">The base address in the process.</param>
            <param name="length">The length to read.</param>
            <param name="read_all">If true ensure we read all bytes, otherwise throw on exception.</param>
            <returns>The array of bytes read from the location. 
            If a read is short then returns fewer bytes than requested.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.ReadMemory(System.Int64,System.Int32)">
            <summary>
            Read memory from a process.
            </summary>
            <param name="base_address">The base address in the process.</param>
            <param name="length">The length to read.</param>
            <returns>The array of bytes read from the location. 
            If a read is short then returns fewer bytes than requested.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.WriteMemory(System.Int64,System.Byte[])">
            <summary>
            Write memory to a process.
            </summary>
            <param name="base_address">The base address in the process.</param>
            <param name="data">The data to write.</param>
            <returns>The number of bytes written to the location</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.ReadMemory``1(System.Int64)">
            <summary>
            Read structured memory from a process.
            </summary>
            <param name="base_address">The base address in the process.</param>
            <returns>The read structure.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <typeparam name="T">Type of structure to read.</typeparam>
        </member>
        <member name="M:NtApiDotNet.NtProcess.WriteMemory``1(System.Int64,``0)">
            <summary>
            Write structured memory to a process.
            </summary>
            <param name="base_address">The base address in the process.</param>
            <param name="data">The data to write.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <typeparam name="T">Type of structure to write.</typeparam>
        </member>
        <member name="M:NtApiDotNet.NtProcess.ReadMemoryArray``1(System.Int64,System.Int32)">
            <summary>
            Read structured memory array from a process.
            </summary>
            <param name="base_address">The base address in the process.</param>
            <param name="count">The number of elements in the array to read.</param>
            <returns>The read structure.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <typeparam name="T">Type of structure to read.</typeparam>
        </member>
        <member name="M:NtApiDotNet.NtProcess.WriteMemoryArray``1(System.Int64,``0[])">
            <summary>
            Write structured memory array to a process.
            </summary>
            <param name="base_address">The base address in the process.</param>
            <param name="data">The data array to write.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <typeparam name="T">Type of structure to write.</typeparam>
        </member>
        <member name="M:NtApiDotNet.NtProcess.QueryMemoryInformation(System.Int64)">
            <summary>
            Query memory information for a process.
            </summary>
            <param name="base_address">The base address.</param>
            <returns>The queries memory information.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.QueryAllMemoryInformation(NtApiDotNet.MemoryType,NtApiDotNet.MemoryState)">
            <summary>
            Query all memory information regions in process memory.
            </summary>
            <returns>The list of memory regions.</returns>
            <param name="type">Specify memory types to filter on.</param>
            <param name="state">Set of flags which indicate the memory states to return.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.QueryAllMemoryInformation(System.Boolean,NtApiDotNet.MemoryType)">
            <summary>
            Query all memory information regions in process memory.
            </summary>
            <returns>The list of memory regions.</returns>
            <param name="include_free_regions">True to include free regions of memory.</param>
            <param name="type">Specify memory types to filter on.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.QueryAllMemoryInformation(System.Boolean)">
            <summary>
            Query all memory information regions in process memory.
            </summary>
            <returns>The list of memory regions.</returns>
            <param name="include_free_regions">True to include free regions of memory.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.QueryAllMemoryInformation">
            <summary>
            Query all memory information regions in process memory excluding free regions.
            </summary>
            <returns>The list of memory regions.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.QueryMappedImages">
            <summary>
            Query a list of mapped images in a process.
            </summary>
            <returns>The list of mapped images</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.QueryMappedFiles">
            <summary>
            Query a list of mapped files in a process.
            </summary>
            <returns>The list of mapped images</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.QueryAllMappedFiles">
            <summary>
            Query a list of all mapped files and images in a process.
            </summary>
            <returns>The list of mapped images</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.AllocateMemory(System.Int64,System.Int64,NtApiDotNet.MemoryAllocationType,NtApiDotNet.MemoryAllocationProtect,System.Boolean)">
            <summary>
            Allocate virtual memory in a process.
            </summary>
            <param name="base_address">Optional base address, if 0 will automatically select a base.</param>
            <param name="region_size">The region size to allocate.</param>
            <param name="allocation_type">The type of allocation.</param>
            <param name="protect">The allocation protection.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The address of the allocated region.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.AllocateMemory(System.Int64,System.Int64,NtApiDotNet.MemoryAllocationType,NtApiDotNet.MemoryAllocationProtect)">
            <summary>
            Allocate virtual memory in a process.
            </summary>
            <param name="base_address">Optional base address, if 0 will automatically select a base.</param>
            <param name="region_size">The region size to allocate.</param>
            <param name="allocation_type">The type of allocation.</param>
            <param name="protect">The allocation protection.</param>
            <returns>The address of the allocated region.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.AllocateMemory(System.Int64)">
            <summary>
            Allocate read/write virtual memory in a process.
            </summary>
            <param name="region_size">The region size to allocate.</param>
            <returns>The address of the allocated region.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.FreeMemory(System.Int64,System.Int64,NtApiDotNet.MemoryFreeType)">
            <summary>
            Free virtual emmory in a process.
            </summary>
            <param name="base_address">Base address of region to free</param>
            <param name="region_size">The size of the region.</param>
            <param name="free_type">The type to free.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.FreeMemory(System.Int64,System.Int64,NtApiDotNet.MemoryFreeType,System.Boolean)">
            <summary>
            Free virtual emmory in a process.
            </summary>
            <param name="base_address">Base address of region to free</param>
            <param name="region_size">The size of the region.</param>
            <param name="free_type">The type to free.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.ProtectMemory(System.Int64,System.Int64,NtApiDotNet.MemoryAllocationProtect)">
            <summary>
            Change protection on a region of memory.
            </summary>
            <param name="base_address">The base address</param>
            <param name="region_size">The size of the memory region.</param>
            <param name="new_protect">The new protection type.</param>
            <returns>The old protection for the region.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.ProtectMemory(System.Int64,System.Int64,NtApiDotNet.MemoryAllocationProtect,System.Boolean)">
            <summary>
            Change protection on a region of memory.
            </summary>
            <param name="base_address">The base address</param>
            <param name="region_size">The size of the memory region.</param>
            <param name="new_protect">The new protection type.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The old protection for the region.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.FlushInstructionCache(System.Int64,System.Int32,System.Boolean)">
            <summary>
            Flush instruction cache.
            </summary>
            <param name="address">The address to flush.</param>
            <param name="count">The number of bytes to flush/</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.FlushInstructionCache(System.Int64,System.Int32)">
            <summary>
            Flush instruction cache.
            </summary>
            <param name="address">The address to flush.</param>
            <param name="count">The number of bytes to flush/</param>
        </member>
        <member name="M:NtApiDotNet.NtProcess.QueryWorkingSetEx(System.Int64,System.Boolean)">
            <summary>
            Query working set information for an address in a process.
            </summary>
            <param name="base_address">The base address to query.</param>
            <param name="throw_on_error">True to throw on error</param>
            <returns>The working set information.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.QueryWorkingSetEx(System.Int64)">
            <summary>
            Query working set information for an address in a process.
            </summary>
            <param name="base_address">The base address to query.</param>
            <returns>The working set information.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.SetDeviceMap(NtApiDotNet.NtDirectory)">
            <summary>
            Set the process device map.
            </summary>
            <param name="device_map">The device map directory to set.</param>
            <remarks>Note that due to a bug in the Wow64 layer this won't work in a 32 bit process on a 64 bit system.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.SetDeviceMap(NtApiDotNet.NtDirectory,System.Boolean)">
            <summary>
            Set the process device map.
            </summary>
            <param name="device_map">The device map directory to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <remarks>Note that due to a bug in the Wow64 layer this won't work in a 32 bit process on a 64 bit system.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.SetProcessDeviceMap(NtApiDotNet.NtDirectory)">
            <summary>
            Set the process device map.
            </summary>
            <param name="device_map">The device map directory to set.</param>
            <remarks>Note that due to a bug in the Wow64 layer this won't work in a 32 bit process on a 64 bit system.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.SetProcessDeviceMap(NtApiDotNet.NtDirectory,System.Boolean)">
            <summary>
            Set the process device map.
            </summary>
            <param name="device_map">The device map directory to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <remarks>Note that due to a bug in the Wow64 layer this won't work in a 32 bit process on a 64 bit system.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.OpenDebugObject(System.Boolean)">
            <summary>
            Open a process' debug object.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The process' debug object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.OpenDebugObject">
            <summary>
            Open a process' debug object.
            </summary>
            <returns>The process' debug object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.IsImageFile(NtApiDotNet.NtFile)">
            <summary>
            Queries whether process is backed by a specific file.
            </summary>
            <param name="file">File object opened with Synchronize and Execute access to test against.</param>
            <returns>True if the process is created from the image file.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.OpenParent(NtApiDotNet.ProcessAccessRights,System.Boolean)">
            <summary>
            Open parent process by ID.
            </summary>
            <param name="desired_access">The desired process access rights.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened process.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.OpenParent(NtApiDotNet.ProcessAccessRights)">
            <summary>
            Open parent process by ID.
            </summary>
            <param name="desired_access">The desired process access rights.</param>
            <returns>The opened process.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.OpenParent">
            <summary>
            Open parent process by ID.
            </summary>
            <returns>The opened process.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.OpenOwner(NtApiDotNet.ProcessAccessRights,System.Boolean)">
            <summary>
            Open owner process by ID.
            </summary>
            <param name="desired_access">The desired process access rights.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened process.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.OpenOwner(NtApiDotNet.ProcessAccessRights)">
            <summary>
            Open owner process by ID.
            </summary>
            <param name="desired_access">The desired process access rights.</param>
            <returns>The opened process.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.OpenOwner">
            <summary>
            Open owner process by ID.
            </summary>
            <returns>The opened process.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtProcess.IsInJob(NtApiDotNet.NtJob)">
            <summary>
            Get if process is in a job.
            </summary>
            <param name="job">A specific job to check</param>
            <returns>True if in specific job.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.IsInJob">
            <summary>
            Get if process is in a job.
            </summary>
            <returns>True if in a job.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetHandleTable">
            <summary>
            Get process handle table.
            </summary>
            <returns>The list of process handles.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetHandles(System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Get handles for process.
            </summary>
            <param name="allow_query">Specify to all name/details to be queried from the handle.</param>
            <param name="force_file_query">Force file query for name/details for non-filesystem handles.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of handles.</returns>
            <remarks>This queries the handles from the process which does not contain the Object's addres in kernel memory.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetHandles(System.Boolean,System.Boolean)">
            <summary>
            Get handles for process.
            </summary>
            <param name="allow_query">Specify to all name/details to be queried from the handle.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of handles.</returns>
            <remarks>This queries the handles from the process which does not contain the Object's addres in kernel memory.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetHandles(System.Boolean)">
            <summary>
            Get handles for process.
            </summary>
            <param name="allow_query">Specify to all name/details to be queried from the handle.</param>
            <returns>The list of handles.</returns>
            <remarks>This queries the handles from the process which does not contain the Object's addres in kernel memory.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetHandles">
            <summary>
            Get handles for process.
            </summary>
            <returns>The list of handles.</returns>
            <remarks>This queries the handles from the process which does not contain the Object's addres in kernel memory.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetHandleTableAsObjects(System.Boolean,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Get the process handle table and try and get them as objects.
            </summary>
            <param name="named_only">True to only return named objects</param>
            <param name="type_names">A list of typenames to filter on (if empty then return all)</param>
            <returns>The list of handles as objects.</returns>
            <remarks>This function will drop handles it can't duplicate.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetHandleTableAsObjects">
            <summary>
            Get the process handle table and try and get them as objects.
            </summary>
            <returns>The list of handles as objects.</returns>
            <remarks>This function will drop handles it can't duplicate.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.OpenImageSection(System.Boolean)">
            <summary>
            Open image section for process.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened image section.</returns>
            <remarks>Should only work on the pseudo process handle.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.OpenImageSection">
            <summary>
            Open image section for process.
            </summary>
            <returns>The opened image section.</returns>
            <remarks>Should only work on the pseudo process handle.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.Unmap(System.IntPtr,NtApiDotNet.MemUnmapFlags,System.Boolean)">
            <summary>
            Unmap a section.
            </summary>
            <param name="base_address">The base address to unmap.</param>
            <param name="flags">Flags for unmapping memory.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.Unmap(System.IntPtr,System.Boolean)">
            <summary>
            Unmap a section.
            </summary>
            <param name="base_address">The base address to unmap.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.Unmap(System.IntPtr,NtApiDotNet.MemUnmapFlags)">
            <summary>
            Unmap a section.
            </summary>
            <param name="base_address">The base address to unmap.</param>
            <param name="flags">Flags for unmapping memory.</param>
        </member>
        <member name="M:NtApiDotNet.NtProcess.Unmap(System.IntPtr)">
            <summary>
            Unmap a section.
            </summary>
            <param name="base_address">The base address to unmap.</param>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetUser(System.Boolean)">
            <summary>
            Get the user SID for the process.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The user SID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetUser">
            <summary>
            Get the user SID for the process.
            </summary>
            <returns>The user SID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetIntegrityLevel(System.Boolean)">
            <summary>
            Get the integrity level for the process.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The integerity level.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.SetFaultFlags(NtApiDotNet.ProcessFaultFlags,System.Boolean)">
            <summary>
            Set process fault flags.
            </summary>
            <param name="flags">The flags to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code for the operation.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.SetFaultFlags(NtApiDotNet.ProcessFaultFlags)">
            <summary>
            Set process fault flags.
            </summary>
            <param name="flags">The flags to set.</param>
            <returns>The NT status code for the operation.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.SetExceptionPort(NtApiDotNet.NtAlpc,System.Int32,System.Boolean)">
            <summary>
            Set the process exception port.
            </summary>
            <param name="exception_port">The exception port to set.</param>
            <param name="state_flags">Additional state flags.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.SetExceptionPort(NtApiDotNet.NtAlpc,System.Boolean)">
            <summary>
            Set the process exception port.
            </summary>
            <param name="exception_port">The exception port to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.SetExceptionPort(NtApiDotNet.NtAlpc)">
            <summary>
            Set the process exception port.
            </summary>
            <param name="exception_port">The exception port to set.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetUserProcessParameters">
            <summary>
            Get the user process parameters.
            </summary>
            <returns>The user process parameters.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.Fork(NtApiDotNet.ProcessCreateFlags,System.Boolean)">
            <summary>
            Fork the process.
            </summary>
            <param name="flags">Extra flags for fork.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The new forked process result.</returns>
            <remarks>This uses NtCreateProcessEx.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.Fork(NtApiDotNet.ProcessCreateFlags)">
            <summary>
            Fork the process.
            </summary>
            <param name="flags">Extra flags for fork.</param>
            <returns>The new forked process result.</returns>
            <remarks>This uses NtCreateProcessEx.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.Fork">
            <summary>
            Fork the process.
            </summary>
            <returns>The new forked process result.</returns>
            <remarks>This uses NtCreateProcessEx.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetAccessibleJobObjects">
            <summary>
            Get the accessible job objects this process is in.
            </summary>
            <remarks>This tries to find accessible Job handles. There's no guarantee that all Job objects will be found for the process.</remarks>
            <returns>The list of job objects.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.SetProcessLogging(NtApiDotNet.ProcessLoggingFlags,System.Boolean)">
            <summary>
            Set thread intelligence logging flags.
            </summary>
            <param name="flags">The flags to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.SetProcessLogging(NtApiDotNet.ProcessLoggingFlags)">
            <summary>
            Set thread intelligence logging flags.
            </summary>
            <param name="flags">The flags to set.</param>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetSecurityDomain(System.Boolean)">
            <summary>
            Get the process security domain.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The security domain.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetSecurityDomain">
            <summary>
            Get the process security domain.
            </summary>
            <returns>The security domain.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.CombineSecurityDomain(NtApiDotNet.NtProcess,System.Boolean)">
            <summary>
            Combine two process' security domains.
            </summary>
            <param name="process">The process to combine with. Needs QueryLimitedInformation.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <remarks>The current process need SetLimitedInformation access.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.CombineSecurityDomain(NtApiDotNet.NtProcess)">
            <summary>
            Combine two process' security domains.
            </summary>
            <param name="process">The process to combine with. Needs QueryLimitedInformation.</param>
            <remarks>The current process need SetLimitedInformation access.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetSessionId(System.Boolean)">
            <summary>
            Get the session ID for the process.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The session ID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.TestProtectedAccess(NtApiDotNet.NtProcess)">
            <summary>
            Test whether the current process can access another protected process.
            </summary>
            <param name="target">The target process.</param>
            <returns>True if the process can be accessed.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetEnvironment">
            <summary>
            Get the environment from the process.
            </summary>
            <returns>List of environment variables.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetEnvironmentVariable(System.String)">
            <summary>
            Get an environment variable by name.
            </summary>
            <param name="name">The name of the variable.</param>
            <returns>The value of the environment variable. Returns null if it doesn't exist.</returns>
            <remarks>Only returns the first variable with a case insensitive name.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcess.RevokeFileHandles(System.String,System.Boolean)">
            <summary>
            Revoke file handles for an AppContainer process.
            </summary>
            <param name="device_path">The device path for the files to revoke.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.RevokeFileHandles(System.String)">
            <summary>
            Revoke file handles for an AppContainer process.
            </summary>
            <param name="device_path">The device path for the files to revoke.</param>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetCommandLine(System.Boolean)">
            <summary>
            Get the process command line.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The process command line.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetIoCounters(System.Boolean)">
            <summary>
            Get the IO counters for the process.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The IO counters.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.CreateEnclaveVBS(System.Int64,NtApiDotNet.LdrEnclaveVBSFlags,System.Byte[],System.Boolean)">
            <summary>
            Create a VBS enclave.
            </summary>
            <param name="size">Size of the enclave.</param>
            <param name="flags">Flags for the enclave.</param>
            <param name="owner_id">Owner ID. Must be 32 bytes.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created enclave.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.CreateEnclaveVBS(System.Int64,NtApiDotNet.LdrEnclaveVBSFlags,System.Byte[])">
            <summary>
            Create a VBS enclave.
            </summary>
            <param name="size">Size of the enclave.</param>
            <param name="flags">Flags for the enclave.</param>
            <param name="owner_id">Owner ID. Must be 32 bytes.</param>
            <returns>The created enclave.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.GetPriorityBoostDisabled(System.Boolean)">
            <summary>
            Get priority boost disable value.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>True if priority base </returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.SetPriorityBoostDisabled(System.Boolean,System.Boolean)">
            <summary>
            Set priority boost disable value.
            </summary>
            <param name="disable">True to disable priority boost.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.QueryInformation(NtApiDotNet.ProcessInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Int32@)">
            <summary>
            Method to query information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to return data in.</param>
            <param name="return_length">Return length from the query.</param>
            <returns>The NT status code for the query.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.SetInformation(NtApiDotNet.ProcessInformationClass,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Method to set information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to set data from.</param>
            <returns>The NT status code for the set.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcess.QueryObject(NtApiDotNet.ProcessInformationClass,System.Boolean)">
            <summary>
            Query the information class as an object.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The information class as an object.</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.PebAddress32">
            <summary>
            Get the memory address of the PEB for a 32 bit process.
            </summary>
            <remarks>If the process is 64 bit, or the OS is 32 bit this returns the same value as PebAddress.</remarks>
        </member>
        <member name="P:NtApiDotNet.NtProcess.ImageBaseAddress">
            <summary>
            Get the base address of the process from the PEB.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.PebFlags">
            <summary>
            Read flags from PEB.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.ExitStatus">
            <summary>
            Get the process' exit status.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.ExitNtStatus">
            <summary>
            Get the process' exit status as an NtStatus code.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.CommandLine">
            <summary>
            Get the process' command line
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.CommandLineArguments">
            <summary>
            Get the command line as parsed arguments.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.DepStatus">
            <summary>
            Get process DEP status
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.HasDebugPort">
            <summary>
            Get whether process has a debug port.
            </summary>
            <returns></returns>
        </member>
        <member name="P:NtApiDotNet.NtProcess.HandleCount">
            <summary>
            Get handle count.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.BreakOnTermination">
            <summary>
            Get break on termination flag.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.DebugFlags">
            <summary>
            Get or set debug flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.ExecuteFlags">
            <summary>
            Get or set execute flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.IoPriority">
            <summary>
            Get IO priority.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.Cookie">
            <summary>
            Get secure cookie.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.User">
            <summary>
            Get the process user.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.IntegrityLevel">
            <summary>
            Get the integrity level of the process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.Mitigations">
            <summary>
            Get process mitigations
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.ExtendedFlags">
            <summary>
            Get extended process flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.WindowTitle">
            <summary>
            Get process window title (from Process Parameters).
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.WindowFlags">
            <summary>
            Get process window flags (from Process Parameters).
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.SubsystemType">
            <summary>
            Get the process subsystem type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.Wow64">
            <summary>
            Get if the process is Wow64
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.Is64Bit">
            <summary>
            Get whether the process is 64bit.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.LUIDDeviceMapsEnabled">
            <summary>
            Get whether LUID device maps are enabled.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.IsSandboxToken">
            <summary>
            Return whether this process is sandboxed.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.HardErrorMode">
            <summary>
            Get or set the hard error mode.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.IsChildProcessRestricted">
            <summary>
            Does the process has a child process restriction?
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.IsDeleting">
            <summary>
            Gets whether the process is currently deleting.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.Secure">
            <summary>
            Gets whether the process is secure.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.Protected">
            <summary>
            Gets whether the process is protected.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.Subsystem">
            <summary>
            Gets whether the process is a subsystem process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.Frozen">
            <summary>
            Gets whether the process is frozen.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.Protection">
            <summary>
            Get process protection information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.ImageInformation">
            <summary>
            Query process section image information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.FullPath">
            <summary>
            Get full image path name in native format
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.Win32ImagePath">
            <summary>
            Get the Win32 image path.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.OwnerProcessId">
            <summary>
            Get owner process ID
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.PackageFullName">
            <summary>
            Query the process token's full package name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.VirtualizationEnabled">
            <summary>
            Get or set whether resource virtualization is enabled.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.SecurityDomain">
            <summary>
            Get the security domain of the process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.CreateTime">
            <summary>
            Get the creation time of the process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.ExitTime">
            <summary>
            Get the exit time of the process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.KernelTime">
            <summary>
            Get the time spent in the kernel.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.UserTime">
            <summary>
            Get the time spent in user mode.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.KernelTimeSeconds">
            <summary>
            Get the time spent in the kernel in seconds.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.UserTimeSeconds">
            <summary>
            Get the time spent in user mode.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.IoCounters">
            <summary>
            Get the process IO counters.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcess.PriorityBoostDisabled">
            <summary>
            Get or set priority boost disabled.
            </summary>
        </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="P:NtApiDotNet.NtProcess.CurrentPebAddress">
            <summary>
            Get the current PEB address.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtProcessCreateConfig">
            <summary>
            Configuration for a new NT Process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.ImagePath">
            <summary>
            Path to the executable to start.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.ConfigImagePath">
            <summary>
            Path to the executable to start which is passed in the process configuration.
            </summary>
            <remarks>This doesn't have to match ImagePath.</remarks>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.CommandLine">
            <summary>
            Command line
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.Environment">
            <summary>
            Prepared environment block.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.WindowTitle">
            <summary>
            Title of the main window.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.DllPath">
            <summary>
            Path to DLLs.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.CurrentDirectory">
            <summary>
            Current directory for new process
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.DesktopInfo">
            <summary>
            Desktop information value
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.ShellInfo">
            <summary>
            Shell information value
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.RuntimeData">
            <summary>
            Runtime data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.ProhibitedImageCharacteristics">
            <summary>
            Prohibited image characteristics for new process
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.AdditionalFileAccess">
            <summary>
            Additional file access for opened executable file.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.ProcessFlags">
            <summary>
            Process create flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.ThreadFlags">
            <summary>
            Thread create flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.InitFlags">
            <summary>
            Initialization flags
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.ParentProcess">
            <summary>
            Parent process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.ChildProcessMitigations">
            <summary>
            Specify child process mitigations.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.TerminateOnDispose">
            <summary>
            Whether to terminate the process on dispose.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.ProcessSecurityDescriptor">
            <summary>
            Specify a security descriptor for the process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.ThreadSecurityDescriptor">
            <summary>
            Specify a security descriptor for the initial thread.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.Token">
            <summary>
            Specify the primary token for the new process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.ProcessDesiredAccess">
            <summary>
            Access for process handle.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.ThreadDesiredAccess">
            <summary>
            Access for thread handle.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.ProtectionLevel">
            <summary>
            Set protection level.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.Secure">
            <summary>
            Set to create a trustlet.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.TrustletConfig">
            <summary>
            Set to specify the configuration for the trustlet if Secure is set.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.CaptureAdditionalInformation">
            <summary>
            Capture additional information when NtProcess.Create returns.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.ProcessParametersCallback">
            <summary>
            Specify callback to update process parameters.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.RedirectionDllName">
            <summary>
            Redirection DLL path. Only supported from 1903.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.InheritHandleList">
            <summary>
            Inheritable handles.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.DebugObject">
            <summary>
            Debug object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateConfig.InheritHandles">
            <summary>
            Toggle inherit handles process create flag.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtProcessCreateConfig.AddAttribute(NtApiDotNet.ProcessAttribute)">
            <summary>
            Add an extra process/thread attribute.
            </summary>
            <param name="attribute">The process attribute to add.</param>
            <remarks>The caller is responsible for disposing the attribute, this class does not hold a reference.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtProcessCreateConfig.AddProtectionLevel(NtApiDotNet.PsProtectedType,NtApiDotNet.PsProtectedSigner)">
            <summary>
            Set protected process protection level.
            </summary>
            <param name="type">The type of protected process.</param>
            <param name="signer">The signer level.</param>
        </member>
        <member name="M:NtApiDotNet.NtProcessCreateConfig.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtProcessCreateResult">
            <summary>
            Result from creating a user process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.Process">
            <summary>
            Handle to the process
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.Thread">
            <summary>
            Handle to the initial thread
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.ImageFile">
            <summary>
            Handle to the image file
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.SectionHandle">
            <summary>
            Handle to the image section
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.IFEOKeyHandle">
            <summary>
            Handle to the IFEO key (if it exists)
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.ImageInfo">
            <summary>
            Image information
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.ClientId">
            <summary>
            Client ID of process and thread
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.ProcessId">
            <summary>
            Process ID
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.ThreadId">
            <summary>
            Thread ID
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.Status">
            <summary>
            Create status.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.IsSuccess">
            <summary>
            True if create succeeded.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.DllCharacteristics">
            <summary>
            DLL characterists if CreateState is FailMachineMismatch.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.CreateState">
            <summary>
            Creation state
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.OutputFlags">
            <summary>
            Output flags if CreateStatus is Success.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.UserProcessParametersNative">
            <summary>
            Native user process parameters pointer if CreateStatus is Success.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.UserProcessParametersWow64">
            <summary>
            Wow64 user process parameters pointer if CreateStatus is Success.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.CurrentParameterFlags">
            <summary>
            Current parameter flags if CreateStatus is Success.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.PebAddressNative">
            <summary>
            PEB pointer if CreateStatus is Success.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.PebAddressWow64">
            <summary>
            Wow64 PEB pointer if CreateStatus is Success.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.ManifestAddress">
            <summary>
            Manifest pointer if CreateStatus is Success.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.ManifestSize">
            <summary>
            Manifest size if CreateStatus is Success.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessCreateResult.TerminateOnDispose">
            <summary>
            Set to true to terminate process on disposal
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtProcessCreateResult.Terminate(NtApiDotNet.NtStatus)">
            <summary>
            Terminate the process
            </summary>
            <param name="exitcode">Exit code for termination</param>
        </member>
        <member name="M:NtApiDotNet.NtProcessCreateResult.Resume">
            <summary>
            Resume initial thread
            </summary>
            <returns>The suspend count</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcessCreateResult.op_Explicit(NtApiDotNet.NtProcessCreateResult)~NtApiDotNet.NtThread">
            <summary>
            Explicit conversion operator to an NtThread object.
            </summary>
            <param name="process">The win32 process</param>
        </member>
        <member name="M:NtApiDotNet.NtProcessCreateResult.op_Explicit(NtApiDotNet.NtProcessCreateResult)~NtApiDotNet.NtProcess">
            <summary>
            Explicit conversion operator to an NtProcess object.
            </summary>
            <param name="process">The win32 process</param>
        </member>
        <member name="M:NtApiDotNet.NtProcessCreateResult.Dispose">
            <summary>
            Dispose
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtProcessEnvironmentVariable">
            <summary>
            Entry for a process environment block.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessEnvironmentVariable.Name">
            <summary>
            Name of the environment variable.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessEnvironmentVariable.Value">
            <summary>
            Value of the environment variable.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtProcessEnvironmentVariable.#ctor(System.String,System.String)">
            <summary>
            Constructor.
            </summary>
            <param name="name">Name of the environment variable.</param>
            <param name="value">Value of the environment variable.</param>
        </member>
        <member name="T:NtApiDotNet.NtProcessMitigations">
            <summary>
            Class representing various process mitigations
            </summary>
        </member>
        <member name="T:NtApiDotNet.PartialPeb">
            <summary>
            Partial definition of the PEB
            </summary>
        </member>
        <member name="T:NtApiDotNet.PartialPeb32">
            <summary>
            Partial definition of the PEB
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtProcessTrustletConfig">
            <summary>
            Class which represents the configuration for a trustlet.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessTrustletConfig.Id">
            <summary>
            The ID of the trustlet.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessTrustletConfig.MailboxKey">
            <summary>
            The mailbox key. Must be 2 longs.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessTrustletConfig.CollaborationId">
            <summary>
            The collaboration ID. Must be 2 longs.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessTrustletConfig.VmId">
            <summary>
            The VM ID. Must be 2 longs.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtProcessTrustletConfig.TkSessionId">
            <summary>
            The TK sessio ID. Must be 4 longs.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtProcessTrustletConfig.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The object as a string.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcessTrustletConfig.CreateFromFile(System.String,System.Boolean)">
            <summary>
            Create a trustlet configuration from an image file.
            </summary>
            <param name="path">The path to the image file. Should be a native path.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The trustlet configuration.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcessTrustletConfig.CreateFromFile(System.String)">
            <summary>
            Create a trustlet configuration from an image file.
            </summary>
            <param name="path">The path to the image file. Should be a win32 path.</param>
            <returns>The trustlet configuration.</returns>
        </member>
        <member name="M:NtApiDotNet.NtProcessTrustletConfig.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtProcessTrustletConfig.#ctor(System.Int64)">
            <summary>
            Constructor
            </summary>
            <param name="id">The ID of the trustlet.</param>
        </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,System.Boolean)">
            <summary>
            Create a transaction
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </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,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</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="M:NtApiDotNet.NtRegistryTransaction.Enable">
            <summary>
            Enable the transaction for anything in the current thread context.
            </summary>
            <returns>The transaction context. This should be disposed to disable the transaction.</returns>
        </member>
        <member name="T:NtApiDotNet.NtResourceManager">
            <summary>
            Class to represent a transaction resource manager.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.ResourceManagerAccessRights,NtApiDotNet.NtTransactionManager,System.Guid,NtApiDotNet.ResourceManagerCreateOptions,System.String,System.Boolean)">
            <summary>
            Create a new resource manager object.
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="create_options">Creation options flags.</param>
            <param name="transaction_manager">Optional transaction manager to assign the resource manager to.</param>
            <param name="resource_manager_guid">Resource manager GUID.</param>
            <param name="description">Optional description.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.ResourceManagerAccessRights,NtApiDotNet.NtTransactionManager,System.Guid,NtApiDotNet.ResourceManagerCreateOptions,System.String)">
            <summary>
            Create a new resource manager object.
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="create_options">Creation options flags.</param>
            <param name="transaction_manager">Optional transaction manager to assign the resource manager to.</param>
            <param name="resource_manager_guid">Resource manager GUID.</param>
            <param name="description">Optional description.</param>
            <returns>The object result.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.Create(System.String,NtApiDotNet.NtObject,NtApiDotNet.ResourceManagerAccessRights,NtApiDotNet.NtTransactionManager,System.Guid,NtApiDotNet.ResourceManagerCreateOptions,System.String,System.Boolean)">
            <summary>
            Create a new resource manager object.
            </summary>
            <param name="path">The path to the resource manager.</param>
            <param name="root">The root if path is relative.</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="create_options">Creation options flags.</param>
            <param name="transaction_manager">Optional transaction manager to assign the resource manager to.</param>
            <param name="resource_manager_guid">Resource manager GUID.</param>
            <param name="description">Optional description.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.Create(System.String,NtApiDotNet.NtObject,NtApiDotNet.ResourceManagerAccessRights,NtApiDotNet.NtTransactionManager,System.Guid,NtApiDotNet.ResourceManagerCreateOptions,System.String)">
            <summary>
            Create a new resource manager object.
            </summary>
            <param name="path">The path to the resource manager.</param>
            <param name="root">The root if path is relative.</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="create_options">Creation options flags.</param>
            <param name="transaction_manager">Optional transaction manager to assign the resource manager to.</param>
            <param name="resource_manager_guid">Resource manager GUID.</param>
            <param name="description">Optional description.</param>
            <returns>The object result.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.CreateVolatile(System.String,NtApiDotNet.NtObject,NtApiDotNet.ResourceManagerAccessRights,NtApiDotNet.NtTransactionManager,System.Guid)">
            <summary>
            Create a new volatile resource manager object.
            </summary>
            <param name="path">The path to the resource manager.</param>
            <param name="root">The root if path is relative.</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="transaction_manager">Optional transaction manager to assign the resource manager to.</param>
            <param name="resource_manager_guid">Resource manager GUID.</param>
            <returns>The object result.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.CreateVolatile(System.String,NtApiDotNet.NtObject,NtApiDotNet.ResourceManagerAccessRights,NtApiDotNet.NtTransactionManager)">
            <summary>
            Create a new volatile resource manager object.
            </summary>
            <param name="path">The path to the resource manager.</param>
            <param name="root">The root if path is relative.</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="transaction_manager">Optional transaction manager to assign the resource manager to.</param>
            <returns>The object result.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.CreateVolatile(System.String,NtApiDotNet.NtObject,NtApiDotNet.NtTransactionManager)">
            <summary>
            Create a new volatile resource manager object.
            </summary>
            <param name="path">The path to the resource manager.</param>
            <param name="root">The root if path is relative.</param>
            <param name="transaction_manager">Optional transaction manager to assign the resource manager to.</param>
            <returns>The object result.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.CreateVolatile(System.String,NtApiDotNet.NtTransactionManager)">
            <summary>
            Create a new volatile resource manager object.
            </summary>
            <param name="path">The path to the resource manager.</param>
            <param name="transaction_manager">Optional transaction manager to assign the resource manager to.</param>
            <returns>The object result.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.CreateVolatile(NtApiDotNet.NtTransactionManager)">
            <summary>
            Create a new volatile resource manager object.
            </summary>
            <param name="transaction_manager">Optional transaction manager to assign the resource manager to.</param>
            <returns>The object result.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.ResourceManagerAccessRights,NtApiDotNet.NtTransactionManager,System.Guid,System.Boolean)">
            <summary>
            Opens an existing resource manager object.
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="transaction_manager">Transaction manager which contains the resource manager.</param>
            <param name="resource_manager_guid">Resource manager GUID.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.ResourceManagerAccessRights,NtApiDotNet.NtTransactionManager,System.Guid)">
            <summary>
            Opens an existing resource manager object.
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="transaction_manager">Transaction manager which contains the resource manager.</param>
            <param name="resource_manager_guid">Resource manager GUID.</param>
            <returns>The object result.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.Recover(System.Boolean)">
            <summary>
            Recover the the transaction manager.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.Recover">
            <summary>
            Recover the the transaction manager.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.SetIoCompletion(NtApiDotNet.NtIoCompletion,System.IntPtr,System.Boolean)">
            <summary>
            Set an IO completion port on the resource manager.
            </summary>
            <param name="io_completion">The IO completion port.</param>
            <param name="completion_key">Associated completion key.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.SetIoCompletion(NtApiDotNet.NtIoCompletion,System.IntPtr)">
            <summary>
            Set an IO completion port on the resource manager.
            </summary>
            <param name="io_completion">The IO completion port.</param>
            <param name="completion_key">Associated completion key.</param>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.GetNotification(NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <summary>
            Get a notification synchronously.
            </summary>
            <param name="timeout">Optional timeout for getting the notification.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The transaction notification.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.GetNotification(NtApiDotNet.NtWaitTimeout)">
            <summary>
            Get a notification synchronously.
            </summary>
            <param name="timeout">Optional timeout for getting the notification.</param>
            <returns>The transaction notification.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.GetNotification">
            <summary>
            Get a notification synchronously waiting indefinetly.
            </summary>
            <returns>The transaction notification.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.RegisterProtocolAddressInformation(System.Guid,System.Byte[],NtApiDotNet.RegisterProtocolCreateOptions,System.Boolean)">
            <summary>
            Register protocol information.
            </summary>
            <param name="protocol_id">The ID of the protocol to register.</param>
            <param name="protocol_information">An opaque protocol buffer.</param>
            <param name="create_options">Optional create options.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.RegisterProtocolAddressInformation(System.Guid,System.Byte[],NtApiDotNet.RegisterProtocolCreateOptions)">
            <summary>
            Register protocol information.
            </summary>
            <param name="protocol_id">The ID of the protocol to register.</param>
            <param name="protocol_information">An opaque protocol buffer.</param>
            <param name="create_options">Optional create options.</param>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.PropagationComplete(System.UInt32,System.Byte[],System.Boolean)">
            <summary>
            Complete propagation request.
            </summary>
            <param name="request_cookie">The cookie to identify the request.</param>
            <param name="request_buffer">An optional buffer to pass with the request.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.PropagationComplete(System.UInt32,System.Byte[])">
            <summary>
            Complete propagation request.
            </summary>
            <param name="request_cookie">The cookie to identify the request.</param>
            <param name="request_buffer">An optional buffer to pass with the request.</param>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.PropagationFailed(System.UInt32,NtApiDotNet.NtStatus,System.Boolean)">
            <summary>
            Fail propagation request.
            </summary>
            <param name="request_cookie">The cookie to identify the request.</param>
            <param name="prop_status">Optional NT status code for the failure.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.GetAccessibleEnlistment(NtApiDotNet.ObjectAttributes,NtApiDotNet.EnlistmentAccessRights)">
            <summary>
            Get a list of all accessible enlistment objects owned by this resource manager.
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">The access for the enlistment objects.</param>
            <returns>The list of all accessible enlistment objects.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.GetAccessibleEnlistment(NtApiDotNet.EnlistmentAccessRights)">
            <summary>
            Get a list of all accessible enlistment objects owned by this resource manager.
            </summary>
            <param name="desired_access">The access for the enlistment objects.</param>
            <returns>The list of all accessible enlistment objects.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.GetAccessibleEnlistment">
            <summary>
            Get a list of all accessible resource manager objects owned by this transaction manager.
            </summary>
            <returns>The list of all accessible resource manager objects.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.CreateEnlistment(NtApiDotNet.EnlistmentAccessRights,NtApiDotNet.NtTransaction,NtApiDotNet.EnlistmentCreateOptions,NtApiDotNet.TransactionNotificationMask,System.IntPtr,System.Boolean)">
            <summary>
            Create an enlistment in this resource manager.
            </summary>
            <param name="desired_access">Desired access for the handle</param>
            <param name="transaction">The transaction to enlist.</param>
            <param name="create_options">Optional create options.</param>
            <param name="notification_mask">Notification mask.</param>
            <param name="enlistment_key">Enlistment key returned during notification.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The created enlistment and NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.CreateEnlistment(NtApiDotNet.EnlistmentAccessRights,NtApiDotNet.NtTransaction,NtApiDotNet.EnlistmentCreateOptions,NtApiDotNet.TransactionNotificationMask,System.IntPtr)">
            <summary>
            Create an enlistment in this resource manager.
            </summary>
            <param name="desired_access">Desired access for the handle</param>
            <param name="transaction">The transaction to enlist.</param>
            <param name="create_options">Optional create options.</param>
            <param name="notification_mask">Notification mask.</param>
            <param name="enlistment_key">Enlistment key returned during notification.</param>
            <returns>The created enlistment.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.CreateEnlistment(NtApiDotNet.NtTransaction,NtApiDotNet.TransactionNotificationMask,System.IntPtr)">
            <summary>
            Create an enlistment in this resource manager.
            </summary>
            <param name="transaction">The transaction to enlist.</param>
            <param name="notification_mask">Notification mask.</param>
            <param name="enlistment_key">Enlistment key returned during notification.</param>
            <returns>The created enlistment.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.CreateEnlistment(NtApiDotNet.NtTransaction,System.IntPtr)">
            <summary>
            Create an enlistment in this resource manager.
            </summary>
            <param name="transaction">The transaction to enlist.</param>
            <param name="enlistment_key">Enlistment key returned during notification.</param>
            <returns>The created enlistment.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.QueryInformation(NtApiDotNet.ResourceManagerInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Int32@)">
            <summary>
            Method to query information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to return data in.</param>
            <param name="return_length">Return length from the query.</param>
            <returns>The NT status code for the query.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.SetInformation(NtApiDotNet.ResourceManagerInformationClass,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Method to set information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to set data from.</param>
            <returns>The NT status code for the set.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResourceManager.QueryObject(NtApiDotNet.ResourceManagerInformationClass,System.Boolean)">
            <summary>
            Query the information class as an object.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The information class as an object.</returns>
        </member>
        <member name="P:NtApiDotNet.NtResourceManager.ResourceManagerId">
            <summary>
            Get the resource manager ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtResourceManager.Description">
            <summary>
            Get the description for the resource manager.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtResult`1">
            <summary>
            A structure to return the result of an NT system call with status.
            This allows a function to return both a status code and a result
            without having to resort to out parameters.
            </summary>
            <typeparam name="T">The result type.</typeparam>
        </member>
        <member name="P:NtApiDotNet.NtResult`1.Status">
            <summary>
            The NT status code.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtResult`1.Result">
            <summary>
            The result of the NT call.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtResult`1.GetResultOrThrow">
            <summary>
            Get the result object or throw an exception if status code is an error.
            </summary>
            <returns>The result NT result.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if status code is an error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtResult`1.GetResultOrDefault(`0)">
            <summary>
            Get the result object or a default value if an error occurred.
            </summary>
            <param name="default_value">The default value to return.</param>
            <returns>The result or the default if an error occurred.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResult`1.GetResultOrDefault">
            <summary>
            Get the result object or a default value if an error occurred.
            </summary>
            <returns>The result or the default if an error occurred.</returns>
        </member>
        <member name="P:NtApiDotNet.NtResult`1.IsSuccess">
            <summary>
            Is the result successful.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtResult`1.Map``1(System.Func{`0,``0})">
            <summary>
            Map result to a different type.
            </summary>
            <typeparam name="S">The different type to map to.</typeparam>
            <param name="map_func">A function to map the result.</param>
            <returns>The mapped result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResult`1.Map``1(System.Func{NtApiDotNet.NtStatus,`0,``0})">
            <summary>
            Map result to a different type.
            </summary>
            <typeparam name="S">The different type to map to.</typeparam>
            <param name="map_func">A function to map the result.</param>
            <returns>The mapped result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResult`1.Cast``1">
            <summary>
            Cast result to a different type.
            </summary>
            <typeparam name="S">The different type to cast to.</typeparam>
            <returns>The mapped result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResult`1.Forward(System.Boolean)">
            <summary>
            Forward the result and check for an exception.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The forwarded result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResult`1.Dispose">
            <summary>
            Dispose result.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtResult`1.CreateResultFromError(NtApiDotNet.NtStatus,System.Boolean)">
            <summary>
            Create a result from an error.
            </summary>
            <param name="status">The error status code.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResult`1.CreateResult(`0)">
            <summary>
            Create a result.
            </summary>
            <param name="result"></param>
            <returns>Create a new result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtResult`1.op_Implicit(NtApiDotNet.NtResult{`0})~NtApiDotNet.NtResult{System.Object}">
            <summary>
            Conversion operator from T to object.
            </summary>
            <param name="result">The result to convert.</param>
        </member>
        <member name="T:NtApiDotNet.RtlCompressionFormat">
            <summary>
            Compression format for RtlDecompressBuffer.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtSection">
            <summary>
            Class to represent a NT Section object
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtSection.CreateImageSection(NtApiDotNet.ObjectAttributes,NtApiDotNet.NtFile)">
            <summary>
            Create an Image section object
            </summary>
            <param name="object_attributes">The object attributes for the image section.</param>
            <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.CreateImageSection(System.String,NtApiDotNet.NtObject,NtApiDotNet.NtFile)">
            <summary>
            Create an Image section object
            </summary>
            <param name="object_name">The object name to use for the image section.</param>
            <param name="root">Root directory for the object.</param>
            <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.CreateImageSection(System.String,NtApiDotNet.NtFile)">
            <summary>
            Create an Image section object
            </summary>
            <param name="object_name">The object name to use for the image section.</param>
            <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.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.CreateReadOnlyDataSection(NtApiDotNet.NtFile)">
            <summary>
            Create a data section from a file.
            </summary>
            <param name="file">The file to create from.</param>
            <returns>The created section object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSection.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.SectionAccessRights,NtApiDotNet.LargeInteger,NtApiDotNet.MemoryAllocationProtect,NtApiDotNet.SectionAttributes,NtApiDotNet.NtFile,System.Boolean)">
            <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. The lower 5 bits can be used to specify the NUMA node.</param>
            <param name="file">Optional backing file</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSection.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.SectionAccessRights,NtApiDotNet.LargeInteger,NtApiDotNet.MemoryAllocationProtect,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.MemoryAllocationProtect,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. The lower 5 bits can be used to specify the NUMA node.</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.CreateEx(NtApiDotNet.ObjectAttributes,NtApiDotNet.SectionAccessRights,NtApiDotNet.LargeInteger,NtApiDotNet.MemoryAllocationProtect,NtApiDotNet.SectionAttributes,NtApiDotNet.NtFile,NtApiDotNet.MemSectionExtendedParameter[],System.Boolean)">
            <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>
            <param name="extended_parameters">Extended parameters for section create.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSection.CreateEx(NtApiDotNet.ObjectAttributes,NtApiDotNet.SectionAccessRights,NtApiDotNet.LargeInteger,NtApiDotNet.MemoryAllocationProtect,NtApiDotNet.SectionAttributes,NtApiDotNet.NtFile,NtApiDotNet.MemSectionExtendedParameter[])">
            <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>
            <param name="extended_parameters">Extended parameters for section create.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSection.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.SectionAccessRights,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</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="M:NtApiDotNet.NtSection.Unmap(NtApiDotNet.NtProcess,System.IntPtr,NtApiDotNet.MemUnmapFlags,System.Boolean)">
            <summary>
            Unmap a section in a specified process.
            </summary>
            <param name="process">The process to unmap the section.</param>
            <param name="base_address">The base address to unmap.</param>
            <param name="flags">Flags for unmapping memory.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSection.Unmap(NtApiDotNet.NtProcess,System.IntPtr,System.Boolean)">
            <summary>
            Unmap a section in a specified process.
            </summary>
            <param name="process">The process to unmap the section.</param>
            <param name="base_address">The base address to unmap.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSection.Unmap(System.IntPtr,System.Boolean)">
            <summary>
            Unmap a section in the current process.
            </summary>
            <param name="base_address">The base address to unmap.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSection.Unmap(NtApiDotNet.NtProcess,System.IntPtr,NtApiDotNet.MemUnmapFlags)">
            <summary>
            Unmap a section in a specified process.
            </summary>
            <param name="process">The process to unmap the section.</param>
            <param name="base_address">The base address to unmap.</param>
            <param name="flags">Flags for unmapping memory.</param>
        </member>
        <member name="M:NtApiDotNet.NtSection.Unmap(NtApiDotNet.NtProcess,System.IntPtr)">
            <summary>
            Unmap a section in a specified process.
            </summary>
            <param name="process">The process to unmap the section.</param>
            <param name="base_address">The base address to unmap.</param>
        </member>
        <member name="M:NtApiDotNet.NtSection.Unmap(System.IntPtr)">
            <summary>
            Unmap a section in the current process.
            </summary>
            <param name="base_address">The base address to unmap.</param>
        </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.MapReadWrite(NtApiDotNet.NtProcess,System.Boolean)">
            <summary>
            Map section Read/Write into a specific process
            </summary>
            <param name="process">The process to map into</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The mapped section</returns>
        </member>
        <member name="M:NtApiDotNet.NtSection.MapRead(NtApiDotNet.NtProcess,System.Boolean)">
            <summary>
            Map section Read Only into a specific process
            </summary>
            <param name="process">The process to map into</param>
            <param name="throw_on_error">True to throw on error.</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.MapRead(System.Boolean)">
            <summary>
            Map section Read Only into a current process
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <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.MapReadWrite(System.Boolean)">
            <summary>
            Map section Read/Write into a current process
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The mapped section</returns>
        </member>
        <member name="M:NtApiDotNet.NtSection.Map(NtApiDotNet.NtProcess,NtApiDotNet.MemoryAllocationProtect)">
            <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.NtProcess,NtApiDotNet.MemoryAllocationProtect,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The mapped section</returns>
        </member>
        <member name="M:NtApiDotNet.NtSection.Map(NtApiDotNet.NtProcess,NtApiDotNet.MemoryAllocationProtect,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,NtApiDotNet.LargeInteger,NtApiDotNet.SectionInherit,NtApiDotNet.AllocationType,System.Boolean)">
            <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>
            <param name="base_address">Optional base address</param>
            <param name="zero_bits">Number of zero bits.</param>
            <param name="commit_size">Size of pages to commit.</param>
            <param name="section_offset">Offset into the section.</param>
            <param name="view_size">Optional view size</param>
            <param name="allocation_type">Allocation type.</param>
            <param name="section_inherit">Section inheritance type.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The mapped section</returns>
        </member>
        <member name="M:NtApiDotNet.NtSection.Map(NtApiDotNet.NtProcess,NtApiDotNet.MemoryAllocationProtect,System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,NtApiDotNet.LargeInteger,NtApiDotNet.SectionInherit,NtApiDotNet.AllocationType)">
            <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>
            <param name="base_address">Optional base address</param>
            <param name="zero_bits">Number of zero bits.</param>
            <param name="commit_size">Size of pages to commit.</param>
            <param name="section_offset">Offset into the section.</param>
            <param name="view_size">Optional view size</param>
            <param name="allocation_type">Allocation type.</param>
            <param name="section_inherit">Section inheritance type.</param>
            <returns>The mapped section</returns>
        </member>
        <member name="M:NtApiDotNet.NtSection.Map(NtApiDotNet.NtProcess,NtApiDotNet.MemoryAllocationProtect,System.IntPtr,System.IntPtr)">
            <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>
            <param name="base_address">Optional base address</param>
            <param name="view_size">Optional view size</param>
            <returns>The mapped section</returns>
        </member>
        <member name="M:NtApiDotNet.NtSection.Map(NtApiDotNet.NtProcess,NtApiDotNet.MemoryAllocationProtect,System.IntPtr,System.IntPtr,System.Boolean)">
            <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>
            <param name="base_address">Optional base address</param>
            <param name="view_size">Optional view size</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The mapped section</returns>
        </member>
        <member name="M:NtApiDotNet.NtSection.Map(NtApiDotNet.MemoryAllocationProtect)">
            <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.Extend(System.Int64,System.Boolean)">
            <summary>
            Extend the section to a new size.
            </summary>
            <param name="new_size">The new size to extend to.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The new size.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSection.Extend(System.Int64)">
            <summary>
            Extend the section to a new size.
            </summary>
            <param name="new_size">The new size to extend to.</param>
            <returns>The new size.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSection.QueryInformation(NtApiDotNet.SectionInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Int32@)">
            <summary>
            Method to query information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to return data in.</param>
            <param name="return_length">Return length from the query.</param>
            <returns>The NT status code for the query.</returns>
        </member>
        <member name="P:NtApiDotNet.NtSection.Size">
            <summary>
            Get the size of the section
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSection.Attributes">
            <summary>
            Get the attributes of the section
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSection.ImageInformation">
            <summary>
            Get section image information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSection.OriginalBaseAddress">
            <summary>
            Get original section base address.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSection.RelocationAddress">
            <summary>
            Get relocation address.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtSecurity">
            <summary>
            Static class to access NT security manager routines.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.LookupAccountSidName(System.String,NtApiDotNet.Sid,System.Boolean)">
            <summary>
            Looks up the account name of a SID. 
            </summary>
            <param name="system_name">The system name to lookup the SID on.</param>
            <param name="sid">The SID to lookup</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The name.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.LookupAccountSidName(NtApiDotNet.Sid,System.Boolean)">
            <summary>
            Looks up the account name of a SID. 
            </summary>
            <param name="sid">The SID to lookup</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The name.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.LookupAccountSidName(NtApiDotNet.Sid)">
            <summary>
            Looks up the account name of a SID. 
            </summary>
            <param name="sid">The SID to lookup</param>
            <returns>The SID name.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if lookup fails.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.LookupAccountSid(NtApiDotNet.Sid,System.Boolean)">
            <summary>
            Looks up the account name of a SID. 
            </summary>
            <param name="sid">The SID to lookup</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The name.</returns>
        </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.LookupKnownCapabilityName(NtApiDotNet.Sid)">
            <summary>
            Looks up a capability SID to see if it's already known.
            </summary>
            <param name="sid">The capability SID to lookup</param>
            <returns>The name of the capability, null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.LookupAccountName(System.String,System.String,System.Boolean)">
            <summary>
            Lookup a SID from a username.
            </summary>
            <param name="system_name">The system name to lookup the SID on.</param>
            <param name="username">The username, can be in the form domain\account.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The Security Identifier</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if account cannot be found.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.LookupAccountName(System.String,System.String)">
            <summary>
            Lookup a SID from a username.
            </summary>
            <param name="system_name">The system name to lookup the SID on.</param>
            <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.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.LookupProcessTrustName(NtApiDotNet.Sid)">
            <summary>
            Lookup the name of a process trust SID.
            </summary>
            <param name="trust_sid">The trust sid to lookup.</param>
            <returns>The name of the trust sid. null if not found.</returns>
            <exception cref="T:System.ArgumentException">Thrown if trust_sid is not a trust sid.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.LookupPackageName(NtApiDotNet.Sid)">
            <summary>
            Try and lookup the moniker associated with a package sid.
            </summary>
            <param name="sid">The package sid.</param>
            <returns>Returns the moniker name. If not found returns null.</returns>
            <exception cref="T:System.ArgumentException">Thrown if SID is not a package sid.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.LookupDeviceCapabilityName(NtApiDotNet.Sid)">
            <summary>
            Lookup a device capability SID name if known.
            </summary>
            <param name="sid">The SID to lookup.</param>
            <returns>Returns the device capability name. If not found returns null.</returns>
            <exception cref="T:System.ArgumentException">Thrown if SID is not a package sid.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.PackageSidToCapability(NtApiDotNet.Sid)">
            <summary>
            Convert a package SID to a capability.
            </summary>
            <param name="sid">The package SID to convert.</param>
            <returns>The package SID as a capability.</returns>
        </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.SecurityDescriptorToSddl(System.Runtime.InteropServices.SafeBuffer,NtApiDotNet.SecurityInformation,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw on errror.</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.SddlToSecurityDescriptorBuffer(System.String,System.Boolean)">
            <summary>
            Convert an SDDL string to a binary security descriptor
            </summary>
            <param name="sddl">The SDDL string</param>
            <param name="throw_on_error">True to throw on error.</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.SddlToSecurityDescriptorBuffer(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.SddlToSecurityDescriptor(System.String,System.Boolean)">
            <summary>
            Convert an SDDL string to a binary security descriptor
            </summary>
            <param name="sddl">The SDDL string</param>
            <param name="throw_on_error">True to throw on error.</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.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,System.Boolean)">
            <summary>
            Convert an SDDL SID string to a Sid
            </summary>
            <param name="sddl">The SDDL SID string</param>
            <param name="throw_on_error">True to throw on error.</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.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.AccessCheckWithResultList(NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,NtApiDotNet.AccessMask,NtApiDotNet.Sid,NtApiDotNet.GenericMapping,System.Collections.Generic.IEnumerable{NtApiDotNet.ObjectTypeEntry},System.Boolean)">
            <summary>
            Do an access check between a security descriptor and a token to determine the allowed access.
            This function returns a list of results rather than a single entry. It should only be used
            with object types.
            </summary>
            <param name="sd">The security descriptor</param>
            <param name="token">The access token.</param>
            <param name="desired_access">The set of access rights to check against</param>
            <param name="principal">An optional principal SID used to replace the SELF SID in a security descriptor.</param>
            <param name="generic_mapping">The type specific generic mapping (get from corresponding NtType entry).</param>
            <param name="object_types">List of object types to check against.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of access check results.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred in the access check.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AccessCheckWithResultList(NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,NtApiDotNet.AccessMask,NtApiDotNet.Sid,NtApiDotNet.GenericMapping,System.Collections.Generic.IEnumerable{NtApiDotNet.ObjectTypeEntry})">
            <summary>
            Do an access check between a security descriptor and a token to determine the allowed access.
            This function returns a list of results rather than a single entry. It should only be used
            with object types.
            </summary>
            <param name="sd">The security descriptor</param>
            <param name="token">The access token.</param>
            <param name="desired_access">The set of access rights to check against</param>
            <param name="principal">An optional principal SID used to replace the SELF SID in a security descriptor.</param>
            <param name="generic_mapping">The type specific generic mapping (get from corresponding NtType entry).</param>
            <param name="object_types">List of object types to check against.</param>
            <returns>The list of access check results.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred in the access check.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AccessCheck(NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,NtApiDotNet.AccessMask,NtApiDotNet.Sid,NtApiDotNet.GenericMapping,System.Collections.Generic.IEnumerable{NtApiDotNet.ObjectTypeEntry},System.Boolean)">
            <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="desired_access">The set of access rights to check against</param>
            <param name="principal">An optional principal SID used to replace the SELF SID in a security descriptor.</param>
            <param name="generic_mapping">The type specific generic mapping (get from corresponding NtType entry).</param>
            <param name="object_types">List of object types to check against.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The result of the access check.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred in the access check.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AccessCheck(NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,NtApiDotNet.AccessMask,NtApiDotNet.Sid,NtApiDotNet.GenericMapping,System.Collections.Generic.IEnumerable{NtApiDotNet.ObjectTypeEntry})">
            <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="desired_access">The set of access rights to check against</param>
            <param name="principal">An optional principal SID used to replace the SELF SID in a security descriptor.</param>
            <param name="generic_mapping">The type specific generic mapping (get from corresponding NtType entry).</param>
            <param name="object_types">List of object types to check against.</param>
            <returns>The result of the access check.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred in the access check.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AccessCheck``1(NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,``0,NtApiDotNet.Sid,NtApiDotNet.GenericMapping,System.Collections.Generic.IEnumerable{NtApiDotNet.ObjectTypeEntry},System.Boolean)">
            <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="desired_access">The set of access rights to check against</param>
            <param name="principal">An optional principal SID used to replace the SELF SID in a security descriptor.</param>
            <param name="generic_mapping">The type specific generic mapping (get from corresponding NtType entry).</param>
            <param name="object_types">List of object types to check against.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The result of the access check.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred in the access check.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AccessCheck``1(NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,``0,NtApiDotNet.Sid,NtApiDotNet.GenericMapping,System.Collections.Generic.IEnumerable{NtApiDotNet.ObjectTypeEntry})">
            <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="desired_access">The set of access rights to check against</param>
            <param name="principal">An optional principal SID used to replace the SELF SID in a security descriptor.</param>
            <param name="generic_mapping">The type specific generic mapping (get from corresponding NtType entry).</param>
            <param name="object_types">List of object types to check against.</param>
            <returns>The result of the access check.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred in the access check.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AccessCheck(NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,NtApiDotNet.AccessMask,NtApiDotNet.Sid,NtApiDotNet.GenericMapping,System.Boolean)">
            <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="desired_access">The set of access rights to check against</param>
            <param name="principal">An optional principal SID used to replace the SELF SID in a security descriptor.</param>
            <param name="generic_mapping">The type specific generic mapping (get from corresponding NtType entry).</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The result of the access check.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred in the access check.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AccessCheck``1(NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,``0,NtApiDotNet.Sid,NtApiDotNet.GenericMapping,System.Boolean)">
            <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="desired_access">The set of access rights to check against</param>
            <param name="principal">An optional principal SID used to replace the SELF SID in a security descriptor.</param>
            <param name="generic_mapping">The type specific generic mapping (get from corresponding NtType entry).</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The result of the access check.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred in the access check.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AccessCheck(NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,NtApiDotNet.AccessMask,NtApiDotNet.Sid,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="desired_access">The set of access rights to check against</param>
            <param name="principal">An optional principal SID used to replace the SELF SID in a security descriptor.</param>
            <param name="generic_mapping">The type specific generic mapping (get from corresponding NtType entry).</param>
            <returns>The result of the access check.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred in the access check.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AccessCheck``1(NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,``0,NtApiDotNet.Sid,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="desired_access">The set of access rights to check against</param>
            <param name="principal">An optional principal SID used to replace the SELF SID in a security descriptor.</param>
            <param name="generic_mapping">The type specific generic mapping (get from corresponding NtType entry).</param>
            <returns>The result of the access check.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred in the access check.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.GetAllowedAccess(NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,NtApiDotNet.AccessMask,NtApiDotNet.Sid,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="principal">An optional principal SID used to replace the SELF SID in a security descriptor.</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.GetAllowedAccess(NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,NtApiDotNet.AccessMask,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.GetMaximumAccess(NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,NtApiDotNet.Sid,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="principal">An optional principal SID used to replace the SELF SID in a security descriptor.</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,NtApiDotNet.AccessMask,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 null if can't open the resource.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AccessCheckAudit(System.String,System.IntPtr,System.String,System.String,System.Boolean,NtApiDotNet.AuditEventType,NtApiDotNet.AuditAccessCheckFlags,NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,NtApiDotNet.AccessMask,NtApiDotNet.Sid,NtApiDotNet.GenericMapping,System.Collections.Generic.IEnumerable{NtApiDotNet.ObjectTypeEntry},System.Boolean)">
            <summary>
            Do an access check between a security descriptor and a token to determine the allowed access and
            audit the result.
            </summary>
            <param name="subsystem_name">The name of the subsystem to audit.</param>
            <param name="handle_id">The handle ID to audit. Used when issuing a close audit.</param>
            <param name="object_type_name">The object type name.</param>
            <param name="object_name">The name of the object.</param>
            <param name="object_creation">Indicates if this is an object creation operation.</param>
            <param name="audit_type">Type of audit.</param>
            <param name="flags">Flags for the audit operation.</param>
            <param name="sd">The security descriptor</param>
            <param name="token">The access token.</param>
            <param name="desired_access">The set of access rights to check against</param>
            <param name="principal">An optional principal SID used to replace the SELF SID in a security descriptor.</param>
            <param name="generic_mapping">The type specific generic mapping (get from corresponding NtType entry).</param>
            <param name="object_types">List of object types to check against.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The result of the access check.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred in the access check.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AccessCheckAudit(System.String,System.IntPtr,System.String,System.String,System.Boolean,NtApiDotNet.AuditEventType,NtApiDotNet.AuditAccessCheckFlags,NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,NtApiDotNet.AccessMask,NtApiDotNet.Sid,NtApiDotNet.GenericMapping,System.Collections.Generic.IEnumerable{NtApiDotNet.ObjectTypeEntry})">
            <summary>
            Do an access check between a security descriptor and a token to determine the allowed access and
            audit the result.
            </summary>
            <param name="subsystem_name">The name of the subsystem to audit.</param>
            <param name="handle_id">The handle ID to audit. Used when issuing a close audit.</param>
            <param name="object_type_name">The object type name.</param>
            <param name="object_name">The name of the object.</param>
            <param name="object_creation">Indicates if this is an object creation operation.</param>
            <param name="audit_type">Type of audit.</param>
            <param name="flags">Flags for the audit operation.</param>
            <param name="sd">The security descriptor</param>
            <param name="token">The access token.</param>
            <param name="desired_access">The set of access rights to check against</param>
            <param name="principal">An optional principal SID used to replace the SELF SID in a security descriptor.</param>
            <param name="generic_mapping">The type specific generic mapping (get from corresponding NtType entry).</param>
            <param name="object_types">List of object types to check against.</param>
            <returns>The result of the access check.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred in the access check.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AccessCheckWithResultListAudit(System.String,System.IntPtr,System.String,System.String,System.Boolean,NtApiDotNet.AuditEventType,NtApiDotNet.AuditAccessCheckFlags,NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,NtApiDotNet.AccessMask,NtApiDotNet.Sid,NtApiDotNet.GenericMapping,System.Collections.Generic.IEnumerable{NtApiDotNet.ObjectTypeEntry},System.Boolean)">
            <summary>
            Do an access check between a security descriptor and a token to determine the allowed access
            and audit. This function returns a list of results rather than a single entry. It should only
            be used with object types.
            </summary>
            <param name="subsystem_name">The name of the subsystem to audit.</param>
            <param name="handle_id">The handle ID to audit. Used when issuing a close audit.</param>
            <param name="object_type_name">The object type name.</param>
            <param name="object_name">The name of the object.</param>
            <param name="object_creation">Indicates if this is an object creation operation.</param>
            <param name="audit_type">Type of audit.</param>
            <param name="flags">Flags for the audit operation.</param>
            <param name="sd">The security descriptor</param>
            <param name="token">The access token.</param>
            <param name="desired_access">The set of access rights to check against</param>
            <param name="principal">An optional principal SID used to replace the SELF SID in a security descriptor.</param>
            <param name="generic_mapping">The type specific generic mapping (get from corresponding NtType entry).</param>
            <param name="object_types">List of object types to check against.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The result of the access check.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred in the access check.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AccessCheckWithResultListAudit(System.String,System.IntPtr,System.String,System.String,System.Boolean,NtApiDotNet.AuditEventType,NtApiDotNet.AuditAccessCheckFlags,NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,NtApiDotNet.AccessMask,NtApiDotNet.Sid,NtApiDotNet.GenericMapping,System.Collections.Generic.IEnumerable{NtApiDotNet.ObjectTypeEntry})">
            <summary>
            Do an access check between a security descriptor and a token to determine the allowed access
            and audit. This function returns a list of results rather than a single entry. It should only
            be used with object types.
            </summary>
            <param name="subsystem_name">The name of the subsystem to audit.</param>
            <param name="handle_id">The handle ID to audit. Used when issuing a close audit.</param>
            <param name="object_type_name">The object type name.</param>
            <param name="object_name">The name of the object.</param>
            <param name="object_creation">Indicates if this is an object creation operation.</param>
            <param name="audit_type">Type of audit.</param>
            <param name="flags">Flags for the audit operation.</param>
            <param name="sd">The security descriptor</param>
            <param name="token">The access token.</param>
            <param name="desired_access">The set of access rights to check against</param>
            <param name="principal">An optional principal SID used to replace the SELF SID in a security descriptor.</param>
            <param name="generic_mapping">The type specific generic mapping (get from corresponding NtType entry).</param>
            <param name="object_types">List of object types to check against.</param>
            <returns>The result of the access check.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if an error occurred in the access check.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.GetIntegritySidRaw(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="M:NtApiDotNet.NtSecurity.GetIntegrityLevel(NtApiDotNet.Sid)">
            <summary>
            Get the integrity level from an integrity SID
            </summary>
            <param name="sid">The integrity SID</param>
            <returns>The token integrity level.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.GetServiceSid(System.String)">
            <summary>
            Gets the SID for a service name.
            </summary>
            <param name="service_name">The service name.</param>
            <returns>The service SID.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.IsServiceSid(NtApiDotNet.Sid)">
            <summary>
            Checks if a SID is a service SID.
            </summary>
            <param name="sid">The sid to check.</param>
            <returns>True if a service sid.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.IsLogonSessionSid(NtApiDotNet.Sid)">
            <summary>
            Checks if a SID is a logon session SID.
            </summary>
            <param name="sid">The sid to check.</param>
            <returns>True if a logon session sid.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.IsProcessTrustSid(NtApiDotNet.Sid)">
            <summary>
            Checks if a SID is a process trust SID.
            </summary>
            <param name="sid">The sid to check.</param>
            <returns>True if a process trust sid.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.IsDomainSid(NtApiDotNet.Sid)">
            <summary>
            Checks if a SID is a domain SID.
            </summary>
            <param name="sid">The SID to check.</param>
            <returns>True if a domain SID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.IsLocalDomainSid(NtApiDotNet.Sid)">
            <summary>
            Checks if a SID is a domain SID and is a member of the local machine domain.
            </summary>
            <param name="sid">The SID to check.</param>
            <returns>True if a domain SID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.IsCapabilitySid(NtApiDotNet.Sid)">
            <summary>
            Checks if a SID is a capability SID.
            </summary>
            <param name="sid">The sid to check.</param>
            <returns>True if a capability sid.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.IsCapabilityGroupSid(NtApiDotNet.Sid)">
            <summary>
            Checks if a SID is a capbility group SID.
            </summary>
            <param name="sid">The sid to check.</param>
            <returns>True if a capability group sid.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.GetCapabilitySid(System.String,System.Boolean)">
            <summary>
            Get a capability sid by name.
            </summary>
            <param name="capability_name">The name of the capability.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The capability SID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.GetCapabilitySid(System.String)">
            <summary>
            Get a capability sid by name.
            </summary>
            <param name="capability_name">The name of the capability.</param>
            <returns>The capability SID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.GetCapabilityGroupSid(System.String,System.Boolean)">
            <summary>
            Get a capability group sid by name.
            </summary>
            <param name="capability_name">The name of the capability.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The capability SID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.GetCapabilityGroupSid(System.String)">
            <summary>
            Get a capability group sid by name.
            </summary>
            <param name="capability_name">The name of the capability.</param>
            <returns>The capability SID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.GetPackageSidType(NtApiDotNet.Sid)">
            <summary>
            Get the type of package sid.
            </summary>
            <param name="sid">The sid to get type.</param>
            <returns>The package sid type, Unknown if invalid.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.IsPackageSid(NtApiDotNet.Sid)">
            <summary>
            Checks if a SID is a valid package SID.
            </summary>
            <param name="sid">The sid to check.</param>
            <returns>True if a capability sid.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.GetPackageSidParent(NtApiDotNet.Sid)">
            <summary>
            Get the parent package SID for a child package SID.
            </summary>
            <param name="sid">The child package SID.</param>
            <returns>The parent package SID.</returns>
            <exception cref="T:System.ArgumentException">Thrown if sid not a child package SID.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.IsScopedPolicySid(NtApiDotNet.Sid)">
            <summary>
            Checks if a SID is a Scoped Policy ID SID.
            </summary>
            <param name="sid">The SID to check.</param>
            <returns>True if a Scoped Policy ID SID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.ConditionalAceToString(System.Byte[],System.Boolean)">
            <summary>
            Converts conditional ACE data to an SDDL string
            </summary>
            <param name="conditional_data">The conditional application data.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The conditional ACE string.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.ConditionalAceToString(System.Byte[])">
            <summary>
            Converts conditional ACE data to an SDDL string
            </summary>
            <param name="conditional_data">The conditional application data.</param>
            <returns>The conditional ACE string.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.StringToConditionalAce(System.String)">
            <summary>
            Converts a condition in SDDL format to an ACE application data.
            </summary>
            <param name="condition_sddl">The condition in SDDL format.</param>
            <returns>The condition in ACE application data format.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.EvaluateConditionAce(NtApiDotNet.NtToken,System.String,System.Collections.Generic.IEnumerable{NtApiDotNet.ClaimSecurityAttribute},System.Boolean)">
            <summary>
            Evaluate a condition ACE expression.
            </summary>
            <param name="token">The Token to check against.</param>
            <param name="condition_sddl">The conditional expression in SDDL format.</param>
            <param name="resource_attributes">Specify resource attributes to add to the check.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>True if the conditional expression was a success.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.EvaluateConditionAce(NtApiDotNet.NtToken,System.String,System.Boolean)">
            <summary>
            Evaluate a condition ACE expression.
            </summary>
            <param name="token">The Token to check against.</param>
            <param name="condition_sddl">The conditional expression in SDDL format.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>True if the conditional expression was a success.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.EvaluateConditionAce(NtApiDotNet.NtToken,System.String,System.Collections.Generic.IEnumerable{NtApiDotNet.ClaimSecurityAttribute})">
            <summary>
            Evaluate a condition ACE expression.
            </summary>
            <param name="token">The Token to check against.</param>
            <param name="condition_sddl">The conditional expression in SDDL format.</param>
            <param name="resource_attributes">Specify resource attributes to add to the check.</param>
            <returns>True if the conditional expression was a success.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.EvaluateConditionAce(NtApiDotNet.NtToken,System.String)">
            <summary>
            Evaluate a condition ACE expression.
            </summary>
            <param name="token">The Token to check against.</param>
            <param name="condition_sddl">The conditional expression in SDDL format.</param>
            <returns>True if the conditional expression was a success.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.EvaluateConditionAce(NtApiDotNet.NtToken,System.Byte[],System.Collections.Generic.IEnumerable{NtApiDotNet.ClaimSecurityAttribute},System.Boolean)">
            <summary>
            Evaluate a condition ACE expression.
            </summary>
            <param name="token">The Token to check against.</param>
            <param name="condition_data">The conditional expression in binary format.</param>
            <param name="resource_attributes">Specify resource attributes to add to the check.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>True if the conditional expression was a success.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.EvaluateConditionAce(NtApiDotNet.NtToken,System.Byte[],System.Boolean)">
            <summary>
            Evaluate a condition ACE expression.
            </summary>
            <param name="token">The Token to check against.</param>
            <param name="condition_data">The conditional expression in binary format.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>True if the conditional expression was a success.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.EvaluateConditionAce(NtApiDotNet.NtToken,System.Byte[],System.Collections.Generic.IEnumerable{NtApiDotNet.ClaimSecurityAttribute})">
            <summary>
            Evaluate a condition ACE expression.
            </summary>
            <param name="token">The Token to check against.</param>
            <param name="condition_data">The conditional expression in binary format.</param>
            <param name="resource_attributes">Specify resource attributes to add to the check.</param>
            <returns>True if the conditional expression was a success.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.EvaluateConditionAce(NtApiDotNet.NtToken,System.Byte[])">
            <summary>
            Evaluate a condition ACE expression.
            </summary>
            <param name="token">The Token to check against.</param>
            <param name="condition_data">The conditional expression in binary format.</param>
            <returns>True if the conditional expression was a success.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.GetCachedSigningLevel(NtApiDotNet.SafeKernelObjectHandle)">
            <summary>
            Get the cached signing level for a file.
            </summary>
            <param name="handle">The handle to the file to query.</param>
            <returns>The cached signing level.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.GetCachedSigningLevel(NtApiDotNet.SafeKernelObjectHandle,System.Boolean)">
            <summary>
            Get the cached signing level for a file.
            </summary>
            <param name="handle">The handle to the file to query.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The cached signing level.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.GetCachedSigningLevelFromEa(NtApiDotNet.EaBuffer)">
            <summary>
            Get the cached singing level from the raw EA buffer.
            </summary>
            <param name="ea">The EA buffer to read the cached signing level from.</param>
            <returns>The cached signing level.</returns>
            <exception cref="T:NtApiDotNet.NtException">Throw on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.SetCachedSigningLevel(NtApiDotNet.SafeKernelObjectHandle,System.Int32,NtApiDotNet.SigningLevel,System.Collections.Generic.IEnumerable{NtApiDotNet.SafeKernelObjectHandle},System.String)">
            <summary>
            Set the cached signing level for a file.
            </summary>
            <param name="handle">The handle to the file to set the cache on.</param>
            <param name="flags">Flags to set for the cache.</param>
            <param name="signing_level">The signing level to cache</param>
            <param name="source_files">A list of source file for the cache.</param>
            <param name="catalog_path">Optional directory path to look for catalog files.</param>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.SetCachedSigningLevel(NtApiDotNet.SafeKernelObjectHandle,System.Int32,NtApiDotNet.SigningLevel,System.Collections.Generic.IEnumerable{NtApiDotNet.SafeKernelObjectHandle},System.String,System.Boolean)">
            <summary>
            Set the cached signing level for a file.
            </summary>
            <param name="handle">The handle to the file to set the cache on.</param>
            <param name="flags">Flags to set for the cache.</param>
            <param name="signing_level">The signing level to cache</param>
            <param name="source_files">A list of source file for the cache.</param>
            <param name="catalog_path">Optional directory path to look for catalog files.</param>
            <param name="throw_on_error">True to throw on error.</param>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.CompareSigningLevel(NtApiDotNet.SigningLevel,NtApiDotNet.SigningLevel)">
            <summary>
            Compare two signing levels.
            </summary>
            <param name="current_level">The current level.</param>
            <param name="signing_level">The signing level to compare against.</param>
            <returns>True if the current level is above or equal to the signing level.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.GetNameForSid(NtApiDotNet.Sid,System.Boolean)">
            <summary>
            Get readable name for a SID, if known. This covers sources of names such as LSASS lookup, capability names and package names.
            </summary>
            <param name="sid">The SID to lookup.</param>
            <param name="bypass_cache">True to bypass the internal cache and get the current name.</param>
            <returns>The name for the SID. Returns the SDDL form if no other name is known.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.GetNameForSid(NtApiDotNet.Sid)">
            <summary>
            Get readable name for a SID, if known. This covers sources of names such as LSASS lookup, capability names and package names.
            </summary>
            <param name="sid">The SID to lookup.</param>
            <returns>The name for the SID. Returns the SDDL form if no other name is known.</returns>
            <remarks>This function will cache name lookups, this means the name might not reflect what's currently in LSASS if it's been changed.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AddSidName(NtApiDotNet.Sid,System.String,System.String,NtApiDotNet.Win32.SidNameUse)">
            <summary>
            Add a SID name to the local name cache.
            </summary>
            <param name="sid">The SID to add.</param>
            <param name="domain">The SID's domain name.</param>
            <param name="name">The name of the account.</param>
            <param name="name_use">The name user value.</param>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.RemoveSidName(NtApiDotNet.Sid)">
            <summary>
            Remove a SID name from the local cache.
            </summary>
            <param name="sid">The SID to remove.</param>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.ClearSidNameCache">
            <summary>
            Clear the SID name cache.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.GetLogonSessionSid(NtApiDotNet.Luid)">
            <summary>
            Get a logon session SID from an ID.
            </summary>
            <param name="session_id">The logon session ID.</param>
            <returns>The new logon session SID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.GetLogonSessionSid">
            <summary>
            Get a new logon session SID.
            </summary>
            <returns>The new logon session SID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.GetLogonSessionId(NtApiDotNet.Sid)">
            <summary>
            Get session id from logon session SID.
            </summary>
            <param name="sid">The logon session SID.</param>
            <returns>The logon session ID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.GetSecurityDescriptor(NtApiDotNet.SafeKernelObjectHandle,NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Get security descriptor as a byte array
            </summary>
            <param name="handle">Handle to the object to query.</param>
            <param name="security_information">What parts of the security descriptor to retrieve</param>
            <param name="throw_on_error">True to throw on error.</param>
            <return>The NT status result and security descriptor as a buffer.</return>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.SetSecurityDescriptor(NtApiDotNet.SafeKernelObjectHandle,System.Runtime.InteropServices.SafeBuffer,NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Set the object's security descriptor
            </summary>
            <param name="handle">Handle to the object to set.</param>
            <param name="security_desc">The security descriptor to set.</param>
            <param name="security_information">What parts of the security descriptor to set</param>
            <param name="throw_on_error">True to throw on error.</param>
            <return>The NT status result.</return>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.PrivilegeCheck(NtApiDotNet.SafeKernelObjectHandle,System.Collections.Generic.IEnumerable{NtApiDotNet.TokenPrivilege},System.Boolean,System.Boolean)">
            <summary>
            Do a privilege check on a token.
            </summary>
            <param name="handle">A handle to a token object.</param>
            <param name="privileges">The list of privileges to check.</param>
            <param name="all_necessary">True to require all necessary privileges.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The privilege check result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.QuerySecurityAccessMask(NtApiDotNet.SecurityInformation)">
            <summary>
            Get the access mask for querying a specific security information class.
            </summary>
            <param name="SecurityInformation">The information class.</param>
            <returns>The access mask for the information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.SetSecurityAccessMask(NtApiDotNet.SecurityInformation)">
            <summary>
            Get the access mask for setting a specific security information class.
            </summary>
            <param name="SecurityInformation">The information class.</param>
            <returns>The access mask for the information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.IsAllowedAceType(NtApiDotNet.AceType)">
            <summary>
            Get whether an ACE type is an allowed ACE type.
            </summary>
            <param name="type">The ACE type.</param>
            <returns>True if an allowed ACE type.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.IsDeniedAceType(NtApiDotNet.AceType)">
            <summary>
            Get whether an ACE type is a denied ACE type.
            </summary>
            <param name="type">The ACE type.</param>
            <returns>True if a denied ACE type.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.IsObjectAceType(NtApiDotNet.AceType)">
            <summary>
            Get whether an ACE type is an object ACE type.
            </summary>
            <param name="type">The ACE type.</param>
            <returns>True if an object ACE type.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.IsAuditAceType(NtApiDotNet.AceType)">
            <summary>
            Get whether an ACE type is an audit ACE type.
            </summary>
            <param name="type">The ACE type.</param>
            <returns>True if an audit ACE type.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.IsSystemAceType(NtApiDotNet.AceType)">
            <summary>
            Get whether an ACE type is used int the SACL.
            </summary>
            <param name="type">The ACE type.</param>
            <returns>True if a system ACE type.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.IsCallbackAceType(NtApiDotNet.AceType)">
            <summary>
            Get whether an ACE type is a callback type.
            </summary>
            <param name="type">The ACE type.</param>
            <returns>True if a callback type.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AccessMaskToString(NtApiDotNet.AccessMask,System.Type,System.Boolean)">
            <summary>
            Convert an access rights type to a string.
            </summary>
            <param name="access">The access mask to convert</param>
            <param name="enum_type">The enumeration type for the string conversion</param>
            <param name="sdk_names">Set to true to use SDK style names.</param>
            <returns>The string version of the access</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AccessMaskToString(NtApiDotNet.AccessMask,System.Type)">
            <summary>
            Convert an access rights type to a string.
            </summary>
            <param name="access">The access mask to convert</param>
            <param name="enum_type">The enumeration type for the string conversion</param>
            <returns>The string version of the access</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AccessMaskToString(System.Enum)">
            <summary>
            Convert an access rights type to a string.
            </summary>
            <param name="access">The access mask to convert</param>
            <returns>The string version of the access</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AccessMaskToString(System.Enum,System.Boolean)">
            <summary>
            Convert an access rights type to a string.
            </summary>
            <param name="access">The access mask to convert</param>
            <param name="sdk_names">Set to true to use SDK style names.</param>
            <returns>The string version of the access</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AccessMaskToString(NtApiDotNet.AccessMask,System.Type,NtApiDotNet.GenericMapping,System.Boolean)">
            <summary>
            Convert an enumerable access rights to a string
            </summary>
            <param name="access">The access mask.</param>
            <param name="enum_type">Enum type to convert to string.</param>
            <param name="generic_mapping">Generic mapping for object type.</param>
            <param name="map_to_generic">True to try and convert to generic rights where possible.</param>
            <returns>The string format of the access rights. Will return Full Access if not a generic access and has all rights and None if no access.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AccessMaskToString(NtApiDotNet.AccessMask,System.Type,NtApiDotNet.GenericMapping,System.Boolean,System.Boolean)">
            <summary>
            Convert an enumerable access rights to a string
            </summary>
            <param name="access">The access mask.</param>
            <param name="enum_type">Enum type to convert to string.</param>
            <param name="generic_mapping">Generic mapping for object type.</param>
            <param name="map_to_generic">True to try and convert to generic rights where possible.</param>
            <param name="sdk_names">Set to true to use SDK style names.</param>
            <returns>The string format of the access rights. Will return Full Access if not a generic access and has all rights and None if no access.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AceTypeToSDKName(NtApiDotNet.AceType)">
            <summary>
            Convert an ACE type to an SDK type string.
            </summary>
            <param name="type">The ACE type.</param>
            <returns>The ACE type as an SDK type string.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.AceFlagsToSDKName(NtApiDotNet.AceFlags)">
            <summary>
            Convert the ACE flags to an SDK type string.
            </summary>
            <returns>The ACE type as an SDK type string.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.ControlFlagsToSDKName(NtApiDotNet.SecurityDescriptorControl)">
            <summary>
            Convert the security descriptor control flags to an SDK type string.
            </summary>
            <returns>The security descriptor control as an SDK type string.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.GetTrustLevelSid(NtApiDotNet.ProcessTrustType,NtApiDotNet.ProcessTrustLevel)">
            <summary>
            Get a Process Trust Level SID.
            </summary>
            <param name="type">The Trust Type.</param>
            <param name="level">The Trust Level.</param>
            <returns>The Process Trust Level SID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.OpenObjectAudit(System.String,System.IntPtr,System.String,System.String,NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,NtApiDotNet.AccessMask,NtApiDotNet.AccessMask,System.Collections.Generic.IEnumerable{NtApiDotNet.TokenPrivilege},System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Generate audit event for an object open.
            </summary>
            <param name="subsystem_name">The subsystem name.</param>
            <param name="handle_id">Handle ID.</param>
            <param name="object_type_name">The typename of the object.</param>
            <param name="object_name">The name of the object.</param>
            <param name="security_descriptor">The security descriptor set for the object.</param>
            <param name="client_token">The client token used to open the object.</param>
            <param name="desired_access">Desired access for the open.</param>
            <param name="granted_access">Granted access from the open.</param>
            <param name="privileges">Privileges used to open the object.</param>
            <param name="object_creation">True if the object was created.</param>
            <param name="access_granted">Specify whether access was granted.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>A value indicating whether an event need to be generated on close.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.OpenObjectAudit(System.String,System.IntPtr,System.String,System.String,NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtToken,NtApiDotNet.AccessMask,NtApiDotNet.AccessMask,System.Collections.Generic.IEnumerable{NtApiDotNet.TokenPrivilege},System.Boolean,System.Boolean)">
            <summary>
            Generate audit event for an object open.
            </summary>
            <param name="subsystem_name">The subsystem name.</param>
            <param name="handle_id">Handle ID.</param>
            <param name="object_type_name">The typename of the object.</param>
            <param name="object_name">The name of the object.</param>
            <param name="security_descriptor">The security descriptor set for the object.</param>
            <param name="client_token">The client token used to open the object.</param>
            <param name="desired_access">Desired access for the open.</param>
            <param name="granted_access">Granted access from the open.</param>
            <param name="privileges">Privileges used to open the object.</param>
            <param name="object_creation">True if the object was created.</param>
            <param name="access_granted">Specify whether access was granted.</param>
            <returns>A value indicating whether an event need to be generated on close.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.CloseObjectAudit(System.String,System.IntPtr,System.Boolean,System.Boolean)">
            <summary>
            Generate audit event for an object close.
            </summary>
            <param name="subsystem_name">The subsystem name.</param>
            <param name="handle_id">Handle ID.</param>
            <param name="generate_on_close">True indicates to generate on close.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.CloseObjectAudit(System.String,System.IntPtr,System.Boolean)">
            <summary>
            Generate audit event for an object close.
            </summary>
            <param name="subsystem_name">The subsystem name.</param>
            <param name="handle_id">Handle ID.</param>
            <param name="generate_on_close">True indicates to generate on close.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.DeleteObjectAudit(System.String,System.IntPtr,System.Boolean,System.Boolean)">
            <summary>
            Generate audit event for an object deleted.
            </summary>
            <param name="subsystem_name">The subsystem name.</param>
            <param name="handle_id">Handle ID.</param>
            <param name="generate_on_close">True indicates to generate on close.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.DeleteObjectAudit(System.String,System.IntPtr,System.Boolean)">
            <summary>
            Generate audit event for an object deleted.
            </summary>
            <param name="subsystem_name">The subsystem name.</param>
            <param name="handle_id">Handle ID.</param>
            <param name="generate_on_close">True indicates to generate on close.</param>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.PrivilegeObjectAudit(System.String,System.IntPtr,NtApiDotNet.NtToken,NtApiDotNet.AccessMask,System.Collections.Generic.IEnumerable{NtApiDotNet.TokenPrivilege},System.Boolean,System.Boolean)">
            <summary>
            Generate audit event for a privileges used with an object.
            </summary>
            <param name="subsystem_name">The subsystem name.</param>
            <param name="handle_id">Handle ID.</param>
            <param name="client_token">The client token used.</param>
            <param name="desired_access">Desired access for the object.</param>
            <param name="privileges">Privileges used to open the object.</param>
            <param name="access_granted">Specify whether access was granted.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.PrivilegeObjectAudit(System.String,System.IntPtr,NtApiDotNet.NtToken,NtApiDotNet.AccessMask,System.Collections.Generic.IEnumerable{NtApiDotNet.TokenPrivilege},System.Boolean)">
            <summary>
            Generate audit event for a privileges used with an object.
            </summary>
            <param name="subsystem_name">The subsystem name.</param>
            <param name="handle_id">Handle ID.</param>
            <param name="client_token">The client token used.</param>
            <param name="desired_access">Desired access for the object.</param>
            <param name="privileges">Privileges used to open the object.</param>
            <param name="access_granted">Specify whether access was granted.</param>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.PrivilegedServiceAudit(System.String,System.String,NtApiDotNet.NtToken,System.Collections.Generic.IEnumerable{NtApiDotNet.TokenPrivilege},System.Boolean,System.Boolean)">
            <summary>
            Generate audit event for a privileges used by a client.
            </summary>
            <param name="subsystem_name">The subsystem name.</param>
            <param name="client_token">The client token used.</param>
            <param name="service_name">The name of the service.</param>
            <param name="privileges">Privileges used in the operation.</param>
            <param name="access_granted">Specify whether access was granted.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.PrivilegedServiceAudit(System.String,System.String,NtApiDotNet.NtToken,System.Collections.Generic.IEnumerable{NtApiDotNet.TokenPrivilege},System.Boolean)">
            <summary>
            Generate audit event for a privileges used by a client.
            </summary>
            <param name="subsystem_name">The subsystem name.</param>
            <param name="client_token">The client token used.</param>
            <param name="service_name">The name of the service.</param>
            <param name="privileges">Privileges used in the operation.</param>
            <param name="access_granted">Specify whether access was granted.</param>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.CapabilityCheck(NtApiDotNet.SafeKernelObjectHandle,System.String,System.Boolean)">
            <summary>
            Perform a capability check for a token.
            </summary>
            <param name="token">Specify the token handle. If null will use the effective token.</param>
            <param name="capability_name">The name of the capability to check.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>True if the token has the capability.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSecurity.CapabilityCheck(NtApiDotNet.SafeKernelObjectHandle,System.String)">
            <summary>
            Perform a capability check for a token.
            </summary>
            <param name="token">Specify the token handle. If null will use the effective token.</param>
            <param name="capability_name">The name of the capability to check.</param>
            <returns>True if the token has the capability.</returns>
        </member>
        <member name="P:NtApiDotNet.NtSecurity.StandardAccessMapping">
            <summary>
            Get GenericMapping for standard access rights.
            </summary>
        </member>
        <member name="T:NtApiDotNet.SecurityInformation">
            <summary>
            Security information class for security descriptors.
            </summary>
        </member>
        <member name="T:NtApiDotNet.AceFlags">
            <summary>
            ACE Flags. Note that the value isn't completely the same as
            the real flags.
            </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,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </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,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</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="M:NtApiDotNet.NtSemaphore.Release(System.Int32,System.Boolean)">
            <summary>
            Release the semaphore
            </summary>
            <param name="count">The release count</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The previous count</returns>
        </member>
        <member name="M:NtApiDotNet.NtSemaphore.QueryInformation(NtApiDotNet.SemaphoreInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Int32@)">
            <summary>
            Method to query information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to return data in.</param>
            <param name="return_length">Return length from the query.</param>
            <returns>The NT status code for the query.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSemaphore.QueryObject(NtApiDotNet.SemaphoreInformationClass,System.Boolean)">
            <summary>
            Query the information class as an object.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The information class as an object.</returns>
        </member>
        <member name="P:NtApiDotNet.NtSemaphore.CurrentCount">
            <summary>
            Current count of the semaphore.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSemaphore.MaximumCount">
            <summary>
            Maximum count of the semaphore.
            </summary>
        </member>
        <member name="T:NtApiDotNet.SemaphoreAccessRights">
            <summary>
            Semaphore access rights.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtSession">
            <summary>
            Class to represent a Session object
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtSession.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.SessionAccessRights,System.Boolean)">
            <summary>
            Open a session object.
            </summary>
            <param name="obj_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the object</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The open result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSession.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.SessionAccessRights)">
            <summary>
            Open a session object.
            </summary>
            <param name="obj_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the object</param>
            <returns>The open result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSession.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.SessionAccessRights)">
            <summary>
            Open a session object.
            </summary>
            <param name="name">Name of the object</param>
            <param name="root">Optional root directory for lookup</param>
            <param name="desired_access">Desired access for the object</param>
            <returns>The open result.</returns>
        </member>
        <member name="T:NtApiDotNet.NtStatus">
            <summary>
            NT status values
            </summary>
        </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,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</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(System.String,NtApiDotNet.NtObject,NtApiDotNet.SymbolicLinkAccessRights,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened object</returns>
        </member>
        <member name="M:NtApiDotNet.NtSymbolicLink.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.SymbolicLinkAccessRights,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</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="M:NtApiDotNet.NtSymbolicLink.ResolveTarget(System.String,System.Boolean)">
            <summary>
            Resolve a symlink name to a final target.
            </summary>
            <param name="symlink_name">The name of the symlink to resolve.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The final target.</returns>
            <remarks>This function will return the last name which returns STATUS_OBJECT_TYPE_MISMATCH. Anything else is an error.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtSymbolicLink.ResolveTarget(System.String)">
            <summary>
            Resolve a symlink name to a final target.
            </summary>
            <param name="symlink_name">The name of the symlink to resolve.</param>
            <returns>The final target.</returns>
            <remarks>This function will return the last name which returns STATUS_OBJECT_TYPE_MISMATCH. Anything else is an error.</remarks>
        </member>
        <member name="P:NtApiDotNet.NtSymbolicLink.Target">
            <summary>
            Get the symbolic link target.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtSymbolicLink.SetInformation(NtApiDotNet.SymbolicLinkInformationClass,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Method to set information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to set data from.</param>
            <returns>The NT status code for the set.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSymbolicLink.SetAccessMask(NtApiDotNet.AccessMask,System.Boolean)">
            <summary>
            Set access mask filter.
            </summary>
            <param name="access_mask">The access mask to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <remarks>Needs SeTcbPrivilege.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtSymbolicLink.SetAccessMask(NtApiDotNet.AccessMask)">
            <summary>
            Set access mask filter.
            </summary>
            <param name="access_mask">The access mask to set.</param>
            <remarks>Needs SeTcbPrivilege.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtSymbolicLink.SetGlobalLink(System.Boolean)">
            <summary>
            Set as a global link.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <remarks>Needs SeTcbPrivilege.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtSymbolicLink.SetGlobalLink">
            <summary>
            Set as a global link.
            </summary>
            <remarks>Needs SeTcbPrivilege.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtSymbolicLink.GetTarget(System.Boolean)">
            <summary>
            Get the symbolic link target path.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The target path.</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,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>
            <param name="force_file_name">True to force all file names to be queried. Otherwise limits to only DISK files.</param>
            <returns>The list of handles</returns>
            <remarks>The purpose of force_file_name to disable querying a file handle for its path unless it's on a FS volume.
            This is because some non-file types can be in a locked state which causes the filename lookup to hang.</remarks>
        </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="M:NtApiDotNet.NtSystemInfo.GetThreadInformation(System.Int32,System.Boolean)">
            <summary>
            Get a list of threads for a specific process.
            </summary>
            <param name="process_id">The process ID to list.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of thread information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.GetThreadInformation(System.Int32)">
            <summary>
            Get a list of threads for a specific process.
            </summary>
            <param name="process_id">The process ID to list.</param>
            <returns>The list of thread information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.GetThreadInformation(System.Boolean)">
            <summary>
            Get a list of all threads.
            </summary>
            <returns>The list of thread information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.GetThreadInformation">
            <summary>
            Get a list of all threads.
            </summary>
            <returns>The list of thread information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.GetThreadInformationExtended(System.Int32,System.Boolean)">
            <summary>
            Get a list of threads for a specific process.
            </summary>
            <param name="process_id">The process ID to list.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of thread information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.GetThreadInformationExtended(System.Int32)">
            <summary>
            Get a list of threads for a specific process.
            </summary>
            <param name="process_id">The process ID to list.</param>
            <returns>The list of thread information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.GetThreadInformationExtended(System.Boolean)">
            <summary>
            Get a list of all threads.
            </summary>
            <returns>The list of thread information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.GetThreadInformationExtended">
            <summary>
            Get a list of all threads.
            </summary>
            <returns>The list of thread information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.GetProcessInformation">
            <summary>
            Get all process information for the system.
            </summary>
            <returns>The list of process information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.GetProcessInformation(System.Boolean)">
            <summary>
            Get all process information for the system.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of process information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.GetProcessInformationExtended">
            <summary>
            Get all process information for the system.
            </summary>
            <returns>The list of process information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.GetProcessInformationExtended(System.Boolean)">
            <summary>
            Get all process information for the system.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of process information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.GetProcessInformationFull">
            <summary>
            Get all process information for the system.
            </summary>
            <returns>The list of process information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.GetProcessInformationFull(System.Boolean)">
            <summary>
            Get all process information for the system.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of process information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.GetPageFileNames">
            <summary>
            Get list of page filenames.
            </summary>
            <returns>The list of page file names.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.CreateKernelDump(System.String,NtApiDotNet.SystemDebugKernelDumpControlFlags,NtApiDotNet.SystemDebugKernelDumpPageControlFlags)">
            <summary>
            Create a kernel dump for current system.
            </summary>
            <param name="path">The path to the output file.</param>
            <param name="flags">Flags</param>
            <param name="page_flags">Page flags</param>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.QuerySystemEnvironmentValueNames">
            <summary>
            Query all system environment value names.
            </summary>
            <returns>A list of names of environment values</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.QuerySystemEnvironmentValueNamesAndValues">
            <summary>
            Query all system environment value names and values.
            </summary>
            <returns>A list of names of environment values</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.QuerySystemEnvironmentValue(System.String,System.Guid,System.Boolean)">
            <summary>
            Query a single system environment value.
            </summary>
            <param name="name">The name of the value.</param>
            <param name="vendor_guid">The associated vendor guid</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The system environment value.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.QuerySystemEnvironmentValue(System.String,System.Guid)">
            <summary>
            Query a single system environment value.
            </summary>
            <param name="name">The name of the value.</param>
            <param name="vendor_guid">The associated vendor guid</param>
            <returns>The system environment value.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.SetSystemEnvironmentValue(System.String,System.Guid,System.Byte[],System.Int32)">
            <summary>
            Set a system environment variable.
            </summary>
            <param name="name">The name of the variable.</param>
            <param name="vendor_guid">The vendor GUID</param>
            <param name="value">The value to set</param>
            <param name="attributes">Attributes of the value</param>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.SetSystemEnvironmentValue(System.String,System.Guid,System.Byte[],NtApiDotNet.SystemEnvironmentValueAttribute)">
            <summary>
            Set a system environment variable.
            </summary>
            <param name="name">The name of the variable.</param>
            <param name="vendor_guid">The vendor GUID</param>
            <param name="value">The value to set</param>
            <param name="attributes">Attributes of the value</param>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.SetSystemEnvironmentValue(System.String,System.Guid,System.String,System.Int32)">
            <summary>
            Set a system environment variable.
            </summary>
            <param name="name">The name of the variable.</param>
            <param name="vendor_guid">The vendor GUID</param>
            <param name="value">The value to set</param>
            <param name="attributes">Attributes of the value</param>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.SetSystemEnvironmentValue(System.String,System.Guid,System.String,NtApiDotNet.SystemEnvironmentValueAttribute)">
            <summary>
            Set a system environment variable.
            </summary>
            <param name="name">The name of the variable.</param>
            <param name="vendor_guid">The vendor GUID</param>
            <param name="value">The value to set</param>
            <param name="attributes">Attributes of the value</param>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.AllocateLocallyUniqueId">
            <summary>
            Allocate a LUID.
            </summary>
            <returns>The allocated LUID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.AllocateLocallyUniqueId(System.Boolean)">
            <summary>
            Allocate a LUID.
            </summary>
            <returns>The allocated LUID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.ResolveObjectAddress(System.Collections.Generic.IEnumerable{NtApiDotNet.NtObject})">
            <summary>
            Get the addresses of a list of objects from the handle table and initialize the Address property.
            </summary>
            <param name="objects">The list of objects to initialize.</param>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.ResolveObjectAddress(NtApiDotNet.NtObject)">
            <summary>
            Get the address of an object in kernel memory from the handle table and initialize the Address property.
            </summary>
            <param name="obj">The object.</param>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.ResolveObjectAddress(NtApiDotNet.NtObject,NtApiDotNet.NtObject[])">
            <summary>
            Get the address of an object in kernel memory from the handle table and initialize the Address property.
            </summary>
            <param name="obj">The object.</param>
            <param name="objs">Any remaining objects.</param>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.QueryDynamicCodeTrust(NtApiDotNet.SafeKernelObjectHandle,System.IntPtr,System.Int32)">
            <summary>
            Query whether a file is trusted for dynamic code.
            </summary>
            <param name="handle">The handle to a file to query.</param>
            <param name="image">Pointer to a memory buffer containing the image.</param>
            <param name="image_size">The size of the in-memory buffer.</param>
            <returns>True if the file is trusted.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.QueryDynamicCodeTrust(System.Byte[])">
            <summary>
            Query whether a file is trusted for dynamic code.
            </summary>
            <param name="image">Pointer to a memory buffer containing the image.</param>
            <returns>The status code from the operation. Returns STATUS_SUCCESS is valid.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.QueryDynamicCodeTrust(NtApiDotNet.SafeKernelObjectHandle)">
            <summary>
            Query whether a file is trusted for dynamic code.
            </summary>
            <param name="handle">The handle to a file to query.</param>
            <returns>The status code from the operation. Returns STATUS_SUCCESS is valid.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.SetDynamicCodeTrust(NtApiDotNet.SafeKernelObjectHandle)">
            <summary>
            Set a file is trusted for dynamic code.
            </summary>
            <param name="handle">The handle to a file to set.</param>
            <returns>The status code from the operation.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.GetRootSilos">
            <summary>
            Get list of root silos.
            </summary>
            <returns>The list of root silos.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.SetElamCertificate(NtApiDotNet.NtFile)">
            <summary>
            Set the ELAM certificate information.
            </summary>
            <param name="image_file">The signed file containing an ELAM certificate resource.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.QueryCodeIntegrityCertificateInfo(NtApiDotNet.NtFile,System.Int32)">
            <summary>
            Query code integrity certificate information.
            </summary>
            <param name="image_file">The image file.</param>
            <param name="type">The type of check to make.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.GetProcessIdImagePath(System.Int32,System.Boolean)">
            <summary>
            Query the image path from a process ID.
            </summary>
            <param name="pid">The ID of the process.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The image path.</returns>
            <remarks>This method can be called without any permissions on the process.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.GetProcessIdImagePath(System.Int32)">
            <summary>
            Query the image path from a process ID.
            </summary>
            <param name="pid">The ID of the process.</param>
            <returns>The image path.</returns>
            <remarks>This method can be called without any permissions on the process.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.GetIsolatedUserModeFlags(System.Boolean)">
            <summary>
            Get flags for isolated user mode.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The ISO flags.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.Query``1(NtApiDotNet.SystemInformationClass,``0,System.Boolean)">
            <summary>
            Query a fixed structure from the object.
            </summary>
            <typeparam name="T">The type of structure to return.</typeparam>
            <param name="info_class">The information class to query.</param>
            <param name="default_value">A default value for the query.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.Query``1(NtApiDotNet.SystemInformationClass,``0)">
            <summary>
            Query a fixed structure from the object.
            </summary>
            <typeparam name="T">The type of structure to return.</typeparam>
            <param name="info_class">The information class to query.</param>
            <param name="default_value">A default value for the query.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.Query``1(NtApiDotNet.SystemInformationClass)">
            <summary>
            Query a fixed structure from the object.
            </summary>
            <typeparam name="T">The type of structure to return.</typeparam>
            <param name="info_class">The information class to query.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.QueryBuffer``1(NtApiDotNet.SystemInformationClass,``0,System.Boolean)">
            <summary>
            Query a variable buffer from the object.
            </summary>
            <typeparam name="T">The type of structure to return.</typeparam>
            <param name="info_class">The information class to query.</param>
            <param name="default_value">A default value for the query.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.QueryRawBuffer(NtApiDotNet.SystemInformationClass,System.Byte[],System.Boolean)">
            <summary>
            Query a variable buffer from the object.
            </summary>
            <param name="info_class">The information class to query.</param>
            <param name="init_buffer">A buffer to initialize the initial query. Can be null.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.QueryRawBuffer(NtApiDotNet.SystemInformationClass,System.Byte[])">
            <summary>
            Query a variable buffer from the object.
            </summary>
            <param name="info_class">The information class to query.</param>
            <param name="init_buffer">A buffer to initialize the initial query. Can be null.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.QueryRawBuffer(NtApiDotNet.SystemInformationClass)">
            <summary>
            Query a variable buffer from the object.
            </summary>
            <param name="info_class">The information class to query.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.QueryRawBytes(NtApiDotNet.SystemInformationClass,System.Byte[],System.Boolean)">
            <summary>
            Query a variable buffer from the object and return as bytes.
            </summary>
            <param name="info_class">The information class to query.</param>
            <param name="init_buffer">A buffer to initialize the initial query. Can be null.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.QueryRawBytes(NtApiDotNet.SystemInformationClass,System.Byte[])">
            <summary>
            Query a variable buffer from the object and return as bytes.
            </summary>
            <param name="info_class">The information class to query.</param>
            <param name="init_buffer">A buffer to initialize the initial query. Can be null.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.QueryRawBytes(NtApiDotNet.SystemInformationClass)">
            <summary>
            Query a variable buffer from the object and return as bytes.
            </summary>
            <param name="info_class">The information class to query.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.QueryBuffer``1(NtApiDotNet.SystemInformationClass,``0)">
            <summary>
            Query a variable buffer from the object.
            </summary>
            <typeparam name="T">The type of structure to return.</typeparam>
            <param name="info_class">The information class to query.</param>
            <param name="default_value">A default value for the query.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.QueryBuffer``1(NtApiDotNet.SystemInformationClass)">
            <summary>
            Query a variable buffer from the object.
            </summary>
            <typeparam name="T">The type of structure to return.</typeparam>
            <param name="info_class">The information class to query.</param>
            <returns>The result of the query.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.Set``1(NtApiDotNet.SystemInformationClass,``0,System.Boolean)">
            <summary>
            Set a value to the object.
            </summary>
            <typeparam name="T">The type of structure to set.</typeparam>
            <param name="info_class">The information class to set.</param>
            <param name="value">The value to set. If you specify a SafeBuffer then it'll be passed directly.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code of the set.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.Set``1(NtApiDotNet.SystemInformationClass,``0)">
            <summary>
            Set a value to the object.
            </summary>
            <typeparam name="T">The type of structure to set.</typeparam>
            <param name="info_class">The information class to set.</param>
            <param name="value">The value to set.</param>
            <returns>The NT status code of the set.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.SetBuffer(NtApiDotNet.SystemInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Boolean)">
            <summary>
            Set a value to the object from a buffer.
            </summary>
            <param name="info_class">The information class to set.</param>
            <param name="buffer">The value to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code of the set.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.SetBuffer(NtApiDotNet.SystemInformationClass,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Set a value to the object from a buffer..
            </summary>
            <param name="info_class">The information class to set.</param>
            <param name="buffer">The value to set.</param>
            <returns>The NT status code of the set.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.SetBytes(NtApiDotNet.SystemInformationClass,System.Byte[],System.Boolean)">
            <summary>
            Set a raw value to the object.
            </summary>
            <param name="info_class">The information class to set.</param>
            <param name="value">The raw value to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code of the set.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.SetBytes(NtApiDotNet.SystemInformationClass,System.Byte[])">
            <summary>
            Set a raw value to the object.
            </summary>
            <param name="info_class">The information class to set.</param>
            <param name="value">The raw value to set.</param>
            <returns>The NT status code of the set.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.DrawText(System.String,System.Boolean)">
            <summary>
            Draw text on the background.
            </summary>
            <param name="text">The text to draw.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.DrawText(System.String)">
            <summary>
            Draw text on the background.
            </summary>
            <param name="text">The text to draw.</param>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.DisplayString(System.String,System.Boolean)">
            <summary>
            Display a string.
            </summary>
            <param name="text">The text to display.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.DisplayString(System.String)">
            <summary>
            Display a string.
            </summary>
            <param name="text">The text to display.</param>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.LoadDriver(System.String,System.Boolean)">
            <summary>
            Load a driver.
            </summary>
            <param name="driver_service_name">The name of the driver service.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.UnloadDriver(System.String,System.Boolean)">
            <summary>
            Unload a driver.
            </summary>
            <param name="driver_service_name">The name of the driver service.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.GetKernelModules(System.Boolean)">
            <summary>
            Get kernel modules.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of kernel modules.</returns>
        </member>
        <member name="M:NtApiDotNet.NtSystemInfo.GetKernelModules">
            <summary>
            Get kernel modules.
            </summary>
            <returns>The list of kernel modules.</returns>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.KernelDebuggerEnabled">
            <summary>
            Get whether the kernel debugger is enabled.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.KernelDebuggerNotPresent">
            <summary>
            Get whether the kernel debugger is not present.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.CodeIntegrityOptions">
            <summary>
            Get current code integrity option settings.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.CodeIntegrityPolicy">
            <summary>
            Get code integrity policy.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.CodeIntegrityUnlock">
            <summary>
            Get code integrity unlock information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.CodeIntegrityFullPolicy">
            <summary>
            Get all code integrity policies.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.SecureBootEnabled">
            <summary>
            Get whether secure boot is enabled.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.SecureBootCapable">
            <summary>
            Get whether system supports secure boot.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.SecureBootPolicy">
            <summary>
            Extract the secure boot policy.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.TimerResolution">
            <summary>
            Get system timer resolution.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.PageSize">
            <summary>
            Get system page size.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.NumberOfPhysicalPages">
            <summary>
            Get number of physical pages.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.LowestPhysicalPageNumber">
            <summary>
            Get lowest page number.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.HighestPhysicalPageNumber">
            <summary>
            Get highest page number.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.AllocationGranularity">
            <summary>
            Get allocation granularity.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.MinimumUserModeAddress">
            <summary>
            Get minimum user mode address.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.MaximumUserModeAddress">
            <summary>
            Get maximum user mode address.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.ActiveProcessorsAffinityMask">
            <summary>
            Get active processor affinity mask.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.NumberOfProcessors">
            <summary>
            Get number of processors.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.DeviceInformation">
            <summary>
            Get system device information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.ProcessorInformation">
            <summary>
            Get the system processor information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.EmulationProcessorInformation">
            <summary>
            Get the system emulation processor information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.IsolatedUserModeFlags">
            <summary>
            Get the Isolated User Mode flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.ProductType">
            <summary>
            Get the NT product type.
            </summary>
            <returns></returns>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.OSVersion">
            <summary>
            Get OS version info,
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.IsMultiSession">
            <summary>
            Get whether this is a multi-session SKU.
            </summary>
            <returns>True if multi-session.</returns>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.IsMultiUsersInSession">
            <summary>
            Get whether this there are multiple users in a session.
            </summary>
            <returns>True if multi-session.</returns>
        </member>
        <member name="P:NtApiDotNet.NtSystemInfo.ElevationFlags">
            <summary>
            Query the system elevation flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtThread">
            <summary>
            Class to represent a NT Thread object
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtThread.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.ThreadAccessRights,NtApiDotNet.NtProcess,System.Int64,System.Int64,NtApiDotNet.ThreadCreateFlags,System.Int64,System.Int64,System.Int64,System.Collections.Generic.IEnumerable{NtApiDotNet.ProcessAttribute},System.Boolean)">
            <summary>
            Create a new thread in a process.
            </summary>
            <param name="object_attributes">The object attributes for the thread object.</param>
            <param name="desired_acccess">Desired access for the handle.</param>
            <param name="process">Process to create the thread in.</param>
            <param name="start_routine">Address of the start routine.</param>
            <param name="argument">Argument to pass to the thread.</param>
            <param name="create_flags">Creation flags.</param>
            <param name="zero_bits">Zero bits for the stack address.</param>
            <param name="stack_size">Size of the committed stack.</param>
            <param name="maximum_stack_size">Maximum reserved stack size.</param>
            <param name="attribute_list">Optional attribute list.</param>
            <param name="throw_on_error">True to throw on error</param>
            <returns>The created thread object.</returns>
            <remarks>This creates a native thread, not a Win32 thread. This might cause unexpected things to fail as they're not initialized.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtThread.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.ThreadAccessRights,NtApiDotNet.NtProcess,System.Int64,System.Int64,NtApiDotNet.ThreadCreateFlags,System.Int64,System.Int64,System.Int64,System.Collections.Generic.IEnumerable{NtApiDotNet.ProcessAttribute})">
            <summary>
            Create a new thread in a process.
            </summary>
            <param name="object_attributes">The object attributes for the thread object.</param>
            <param name="desired_acccess">Desired access for the handle.</param>
            <param name="process">Process to create the thread in.</param>
            <param name="start_routine">Address of the start routine.</param>
            <param name="argument">Argument to pass to the thread.</param>
            <param name="create_flags">Creation flags.</param>
            <param name="zero_bits">Zero bits for the stack address.</param>
            <param name="stack_size">Size of the committed stack.</param>
            <param name="maximum_stack_size">Maximum reserved stack size.</param>
            <param name="attribute_list">Optional attribute list.</param>
            <returns>The created thread object.</returns>
            <remarks>This creates a native thread, not a Win32 thread. This might cause unexpected things to fail as they're not initialized.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtThread.Create(NtApiDotNet.NtProcess,System.Int64,System.Int64,NtApiDotNet.ThreadCreateFlags,System.Int64,System.Boolean)">
            <summary>
            Create a new thread in a process.
            </summary>
            <param name="process">Process to create the thread in.</param>
            <param name="start_routine">Address of the start routine.</param>
            <param name="argument">Argument to pass to the thread.</param>
            <param name="create_flags">Creation flags.</param>
            <param name="stack_size">Size of the committed stack.</param>
            <param name="throw_on_error">True to throw on error</param>
            <returns>The created thread object.</returns>
            <remarks>This creates a native thread, not a Win32 thread. This might cause unexpected things to fail as they're not initialized.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtThread.Create(NtApiDotNet.NtProcess,System.Int64,System.Int64,NtApiDotNet.ThreadCreateFlags,System.Int64)">
            <summary>
            Create a new thread in a process.
            </summary>
            <param name="process">Process to create the thread in.</param>
            <param name="start_routine">Address of the start routine.</param>
            <param name="argument">Argument to pass to the thread.</param>
            <param name="create_flags">Creation flags.</param>
            <param name="stack_size">Size of the committed stack.</param>
            <returns>The created thread object.</returns>
            <remarks>This creates a native thread, not a Win32 thread. This might cause unexpected things to fail as they're not initialized.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtThread.Open(System.Int32,System.Int32,NtApiDotNet.ThreadAccessRights,System.Boolean)">
            <summary>
            Open a thread
            </summary>
            <param name="process_id">The process ID containing the thread.</param>
            <param name="thread_id">The thread ID to open</param>
            <param name="desired_access">The desired access for the handle</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.Open(System.Int32,NtApiDotNet.ThreadAccessRights,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.Open(System.Int32,System.Int32,NtApiDotNet.ThreadAccessRights)">
            <summary>
            Open a thread
            </summary>
            <param name="process_id">The process ID containing the thread.</param>
            <param name="thread_id">The thread ID to open</param>
            <param name="desired_access">The desired access for the handle</param>
            <returns>The NT status code and object result.</returns>
        </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="M:NtApiDotNet.NtThread.GetThreads(NtApiDotNet.ThreadAccessRights,System.Boolean)">
            <summary>
            Gets all accessible threads on the system.
            </summary>
            <param name="desired_access">The desired access for each thread.</param>
            <param name="from_system_info">Get the thread list from system information.</param>
            <returns>The list of accessible threads.</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.Sleep(System.Boolean,NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>STATUS_ALERTED if the thread was alerted, other success or error code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.Sleep(System.Boolean,NtApiDotNet.NtWaitTimeout)">
            <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="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="M:NtApiDotNet.NtThread.SleepMs(System.Int64)">
            <summary>
            Sleep the current thread for a specified number of milliseconds.
            </summary>
            <param name="delay_ms">The delay in milliseconds.</param>
            <returns>True if the thread was alerted before the delay expired.</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.SetWorkOnBehalfTicket(System.UInt64,System.Boolean)">
            <summary>
            Set the work on behalf ticket.
            </summary>
            <param name="ticket">The ticket to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The status code from the set.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.SetWorkOnBehalfTicket(System.UInt64)">
            <summary>
            Set the work on behalf ticket.
            </summary>
            <param name="ticket">The ticket to set.</param>
        </member>
        <member name="M:NtApiDotNet.NtThread.SetWorkOnBehalfTicket(NtApiDotNet.WorkOnBehalfTicket,System.Boolean)">
            <summary>
            Set the work on behalf ticket.
            </summary>
            <param name="ticket">The ticket to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The status code from the set.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.SetWorkOnBehalfTicket(NtApiDotNet.WorkOnBehalfTicket)">
            <summary>
            Set the work on behalf ticket.
            </summary>
            <param name="ticket">The ticket to set.</param>
        </member>
        <member name="M:NtApiDotNet.NtThread.SetWorkOnBehalfTicket(System.Int32,System.Boolean)">
            <summary>
            Set the work on behalf ticket.
            </summary>
            <param name="thread_id">The thread ID.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.SetWorkOnBehalfTicket(System.Int32)">
            <summary>
            Set the work on behalf ticket.
            </summary>
            <param name="thread_id">The thread ID.</param>
        </member>
        <member name="M:NtApiDotNet.NtThread.TestAlert(System.Boolean)">
            <summary>
            Test alert status for the current thread.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.TestAlert">
            <summary>
            Test alert status for the current thread.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtThread.AttachContainer(NtApiDotNet.NtJob,System.Boolean)">
            <summary>
            Attach a silo container to the current thread.
            </summary>
            <param name="silo">The silo to attach.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The thread impersonation context.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.AttachContainer(NtApiDotNet.NtJob)">
            <summary>
            Attach a silo container to the current thread.
            </summary>
            <param name="silo">The silo to attach.</param>
            <returns>The thread impersonation context.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.DetachContainer(System.Boolean)">
            <summary>
            Detach container from the current thread.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.DetachContainer">
            <summary>
            Detach container from the current thread.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtThread.GetWorkOnBehalfTicketXor(System.Boolean)">
            <summary>
            Get XOR key for the work-on-behalf ticket.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The XOR key.</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="P:NtApiDotNet.NtThread.WorkOnBehalfTicket">
            <summary>
            Get or set the work on behalf ticket for the current thread.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtThread.WorkOnBehalfTicketXor">
            <summary>
            Get the work on behalf ticket xor key.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtThread.ReOpen(NtApiDotNet.ThreadAccessRights,NtApiDotNet.AttributeFlags,System.Boolean)">
            <summary>
            Reopen object with different access rights.
            </summary>
            <param name="desired_access">The desired access.</param>
            <param name="attributes">Additional attributes for open.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The reopened object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.Resume(System.Boolean)">
            <summary>
            Resume the thread.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The suspend count</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.Resume">
            <summary>
            Resume the thread.
            </summary>
            <returns>The suspend count</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.Suspend(System.Boolean)">
            <summary>
            Suspend the thread.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <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,System.Boolean)">
            <summary>
            Terminate the thread
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <param name="status">The thread status exit code</param>
            <returns>The NT status code.</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.Alert(System.Boolean)">
            <summary>
            Wake the thread from an alertable state.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.Alert">
            <summary>
            Wake the thread from an alertable state.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtThread.AlertResume(System.Boolean)">
            <summary>
            Wake the thread from an alertable state and resume the thread.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The previous suspend count for the thread.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.AlertResume">
            <summary>
            Wake the thread from an alertable state and resume the thread.
            </summary>
            <returns>The previous suspend count for the thread.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.HideFromDebugger(System.Boolean)">
            <summary>
            Hide the thread from debug events.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.HideFromDebugger">
            <summary>
            Hide the thread from debug events.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtThread.SetImpersonationToken(NtApiDotNet.NtToken,System.Boolean)">
            <summary>
            The set the thread's impersonation token
            </summary>
            <param name="token">The impersonation token to set</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </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(System.Boolean)">
            <summary>
            Impersonate the anonymous token
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The impersonation context. Dispose to revert to self</returns>
        </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,System.Boolean)">
            <summary>
            Impersonate a token
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <param name="token">The token to impersonate.</param>
            <returns>The impersonation context. Dispose to revert to self</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.Impersonate(NtApiDotNet.NtToken)">
            <summary>
            Impersonate a token
            </summary>
            <param name="token">The token to impersonate.</param>
            <returns>The impersonation context. Dispose to revert to self</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.ImpersonateThread(NtApiDotNet.NtThread,NtApiDotNet.SecurityQualityOfService,System.Boolean)">
            <summary>
            Impersonate another thread.
            </summary>
            <param name="thread">The thread to impersonate.</param>
            <param name="security_quality_of_service">The impersonation security quality of service.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The imperonsation context. Dispose to revert to self.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.ImpersonateThread(NtApiDotNet.NtThread,NtApiDotNet.SecurityImpersonationLevel,System.Boolean)">
            <summary>
            Impersonate another thread's security context.
            </summary>
            <param name="thread">The thread to impersonate.</param>
            <param name="impersonation_level">The impersonation level for the token.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The imperonsation context. Dispose to revert to self.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.ImpersonateThread(NtApiDotNet.NtThread,NtApiDotNet.SecurityImpersonationLevel)">
            <summary>
            Impersonate another thread's security context.
            </summary>
            <param name="thread">The thread to impersonate.</param>
            <param name="impersonation_level">The impersonation level for the token.</param>
            <returns>The imperonsation context. Dispose to revert to self.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.ImpersonateThread(NtApiDotNet.NtThread,System.Boolean)">
            <summary>
            Impersonate another thread's security context at impersonation level.
            </summary>
            <param name="thread">The thread to impersonate.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The imperonsation context. Dispose to revert to self.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.ImpersonateThread(NtApiDotNet.NtThread)">
            <summary>
            Impersonate another thread's security context at impersonation level.
            </summary>
            <param name="thread">The thread to impersonate.</param>
            <returns>The imperonsation context. Dispose to revert to self.</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.QueueSpecialUserApc(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.Boolean)">
            <summary>
            Queue a special user APC to the thread.
            </summary>
            <param name="apc_routine">The APC callback pointer.</param>
            <param name="normal_context">Context parameter.</param>
            <param name="system_argument1">System argument 1.</param>
            <param name="system_argument2">System argument 2.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.QueueSpecialUserApc(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr)">
            <summary>
            Queue a special user APC to the thread.
            </summary>
            <param name="apc_routine">The APC callback pointer.</param>
            <param name="normal_context">Context parameter.</param>
            <param name="system_argument1">System argument 1.</param>
            <param name="system_argument2">System argument 2.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.QueueSpecialUserApc(NtApiDotNet.ApcCallback,System.IntPtr,System.IntPtr,System.IntPtr,System.Boolean)">
            <summary>
            Queue a special user APC to the thread.
            </summary>
            <param name="apc_routine">The APC callback pointer.</param>
            <param name="normal_context">Context parameter.</param>
            <param name="system_argument1">System argument 1.</param>
            <param name="system_argument2">System argument 2.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.QueueSpecialUserApc(NtApiDotNet.ApcCallback,System.IntPtr,System.IntPtr,System.IntPtr)">
            <summary>
            Queue a special user APC to the thread.
            </summary>
            <param name="apc_routine">The APC callback pointer.</param>
            <param name="normal_context">Context parameter.</param>
            <param name="system_argument1">System argument 1.</param>
            <param name="system_argument2">System argument 2.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.QueueUserApc(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr,System.Boolean)">
            <summary>
            Queue a user APC to the thread.
            </summary>
            <param name="apc_routine">The APC callback pointer.</param>
            <param name="normal_context">Context parameter.</param>
            <param name="system_argument1">System argument 1.</param>
            <param name="system_argument2">System argument 2.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.QueueUserApc(System.IntPtr,System.IntPtr,System.IntPtr,System.IntPtr)">
            <summary>
            Queue a user APC to the thread.
            </summary>
            <param name="apc_routine">The APC callback pointer.</param>
            <param name="normal_context">Context parameter.</param>
            <param name="system_argument1">System argument 1.</param>
            <param name="system_argument2">System argument 2.</param>
        </member>
        <member name="M:NtApiDotNet.NtThread.QueueUserApc(NtApiDotNet.ApcCallback,System.IntPtr,System.IntPtr,System.IntPtr,System.Boolean)">
            <summary>
            Queue a user APC to the thread.
            </summary>
            <param name="apc_routine">The APC callback delegate.</param>
            <param name="normal_context">Context parameter.</param>
            <param name="system_argument1">System argument 1.</param>
            <param name="system_argument2">System argument 2.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
            <remarks>This is only for APCs in the current process. You also must ensure the delegate is
            valid at all times as this method doesn't take a reference to the delegate to prevent it being
            garbage collected.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtThread.QueueUserApc(NtApiDotNet.ApcCallback,System.IntPtr,System.IntPtr,System.IntPtr)">
            <summary>
            Queue a user APC to the thread.
            </summary>
            <param name="apc_routine">The APC callback delegate.</param>
            <param name="normal_context">Context parameter.</param>
            <param name="system_argument1">System argument 1.</param>
            <param name="system_argument2">System argument 2.</param>
            <remarks>This is only for APCs in the current process. You also must ensure the delegate is
            valid at all times as this method doesn't take a reference to the delegate to prevent it being
            garbage collected.</remarks>
        </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="M:NtApiDotNet.NtThread.GetContext(NtApiDotNet.ContextFlags,System.Boolean)">
            <summary>
            Get the thread context.
            </summary>
            <param name="flags">Flags for context parts to get.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>An instance of an IContext object. Needs to be cast to correct type to access.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.GetContext(NtApiDotNet.ContextFlags)">
            <summary>
            Get the thread context.
            </summary>
            <param name="flags">Flags for context parts to get.</param>
            <returns>An instance of an IContext object. Needs to be cast to correct type to access.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.SetContext(NtApiDotNet.IContext,System.Boolean)">
            <summary>
            Set the thread's context.
            </summary>
            <param name="context">The thread context to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.SetContext(NtApiDotNet.IContext)">
            <summary>
            Set the thread's context.
            </summary>
            <param name="context">The thread context to set.</param>
        </member>
        <member name="M:NtApiDotNet.NtThread.GetAlpcServerInformation(System.Boolean)">
            <summary>
            Get current waiting server information.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The thread ALPC server information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.GetAlpcServerInformation">
            <summary>
            Get current waiting server information.
            </summary>
            <returns>The thread ALPC server information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.GetProcessId(System.Boolean)">
            <summary>
            Get the process ID associated with the thread.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The process ID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.GeThreadId(System.Boolean)">
            <summary>
            Get the thread ID.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The thread ID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.CancelSynchronousIo(System.Boolean)">
            <summary>
            Cancel all synchronous IO for this thread.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.GetTeb">
            <summary>
            Get a partial TEB for the thread.
            </summary>
            <returns>The partial TEB.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.GetWorkOnBehalfTicket(System.Boolean)">
            <summary>
            Get the work on behalf ticket for a thread.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The work on behalf ticket.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.GetWorkOnBehalfTicket">
            <summary>
            Get the work on behalf ticket for a thread.
            </summary>
            <returns>The work on behalf ticket.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.GetContainerId(System.Boolean)">
            <summary>
            Get the effective container ID for the thread.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The effective container ID.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.GetPriorityBoostDisabled(System.Boolean)">
            <summary>
            Get priority boost disable value.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>True if priority base </returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.SetPriorityBoostDisabled(System.Boolean,System.Boolean)">
            <summary>
            Set priority boost disable value.
            </summary>
            <param name="disable">True to disable priority boost.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.QueryInformation(NtApiDotNet.ThreadInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Int32@)">
            <summary>
            Method to query information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to return data in.</param>
            <param name="return_length">Return length from the query.</param>
            <returns>The NT status code for the query.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.SetInformation(NtApiDotNet.ThreadInformationClass,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Method to set information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to set data from.</param>
            <returns>The NT status code for the set.</returns>
        </member>
        <member name="M:NtApiDotNet.NtThread.QueryObject(NtApiDotNet.ThreadInformationClass,System.Boolean)">
            <summary>
            Query the information class as an object.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The information class as an 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.ProcessName">
            <summary>
            Get name of process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtThread.Priority">
            <summary>
            Get or set the thread's current priority
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtThread.BasePriority">
            <summary>
            Get or set the thread's base priority
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtThread.AffinityMask">
            <summary>
            Get or set the thread's affinity mask.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtThread.TebBaseAddress">
            <summary>
            Get the thread's TEB base address.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtThread.AllowDynamicCode">
            <summary>
            Get or set whether thread is allowed to create dynamic code.
            </summary>
            <remarks>Set can only be done on the current thread.</remarks>
        </member>
        <member name="P:NtApiDotNet.NtThread.Impersonating">
            <summary>
            Get whether thread is impersonating another token.
            </summary>
            <remarks>Note that this tries to open the thread's token and return true if it could open. A return of false
            might just indicate that the caller doesn't have permission to open the token, not that it's not impersonating.</remarks>
        </member>
        <member name="P:NtApiDotNet.NtThread.FullPath">
            <summary>
            Get name of the thread.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtThread.Description">
            <summary>
            Get or set a thread's description.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtThread.Win32StartAddress">
            <summary>
            Get the Win32 start address for the thread.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtThread.InstructionPointer">
            <summary>
            Get the current Instruction Pointer for the thread.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtThread.LastSystemCall">
            <summary>
            Get last system call on the thread.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtThread.SuspendCount">
            <summary>
            Get the thread's suspend count.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtThread.IoPending">
            <summary>
            Get whether the thread has pending IO.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtThread.CreateTime">
            <summary>
            Get the creation time of the thread.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtThread.ExitTime">
            <summary>
            Get the exit time of the thread (0 if not exited)
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtThread.KernelTime">
            <summary>
            Get the time spent in the kernel.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtThread.UserTime">
            <summary>
            Get the time spent in user mode.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtThread.ThreadInformation">
            <summary>
            Get thread information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtThread.ExitStatus">
            <summary>
            Get thread exit status.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtThread.ExitNtStatus">
            <summary>
            Get thread exit status.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtThread.ContainerId">
            <summary>
            Get the effective container ID.
            </summary>
            <remarks>Should be called on the current thread psuedo handle.</remarks>
        </member>
        <member name="P:NtApiDotNet.NtThread.PriorityBoostDisabled">
            <summary>
            Get or set priority boost disabled.
            </summary>
        </member>
        <member name="T:NtApiDotNet.ApcCallback">
            <summary>
            Delegate for APC callbacks.
            </summary>
            <param name="NormalContext">Context parameter.</param>
            <param name="SystemArgument1">System argument 1.</param>
            <param name="SystemArgument2">System argument 2.</param>
        </member>
        <member name="T:NtApiDotNet.NtTimer">
            <summary>
            Class to represent an NT Timer object
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtTimer.Create(System.String,NtApiDotNet.NtObject,NtApiDotNet.TimerType)">
            <summary>
            Create a timer 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 timer.</param>
            <returns>The timer object</returns>
        </member>
        <member name="M:NtApiDotNet.NtTimer.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.TimerType,NtApiDotNet.TimerAccessRights)">
            <summary>
            Create a timer object
            </summary>
            <param name="object_attributes">The timer object attributes</param>
            <param name="type">The type of the event</param>
            <param name="desired_access">The desired access for the timer</param>
            <returns>The timer object</returns>
        </member>
        <member name="M:NtApiDotNet.NtTimer.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.TimerType,NtApiDotNet.TimerAccessRights,System.Boolean)">
            <summary>
            Create a timer object
            </summary>
            <param name="object_attributes">The timer object attributes</param>
            <param name="type">The type of the timer</param>
            <param name="desired_access">The desired access for the timer</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTimer.Create(System.String,NtApiDotNet.TimerType)">
            <summary>
            Create a timer object
            </summary>
            <param name="name">The path to the timer</param>
            <param name="type">The type of the timer</param>
            <returns>The timer object</returns>
        </member>
        <member name="M:NtApiDotNet.NtTimer.Create(NtApiDotNet.TimerType)">
            <summary>
            Create a timer object
            </summary>
            <param name="type">The type of the timer</param>
            <returns>The timer object</returns>
        </member>
        <member name="M:NtApiDotNet.NtTimer.Create">
            <summary>
            Create a timer object
            </summary>
            <returns>The timer object</returns>
        </member>
        <member name="M:NtApiDotNet.NtTimer.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.TimerAccessRights)">
            <summary>
            Open a timer object
            </summary>
            <param name="name">The path to the timer</param>
            <param name="root">The root object for relative path names</param>
            <param name="desired_access">The desired access for the timer</param>
            <returns>The timer object</returns>
        </member>
        <member name="M:NtApiDotNet.NtTimer.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.TimerAccessRights,System.Boolean)">
            <summary>
            Open a timer object
            </summary>
            <param name="name">The path to the timer</param>
            <param name="root">The root object for relative path names</param>
            <param name="desired_access">The desired access for the timer</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The timer object</returns>
        </member>
        <member name="M:NtApiDotNet.NtTimer.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.TimerAccessRights)">
            <summary>
            Open a timer object
            </summary>
            <param name="object_attributes">The timer object attributes</param>
            <param name="desired_access">The desired access for the timer</param>
            <returns>The timer object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTimer.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.TimerAccessRights,System.Boolean)">
            <summary>
            Open a timer object
            </summary>
            <param name="object_attributes">The event object attributes</param>
            <param name="desired_access">The desired access for the timer</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTimer.Open(System.String,NtApiDotNet.NtObject)">
            <summary>
            Open a timer object
            </summary>
            <param name="name">The path to the timer</param>
            <param name="root">The root object for relative path names</param>
            <returns>The timer object</returns>
        </member>
        <member name="M:NtApiDotNet.NtTimer.Open(System.String)">
            <summary>
            Open a timer object
            </summary>
            <param name="name">The path to the timer</param>
            <returns>The timer object</returns>
        </member>
        <member name="M:NtApiDotNet.NtTimer.QueryInformation(NtApiDotNet.TimerInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Int32@)">
            <summary>
            Method to query information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to return data in.</param>
            <param name="return_length">Return length from the query.</param>
            <returns>The NT status code for the query.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTimer.SetInformation(NtApiDotNet.TimerSetInformationClass,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Method to set information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to set data from.</param>
            <returns>The NT status code for the set.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTimer.Set(NtApiDotNet.NtWaitTimeout,NtApiDotNet.TimerApcCallback,System.IntPtr,System.Boolean,System.Int32,System.Boolean)">
            <summary>
            Set timer state.
            </summary>
            <param name="due_time">The due time for the timer.</param>
            <param name="apc_routine">Optional APC routine.</param>
            <param name="context">Optional APC context pointer.</param>
            <param name="resume">True to resume.</param>
            <param name="period">Period time.</param>
            <param name="throw_on_error">True throw on error.</param>
            <returns>The NT result and previous state.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTimer.Set(NtApiDotNet.NtWaitTimeout,NtApiDotNet.TimerApcCallback,System.IntPtr,System.Boolean,System.Int32)">
            <summary>
            Set timer state.
            </summary>
            <param name="due_time">The due time for the timer.</param>
            <param name="apc_routine">Optional APC routine.</param>
            <param name="context">Optional APC context pointer.</param>
            <param name="resume">True to resume.</param>
            <param name="period">Period time.</param>
            <returns>The previous state.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTimer.Set(NtApiDotNet.NtWaitTimeout)">
            <summary>
            Set timer state.
            </summary>
            <param name="due_time">The due time for the timer.</param>
            <returns>The previous state.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTimer.SetMs(System.Int64)">
            <summary>
            Set timer state in milliseconds.
            </summary>
            <param name="due_time_ms">The due time for the timer in milliseconds.</param>
            <returns>The previous state.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTimer.Cancel(System.Boolean)">
            <summary>
            Cancel the timer.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The previous state.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTimer.Cancel">
            <summary>
            Cancel the timer.
            </summary>
            <returns>The previous state.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTimer.QueryObject(NtApiDotNet.TimerInformationClass,System.Boolean)">
            <summary>
            Query the information class as an object.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The information class as an object.</returns>
        </member>
        <member name="P:NtApiDotNet.NtTimer.RemainingTime">
            <summary>
            Remaining time for the timer.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtTimer.State">
            <summary>
            Signal state of the timer.
            </summary>
        </member>
        <member name="T:NtApiDotNet.TimerApcCallback">
            <summary>
            Delegate for Timer APC callbacks.
            </summary>
            <param name="TimerContext">Context parameter.</param>
            <param name="TimerLowValue">Low value of timer.</param>
            <param name="TimerHighValue">High value of timer.</param>
        </member>
        <member name="T:NtApiDotNet.QueryGroupType">
            <summary>
            Enumeration for querying group list using QueryGroups.
            </summary>
        </member>
        <member name="F:NtApiDotNet.QueryGroupType.Default">
            <summary>
            The default group list.
            </summary>
        </member>
        <member name="F:NtApiDotNet.QueryGroupType.Restricted">
            <summary>
            The restrict group list.
            </summary>
        </member>
        <member name="F:NtApiDotNet.QueryGroupType.Capability">
            <summary>
            The capability group list.
            </summary>
        </member>
        <member name="F:NtApiDotNet.QueryGroupType.Device">
            <summary>
            The device group list.
            </summary>
        </member>
        <member name="F:NtApiDotNet.QueryGroupType.RestrictedDevice">
            <summary>
            The restricted device list.
            </summary>
        </member>
        <member name="T:NtApiDotNet.SecurityAttributeType">
            <summary>
            Specify type of security attributes to query.
            </summary>
        </member>
        <member name="F:NtApiDotNet.SecurityAttributeType.Local">
            <summary>
            Local security attributes.
            </summary>
        </member>
        <member name="F:NtApiDotNet.SecurityAttributeType.User">
            <summary>
            User security attributes.
            </summary>
        </member>
        <member name="F:NtApiDotNet.SecurityAttributeType.RestrictedUser">
            <summary>
            Restricted user security attributes.
            </summary>
        </member>
        <member name="F:NtApiDotNet.SecurityAttributeType.Device">
            <summary>
            Device security attributes.
            </summary>
        </member>
        <member name="F:NtApiDotNet.SecurityAttributeType.RestrictedDevice">
            <summary>
            Restricted device security attributes.
            </summary>
        </member>
        <member name="F:NtApiDotNet.SecurityAttributeType.Singleton">
            <summary>
            Singleton device security attributes.
            </summary>
        </member>
        <member name="T:NtApiDotNet.ProcessUniqueAttribute">
            <summary>
            Data from the TSA://ProcUnique security attribute.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ProcessUniqueAttribute.IndexEntry">
            <summary>
            The index entry for the process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ProcessUniqueAttribute.UniqueId">
            <summary>
            The value for the entry.
            </summary>
        </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,NtApiDotNet.AttributeFlags,NtApiDotNet.SecurityDescriptor,System.Boolean)">
            <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>
            <param name="attributes">The object attributes for the token.</param>
            <param name="security_descriptor">The security descriptor for the token.</param>
            <param name="throw_on_error">If true then throw an exception on error.</param>
            <returns>The new token</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception>
        </member>
        <member name="M:NtApiDotNet.NtToken.DuplicateToken(NtApiDotNet.TokenType,NtApiDotNet.SecurityImpersonationLevel,NtApiDotNet.TokenAccessRights,NtApiDotNet.AttributeFlags,NtApiDotNet.SecurityDescriptor)">
            <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>
            <param name="attributes">The object attributes for the token.</param>
            <param name="security_descriptor">The security descriptor for the token.</param>
            <returns>The new token</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception>
        </member>
        <member name="M:NtApiDotNet.NtToken.DuplicateToken(NtApiDotNet.TokenType,NtApiDotNet.SecurityImpersonationLevel,NtApiDotNet.TokenAccessRights,System.Boolean)">
            <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>
            <param name="throw_on_error">If true then throw an exception on error.</param>
            <returns>The new token</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception>
        </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 the same token type.
            </summary>
            <returns>The new token.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception>
        </member>
        <member name="M:NtApiDotNet.NtToken.DuplicateToken(System.Boolean)">
            <summary>
            Duplicate the token as the same token type.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <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,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>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>True if successfully changed the state of the privilege</returns>
        </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,NtApiDotNet.PrivilegeAttributes,System.Boolean)">
            <summary>
            Set a privilege state
            </summary>
            <param name="luid">The luid of the privilege</param>
            <param name="attributes">The privilege attributes to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>True if successfully changed the state of the privilege</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.SetPrivilege(NtApiDotNet.Luid,NtApiDotNet.PrivilegeAttributes)">
            <summary>
            Set a privilege state
            </summary>
            <param name="luid">The luid 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.SetPrivilege(NtApiDotNet.TokenPrivilegeValue,NtApiDotNet.PrivilegeAttributes,System.Boolean)">
            <summary>
            Set a privilege state
            </summary>
            <param name="privilege">The value of the privilege</param>
            <param name="attributes">The privilege attributes to set.</param>
            <param name="throw_on_error">True to throw on error.</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.RemovePrivilege(NtApiDotNet.TokenPrivilegeValue)">
            <summary>
            Remove a privilege.
            </summary>
            <param name="privilege">The value of the privilege to remove.</param>
            <returns>True if successfully removed the privilege.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.RemovePrivilege(NtApiDotNet.Luid)">
            <summary>
            Remove a privilege.
            </summary>
            <param name="luid">The LUID of the privilege to remove.</param>
            <returns>True if successfully removed the privilege.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.CreateLowBoxToken(NtApiDotNet.Sid)">
            <summary>
            Create a LowBox token from the current token.
            </summary>
            <param name="package_sid">The package SID</param>
            <returns>The created LowBox token.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</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>The created LowBox token.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtToken.CreateLowBoxToken(NtApiDotNet.Sid,System.Collections.Generic.IEnumerable{NtApiDotNet.Sid},System.Collections.Generic.IEnumerable{NtApiDotNet.NtObject},NtApiDotNet.TokenAccessRights)">
            <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>
            <param name="capability_sids">List of capability sids to add.</param>
            <param name="desired_access">Desired token access.</param>
            <returns>The created LowBox token.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </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.Filter(NtApiDotNet.FilterTokenFlags)">
            <summary>
            Filter a token to remove privileges and groups.
            </summary>
            <param name="flags">Filter token flags</param>
            <returns>The new filtered 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.SetGroup(NtApiDotNet.Sid,NtApiDotNet.GroupAttributes,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.SetGroups(System.Collections.Generic.IEnumerable{NtApiDotNet.Sid},NtApiDotNet.GroupAttributes,System.Boolean)">
            <summary>
            Set the state of a group
            </summary>
            <param name="groups">The groups to set</param>
            <param name="attributes">The attributes to set</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.SetGroups(System.Collections.Generic.IEnumerable{NtApiDotNet.Sid},NtApiDotNet.GroupAttributes)">
            <summary>
            Set the state of a group
            </summary>
            <param name="groups">The groups to set</param>
            <param name="attributes">The attributes to set</param>
        </member>
        <member name="M:NtApiDotNet.NtToken.ResetGroups(System.Boolean)">
            <summary>
            Reset all groups to their default state.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.ResetGroups">
            <summary>
            Reset all groups to their default state.
            </summary>
        </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="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="M:NtApiDotNet.NtToken.SetOrigin(NtApiDotNet.Luid)">
            <summary>
            Set the origin logon session ID.
            </summary>
            <param name="origin">The origin logon session ID.</param>
        </member>
        <member name="M:NtApiDotNet.NtToken.SetVirtualizationEnabled(System.Boolean,System.Boolean)">
            <summary>
            Set virtualization enabled
            </summary>
            <param name="enable">True to enable virtualization</param>
            <param name="throw_on_error">True to throw on error.</param>
        </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="M:NtApiDotNet.NtToken.SetUIAccess(System.Boolean)">
            <summary>
            Set UI Access flag.
            </summary>
            <param name="enable">True to enable UI Access.</param>
        </member>
        <member name="M:NtApiDotNet.NtToken.GetLinkedToken(System.Boolean)">
            <summary>
            Get the linked token 
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The linked token</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.GetLinkedToken">
            <summary>
            Get the linked token 
            </summary>
            <returns>The linked token</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.SetLinkedToken(NtApiDotNet.NtToken)">
            <summary>
            Set the linked token.
            </summary>
            <param name="token">The token to set.</param>
            <remarks>Requires SeCreateTokenPrivilege.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtToken.Impersonate">
            <summary>
            Impersonate the token.
            </summary>
            <returns>An impersonation context, dispose to revert to process token</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtToken.Impersonate(NtApiDotNet.SecurityImpersonationLevel)">
            <summary>
            Impersonate the token.
            </summary>
            <param name="impersonation_level">Impersonation level for token.</param>
            <returns>An impersonation context, dispose to revert to process token</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtToken.RunUnderImpersonate``1(System.Func{``0})">
            <summary>
            Run a function under impersonation.
            </summary>
            <typeparam name="T">The return type.</typeparam>
            <param name="callback">The callback to run.</param>
            <returns>The return value from the callback.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtToken.RunUnderImpersonate(System.Action)">
            <summary>
            Run an action under impersonation.
            </summary>
            <param name="callback">The callback to run.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtToken.RunUnderImpersonate``1(System.Func{``0},NtApiDotNet.SecurityImpersonationLevel)">
            <summary>
            Run a function under impersonation.
            </summary>
            <typeparam name="T">The return type.</typeparam>
            <param name="callback">The callback to run.</param>
            <param name="impersonation_level">Impersonation level for token.</param>
            <returns>The return value from the callback.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtToken.RunUnderImpersonate(System.Action,NtApiDotNet.SecurityImpersonationLevel)">
            <summary>
            Run an action under impersonation.
            </summary>
            <param name="callback">The callback to run.</param>
            <param name="impersonation_level">Impersonation level for token.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtToken.GetSecurityAttributeByName(NtApiDotNet.SecurityAttributeType,System.String,NtApiDotNet.ClaimSecurityValueType)">
            <summary>
            Get a security attribute by name.
            </summary>
            <param name="type">Specify the type of security attributes to query.</param>
            <param name="name">The name of the security attribute, such as WIN://PKG</param>
            <param name="value_type">The expected type of the security attribute. If None return ignore type check.</param>
            <returns>The security attribute or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.GetSecurityAttributeByName(System.String,NtApiDotNet.ClaimSecurityValueType)">
            <summary>
            Get a security attribute by name.
            </summary>
            <param name="name">The name of the security attribute, such as WIN://PKG</param>
            <param name="value_type">The expected type of the security attribute. If None return ignore type check.</param>
            <returns>The security attribute or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.GetSecurityAttributeByName(System.String)">
            <summary>
            Get a security attribute by name.
            </summary>
            <param name="name">The name of the security attribute, such as WIN://PKG</param>
            <returns>The security attribute or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.GetSecurityAttributes(NtApiDotNet.SecurityAttributeType,System.Boolean)">
            <summary>
            Get token's security attributes
            </summary>
            <param name="type">Specify the type of security attributes to query.</param>
            <param name="throw_on_error">Throw on error.</param>
            <returns>The security attributes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.GetSecurityAttributes(System.Boolean)">
            <summary>
            Get token's security attributes.
            </summary>
            <param name="throw_on_error">Throw on error.</param>
            <returns>The security attributes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.GetSecurityAttributes(NtApiDotNet.SecurityAttributeType)">
            <summary>
            Get token's security attributes
            </summary>
            <param name="type">Specify the type of security attributes to query.</param>
            <returns>The security attributes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.GetSecurityAttributes">
            <summary>
            Get token's security attributes
            </summary>
            <returns>The security attributes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.SetSecurityAttributes(System.Collections.Generic.IEnumerable{NtApiDotNet.Token.ClaimSecurityAttributeBuilder},System.Collections.Generic.IEnumerable{NtApiDotNet.TokenSecurityAttributeOperation},System.Boolean)">
            <summary>
            Set security attributes on the token.
            </summary>
            <param name="attributes">The list of attributes.</param>
            <param name="operations">The operation to perform on the attribute.</param>
            <param name="throw_on_error">Throw on error.</param>
            <remarks>The array of attributes aand operations must be the same size. You need SeTcbPrivilege to call this API.</remarks>
            <returns>The NT Status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.SetSecurityAttributes(System.Collections.Generic.IEnumerable{NtApiDotNet.Token.ClaimSecurityAttributeBuilder},System.Collections.Generic.IEnumerable{NtApiDotNet.TokenSecurityAttributeOperation})">
            <summary>
            Set security attributes on the token.
            </summary>
            <param name="attributes">The list of attributes.</param>
            <param name="operations">The operation to perform on the attribute.</param>
            <remarks>The array of attributes aand operations must be the same size. You need SeTcbPrivilege to call this API.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtToken.AddSecurityAttributes(System.Collections.Generic.IEnumerable{NtApiDotNet.Token.ClaimSecurityAttributeBuilder},System.Boolean)">
            <summary>
            Add security attributes to the token.
            </summary>
            <param name="attributes">The list of attributes.</param>
            <param name="throw_on_error">Throw on error.</param>
            <remarks>You need SeTcbPrivilege to call this API.</remarks>
            <returns>The NT Status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.AddSecurityAttributes(System.Collections.Generic.IEnumerable{NtApiDotNet.Token.ClaimSecurityAttributeBuilder})">
            <summary>
            Add security attributes to the token.
            </summary>
            <param name="attributes">The list of attributes.</param>
            <remarks>You need SeTcbPrivilege to call this API.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtToken.ReplaceSecurityAttributes(System.Collections.Generic.IEnumerable{NtApiDotNet.Token.ClaimSecurityAttributeBuilder},System.Boolean)">
            <summary>
            Replace security attributes in the token.
            </summary>
            <param name="attributes">The list of attributes.</param>
            <param name="throw_on_error">Throw on error.</param>
            <remarks>You need SeTcbPrivilege to call this API.</remarks>
            <returns>The NT Status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.ReplaceSecurityAttributes(System.Collections.Generic.IEnumerable{NtApiDotNet.Token.ClaimSecurityAttributeBuilder})">
            <summary>
            Replace security attributes in the token.
            </summary>
            <param name="attributes">The list of attributes.</param>
            <remarks>You need SeTcbPrivilege to call this API.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtToken.ReplaceAllSecurityAttributes(System.Collections.Generic.IEnumerable{NtApiDotNet.Token.ClaimSecurityAttributeBuilder},System.Boolean)">
            <summary>
            Replace all security attributes in the token.
            </summary>
            <param name="attributes">The list of attributes.</param>
            <param name="throw_on_error">Throw on error.</param>
            <remarks>You need SeTcbPrivilege to call this API.</remarks>
            <returns>The NT Status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.ReplaceAllSecurityAttributes(System.Collections.Generic.IEnumerable{NtApiDotNet.Token.ClaimSecurityAttributeBuilder})">
            <summary>
            Replace security attributes in the token.
            </summary>
            <param name="attributes">The list of attributes.</param>
            <remarks>You need SeTcbPrivilege to call this API.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtToken.DeleteSecurityAttributes(System.Collections.Generic.IEnumerable{System.String},System.Boolean)">
            <summary>
            Remove security attributes by name.
            </summary>
            <param name="attributes">The attribute names to remove.</param>
            <param name="throw_on_error">Throw on error.</param>
            <returns>The NT Status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.DeleteSecurityAttributes(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Remove security attributes by name.
            </summary>
            <param name="attributes">The attribute names to remove.</param>
        </member>
        <member name="M:NtApiDotNet.NtToken.SetIntegrityLevelRaw(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="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="M:NtApiDotNet.NtToken.GetPrivilege(NtApiDotNet.TokenPrivilegeValue,System.Boolean)">
            <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>
            <param name="throw_on_error">True to throw on error</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown if can't query privileges</exception>
        </member>
        <member name="M:NtApiDotNet.NtToken.Compare(NtApiDotNet.NtToken)">
            <summary>
            Compare two tokens.
            </summary>
            <param name="token">The other token to compare.</param>
            <returns>True if tokens are equal.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.GetAppModelPolicy(NtApiDotNet.AppModelPolicy_Type)">
            <summary>
            Get the App Policy for this token.
            </summary>
            <param name="policy_type">The type of app policy.</param>
            <returns>The policy value.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.DisableNoChildProcess">
            <summary>
            Disable No Child process policy on the token.
            </summary>
            <remarks>Needs SeTcbPrivilege.</remarks>
        </member>
        <member name="M:NtApiDotNet.NtToken.QueryGroups(NtApiDotNet.QueryGroupType,System.Boolean)">
            <summary>
            Query a list of groups from the token.
            </summary>
            <param name="group_type">The type of groups to query.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of groups.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.QueryGroups(NtApiDotNet.QueryGroupType)">
            <summary>
            Query a list of groups from the token.
            </summary>
            <param name="group_type">The type of groups to query.</param>
            <returns>The list of groups.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.GetUser(System.Boolean)">
            <summary>
            Get the user from the token.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The user group information.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.PrivilegeCheck(System.Collections.Generic.IEnumerable{NtApiDotNet.TokenPrivilege},System.Boolean,System.Boolean)">
            <summary>
            Do a privilege check on a token.
            </summary>
            <param name="privileges">The list of privileges to check.</param>
            <param name="all_necessary">True to require all necessary privileges.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The privilege check result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.PrivilegeCheck(System.Collections.Generic.IEnumerable{NtApiDotNet.TokenPrivilege},System.Boolean)">
            <summary>
            Do a privilege check on a token.
            </summary>
            <param name="privileges">The list of privileges to check.</param>
            <param name="all_necessary">True to require all necessary privileges.</param>
            <returns>The privilege check result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.PrivilegeCheck(System.Collections.Generic.IEnumerable{NtApiDotNet.TokenPrivilegeValue},System.Boolean,System.Boolean)">
            <summary>
            Do a privilege check on a token.
            </summary>
            <param name="privileges">The list of privileges to check.</param>
            <param name="all_necessary">True to require all necessary privileges.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The privilege check result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.PrivilegeCheck(System.Collections.Generic.IEnumerable{NtApiDotNet.TokenPrivilegeValue},System.Boolean)">
            <summary>
            Do a privilege check on a token.
            </summary>
            <param name="privileges">The list of privileges to check.</param>
            <param name="all_necessary">True to require all necessary privileges.</param>
            <returns>The privilege check result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.SinglePrivilegeCheck(NtApiDotNet.TokenPrivilege)">
            <summary>
            Do a privilege check for a single privilege.
            </summary>
            <param name="privilege">The privilege to check.</param>
            <returns>True if the privilege is enabled.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.SinglePrivilegeCheck(NtApiDotNet.TokenPrivilegeValue)">
            <summary>
            Do a privilege check for a single privilege.
            </summary>
            <param name="privilege">The privilege to check.</param>
            <returns>True if the privilege is enabled.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.GetPrivileges(System.Boolean)">
            <summary>
            Get token privileges.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of privileges.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.CapabilityCheck(System.String,System.Boolean)">
            <summary>
            Perform a capability check for a token.
            </summary>
            <param name="capability_name">The name of the capability to check.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>True if the token has the capability.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.CapabilityCheck(System.String)">
            <summary>
            Perform a capability check for a token.
            </summary>
            <param name="capability_name">The name of the capability to check.</param>
            <returns>True if the token has the capability.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.QueryInformation(NtApiDotNet.TokenInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Int32@)">
            <summary>
            Method to query information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to return data in.</param>
            <param name="return_length">Return length from the query.</param>
            <returns>The NT status code for the query.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.SetInformation(NtApiDotNet.TokenInformationClass,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Method to set information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to set data from.</param>
            <returns>The NT status code for the set.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.QueryObject(NtApiDotNet.TokenInformationClass,System.Boolean)">
            <summary>
            Query the information class as an object.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The information class as an object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.GetLogonSids(System.Boolean)">
            <summary>
            Get the logon SID for the token.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The logon SID.</returns>
        </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.EnabledGroups">
            <summary>
            Get list of enabled groups.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.DenyOnlyGroups">
            <summary>
            Get list of deny only groups.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.GroupCount">
            <summary>
            Get count of groups in this token.
            </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 Token's modified Id.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.Owner">
            <summary>
            Get/set the token's owner.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.PrimaryGroup">
            <summary>
            Get/set the token's primary group
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.DefaultDacl">
            <summary>
            Get/set the token's default DACL
            </summary>
        </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/set 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/set 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/set token UI access flag
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.VirtualizationAllowed">
            <summary>
            Get or set whether virtualization is allowed
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.VirtualizationEnabled">
            <summary>
            Get/set whether virtualization is enabled
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.Restricted">
            <summary>
            Get whether token is restricted
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.WriteRestricted">
            <summary>
            Get whether token is write restricted.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.Filtered">
            <summary>
            Get whether token is filtered.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.NotLow">
            <summary>
            Get whether token is not low.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.Flags">
            <summary>
            Token access flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.NoChildProcess">
            <summary>
            Get whether token can be used for new child processes.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.Capabilities">
            <summary>
            Get token capabilities.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.MandatoryPolicy">
            <summary>
            Get or set the token mandatory policy
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.LogonSid">
            <summary>
            Get token logon sid
            </summary>
        </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 or set token's integrity level.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.SecurityAttributes">
            <summary>
            Get token's security attributes
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.DeviceClaimAttributes">
            <summary>
            Get token's device claims.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.UserClaimAttributes">
            <summary>
            Get token's user claims.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.RestrictedUserClaimAttributes">
            <summary>
            Get token's restricted user claims.
            </summary>
            <remarks>Unsupported, at least on Windows 10.</remarks>
        </member>
        <member name="P:NtApiDotNet.NtToken.RestrictedDeviceClaimAttributes">
            <summary>
            Get token's restricted user claims.
            </summary>
            <remarks>Unsupported, at least on Windows 10.</remarks>
        </member>
        <member name="P:NtApiDotNet.NtToken.AppContainer">
            <summary>
            Get whether a token is an AppContainer token
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.LowPrivilegeAppContainer">
            <summary>
            Get whether the token is configured for low privilege.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.AppContainerSid">
            <summary>
            Get token's AppContainer sid
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.PackageName">
            <summary>
            Get token's AppContainer package name (if available). 
            Returns an empty string if not an AppContainer.
            </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="P:NtApiDotNet.NtToken.FullPath">
            <summary>
            Get full path to token
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.TrustLevel">
            <summary>
            Get the token's trust level. Will be null if no trust level present.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.IsPseudoToken">
            <summary>
            Returns true if this is a pseudo token.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.IsSandbox">
            <summary>
            Get whether this token is a sandboxed token.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.PackageFullName">
            <summary>
            Query the token's full package name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.AppId">
            <summary>
            Query the token's appid.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.AppModelPolicies">
            <summary>
            Get the list of policies for this App.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.AppModelPolicyDictionary">
            <summary>
            Get the list of policies for this App in a table.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.BnoIsolationPrefix">
            <summary>
            Get the BaseNamedObjects isolation prefix if enabled.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.PackageIdentity">
            <summary>
            Get the token's package identity.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.AuditPolicy">
            <summary>
            Get or set the token audit policy.
            </summary>
            <remarks>Needs SeSecurityPrivilege to query and SeTcbPrivilege to set.</remarks>
        </member>
        <member name="P:NtApiDotNet.NtToken.PrivateNamespace">
            <summary>
            Get or set if token is in a private namespace.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.IsRestricted">
            <summary>
            Get if the token is restricted.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.ProcessUniqueAttribute">
            <summary>
            Get the TSA://ProcUnique attribute.
            </summary>
        </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.EnableEffectivePrivilege(NtApiDotNet.TokenPrivilegeValue)">
            <summary>
            Enable a privilege of the effective token.
            </summary>
            <param name="privilege">The privilege to enable.</param>
            <returns>True if set the privilege.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.OpenProcessToken(NtApiDotNet.NtProcess,NtApiDotNet.TokenAccessRights,NtApiDotNet.AttributeFlags,System.Boolean)">
            <summary>
            Open the process token of another process
            </summary>
            <param name="process">The process to open the token for</param>
            <param name="desired_access">The desired access for the token</param>
            <param name="attributes">Attribute flags for the handle.</param>
            <param name="throw_on_error">If true then throw an exception on error.</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,NtApiDotNet.TokenAccessRights,NtApiDotNet.AttributeFlags)">
            <summary>
            Open the process token of another process
            </summary>
            <param name="process">The process to open the token for</param>
            <param name="desired_access">The desired access for the token</param>
            <param name="attributes">Attribute flags for the handle.</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,NtApiDotNet.TokenAccessRights,System.Boolean)">
            <summary>
            Open the process token of another process
            </summary>
            <param name="process">The process to open the token for</param>
            <param name="desired_access">The desired access for the token</param>
            <param name="throw_on_error">If true then throw an exception on error.</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,NtApiDotNet.TokenAccessRights)">
            <summary>
            Open the process token of another process
            </summary>
            <param name="process">The process to open the token for</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,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,System.Boolean,NtApiDotNet.TokenAccessRights,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>
            <param name="desired_access">The desired access for the token</param>
            <param name="throw_on_error">True to throw on error.</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,System.Boolean,NtApiDotNet.TokenAccessRights,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>
            <param name="desired_access">The desired access for the token</param>
            <param name="throw_on_error">True to throw on error.</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,NtApiDotNet.TokenAccessRights,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="desired_access">The desired access for the token</param>
            <param name="throw_on_error">If true then throw an exception on error.</param>
            <returns>The opened token result</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,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>
            <param name="desired_access">The desired access for the token</param>
            <param name="throw_on_error">True to throw on error.</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,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,System.Boolean,NtApiDotNet.TokenAccessRights,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>
            <param name="desired_access">Desired access for token.</param>
            <param name="open_as_self">Open token as self.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened token</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if cannot open token</exception>
        </member>
        <member name="M:NtApiDotNet.NtToken.OpenEffectiveToken(NtApiDotNet.NtThread,System.Boolean,System.Boolean,NtApiDotNet.TokenAccessRights)">
            <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>
            <param name="desired_access">Desired access for token.</param>
            <param name="open_as_self">Open token as self.</param>
            <returns>The opened token</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if cannot open token</exception>
        </member>
        <member name="M:NtApiDotNet.NtToken.OpenEffectiveToken(NtApiDotNet.NtThread,System.Boolean,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>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened token</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.OpenEffectiveToken(System.Boolean)">
            <summary>
            Open the current effective token, thread if available or process
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened token</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if cannot open token</exception>
        </member>
        <member name="M:NtApiDotNet.NtToken.Create(NtApiDotNet.TokenAccessRights,NtApiDotNet.ObjectAttributes,NtApiDotNet.TokenType,NtApiDotNet.Luid,System.Int64,NtApiDotNet.UserGroup,System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup},System.Collections.Generic.IEnumerable{NtApiDotNet.TokenPrivilege},System.Collections.Generic.IEnumerable{NtApiDotNet.ClaimSecurityAttribute},System.Collections.Generic.IEnumerable{NtApiDotNet.ClaimSecurityAttribute},System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup},System.Nullable{NtApiDotNet.TokenMandatoryPolicy},NtApiDotNet.Sid,NtApiDotNet.Sid,NtApiDotNet.Acl,System.String,System.Boolean)">
            <summary>
            Create a token. Needs SeCreateTokenPrivilege.
            </summary>
            <param name="desired_access">The desired access for the token.</param>
            <param name="object_attributes">Object attributes, used to pass SecurityDescriptor or SQOS for impersonation token.</param>
            <param name="type">The type of token.</param>
            <param name="authentication_id">The authentication ID for the token.</param>
            <param name="expiration_time">The expiration time for the token.</param>
            <param name="user">The user for the token.</param>
            <param name="groups">The groups for the token.</param>
            <param name="privileges">The privileges for the token.</param>
            <param name="owner">The owner of the token.</param>
            <param name="primary_group">The primary group for the token.</param>
            <param name="default_dacl">The default dacl for the token.</param>
            <param name="source">The source for the token.</param>
            <param name="device_attributes">Optional device attributes.</param>
            <param name="device_groups">Optional device groups.</param>
            <param name="mandatory_policy">Optional mandatory policy.</param>
            <param name="user_attributes">Optional user attributes.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The token object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.Create(NtApiDotNet.TokenAccessRights,NtApiDotNet.ObjectAttributes,NtApiDotNet.TokenType,NtApiDotNet.Luid,System.Int64,NtApiDotNet.UserGroup,System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup},System.Collections.Generic.IEnumerable{NtApiDotNet.TokenPrivilege},System.Collections.Generic.IEnumerable{NtApiDotNet.ClaimSecurityAttribute},System.Collections.Generic.IEnumerable{NtApiDotNet.ClaimSecurityAttribute},System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup},System.Nullable{NtApiDotNet.TokenMandatoryPolicy},NtApiDotNet.Sid,NtApiDotNet.Sid,NtApiDotNet.Acl,System.String)">
            <summary>
            Create a token. Needs SeCreateTokenPrivilege.
            </summary>
            <param name="desired_access">The desired access for the token.</param>
            <param name="object_attributes">Object attributes, used to pass SecurityDescriptor or SQOS for impersonation token.</param>
            <param name="type">The type of token.</param>
            <param name="authentication_id">The authentication ID for the token.</param>
            <param name="expiration_time">The expiration time for the token.</param>
            <param name="user">The user for the token.</param>
            <param name="groups">The groups for the token.</param>
            <param name="privileges">The privileges for the token.</param>
            <param name="owner">The owner of the token.</param>
            <param name="primary_group">The primary group for the token.</param>
            <param name="default_dacl">The default dacl for the token.</param>
            <param name="source">The source for the token.</param>
            <param name="device_attributes">Optional device attributes.</param>
            <param name="device_groups">Optional device groups.</param>
            <param name="mandatory_policy">Optional mandatory policy.</param>
            <param name="user_attributes">Optional user attributes.</param>
            <returns>The token object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.Create(NtApiDotNet.TokenAccessRights,NtApiDotNet.ObjectAttributes,NtApiDotNet.TokenType,NtApiDotNet.Luid,System.Int64,NtApiDotNet.UserGroup,System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup},System.Collections.Generic.IEnumerable{NtApiDotNet.TokenPrivilege},NtApiDotNet.Sid,NtApiDotNet.Sid,NtApiDotNet.Acl,System.String,System.Boolean)">
            <summary>
            Create a token. Needs SeCreateTokenPrivilege.
            </summary>
            <param name="desired_access">The desired access for the token.</param>
            <param name="object_attributes">Object attributes, used to pass SecurityDescriptor or SQOS for impersonation token.</param>
            <param name="type">The type of token.</param>
            <param name="authentication_id">The authentication ID for the token.</param>
            <param name="expiration_time">The expiration time for the token.</param>
            <param name="user">The user for the token.</param>
            <param name="groups">The groups for the token.</param>
            <param name="privileges">The privileges for the token.</param>
            <param name="owner">The owner of the token.</param>
            <param name="primary_group">The primary group for the token.</param>
            <param name="default_dacl">The default dacl for the token.</param>
            <param name="source">The source for the token.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The token object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.Create(NtApiDotNet.TokenAccessRights,NtApiDotNet.ObjectAttributes,NtApiDotNet.TokenType,NtApiDotNet.Luid,System.Int64,NtApiDotNet.UserGroup,System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup},System.Collections.Generic.IEnumerable{NtApiDotNet.TokenPrivilege},NtApiDotNet.Sid,NtApiDotNet.Sid,NtApiDotNet.Acl,System.String)">
            <summary>
            Create a token. Needs SeCreateTokenPrivilege.
            </summary>
            <param name="desired_access">The desired access for the token.</param>
            <param name="object_attributes">Object attributes, used to pass SecurityDescriptor or SQOS for impersonation token.</param>
            <param name="type">The type of token.</param>
            <param name="authentication_id">The authentication ID for the token.</param>
            <param name="expiration_time">The expiration time for the token.</param>
            <param name="user">The user for the token.</param>
            <param name="groups">The groups for the token.</param>
            <param name="privileges">The privileges for the token.</param>
            <param name="owner">The owner of the token.</param>
            <param name="primary_group">The primary group for the token.</param>
            <param name="default_dacl">The default dacl for the token.</param>
            <param name="source">The source for the token.</param>
            <returns>The token object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.Create(NtApiDotNet.Sid,System.Collections.Generic.IEnumerable{NtApiDotNet.Sid},System.Collections.Generic.IEnumerable{NtApiDotNet.TokenPrivilegeValue})">
            <summary>
            Create a token. Needs SeCreateTokenPrivilege.
            </summary>
            <param name="user">The user for the token.</param>
            <param name="groups">The groups for the token.</param>
            <param name="privileges">The privileges for the token.</param>
            <returns>The token object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.Create(NtApiDotNet.Sid)">
            <summary>
            Create a token. Needs SeCreateTokenPrivilege.
            </summary>
            <param name="user">The user for the token.</param>
            <returns>The token object.</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="M:NtApiDotNet.NtToken.GetCurrentUser(System.Boolean)">
            <summary>
            Get the current user.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The current user.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.EffectivePrivilegeCheck(NtApiDotNet.TokenPrivilegeValue,System.Boolean)">
            <summary>
            Do a single privilege check on the effective token.
            </summary>
            <param name="privilege">The privilege to check.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>True if the privilege is enabled.</returns>
        </member>
        <member name="M:NtApiDotNet.NtToken.EffectivePrivilegeCheck(NtApiDotNet.TokenPrivilegeValue)">
            <summary>
            Do a single privilege check on the effective token.
            </summary>
            <param name="privilege">The privilege to check.</param>
            <returns>True if the privilege is enabled.</returns>
        </member>
        <member name="P:NtApiDotNet.NtToken.CurrentUser">
            <summary>
            Get the current user.
            </summary>
        </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.AnonymousAuthId">
            <summary>
            Get authentication ID for ANONYMOUS
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtToken.PseudoPrimaryToken">
            <summary>
            Get a pseudo handle to the primary token.
            </summary>
            <remarks>Only useful for querying information.</remarks>
        </member>
        <member name="P:NtApiDotNet.NtToken.PseudoImpersonationToken">
            <summary>
            Get a pseudo handle to the impersonation token.
            </summary>
            <remarks>Only useful for querying information.</remarks>
        </member>
        <member name="P:NtApiDotNet.NtToken.PseudoEffectiveToken">
            <summary>
            Get a pseudo handle to the effective token.
            </summary>
            <remarks>Only useful for querying information.</remarks>
        </member>
        <member name="T:NtApiDotNet.NtTrace">
            <summary>
            Static methods to interact with the ETW subsystem.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtTrace.Control(NtApiDotNet.TraceControlFunctionCode,System.Runtime.InteropServices.SafeBuffer,System.Runtime.InteropServices.SafeBuffer,System.Boolean)">
            <summary>
            Issue a trace control request.
            </summary>
            <param name="function">The trace control function code.</param>
            <param name="input_buffer">The optional input buffer.</param>
            <param name="output_buffer">The optional output buffer.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The output length.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTrace.Control(NtApiDotNet.TraceControlFunctionCode,System.Runtime.InteropServices.SafeBuffer,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Issue a trace control request.
            </summary>
            <param name="function">The trace control function code.</param>
            <param name="input_buffer">The optional input buffer.</param>
            <param name="output_buffer">The optional output buffer.</param>
            <returns>The output length.</returns>
        </member>
        <member name="T:NtApiDotNet.TraceAccessRights">
            <summary>
            Access rights for Trace
            </summary>
        </member>
        <member name="F:NtApiDotNet.TraceKnownGuids.SecurityProvider">
            <summary>
            The security trace provider GUID.
            </summary>
        </member>
        <member name="F:NtApiDotNet.TraceKnownGuids.DefaultTraceSecurity">
            <summary>
            The default security GUID.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtTransaction">
            <summary>
            Class to represent a kernel transaction.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.TransactionAccessRights,System.Nullable{System.Guid},NtApiDotNet.NtTransactionManager,NtApiDotNet.TransactionCreateFlags,System.Int32,NtApiDotNet.TransactionIsolationFlags,NtApiDotNet.NtWaitTimeout,System.String,System.Boolean)">
            <summary>
            Create a transaction
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <param name="create_options">Transaction creation options.</param>
            <param name="description">Optional description of the transaction.</param>
            <param name="isolation_flags">Isolation flags.</param>
            <param name="isolation_level">Isolation level.</param>
            <param name="timeout">Optional transaction timeout.</param>
            <param name="transaction_manager">Optional transaction manager.</param>
            <param name="uow">Optional UOW.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.TransactionAccessRights,System.Nullable{System.Guid},NtApiDotNet.NtTransactionManager,NtApiDotNet.TransactionCreateFlags,System.Int32,NtApiDotNet.TransactionIsolationFlags,NtApiDotNet.NtWaitTimeout,System.String)">
            <summary>
            Create a transaction
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="create_options">Transaction creation options.</param>
            <param name="description">Optional description of the transaction.</param>
            <param name="isolation_flags">Isolation flags.</param>
            <param name="isolation_level">Isolation level.</param>
            <param name="timeout">Optional transaction timeout.</param>
            <param name="transaction_manager">Optional transaction manager.</param>
            <param name="uow">Optional UOW.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.TransactionAccessRights,System.Boolean)">
            <summary>
            Create a transaction
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.TransactionAccessRights)">
            <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.NtTransaction.Create(System.String,NtApiDotNet.NtObject,NtApiDotNet.TransactionAccessRights,System.Nullable{System.Guid},NtApiDotNet.NtTransactionManager,NtApiDotNet.TransactionCreateFlags,System.Int32,NtApiDotNet.TransactionIsolationFlags,NtApiDotNet.NtWaitTimeout,System.String,System.Boolean)">
            <summary>
            Create a transaction
            </summary>
            <param name="path">The path of the transaction</param>
            <param name="root">The root if path is relative</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="create_options">Transaction creation options.</param>
            <param name="description">Optional description of the transaction.</param>
            <param name="isolation_flags">Isolation flags.</param>
            <param name="isolation_level">Isolation level.</param>
            <param name="timeout">Optional transaction timeout.</param>
            <param name="transaction_manager">Optional transaction manager.</param>
            <param name="uow">Optional UOW.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The opened transaction</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.Create(System.String,NtApiDotNet.NtObject,NtApiDotNet.TransactionAccessRights,System.Nullable{System.Guid},NtApiDotNet.NtTransactionManager,NtApiDotNet.TransactionCreateFlags,System.Int32,NtApiDotNet.TransactionIsolationFlags,NtApiDotNet.NtWaitTimeout,System.String)">
            <summary>
            Create a transaction
            </summary>
            <param name="path">The path of the transaction</param>
            <param name="root">The root if path is relative</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="create_options">Transaction creation options.</param>
            <param name="description">Optional description of the transaction.</param>
            <param name="isolation_flags">Isolation flags.</param>
            <param name="isolation_level">Isolation level.</param>
            <param name="timeout">Optional transaction timeout.</param>
            <param name="transaction_manager">Optional transaction manager.</param>
            <param name="uow">Optional UOW.</param>
            <returns>The opened transaction</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.Create(System.String,NtApiDotNet.NtObject,NtApiDotNet.TransactionAccessRights,System.Boolean)">
            <summary>
            Create a transaction
            </summary>
            <param name="path">The path of the transaction</param>
            <param name="root">The root if path is relative</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The opened transaction</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.Create(System.String,NtApiDotNet.NtObject,NtApiDotNet.TransactionAccessRights)">
            <summary>
            Create a transaction
            </summary>
            <param name="path">The path of the transaction</param>
            <param name="root">The root if path is relative</param>
            <param name="desired_access">Desired access for the handle</param>
            <returns>The opened transaction</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.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.NtTransaction.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.NtTransaction.Create">
            <summary>
            Create a transaction
            </summary>
            <returns>The opened transaction</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.TransactionAccessRights,System.Guid,NtApiDotNet.NtTransactionManager,System.Boolean)">
            <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>
            <param name="transaction_manager">Optional transaction manager.</param>
            <param name="uow">UOW Guid.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.TransactionAccessRights,System.Guid,NtApiDotNet.NtTransactionManager)">
            <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>
            <param name="transaction_manager">Optional transaction manager.</param>
            <param name="uow">UOW Guid.</param>
            <returns>The object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.Open(NtApiDotNet.TransactionAccessRights,System.Guid,NtApiDotNet.NtTransactionManager)">
            <summary>
            Open a transaction object.
            </summary>
            <param name="desired_access">The desired access for the object</param>
            <param name="transaction_manager">Optional transaction manager.</param>
            <param name="uow">UOW Guid.</param>
            <returns>The object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.Open(System.Guid,NtApiDotNet.NtTransactionManager)">
            <summary>
            Open a transaction object.
            </summary>
            <param name="transaction_manager">Optional transaction manager.</param>
            <param name="uow">UOW Guid.</param>
            <returns>The object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.Open(System.Guid)">
            <summary>
            Open a transaction object.
            </summary>
            <param name="uow">UOW Guid.</param>
            <returns>The object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.GetAccessibleTransaction(NtApiDotNet.ObjectAttributes,NtApiDotNet.TransactionAccessRights,NtApiDotNet.NtTransactionManager)">
            <summary>
            Get a list of all accessible transaction objects.
            </summary>
            <param name="object_attributes">The object attributes for the object</param>
            <param name="transaction_manager">Optional transaction manager.</param>
            <param name="desired_access">The access for the transaction objects.</param>
            <returns>The list of all accessible transaction objects.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.GetAccessibleTransaction(NtApiDotNet.TransactionAccessRights)">
            <summary>
            Get a list of all accessible transaction objects.
            </summary>
            <param name="desired_access">The access for the transaction objects.</param>
            <returns>The list of all accessible transaction objects.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.GetAccessibleTransaction">
            <summary>
            Get a list of all accessible transaction objects.
            </summary>
            <returns>The list of all accessible transaction objects.</returns>
        </member>
        <member name="P:NtApiDotNet.NtTransaction.Current">
            <summary>
            Get the current thread's transaction.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.Commit(System.Boolean,System.Boolean)">
            <summary>
            Commit the transaction
            </summary>
            <param name="wait">Wait for transaction to commit.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.Commit(System.Boolean)">
            <summary>
            Commit the transaction
            </summary>
            <param name="wait">Wait for transaction to commit.</param>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.Commit">
            <summary>
            Commit the transaction
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.Rollback(System.Boolean,System.Boolean)">
            <summary>
            Rollback the transaction
            </summary>
            <param name="wait">Wait for transaction to rollback.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.Rollback(System.Boolean)">
            <summary>
            Rollback the transaction
            </summary>
            <param name="wait">Wait for transaction to rollback.</param>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.Rollback">
            <summary>
            Rollback the transaction
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.Enable">
            <summary>
            Enable the transaction for anything in the current thread context.
            </summary>
            <returns>The transaction context. This should be disposed to disable the transaction.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.QueryInformation(NtApiDotNet.TransactionInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Int32@)">
            <summary>
            Method to query information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to return data in.</param>
            <param name="return_length">Return length from the query.</param>
            <returns>The NT status code for the query.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.SetInformation(NtApiDotNet.TransactionInformationClass,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Method to set information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to set data from.</param>
            <returns>The NT status code for the set.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransaction.QueryObject(NtApiDotNet.TransactionInformationClass,System.Boolean)">
            <summary>
            Query the information class as an object.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The information class as an object.</returns>
        </member>
        <member name="P:NtApiDotNet.NtTransaction.TransactionId">
            <summary>
            Get the ID of the transaction.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtTransaction.UnitOfWork">
            <summary>
            Get the Unit of Work ID of the transaction. Same as transaction ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtTransaction.State">
            <summary>
            Get the state of the transaction.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtTransaction.Outcome">
            <summary>
            Get the outcome of the transaction.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtTransaction.Description">
            <summary>
            Get or set the transaction description.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtTransaction.IsolationLevel">
            <summary>
            Get or set the transaction isolation level.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtTransaction.IsolationFlags">
            <summary>
            Get or set the transaction isolation flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtTransaction.Timeout">
            <summary>
            Get or set transaction timeout.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtTransaction.Enlistments">
            <summary>
            Query list of enlistments for this transaction.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtTransaction.SuperiorEnlistment">
            <summary>
            Query the superior enlistment for this transaction.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtTransactionManager">
            <summary>
            Class to represent a kernel transaction manager.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.TransactionManagerAccessRights,System.String,NtApiDotNet.TransactionManagerCreateOptions,System.Int32,System.Boolean)">
            <summary>
            Create a new transaction manager object.
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <param name="log_filename">The CLFS log file to create if not volatile.</param>
            <param name="create_options">Creation options flags.</param>
            <param name="commit_strength">Commit strength, set to 0.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.TransactionManagerAccessRights,System.String,NtApiDotNet.TransactionManagerCreateOptions,System.Int32)">
            <summary>
            Create a new transaction manager object.
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="log_filename">The CLFS log file to create if not volatile.</param>
            <param name="create_options">Creation options flags.</param>
            <param name="commit_strength">Commit strength, set to 0.</param>
            <returns>The object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.Create(System.String,NtApiDotNet.NtObject,NtApiDotNet.TransactionManagerAccessRights,System.String,NtApiDotNet.TransactionManagerCreateOptions,System.Boolean)">
            <summary>
            Create a new transaction manager object.
            </summary>
            <param name="path">The path to the transaction manager.</param>
            <param name="root">The root if path is relative.</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="log_filename">The CLFS log file to create if not volatile.</param>
            <param name="create_options">Creation options flags.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.Create(System.String,NtApiDotNet.NtObject,NtApiDotNet.TransactionManagerAccessRights,System.String,NtApiDotNet.TransactionManagerCreateOptions)">
            <summary>
            Create a new transaction manager object.
            </summary>
            <param name="path">The path to the transaction manager.</param>
            <param name="root">The root if path is relative.</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="log_filename">The CLFS log file to create if not volatile.</param>
            <param name="create_options">Creation options flags.</param>
            <returns>The object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.CreateVolatile(System.String,NtApiDotNet.NtObject,NtApiDotNet.TransactionManagerAccessRights)">
            <summary>
            Create a new volatile transaction manager object.
            </summary>
            <param name="path">The path to the transaction manager.</param>
            <param name="root">The root if path is relative.</param>
            <param name="desired_access">Desired access for the handle</param>
            <returns>The object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.CreateVolatile(System.String,NtApiDotNet.NtObject)">
            <summary>
            Create a new volatile transaction manager object.
            </summary>
            <param name="path">The path to the transaction manager.</param>
            <param name="root">The root if path is relative.</param>
            <returns>The object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.CreateVolatile(System.String)">
            <summary>
            Create a new volatile transaction manager object.
            </summary>
            <param name="path">The path to the transaction manager.</param>
            <returns>The object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.CreateVolatile">
            <summary>
            Create a new volatile transaction manager object.
            </summary>
            <returns>The object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.TransactionManagerAccessRights,System.String,System.Nullable{System.Guid},NtApiDotNet.TransactionManagerOpenOptions,System.Boolean)">
            <summary>
            Open a existing transaction manager object.
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="log_filename">The CLFS log file to create if not volatile.</param>
            <param name="tm_identity">Identity of the transaction manager.</param>
            <param name="open_options">Open options flags.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.TransactionManagerAccessRights,System.String,System.Nullable{System.Guid},NtApiDotNet.TransactionManagerOpenOptions)">
            <summary>
            Open a existing transaction manager object.
            </summary>
            <param name="object_attributes">The object attributes</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="tm_identity">Identity of the transaction manager.</param>
            <param name="log_filename">The CLFS log file to create if not volatile.</param>
            <param name="open_options">Open options flags.</param>
            <returns>The object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.TransactionManagerAccessRights,System.String,System.Nullable{System.Guid},NtApiDotNet.TransactionManagerOpenOptions,System.Boolean)">
            <summary>
            Open an existing transaction manager object.
            </summary>
            <param name="path">The path to the transaction manager.</param>
            <param name="root">The root if path is relative.</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="tm_identity">Identity of the transaction manager.</param>
            <param name="log_filename">The CLFS log file to create if not volatile.</param>
            <param name="open_options">Open options flags.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.TransactionManagerAccessRights,System.String,System.Nullable{System.Guid},NtApiDotNet.TransactionManagerOpenOptions)">
            <summary>
            Open an existing transaction manager object.
            </summary>
            <param name="path">The path to the transaction manager.</param>
            <param name="root">The root if path is relative.</param>
            <param name="desired_access">Desired access for the handle</param>
            <param name="tm_identity">Identity of the transaction manager.</param>
            <param name="log_filename">The CLFS log file to create if not volatile.</param>
            <param name="open_options">Open options flags.</param>
            <returns>The object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.TransactionManagerAccessRights)">
            <summary>
            Open an existing transaction manager object.
            </summary>
            <param name="path">The path to the transaction manager.</param>
            <param name="root">The root if path is relative.</param>
            <param name="desired_access">Desired access for the handle</param>
            <returns>The object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.Open(System.String,NtApiDotNet.NtObject)">
            <summary>
            Open an existing transaction manager object.
            </summary>
            <param name="path">The path to the transaction manager.</param>
            <param name="root">The root if path is relative.</param>
            <returns>The object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.Open(System.String)">
            <summary>
            Open an existing transaction manager object.
            </summary>
            <param name="path">The path to the transaction manager.</param>
            <returns>The object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.Rename(System.String,System.Guid,System.Boolean)">
            <summary>
            Rename transaction manager object. The new identity can be queried with the Identity property on the object.
            </summary>
            <param name="logpath">The path to the transaction log file.</param>
            <param name="identity">The existing transaction manager identity.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.GetAccessibleTransactionManager(NtApiDotNet.ObjectAttributes,NtApiDotNet.TransactionManagerAccessRights,NtApiDotNet.TransactionManagerOpenOptions)">
            <summary>
            Get a list of all accessible transaction manager objects.
            </summary>
            <param name="object_attributes">Object attributes for opened handle.</param>
            <param name="desired_access">The access for the transaction manager objects.</param>
            <param name="options">Open options.</param>
            <returns>The list of all accessible transaction manager objects.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.GetAccessibleTransactionManager(NtApiDotNet.TransactionManagerAccessRights)">
            <summary>
            Get a list of all accessible transaction manager objects.
            </summary>
            <param name="desired_access">The access for the transaction manager objects.</param>
            <returns>The list of all accessible transaction manager objects.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.GetAccessibleTransactionManager">
            <summary>
            Get a list of all accessible transaction manager objects.
            </summary>
            <returns>The list of all accessible transaction manager objects.</returns>
        </member>
        <member name="P:NtApiDotNet.NtTransactionManager.Identity">
            <summary>
            Get the Transaction Manager identity.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtTransactionManager.VirtualClock">
            <summary>
            Get the Transaction Manager virtual clock.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtTransactionManager.LogIdentity">
            <summary>
            Get the Transaction Manager log identity.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtTransactionManager.LogPath">
            <summary>
            Get the Transaction Manager log path.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtTransactionManager.LastRecoveredLsn">
            <summary>
            Get Transaction Manager last recovered Log Sequence Number.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtTransactionManager.Volatile">
            <summary>
            Get whether the transaction manager is volatile.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.Rename(System.Boolean)">
            <summary>
            Rename transaction manager object. The new identity can be queried with the Identity property on the object.
            </summary>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.Rename">
            <summary>
            Rename transaction manager object. The new identity can be queried with the Identity property on the object.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.Recover(System.Boolean)">
            <summary>
            Recover the transaction manager.
            </summary>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.Recover">
            <summary>
            Recover the transaction manager.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.Rollforward(System.Nullable{System.Int64},System.Boolean)">
            <summary>
            Rollforward the transaction manager.
            </summary>
            <param name="virtual_clock">Optional virtual block value to rollforward to.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.Rollforward(System.Boolean)">
            <summary>
            Rollforward the transaction manager.
            </summary>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.Rollforward(System.Nullable{System.Int64})">
            <summary>
            Rollforward the transaction manager.
            </summary>
            <param name="virtual_clock">Optional virtual block value to rollforward to.</param>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.Rollforward">
            <summary>
            Rollforward the transaction manager.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.CreateResourceManager(System.Guid,NtApiDotNet.ResourceManagerCreateOptions,System.Boolean)">
            <summary>
            Create a resource manager for this transaction manager.
            </summary>
            <param name="resource_manager_guid">The resource manager GUID to assign.</param>
            <param name="create_options">Creation options.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The resource manager and NT status.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.CreateResourceManager(System.Guid,NtApiDotNet.ResourceManagerCreateOptions)">
            <summary>
            Create a resource manager for this transaction manager.
            </summary>
            <param name="resource_manager_guid">The resource manager GUID to assign.</param>
            <param name="create_options">Creation options.</param>
            <returns>The resource manager .</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.CreateResourceManagerVolatile(System.Guid)">
            <summary>
            Create a resource manager for this transaction manager.
            </summary>
            <param name="resource_manager_guid">The resource manager GUID to assign.</param>
            <returns>The resource manager.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.CreateResourceManagerVolatile">
            <summary>
            Create a volatile resource manager for this transaction manager with a auto-generated GUID.
            </summary>
            <returns>The resource manager.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.QueryInformation(NtApiDotNet.TransactionManagerInformationClass,System.Runtime.InteropServices.SafeBuffer,System.Int32@)">
            <summary>
            Method to query information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to return data in.</param>
            <param name="return_length">Return length from the query.</param>
            <returns>The NT status code for the query.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.SetInformation(NtApiDotNet.TransactionManagerInformationClass,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Method to set information for this object type.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="buffer">The buffer to set data from.</param>
            <returns>The NT status code for the set.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.QueryObject(NtApiDotNet.TransactionManagerInformationClass,System.Boolean)">
            <summary>
            Query the information class as an object.
            </summary>
            <param name="info_class">The information class.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The information class as an object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.GetAccessibleTransaction(NtApiDotNet.TransactionAccessRights)">
            <summary>
            Get a list of all accessible transaction objects owned by this transaction manager.
            </summary>
            <param name="desired_access">The access for the transaction objects.</param>
            <returns>The list of all accessible transaction objects.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.GetAccessibleTransaction">
            <summary>
            Get a list of all accessible transaction objects owned by this transaction manager.
            </summary>
            <returns>The list of all accessible transaction objects.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.GetAccessibleResourceManager(NtApiDotNet.ObjectAttributes,NtApiDotNet.ResourceManagerAccessRights)">
            <summary>
            Get a list of all accessible resource manager objects owned by this transaction manager.
            </summary>
            <param name="object_attributes">Object attributes for opened handle.</param>
            <param name="desired_access">The access for the resource manager objects.</param>
            <returns>The list of all accessible resource manager objects.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.GetAccessibleResourceManager(NtApiDotNet.ResourceManagerAccessRights)">
            <summary>
            Get a list of all accessible resource manager objects owned by this transaction manager.
            </summary>
            <param name="desired_access">The access for the resource manager objects.</param>
            <returns>The list of all accessible resource manager objects.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManager.GetAccessibleResourceManager">
            <summary>
            Get a list of all accessible resource manager objects owned by this transaction manager.
            </summary>
            <returns>The list of all accessible resource manager objects.</returns>
        </member>
        <member name="T:NtApiDotNet.NtTransactionManagerUtils">
            <summary>
            General utilities for the kernel transaction manager.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManagerUtils.EnumerateTransactionObjects(NtApiDotNet.SafeKernelObjectHandle,NtApiDotNet.KtmObjectType)">
            <summary>
            Enumerate transaction objects of a specific type from a root handle.
            </summary>
            <param name="root_object_handle">The root handle to enumearate from.</param>
            <param name="query_type">The type of object to query.</param>
            <returns>The list of enumerated transaction object GUIDs.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManagerUtils.EnumerateTransactionObjects(NtApiDotNet.KtmObjectType)">
            <summary>
            Enumerate all transaction objects of a specific type.
            </summary>
            <param name="query_type">The type of object to query.</param>
            <returns>The list of enumerated transaction object GUIDs.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManagerUtils.FreezeTransactions(NtApiDotNet.NtWaitTimeout,NtApiDotNet.NtWaitTimeout,System.Boolean)">
            <summary>
            Freeze all transactions. Needs SeRestorePrivilege.
            </summary>
            <param name="freeze_timeout">The freeze wait timeout.</param>
            <param name="thaw_timeout">The thaw wait timeout.</param>
            <param name="throw_on_error">Throw exception on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManagerUtils.FreezeTransactions(NtApiDotNet.NtWaitTimeout,NtApiDotNet.NtWaitTimeout)">
            <summary>
            Freeze all transactions. Needs SeRestorePrivilege.
            </summary>
            <param name="freeze_timeout">The freeze wait timeout.</param>
            <param name="thaw_timeout">The thaw wait timeout.</param>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManagerUtils.ThawTransactions(System.Boolean)">
            <summary>
            Thaw transactions. Needs SeRestorePrivilege.
            </summary>
            <param name="throw_on_error">Throw exception on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtTransactionManagerUtils.ThawTransactions">
            <summary>
            Thaw transactions. Needs SeRestorePrivilege.
            </summary>
            <returns>The NT status code.</returns>
        </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="P:NtApiDotNet.NtType.GenericRead">
            <summary>
            Generic Read Access rights
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtType.GenericWrite">
            <summary>
            Generic Read Access rights
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtType.GenericExecute">
            <summary>
            Generic Read Access rights
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtType.GenericAll">
            <summary>
            Generic Read Access rights
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtType.DefaultMandatoryAccess">
            <summary>
            Get the maximum access mask for the type's default mandatory access policy.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtType.ObjectType">
            <summary>
            Get implemented object type for this NT type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtType.AccessRightsType">
            <summary>
            Get the access rights enumerated type for this NT type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtType.ContainerAccessRightsType">
            <summary>
            Get the access rights enumerated type for this NT type if it's a container.
            </summary>
            <remarks>There's only one known type at the moment which uses this, File.</remarks>
        </member>
        <member name="P:NtApiDotNet.NtType.CanOpen">
            <summary>
            Can this type of open be opened by name
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtType.AccessRights">
            <summary>
            Get the valid access rights for this Type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtType.ReadAccessRights">
            <summary>
            Get the valid read access rights for this Type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtType.WriteAccessRights">
            <summary>
            Get the valid write access rights for this Type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtType.ExecuteAccessRights">
            <summary>
            Get the valid execute access rights for this Type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtType.AllAccessRights">
            <summary>
            Get the valid all access rights for this Type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtType.MandatoryAccessRights">
            <summary>
            Get the valid mandatory access rights for this Type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtType.QueryInformationClass">
            <summary>
            Get defined query information classes for a type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtType.SetInformationClass">
            <summary>
            Get defined set information classes for a type.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtType.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.AccessMask,System.Boolean)">
            <summary>
            Open this NT type by name (if CanOpen is true)
            </summary>
            <param name="object_attributes">The object attributes to open.</param>
            <param name="desired_access">Desired access when opening.</param>
            <param name="throw_on_error">True to throw an exception on error.</param>
            <returns>The NT status code and object result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.Open(System.String,NtApiDotNet.NtObject,NtApiDotNet.AccessMask)">
            <summary>
            Open this NT type by name (if CanOpen is true)
            </summary>
            <param name="name">The name of the object to open.</param>
            <param name="root">The root object for opening, if name is relative</param>
            <param name="desired_access">Desired access when opening.</param>
            <returns>The created object.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception>
        </member>
        <member name="M:NtApiDotNet.NtType.Open(System.String,NtApiDotNet.NtObject)">
            <summary>
            Open this NT type by name (if CanOpen is true)
            </summary>
            <param name="name">The name of the object to open.</param>
            <param name="root">The root object for opening, if name is relative</param>
            <returns>The created object.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception>
        </member>
        <member name="M:NtApiDotNet.NtType.Open(System.String)">
            <summary>
            Open this NT type by name (if CanOpen is true)
            </summary>
            <param name="name">The name of the object to open.</param>
            <returns>The created object.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error</exception>
        </member>
        <member name="M:NtApiDotNet.NtType.FromHandle(NtApiDotNet.SafeKernelObjectHandle)">
            <summary>
            Get object from an existing handle.
            </summary>
            <param name="handle">The existing handle.</param>
            <returns>The new object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.FromHandle(System.IntPtr,System.Boolean)">
            <summary>
            Get object from an existing handle.
            </summary>
            <param name="handle">The existing handle.</param>
            <param name="owns_handle">True to own the handle.</param>
            <returns>The new object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.FromHandle(System.IntPtr)">
            <summary>
            Get object from an existing handle.
            </summary>
            <param name="handle">The existing handle.</param>
            <remarks>The call doesn't own the handle. The returned object can't be used to close the handle.</remarks>
            <returns>The new object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.AccessMaskToString(System.Boolean,NtApiDotNet.AccessMask,System.Boolean,System.Boolean)">
            <summary>
            Convert an enumerable access rights to a string
            </summary>
            <param name="container">True to use the container access type.</param>
            <param name="granted_access">The granted access mask.</param>
            <param name="map_to_generic">True to try and convert to generic rights where possible.</param>
            <param name="sdk_names">Set to true to use SDK style names.</param>
            <returns>The string format of the access rights</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.AccessMaskToString(System.Boolean,NtApiDotNet.AccessMask,System.Boolean)">
            <summary>
            Convert an enumerable access rights to a string
            </summary>
            <param name="container">True to use the container access type.</param>
            <param name="granted_access">The granted access mask.</param>
            <param name="map_to_generic">True to try and convert to generic rights where possible.</param>
            <returns>The string format of the access rights</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.AccessMaskToString(NtApiDotNet.AccessMask,System.Boolean)">
            <summary>
            Convert an enumerable access rights to a string
            </summary>
            <param name="granted_access">The granted access mask.</param>
            <param name="map_to_generic">True to try and convert to generic rights where possible.</param>
            <returns>The string format of the access rights</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.AccessMaskToString(NtApiDotNet.AccessMask)">
            <summary>
            Convert an enumerable access rights to a string
            </summary>
            <param name="granted_access">The granted access mask.</param>
            <returns>The string format of the access rights</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.HasReadPermission(NtApiDotNet.AccessMask)">
            <summary>
            Checks if an 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(NtApiDotNet.AccessMask)">
            <summary>
            Checks if an 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(NtApiDotNet.AccessMask)">
            <summary>
            Checks if an 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(NtApiDotNet.AccessMask)">
            <summary>
            Checks if an 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(NtApiDotNet.AccessMask)">
            <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.UnmapGenericRights(NtApiDotNet.AccessMask)">
            <summary>
            Unmap specific access rights to generic access rights for this type
            </summary>
            <param name="access_mask">The access mask to unmap</param>
            <returns>The unmapped access mask</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.IsValidAccess(NtApiDotNet.AccessMask)">
            <summary>
            Checks if an access mask is valid for access of this object type.
            </summary>
            <param name="access_mask">The access mask to check</param>
            <returns>True if it valid access</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.GetDefaultMandatoryAccess">
            <summary>
            Get the maximum access mask for the type's default mandatory access policy.
            </summary>
            <returns>The allowed access mask for the type with the default policy.</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>Returns the type as a string.</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.#ctor(System.String)">
            <summary>
            Create an NtType object by name.
            </summary>
            <param name="name">The name of the NT type.</param>
            <remarks>This will always return a cached type.</remarks>
            <exception cref="T:System.ArgumentException">Invalid NT type name.</exception>
        </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.GetTypeByIndex(System.Int32,System.Boolean)">
            <summary>
            Get a type object by index
            </summary>
            <param name="index">The index, must be >= 0.</param>
            <param name="cached">True to get a cached type, false to return a live types.</param>
            <returns>The object type, null if not found</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.GetTypeByName(System.String,System.Boolean,System.Boolean)">
            <summary>
            Get a type object by name
            </summary>
            <param name="name">The name of the type</param>
            <param name="create_fake_type">True to create a fake type if needed.</param>
            <param name="cached">True to get a cached type, false to return a live types.</param>
            <returns>The object type, null if not found</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.GetTypeByName(System.String,System.Boolean)">
            <summary>
            Get a type object by name
            </summary>
            <param name="name">The name of the type</param>
            <param name="create_fake_type">True to create a fake type if needed.</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.GetTypeForHandle(NtApiDotNet.SafeKernelObjectHandle,System.Boolean)">
            <summary>
            Get a type object by a kernel handle.
            </summary>
            <param name="handle">The kernel handle.</param>
            <param name="create_fake_type">True to create a fake type if needed.</param>
            <returns>The object type, null if not found</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.GetTypeByType``1(System.Boolean)">
            <summary>
            Get an NT type based on the implemented .NET type.
            </summary>
            <typeparam name="T">A type derived from NtObject</typeparam>
            <param name="cached">True to get a cached type, false to return a live types.</param>
            <returns>The NtType represented by this .NET type. Note if a type is represented with multiple
            names only return the first one we find.</returns>
            <exception cref="T:System.ArgumentException">Thrown if there exists no .NET type which maps to this type.</exception>
        </member>
        <member name="M:NtApiDotNet.NtType.GetTypeByType``1">
            <summary>
            Get an NT type based on the implemented .NET type.
            </summary>
            <typeparam name="T">A type derived from NtObject</typeparam>
            <returns>The NtType represented by this .NET type. Note if a type is represented with multiple
            names only return the first one we find.</returns>
            <exception cref="T:System.ArgumentException">Thrown if there exists no .NET type which maps to this type.</exception>
        </member>
        <member name="M:NtApiDotNet.NtType.GetFakeType(System.String,NtApiDotNet.GenericMapping,System.Type,System.Type,NtApiDotNet.MandatoryLabelPolicy)">
            <summary>
            Get a fake type object. This can be used in access checking for operations which need an NtType object
            but there's no real NT object.
            </summary>
            <param name="name">The name of the fake type. Informational only.</param>
            <param name="generic_mapping">The GENERIC_MAPPING for security checking.</param>
            <param name="access_rights_type">The access rights enumeration type.</param>
            <param name="container_access_rights_type">The access rights enumeration type of the object is a container.</param>
            <param name="policy">The mandatory label policy.</param>
            <returns>The fake NT type object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.GetFakeType(System.String,NtApiDotNet.GenericMapping,System.Type,System.Type)">
            <summary>
            Get a fake type object. This can be used in access checking for operations which need an NtType object
            but there's no real NT object.
            </summary>
            <param name="name">The name of the fake type. Informational only.</param>
            <param name="generic_mapping">The GENERIC_MAPPING for security checking.</param>
            <param name="access_rights_type">The access rights enumeration type.</param>
            <param name="container_access_rights_type">The access rights enumeration type of the object is a container.</param>
            <returns>The fake NT type object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.GetFakeType(System.String,NtApiDotNet.GenericMapping,System.Type)">
            <summary>
            Get a fake type object. This can be used in access checking for operations which need an NtType object
            but there's no real NT object.
            </summary>
            <param name="name">The name of the fake type. Informational only.</param>
            <param name="generic_mapping">The GENERIC_MAPPING for security checking.</param>
            <param name="access_rights_type">The access rights enumeration type.</param>
            <returns>The fake NT type object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.GetFakeType(System.String,NtApiDotNet.AccessMask,NtApiDotNet.AccessMask,NtApiDotNet.AccessMask,NtApiDotNet.AccessMask,System.Type,System.Type)">
            <summary>
            Get a fake type object. This can be used in access checking for operations which need an NtType object
            but there's no real NT object.
            </summary>
            <param name="name">The name of the fake type. Informational only.</param>
            <param name="generic_read">The GENERIC_READ for security checking.</param>
            <param name="generic_write">The GENERIC_WRITE for security checking.</param>
            <param name="generic_exec">The GENERIC_EXECUTE for security checking.</param>
            <param name="generic_all">The GENERIC_ALL for security checking.</param>
            <param name="access_rights_type">The access rights enumeration type.</param>
            <param name="container_access_rights_type">The access rights enumeration type of the object is a container.</param>
            <returns>The fake NT type object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.GetFakeType(System.String,NtApiDotNet.AccessMask,NtApiDotNet.AccessMask,NtApiDotNet.AccessMask,NtApiDotNet.AccessMask,System.Type)">
            <summary>
            Get a fake type object. This can be used in access checking for operations which need an NtType object
            but there's no real NT object.
            </summary>
            <param name="name">The name of the fake type. Informational only.</param>
            <param name="generic_read">The GENERIC_READ for security checking.</param>
            <param name="generic_write">The GENERIC_WRITE for security checking.</param>
            <param name="generic_exec">The GENERIC_EXECUTE for security checking.</param>
            <param name="generic_all">The GENERIC_ALL for security checking.</param>
            <param name="access_rights_type">The access rights enumeration type.</param>
            <returns>The fake NT type object.</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="M:NtApiDotNet.NtType.GetTypes(System.Boolean,System.Boolean)">
            <summary>
            Get a list of all types.
            </summary>
            <param name="cached">True to get the cached list of types, false to return a live list of all types.</param>
            <param name="include_fake_types">True to include fake types such as WNF or Service</param>
            <returns>The list of types.</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.GetTypes(System.Boolean)">
            <summary>
            Get a list of all types.
            </summary>
            <param name="cached">True to get the cached list of types, false to return a live list of all types.</param>
            <returns>The list of types.</returns>
        </member>
        <member name="M:NtApiDotNet.NtType.GetTypeFromPath(System.String,NtApiDotNet.NtObject)">
            <summary>
            Get the NT type from a path.
            </summary>
            <param name="path">The object manager path.</param>
            <param name="root">Optional root object.</param>
            <returns>The NT type. Returns null if not available or unknown.</returns>
        </member>
        <member name="T:NtApiDotNet.NtUserProcessParameters">
            <summary>
            Converted user process parameters.
            </summary>
        </member>
        <member name="T:NtApiDotNet.NtVirtualMemory">
            <summary>
            Static class to access virtual memory functions of NT.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.QuerySectionName(NtApiDotNet.SafeKernelObjectHandle,System.Int64,System.Boolean)">
            <summary>
            Query section name,
            </summary>
            <param name="process">The process to query from.</param>
            <param name="base_address">The base address to query.</param>
            <param name="throw_on_error">True to throw on error</param>
            <returns>The result of the query.</returns>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.QuerySectionName(NtApiDotNet.SafeKernelObjectHandle,System.Int64)">
            <summary>
            Query section name,
            </summary>
            <param name="process">The process to query from.</param>
            <param name="base_address">The base address to query.</param>
            <returns>The result of the query.</returns>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.QueryMemoryInformation(NtApiDotNet.SafeKernelObjectHandle,System.Int64,System.Boolean)">
            <summary>
            Query memory information for a process.
            </summary>
            <param name="process">The process to query.</param>
            <param name="base_address">The base address.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The memory information for the region.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.QueryMemoryInformation(NtApiDotNet.SafeKernelObjectHandle,System.Int64)">
            <summary>
            Query memory information for a process.
            </summary>
            <param name="process">The process to query.</param>
            <param name="base_address">The base address.</param>
            <returns>The memory information for the region.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.QueryMemoryInformation(NtApiDotNet.SafeKernelObjectHandle)">
            <summary>
            Query all memory information regions in process memory.
            </summary>
            <returns>The list of memory regions.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.QueryMappedFiles(NtApiDotNet.SafeKernelObjectHandle)">
            <summary>
            Query a list of mapped files in a process.
            </summary>
            <param name="process">The process to query.</param>
            <returns>The list of mapped images</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.ReadMemory(NtApiDotNet.SafeKernelObjectHandle,System.Int64,System.Int32)">
            <summary>
            Read memory from a process.
            </summary>
            <param name="process">The process to read from.</param>
            <param name="base_address">The base address in the process.</param>
            <param name="length">The length to read.</param>
            <returns>The array of bytes read from the location. 
            If a read is short then returns fewer bytes than requested.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.WriteMemory(NtApiDotNet.SafeKernelObjectHandle,System.Int64,System.Byte[])">
            <summary>
            Write memory to a process.
            </summary>
            <param name="process">The process to write to.</param>
            <param name="base_address">The base address in the process.</param>
            <param name="data">The data to write.</param>
            <returns>The number of bytes written to the location</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.ReadMemory``1(NtApiDotNet.SafeKernelObjectHandle,System.Int64)">
            <summary>
            Read structured memory from a process.
            </summary>
            <param name="process">The process to read from.</param>
            <param name="base_address">The base address in the process.</param>
            <returns>The read structure.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <typeparam name="T">Type of structure to read.</typeparam>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.WriteMemory``1(NtApiDotNet.SafeKernelObjectHandle,System.Int64,``0)">
            <summary>
            Write structured memory to a process.
            </summary>
            <param name="process">The process to write to.</param>
            <param name="base_address">The base address in the process.</param>
            <param name="data">The data to write.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <typeparam name="T">Type of structure to write.</typeparam>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.ReadMemoryArray``1(NtApiDotNet.SafeKernelObjectHandle,System.Int64,System.Int32)">
            <summary>
            Read structured memory array from a process.
            </summary>
            <param name="process">The process to read from.</param>
            <param name="base_address">The base address in the process.</param>
            <param name="count">The number of elements in the array to read.</param>
            <returns>The read structure.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <typeparam name="T">Type of structure to read.</typeparam>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.WriteMemoryArray``1(NtApiDotNet.SafeKernelObjectHandle,System.Int64,``0[])">
            <summary>
            Write structured memory array to a process.
            </summary>
            <param name="process">The process to write to.</param>
            <param name="base_address">The base address in the process.</param>
            <param name="data">The data array to write.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
            <typeparam name="T">Type of structure to write.</typeparam>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.AllocateMemory(NtApiDotNet.SafeKernelObjectHandle,System.Int64,System.Int64,NtApiDotNet.MemoryAllocationType,NtApiDotNet.MemoryAllocationProtect,System.Boolean)">
            <summary>
            Allocate virtual memory in a process.
            </summary>
            <param name="process">The process to allocate in.</param>
            <param name="base_address">Optional base address, if 0 will automatically select a base.</param>
            <param name="region_size">The region size to allocate.</param>
            <param name="allocation_type">The type of allocation.</param>
            <param name="protect">The allocation protection.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The address of the allocated region.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.AllocateMemory(NtApiDotNet.SafeKernelObjectHandle,System.Int64,System.Int64,NtApiDotNet.MemoryAllocationType,NtApiDotNet.MemoryAllocationProtect)">
            <summary>
            Allocate virtual memory in a process.
            </summary>
            <param name="process">The process to allocate in.</param>
            <param name="base_address">Optional base address, if 0 will automatically select a base.</param>
            <param name="region_size">The region size to allocate.</param>
            <param name="allocation_type">The type of allocation.</param>
            <param name="protect">The allocation protection.</param>
            <returns>The address of the allocated region.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.FreeMemory(NtApiDotNet.SafeKernelObjectHandle,System.Int64,System.Int64,NtApiDotNet.MemoryFreeType)">
            <summary>
            Free virtual emmory in a process.
            </summary>
            <param name="process">The process to free in.</param>
            <param name="base_address">Base address of region to free</param>
            <param name="region_size">The size of the region.</param>
            <param name="free_type">The type to free.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.FreeMemory(NtApiDotNet.SafeKernelObjectHandle,System.Int64,System.Int64,NtApiDotNet.MemoryFreeType,System.Boolean)">
            <summary>
            Free virtual emmory in a process.
            </summary>
            <param name="process">The process to free in.</param>
            <param name="base_address">Base address of region to free</param>
            <param name="region_size">The size of the region.</param>
            <param name="free_type">The type to free.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.ProtectMemory(NtApiDotNet.SafeKernelObjectHandle,System.Int64,System.Int64,NtApiDotNet.MemoryAllocationProtect)">
            <summary>
            Change protection on a region of memory.
            </summary>
            <param name="process">The process to change memory protection</param>
            <param name="base_address">The base address</param>
            <param name="region_size">The size of the memory region.</param>
            <param name="new_protect">The new protection type.</param>
            <returns>The old protection for the region.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.ProtectMemory(NtApiDotNet.SafeKernelObjectHandle,System.Int64,System.Int64,NtApiDotNet.MemoryAllocationProtect,System.Boolean)">
            <summary>
            Change protection on a region of memory.
            </summary>
            <param name="process">The process to change memory protection</param>
            <param name="base_address">The base address</param>
            <param name="region_size">The size of the memory region.</param>
            <param name="new_protect">The new protection type.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The old protection for the region.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.QueryWorkingSetEx(NtApiDotNet.SafeKernelObjectHandle,System.Int64,System.Boolean)">
            <summary>
            Query working set information for an address in a process.
            </summary>
            <param name="process">The process to query.</param>
            <param name="base_address">The base address to query.</param>
            <param name="throw_on_error">True to throw on error</param>
            <returns>The working set information.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.QueryWorkingSetEx(NtApiDotNet.SafeKernelObjectHandle,System.Int64)">
            <summary>
            Query working set information for an address in a process.
            </summary>
            <param name="process">The process to query.</param>
            <param name="base_address">The base address to query.</param>
            <returns>The working set information.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.QueryImageInformation(NtApiDotNet.SafeKernelObjectHandle,System.Int64,System.Boolean)">
            <summary>
            Query image information for an address in a process.
            </summary>
            <param name="process">The process to query.</param>
            <param name="base_address">The base address to query.</param>
            <param name="throw_on_error">True to throw on error</param>
            <returns>The image information.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.QueryImageInformation(NtApiDotNet.SafeKernelObjectHandle,System.Int64)">
            <summary>
            Query image information for an address in a process.
            </summary>
            <param name="process">The process to query.</param>
            <param name="base_address">The base address to query.</param>
            <returns>The image information.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.AreMappedFilesTheSame(System.Int64,System.Int64,System.Boolean)">
            <summary>
            Determine if two addresses are the same mapped file.
            </summary>
            <param name="address_1">The first address.</param>
            <param name="address_2">The second address.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>True if the mapped memory is the same file.</returns>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.AreMappedFilesTheSame(System.Int64,System.Int64)">
            <summary>
            Determine if two addresses are the same mapped file.
            </summary>
            <param name="address_1">The first address.</param>
            <param name="address_2">The second address.</param>
            <returns>True if the mapped memory is the same file.</returns>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.FlushInstructionCache(NtApiDotNet.SafeKernelObjectHandle,System.Int64,System.Int32,System.Boolean)">
            <summary>
            Flush instruction cache.
            </summary>
            <param name="process">The process to flush the cache in.</param>
            <param name="address">The address to flush.</param>
            <param name="count">The number of bytes to flush/</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtVirtualMemory.FlushInstructionCache(NtApiDotNet.SafeKernelObjectHandle,System.Int64,System.Int32)">
            <summary>
            Flush instruction cache.
            </summary>
            <param name="process">The process to flush the cache in.</param>
            <param name="address">The address to flush.</param>
            <param name="count">The number of bytes to flush/</param>
        </member>
        <member name="T:NtApiDotNet.NtWait">
            <summary>
            Native Wait methods.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtWait.Wait(NtApiDotNet.NtObject,System.Boolean,NtApiDotNet.NtWaitTimeout)">
            <summary>
            Wait on a single object to become signaled
            </summary>
            <param name="obj">The object to wait on</param>
            <param name="alertable">Whether the thread should be alertable</param>
            <param name="timeout">The timeout to wait for</param>
            <returns>The success status of the wait, such as STATUS_SUCCESS 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 signaled
            </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 signaled</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.SignalAndWait(NtApiDotNet.NtObject,NtApiDotNet.NtObject,System.Boolean,NtApiDotNet.NtWaitTimeout)">
            <summary>
            Signal an object then wait for another to become signaled.
            </summary>
            <param name="object_to_signal">The object to signal</param>
            <param name="object_to_wait">The object to wait on.</param>
            <param name="alertable">Whether the thread should be alertable</param>
            <param name="timeout">The timeout to wait for</param>
            <returns>The success status of the wait, such as STATUS_SUCCESS or STATUS_TIMEOUT</returns>
        </member>
        <member name="T:NtApiDotNet.NtWaitHandle">
            <summary>
            A .NET wait handle to use for interop.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtWaitHandle.#ctor(NtApiDotNet.NtObject)">
            <summary>
            Create a .NET wait handle from an object.
            </summary>
            <param name="obj">The object to create the wait handle on</param>
        </member>
        <member name="M:NtApiDotNet.NtWaitHandle.WaitAsync(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Wait asynchronously for the handle to be signaled.
            </summary>
            <param name="timeout_ms">Timeout in milliseconds.</param>
            <param name="cancellation_token">Cancellation token for wait.</param>
            <returns>A task to wait on. If result is true then event was signaled.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWaitHandle.WaitAsync(System.Int32)">
            <summary>
            Wait asynchronously for the handle to be signaled.
            </summary>
            <param name="timeout_ms">Timeout in milliseconds.</param>
            <returns>A task to wait on. If result is true then event was signaled.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWaitHandle.WaitAsync">
            <summary>
            Wait asynchronously for the handle to be signaled.
            Will wait an infinite time.
            </summary>
            <returns>A task to wait on.</returns>
        </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="M:NtApiDotNet.NtWaitTimeout.FromDateTime(System.DateTime)">
            <summary>
            Create an absolute wait timeout from a datetime.
            </summary>
            <param name="date_time">The time for the timeout to complete.</param>
            <returns>An instance of the timeout class.</returns>
        </member>
        <member name="P:NtApiDotNet.NtWaitTimeout.Timeout">
            <summary>
            The timeout as a long.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtWaitTimeout.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The timeout as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.NtWellKnownIoControlCodes">
            <summary>
            Well-known IO Control codes.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtWellKnownIoControlCodes.KnownControlCodeToName(NtApiDotNet.NtIoControlCode)">
            <summary>
            Convert a control code to a known name.
            </summary>
            <param name="control_code">The control code.</param>
            <returns>The known name, or an empty string.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWellKnownIoControlCodes.GetKnownControlCodes">
            <summary>
            Get a list of known control codes.
            </summary>
            <returns>The list of known control codes.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWellKnownIoControlCodes.GetKnownControlCodeByName(System.String)">
            <summary>
            Get a list of known control codes.
            </summary>
            <returns>The control code.</returns>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">Thrown if can't find name.</exception>
        </member>
        <member name="T:NtApiDotNet.NtWindow">
            <summary>
            Structure to represent a Window.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtWindow.Handle">
            <summary>
            The Window Handle.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtWindow.ProcessId">
            <summary>
            Get Process ID for the Window.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtWindow.ThreadId">
            <summary>
            Get the Thread ID for the Window.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtWindow.Owner">
            <summary>
            Get the real owner Process ID of the Window.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtWindow.ClassName">
            <summary>
            Get the class name for the Window.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtWindow.SendMessage(System.Int32,System.IntPtr,System.IntPtr)">
            <summary>
            Send a message to the Window, Unicode.
            </summary>
            <param name="message">The message to send.</param>
            <param name="wparam">The WPARAM.</param>
            <param name="lparam">The LPARAM.</param>
            <returns>The send result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWindow.SendMessageAnsi(System.Int32,System.IntPtr,System.IntPtr)">
            <summary>
            Send a message to the Window, ANSI.
            </summary>
            <param name="message">The message to send.</param>
            <param name="wparam">The WPARAM.</param>
            <param name="lparam">The LPARAM.</param>
            <returns>The send result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWindow.PostMessage(System.Int32,System.IntPtr,System.IntPtr,System.Boolean)">
            <summary>
            Post a message to the Window, Unicode.
            </summary>
            <param name="message">The message to send.</param>
            <param name="wparam">The WPARAM.</param>
            <param name="lparam">The LPARAM.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The send result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWindow.PostMessage(System.Int32,System.IntPtr,System.IntPtr)">
            <summary>
            Post a message to the Window, Unicode.
            </summary>
            <param name="message">The message to send.</param>
            <param name="wparam">The WPARAM.</param>
            <param name="lparam">The LPARAM.</param>
            <returns>The send result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWindow.PostMessageAnsi(System.Int32,System.IntPtr,System.IntPtr,System.Boolean)">
            <summary>
            Send a message to the Window, ANSI.
            </summary>
            <param name="message">The message to send.</param>
            <param name="wparam">The WPARAM.</param>
            <param name="lparam">The LPARAM.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The send result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWindow.PostMessageAnsi(System.Int32,System.IntPtr,System.IntPtr)">
            <summary>
            Send a message to the Window, ANSI.
            </summary>
            <param name="message">The message to send.</param>
            <param name="wparam">The WPARAM.</param>
            <param name="lparam">The LPARAM.</param>
            <returns>The send result.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWindow.#ctor(System.IntPtr)">
            <summary>
            Constructor.
            </summary>
            <param name="handle">Window handle.</param>
        </member>
        <member name="M:NtApiDotNet.NtWindow.#ctor(System.Int64)">
            <summary>
            Constructor.
            </summary>
            <param name="handle">Window handle.</param>
        </member>
        <member name="P:NtApiDotNet.NtWindow.Null">
            <summary>
            Get the NULL window handle.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtWindow.Desktop">
            <summary>
            Get the desktop window.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtWindow.Broadcast">
            <summary>
            Get the broadcast window.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtWindow.Windows">
            <summary>
            Get all Top Level windows.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtWindow.GetWindows(NtApiDotNet.NtDesktop,NtApiDotNet.NtWindow,System.Boolean,System.Boolean,System.Int32,System.Boolean)">
            <summary>
            Enumerate window handles.
            </summary>
            <param name="desktop">Desktop containing the Windows. Optional.</param>
            <param name="parent">The parent Window. Optional.</param>
            <param name="enum_children">True to enumerate child Windows.</param>
            <param name="hide_immersive">Hide immersive Windows.</param>
            <param name="thread_id">The thread ID that owns the Window.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The enumerated Window Handles.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWindow.GetWindows(NtApiDotNet.NtDesktop,NtApiDotNet.NtWindow,System.Boolean,System.Boolean,System.Int32)">
            <summary>
            Enumerate window handles.
            </summary>
            <param name="desktop">Desktop containing the Windows. Optional.</param>
            <param name="parent">The parent Window. Optional.</param>
            <param name="enum_children">True to enumerate child Windows.</param>
            <param name="hide_immersive">Hide immersive Windows.</param>
            <param name="thread_id">The thread ID that owns the Window.</param>
            <returns>The enumerated Window Handles.</returns>
        </member>
        <member name="T:NtApiDotNet.NtWindowStation">
            <summary>
            Class which represents a window station object.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtWindowStation.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.WindowStationAccessRights,System.Boolean)">
            <summary>
            Open a window station by name.
            </summary>
            <param name="object_attributes">The object attributes for opening.</param>
            <param name="desired_access">Desired access.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The instance of the window station</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtWindowStation.Open(NtApiDotNet.ObjectAttributes,NtApiDotNet.WindowStationAccessRights)">
            <summary>
            Open a window station by name.
            </summary>
            <param name="object_attributes">The object attributes for opening.</param>
            <param name="desired_access">Desired access.</param>
            <returns>The instance of the window station</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtWindowStation.Open(System.String,NtApiDotNet.NtObject)">
            <summary>
            Open a window station by name.
            </summary>
            <param name="winsta_name">The name of the window station</param>
            <param name="root">Optional root object</param>
            <returns>The instance of the window station</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtWindowStation.Open(System.String)">
            <summary>
            Open a window station by name.
            </summary>
            <param name="winsta_name"></param>
            <returns>The instance of the window station</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.NtWindowStation.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.WindowStationAccessRights,System.String,System.Int32,System.Int32,System.Boolean)">
            <summary>
            Create a Window Station by name.
            </summary>
            <param name="object_attributes">Object attributes for the Window Station.</param>
            <param name="desired_access">Desired access for the Window Station.</param>
            <param name="kbd_dll_path">Path to Keyboard DLL e.g. kbusa.dll.</param>
            <param name="keyboard_locale">Locale ID, e.g. 0x4090409.</param>
            <param name="language_id">Language ID e.g. 0x409.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The Window Station.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWindowStation.Create(NtApiDotNet.ObjectAttributes,NtApiDotNet.WindowStationAccessRights,System.String,System.Int32,System.Int32)">
            <summary>
            Create a Window Station by name.
            </summary>
            <param name="object_attributes">Object attributes for the Window Station.</param>
            <param name="desired_access">Desired access for the Window Station.</param>
            <param name="kbd_dll_path">Path to Keyboard DLL e.g. kbusa.dll.</param>
            <param name="keyboard_locale">Locale ID, e.g. 0x4090409.</param>
            <param name="language_id">Language ID e.g. 0x409.</param>
            <returns>The Window Station.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWindowStation.Create(System.String)">
            <summary>
            Create a Window Station by name.
            </summary>
            <param name="winsta_name">The name of the Window Station.</param>
            <returns>The Window Station.</returns>
        </member>
        <member name="P:NtApiDotNet.NtWindowStation.Desktops">
            <summary>
            Get a list of desktops for this Window Station.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtWindowStation.WindowStations">
            <summary>
            Enumerate name of Window Stations in current session.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtWindowStation.GetAccessibleWindowStations(NtApiDotNet.WindowStationAccessRights)">
            <summary>
            Get a list of accessible Window Station objects.
            </summary>
            <param name="desired_access">The desired access for the Window Stations.</param>
            <returns>The list of desktops.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWindowStation.GetAccessibleWindowStations">
            <summary>
            Get a list of accessible Window Station objects.
            </summary>
            <returns>The list of desktops.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWindowStation.GetAccessibleDesktops(NtApiDotNet.DesktopAccessRights)">
            <summary>
            Get a list of accessible desktop objects.
            </summary>
            <param name="desired_access">The desired access for the desktops.</param>
            <returns>The list of desktops.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWindowStation.GetAccessibleDesktops">
            <summary>
            Get a list of accessible desktop objects.
            </summary>
            <returns>The list of desktops.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWindowStation.CloseWindowStation(System.Boolean)">
            <summary>
            Close the Window Stations. This is different from normal Close as it destroys the Window Station.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWindowStation.SetProcess(System.Boolean)">
            <summary>
            Set the Window Station for the Process.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWindowStation.OpenCurrent(System.Boolean)">
            <summary>
            Open the current process Window Station.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The instance of the window station</returns>
            <remarks>The returned object is no owned by the caller.</remarks>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="P:NtApiDotNet.NtWindowStation.Current">
            <summary>
            Open the current process Window Station.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtWindowStation.GetWindowStationDirectory(System.Int32)">
            <summary>
            Get the Window Station directory for a session.
            </summary>
            <param name="session_id">The session ID.</param>
            <returns>The path to the Window Station directory.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWindowStation.GetWindowStationDirectory">
            <summary>
            Get the Window Station directory for the current session.
            </summary>
            <returns>The path to the Window Station directory.</returns>
        </member>
        <member name="T:NtApiDotNet.NtWnf">
            <summary>
            NT WNF object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtWnf.GenericMapping">
            <summary>
            Get the generic mapping for a 
            </summary>
        </member>
        <member name="F:NtApiDotNet.NtWnf.WNF_NT_TYPE_NAME">
            <summary>
            Fake NT type name for WNF.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtWnf.Create(NtApiDotNet.WnfStateNameLifetime,NtApiDotNet.WnfDataScope,System.Boolean,NtApiDotNet.WnfTypeId,System.Int32,NtApiDotNet.SecurityDescriptor,System.Boolean)">
            <summary>
            Create a new WNF state name.
            </summary>
            <param name="name_lifetime">The lifetime of the name.</param>
            <param name="data_scope">The scope of the data.</param>
            <param name="persist_data">Whether to persist data.</param>
            <param name="type_id">Optional type ID.</param>
            <param name="maximum_state_size">Maximum state size.</param>
            <param name="security_descriptor">Mandatory security descriptor.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created object.</returns>
        </member>
        <member name="F:NtApiDotNet.NtWnf.StateNameKey">
            <summary>
            Kernel derived key which is used to mask the state name.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtWnf.Create(NtApiDotNet.WnfStateNameLifetime,NtApiDotNet.WnfDataScope,System.Boolean,NtApiDotNet.WnfTypeId,System.Int32,NtApiDotNet.SecurityDescriptor)">
            <summary>
            Create a new WNF state name.
            </summary>
            <param name="name_lifetime">The lifetime of the name.</param>
            <param name="data_scope">The scope of the data.</param>
            <param name="persist_data">Whether to persist data.</param>
            <param name="type_id">Optional type ID.</param>
            <param name="maximum_state_size">Maximum state size.</param>
            <param name="security_descriptor">Mandatory security descriptor.</param>
            <returns>The created object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWnf.Open(System.UInt64,System.Boolean,System.Boolean)">
            <summary>
            Open a state name. Doesn't check if it exists.
            </summary>
            <param name="state_name">The statename to open.</param>
            <param name="check_exists">True to check state name exists.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWnf.Open(System.UInt64,System.Boolean)">
            <summary>
            Open a state name. Doesn't check if it exists.
            </summary>
            <param name="state_name">The statename to open.</param>
            <param name="check_exists">True to check state name exists.</param>
            <returns>The created object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWnf.Open(System.UInt64)">
            <summary>
            Open a state name. Doesn't check if it exists.
            </summary>
            <param name="state_name">The statename to open.</param>
            <returns>The created object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWnf.Open(System.String,System.Boolean)">
            <summary>
            Open a state name. Doesn't check if it exists.
            </summary>
            <param name="name">The name to open.</param>
            <param name="check_exists">True to check state name exists.</param>
            <returns>The created object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWnf.Open(System.String)">
            <summary>
            Open a state name. Doesn't check if it exists.
            </summary>
            <param name="name">The name to open.</param>
            <returns>The created object.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWnf.GetRegisteredNotifications">
            <summary>
            Get registered notifications.
            </summary>
            <returns>The list of registered notifications.</returns>
        </member>
        <member name="P:NtApiDotNet.NtWnf.StateName">
            <summary>
            Get the state name for this WNF entry.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtWnf.DecodedStateName">
            <summary>
            The state name decoded.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtWnf.Lifetime">
            <summary>
            Get the associated lifetime for the state name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtWnf.Version">
            <summary>
            Version of the WNF state name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtWnf.DataScope">
            <summary>
            Data scope of WNF state name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtWnf.IsPersistent">
            <summary>
            Is WNF state name persistent.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtWnf.UniqueId">
            <summary>
            Unique identifier of WNF state name,
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtWnf.SubscribersPresent">
            <summary>
            Get if the state has subscribers.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtWnf.SecurityDescriptor">
            <summary>
            Get the security descriptor for this object, if known.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtWnf.Name">
            <summary>
            Get a name for the WNF notification.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtWnf.QueryStateData(NtApiDotNet.WnfTypeId,System.IntPtr,System.Boolean)">
            <summary>
            Query state data for the WNF object.
            </summary>
            <param name="type_id">Optional Type ID.</param>
            <param name="explicit_scope">Optional explicit scope.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The state data.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWnf.QueryStateData(NtApiDotNet.WnfTypeId,System.IntPtr)">
            <summary>
            Query state data for the WNF object.
            </summary>
            <param name="type_id">Optional Type ID.</param>
            <param name="explicit_scope">Optional explicit scope.</param>
            <returns>The state data.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWnf.QueryStateData">
            <summary>
            Query state data for the WNF object.
            </summary>
            <returns>The state data.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWnf.UpdateStateData(System.Byte[],NtApiDotNet.WnfTypeId,System.IntPtr,System.Nullable{System.Int32},System.Boolean)">
            <summary>
            Update state data for the WNF object.
            </summary>
            <param name="data">The data to set.</param>
            <param name="type_id">Optional Type ID.</param>
            <param name="explicit_scope">Optional explicit scope.</param>
            <param name="matching_changestamp">Optional matching changestamp.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The status from the update.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWnf.UpdateStateData(System.Byte[])">
            <summary>
            Update state data for the WNF object.
            </summary>
            <param name="data">The data to set.</param>
        </member>
        <member name="M:NtApiDotNet.NtWnf.DeleteStateData(System.IntPtr,System.Boolean)">
            <summary>
            Delete the state data for the WNF object.
            </summary>
            <param name="explicit_scope">Optional explicit scope.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.NtWnf.DeleteStateData(System.IntPtr)">
            <summary>
            Delete the state data for the WNF object.
            </summary>
            <param name="explicit_scope">Optional explicit scope.</param>
        </member>
        <member name="M:NtApiDotNet.NtWnf.DeleteStateData">
            <summary>
            Delete the state data for the WNF object.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtWnf.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The string representation.</returns>
        </member>
        <member name="T:NtApiDotNet.NtWnfWellKnownNames">
            <summary>
            Get dictionary of well known WNF state names.
            </summary>
            <remarks>This was dumped from perf_nt_c.dll 10.0.18362.1 using https://github.com/ionescu007/wnfun.</remarks>
        </member>
        <member name="P:NtApiDotNet.NtWnfWellKnownNames.StateNames">
            <summary>
            Get the state name to name mappings.
            </summary>
        </member>
        <member name="P:NtApiDotNet.NtWnfWellKnownNames.Names">
            <summary>
            Get the name to state name mappings.
            </summary>
        </member>
        <member name="M:NtApiDotNet.NtWnfWellKnownNames.GetName(System.UInt64)">
            <summary>
            Get the name of a state name if known.
            </summary>
            <param name="state_name">The state name.</param>
            <returns>The name of the state name, or null if unknown.</returns>
        </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.ProtectClose">
            <summary>
            Handle is protected from closing.
            </summary>
        </member>
        <member name="F:NtApiDotNet.AttributeFlags.Inherit">
            <summary>
            The handle created can be inherited
            </summary>
        </member>
        <member name="F:NtApiDotNet.AttributeFlags.AuditObjectClose">
            <summary>
            Audit handle close.
            </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.Int64,NtApiDotNet.AttributeFlags,NtApiDotNet.SafeKernelObjectHandle,NtApiDotNet.SecurityQualityOfService,NtApiDotNet.SecurityDescriptor)">
            <summary>
            Constructor
            </summary>
            <param name="object_id">An object ID.</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.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, 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.CreateWithRawName(System.Byte[],NtApiDotNet.AttributeFlags,NtApiDotNet.NtObject,NtApiDotNet.SecurityQualityOfService,NtApiDotNet.SecurityDescriptor)">
            <summary>
            Create an Object Attributes structure with a raw name. Useful for Object ID handling.
            </summary>
            <param name="object_name">The name of the object in raw bytes.</param>
            <param name="attributes">The object attribute flags.</param>
            <param name="root">An optional root handle, Will duplicate the handle.</param>
            <param name="sqos">An optional security quality of service.</param>
            <param name="security_descriptor">An optional security descriptor.</param>
            <returns>The created object attributes.</returns>
        </member>
        <member name="M:NtApiDotNet.ObjectAttributes.Dispose">
            <summary>
            Dispose
            </summary>
        </member>
        <member name="T:NtApiDotNet.ObjectTypeEntry">
            <summary>
            Object type entry for an access check.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ObjectTypeEntry.Level">
            <summary>
            The object level.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ObjectTypeEntry.ObjectType">
            <summary>
            The object type GUID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ObjectTypeEntry.Name">
            <summary>
            The name of the object.
            </summary>
        </member>
        <member name="M:NtApiDotNet.ObjectTypeEntry.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:NtApiDotNet.ObjectTypeEntry.#ctor(System.Guid,System.Int32,System.String)">
            <summary>
            Constructor.
            </summary>
            <param name="object_type">The object type GUID.</param>
            <param name="level">The object level.</param>
            <param name="name">The name of the object type entry.</param>
        </member>
        <member name="M:NtApiDotNet.ObjectTypeEntry.#ctor(System.Guid,System.Int32)">
            <summary>
            Constructor.
            </summary>
            <param name="object_type">The object type GUID.</param>
            <param name="level">The object level.</param>
        </member>
        <member name="M:NtApiDotNet.ObjectTypeEntry.#ctor(System.Guid)">
            <summary>
            Constructor.
            </summary>
            <param name="object_type">The object type GUID.</param>
        </member>
        <member name="M:NtApiDotNet.ObjectTypeEntry.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The object formatted.</returns>
        </member>
        <member name="T:NtApiDotNet.OptionalGuid">
            <summary>
            This class allows a function to specify an optional Guid
            </summary>
        </member>
        <member name="F:NtApiDotNet.OptionalGuid.Value">
            <summary>
            Optional Guid
            </summary>
        </member>
        <member name="M:NtApiDotNet.OptionalGuid.#ctor(System.Guid)">
            <summary>
            Constructor
            </summary>
            <param name="guid">The GUID to initialize</param>
        </member>
        <member name="M:NtApiDotNet.OptionalGuid.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:NtApiDotNet.OptionalGuid.op_Implicit(System.Guid)~NtApiDotNet.OptionalGuid">
            <summary>
            Implicit conversion
            </summary>
            <param name="guid">The value</param>
        </member>
        <member name="T:NtApiDotNet.OptionalUInt16">
            <summary>
            This class allows a function to specify an optional uint16.
            </summary>
        </member>
        <member name="F:NtApiDotNet.OptionalUInt16.Value">
            <summary>
            Optional value
            </summary>
        </member>
        <member name="M:NtApiDotNet.OptionalUInt16.#ctor(System.UInt16)">
            <summary>
            Constructor
            </summary>
            <param name="value">The value</param>
        </member>
        <member name="M:NtApiDotNet.OptionalUInt16.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:NtApiDotNet.OptionalUInt16.op_Implicit(System.UInt16)~NtApiDotNet.OptionalUInt16">
            <summary>
            Implicit conversion
            </summary>
            <param name="value">The value</param>
        </member>
        <member name="T:NtApiDotNet.OptionalInt32">
            <summary>
            This class allows a function to specify an optional int32.
            </summary>
        </member>
        <member name="F:NtApiDotNet.OptionalInt32.Value">
            <summary>
            Optional value
            </summary>
        </member>
        <member name="M:NtApiDotNet.OptionalInt32.#ctor(System.Int32)">
            <summary>
            Constructor
            </summary>
            <param name="value">The value</param>
        </member>
        <member name="M:NtApiDotNet.OptionalInt32.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:NtApiDotNet.OptionalInt32.op_Implicit(System.Int32)~NtApiDotNet.OptionalInt32">
            <summary>
            Implicit conversion
            </summary>
            <param name="value">The value</param>
        </member>
        <member name="T:NtApiDotNet.OptionalInt64">
            <summary>
            This class allows a function to specify an optional int64.
            </summary>
        </member>
        <member name="F:NtApiDotNet.OptionalInt64.Value">
            <summary>
            Optional value
            </summary>
        </member>
        <member name="M:NtApiDotNet.OptionalInt64.#ctor(System.Int64)">
            <summary>
            Constructor
            </summary>
            <param name="value">The value</param>
        </member>
        <member name="M:NtApiDotNet.OptionalInt64.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:NtApiDotNet.OptionalInt64.op_Implicit(System.Int64)~NtApiDotNet.OptionalInt64">
            <summary>
            Implicit conversion
            </summary>
            <param name="value">The value</param>
        </member>
        <member name="T:NtApiDotNet.OptionalLength">
            <summary>
            This class allows a function to specify an optional length as a SizeT
            </summary>
        </member>
        <member name="F:NtApiDotNet.OptionalLength.Length">
            <summary>
            Optional length
            </summary>
        </member>
        <member name="M:NtApiDotNet.OptionalLength.#ctor(System.IntPtr)">
            <summary>
            Constructor
            </summary>
            <param name="length">The length value</param>
        </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.#ctor(System.Int64)">
            <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.OptionalPointer">
            <summary>
            This class allows a function to specify an optional pointer.
            </summary>
        </member>
        <member name="F:NtApiDotNet.OptionalPointer.Value">
            <summary>
            Optional length
            </summary>
        </member>
        <member name="M:NtApiDotNet.OptionalPointer.#ctor(System.IntPtr)">
            <summary>
            Constructor
            </summary>
            <param name="value">The value</param>
        </member>
        <member name="M:NtApiDotNet.OptionalPointer.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:NtApiDotNet.OptionalPointer.op_Implicit(System.IntPtr)~NtApiDotNet.OptionalPointer">
            <summary>
            Implicit conversion
            </summary>
            <param name="value">The value</param>
        </member>
        <member name="T:NtApiDotNet.OptionalTokenMandatoryPolicy">
            <summary>
            Optional value.
            </summary>
        </member>
        <member name="F:NtApiDotNet.OptionalTokenMandatoryPolicy.Value">
            <summary>
            Optional value.
            </summary>
        </member>
        <member name="M:NtApiDotNet.OptionalTokenMandatoryPolicy.#ctor(NtApiDotNet.TokenMandatoryPolicy)">
            <summary>
            Constructor
            </summary>
            <param name="value">The value</param>
        </member>
        <member name="M:NtApiDotNet.OptionalTokenMandatoryPolicy.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:NtApiDotNet.OptionalTokenMandatoryPolicy.op_Implicit(NtApiDotNet.TokenMandatoryPolicy)~NtApiDotNet.OptionalTokenMandatoryPolicy">
            <summary>
            Implicit conversion
            </summary>
            <param name="value">The value.</param>
        </member>
        <member name="T:NtApiDotNet.OptionalTokenOwner">
            <summary>
            Optional value.
            </summary>
        </member>
        <member name="F:NtApiDotNet.OptionalTokenOwner.Value">
            <summary>
            Optional value.
            </summary>
        </member>
        <member name="M:NtApiDotNet.OptionalTokenOwner.#ctor(NtApiDotNet.TokenOwner)">
            <summary>
            Constructor
            </summary>
            <param name="value">The value</param>
        </member>
        <member name="M:NtApiDotNet.OptionalTokenOwner.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:NtApiDotNet.OptionalTokenOwner.op_Implicit(NtApiDotNet.TokenOwner)~NtApiDotNet.OptionalTokenOwner">
            <summary>
            Implicit conversion
            </summary>
            <param name="value">The value.</param>
        </member>
        <member name="T:NtApiDotNet.OptionalTokenGroups">
            <summary>
            Optional value.
            </summary>
        </member>
        <member name="F:NtApiDotNet.OptionalTokenGroups.Value">
            <summary>
            Optional value.
            </summary>
        </member>
        <member name="M:NtApiDotNet.OptionalTokenGroups.#ctor(NtApiDotNet.TokenGroups)">
            <summary>
            Constructor
            </summary>
            <param name="value">The value</param>
        </member>
        <member name="M:NtApiDotNet.OptionalTokenGroups.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:NtApiDotNet.OptionalTokenGroups.op_Implicit(NtApiDotNet.TokenGroups)~NtApiDotNet.OptionalTokenGroups">
            <summary>
            Implicit conversion
            </summary>
            <param name="value">The value.</param>
        </member>
        <member name="T:NtApiDotNet.OptionalTokenDefaultDacl">
            <summary>
            Optional value.
            </summary>
        </member>
        <member name="F:NtApiDotNet.OptionalTokenDefaultDacl.Value">
            <summary>
            Optional value.
            </summary>
        </member>
        <member name="M:NtApiDotNet.OptionalTokenDefaultDacl.#ctor(NtApiDotNet.TokenDefaultDacl)">
            <summary>
            Constructor
            </summary>
            <param name="value">The value</param>
        </member>
        <member name="M:NtApiDotNet.OptionalTokenDefaultDacl.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:NtApiDotNet.OptionalTokenDefaultDacl.op_Implicit(NtApiDotNet.TokenDefaultDacl)~NtApiDotNet.OptionalTokenDefaultDacl">
            <summary>
            Implicit conversion
            </summary>
            <param name="value">The value.</param>
        </member>
        <member name="T:NtApiDotNet.PrivilegeCheckResult">
            <summary>
            The result of a privilege check.
            </summary>
        </member>
        <member name="P:NtApiDotNet.PrivilegeCheckResult.Privileges">
            <summary>
            The list of privileges from the result.
            </summary>
        </member>
        <member name="P:NtApiDotNet.PrivilegeCheckResult.EnabledPrivileges">
            <summary>
            The list of enabled privileges.
            </summary>
        </member>
        <member name="P:NtApiDotNet.PrivilegeCheckResult.AllPrivilegesHeld">
            <summary>
            True indicates all privileges were held.
            </summary>
        </member>
        <member name="T:NtApiDotNet.ProcessModule">
            <summary>
            A single process module.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ProcessModule.Section">
            <summary>
            The module section.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ProcessModule.MappedBase">
            <summary>
            Mapped base.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ProcessModule.ImageBase">
            <summary>
            Image base.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ProcessModule.ImageSize">
            <summary>
            Image size.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ProcessModule.Flags">
            <summary>
            Flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ProcessModule.LoadOrderIndex">
            <summary>
            Load order index.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ProcessModule.InitOrderIndex">
            <summary>
            Init order index.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ProcessModule.LoadCount">
            <summary>
            Load count.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ProcessModule.FullPathName">
            <summary>
            Full path name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ProcessModule.Name">
            <summary>
            File name.
            </summary>
        </member>
        <member name="T:NtApiDotNet.ReparseTag">
            <summary>
            Reparse Tag value.
            </summary>
        </member>
        <member name="T:NtApiDotNet.ReparseBuffer">
            <summary>
            Base class for a reparse buffer.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ReparseBuffer.Tag">
            <summary>
            The reparse tag in the buffer.
            </summary>
        </member>
        <member name="M:NtApiDotNet.ReparseBuffer.ParseBuffer(System.Int32,System.IO.BinaryReader)">
            <summary>
            Function to initialize this class by parsing the reparse buffer data (not including header).
            </summary>
            <param name="data_length">The length of the data to read.</param>
            <param name="reader">The stream to read from.</param>
        </member>
        <member name="M:NtApiDotNet.ReparseBuffer.GetBuffer">
            <summary>
            Get reparse buffer data as a byte array (not including header).
            </summary>
            <returns>The reparse buffer data.</returns>
        </member>
        <member name="M:NtApiDotNet.ReparseBuffer.#ctor(NtApiDotNet.ReparseTag)">
            <summary>
            Constructor.
            </summary>
            <param name="tag">The reparse tag to assign.</param>
        </member>
        <member name="M:NtApiDotNet.ReparseBuffer.FromByteArray(System.Byte[])">
            <summary>
            Get a reparse buffer from a byte array.
            </summary>
            <param name="ba">The byte array to parse</param>
            <returns>The reparse buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.ReparseBuffer.FromByteArray(System.Byte[],System.Boolean)">
            <summary>
            Get a reparse buffer from a byte array.
            </summary>
            <param name="ba">The byte array to parse</param>
            <param name="opaque_buffer">True to return an opaque buffer if 
            the tag isn't known, otherwise try and parse as a generic buffer</param>
            <returns>The reparse buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.ReparseBuffer.ToByteArray">
            <summary>
            Convert reparse buffer to a byte array in REPARSE_DATA_BUFFER format.
            </summary>
            <returns>The reparse buffer as a byte array.</returns>
        </member>
        <member name="M:NtApiDotNet.ReparseBuffer.ToByteArray(NtApiDotNet.ReparseBufferExFlags,NtApiDotNet.ReparseTag,System.Guid)">
            <summary>
            Convert reparse buffer to a byte array in the REPARSE_DATA_BUFFER_EX format.
            </summary>
            <param name="flags">Flags for the buffer.</param>
            <param name="existing_guid">Existing GUID to match against.</param>
            <param name="existing_tag">Existing tag to matcha against.</param>
            <returns>The reparse buffer as a byte array.</returns>
        </member>
        <member name="P:NtApiDotNet.ReparseBuffer.IsMicrosoft">
            <summary>
            Get if a reparse tag is a Microsoft defined one.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ReparseBuffer.IsNameSurrogate">
            <summary>
            Get if a reparse tag is a name surrogate.
            </summary>
            <returns>True if it's a surrogate reparse tag.</returns>
        </member>
        <member name="P:NtApiDotNet.ReparseBuffer.IsTagDirectory">
            <summary>
            Get if a reparse tag is a directory.
            </summary>
        </member>
        <member name="T:NtApiDotNet.GenericReparseBuffer">
            <summary>
            Generic GUID reparse buffer.
            </summary>
        </member>
        <member name="M:NtApiDotNet.GenericReparseBuffer.#ctor(System.UInt32,System.Guid,System.Byte[])">
            <summary>
            Constructor.
            </summary>
            <param name="tag">The reparse tag.</param>
            <param name="guid">The reparse GUID</param>
            <param name="data">Additional reparse data.</param>
        </member>
        <member name="M:NtApiDotNet.GenericReparseBuffer.#ctor(NtApiDotNet.ReparseTag,System.Guid,System.Byte[])">
            <summary>
            Constructor.
            </summary>
            <param name="tag">The reparse tag.</param>
            <param name="guid">The reparse GUID</param>
            <param name="data">Additional reparse data.</param>
        </member>
        <member name="P:NtApiDotNet.GenericReparseBuffer.Guid">
            <summary>
            The reparse GUID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.GenericReparseBuffer.Data">
            <summary>
            Additional reparse data.
            </summary>
        </member>
        <member name="M:NtApiDotNet.GenericReparseBuffer.GetBuffer">
            <summary>
            Get reparse buffer data as a byte array (not including header).
            </summary>
            <returns>The reparse buffer data.</returns>
        </member>
        <member name="M:NtApiDotNet.GenericReparseBuffer.ParseBuffer(System.Int32,System.IO.BinaryReader)">
            <summary>
            Function to initialize this class by parsing the reparse buffer data (not including header).
            </summary>
            <param name="data_length">The length of the data to read.</param>
            <param name="reader">The stream to read from.</param>
        </member>
        <member name="T:NtApiDotNet.OpaqueReparseBuffer">
            <summary>
            Reparse buffer with an opaque data blob.
            </summary>
        </member>
        <member name="M:NtApiDotNet.OpaqueReparseBuffer.#ctor(NtApiDotNet.ReparseTag,System.Byte[])">
            <summary>
            Constructor.
            </summary>
            <param name="tag">The reparse tag.</param>
            <param name="data">The opaque data blob.</param>
        </member>
        <member name="P:NtApiDotNet.OpaqueReparseBuffer.Data">
            <summary>
            The opaque data blob.
            </summary>
        </member>
        <member name="M:NtApiDotNet.OpaqueReparseBuffer.GetBuffer">
            <summary>
            Get reparse buffer data as a byte array (not including header).
            </summary>
            <returns>The reparse buffer data.</returns>
        </member>
        <member name="M:NtApiDotNet.OpaqueReparseBuffer.ParseBuffer(System.Int32,System.IO.BinaryReader)">
            <summary>
            Function to initialize this class by parsing the reparse buffer data (not including header).
            </summary>
            <param name="data_length">The length of the data to read.</param>
            <param name="reader">The stream to read from.</param>
        </member>
        <member name="T:NtApiDotNet.MountPointReparseBuffer">
            <summary>
            Reparse buffer for an NTFS mount point.
            </summary>
        </member>
        <member name="M:NtApiDotNet.MountPointReparseBuffer.#ctor(System.String,System.String)">
            <summary>
            Constructor.
            </summary>
            <param name="substitution_name">Substitution name to reparse to when accessing mount point.</param>
            <param name="print_name">Printable name for the mount point.</param>
        </member>
        <member name="P:NtApiDotNet.MountPointReparseBuffer.SubstitutionName">
            <summary>
            Substitution name to reparse to when accessing mount point.
            </summary>
        </member>
        <member name="P:NtApiDotNet.MountPointReparseBuffer.PrintName">
            <summary>
            Printable name for the mount point.
            </summary>
        </member>
        <member name="M:NtApiDotNet.MountPointReparseBuffer.ParseBuffer(System.Int32,System.IO.BinaryReader)">
            <summary>
            Function to initialize this class by parsing the reparse buffer data (not including header).
            </summary>
            <param name="data_length">The length of the data to read.</param>
            <param name="reader">The stream to read from.</param>
        </member>
        <member name="M:NtApiDotNet.MountPointReparseBuffer.GetBuffer">
            <summary>
            Get reparse buffer data as a byte array (not including header).
            </summary>
            <returns>The reparse buffer data.</returns>
        </member>
        <member name="T:NtApiDotNet.SymlinkReparseBufferFlags">
            <summary>
            Symlink flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.SymlinkReparseBufferFlags.None">
            <summary>
            None.
            </summary>
        </member>
        <member name="F:NtApiDotNet.SymlinkReparseBufferFlags.Relative">
            <summary>
            Substitution name is relative to the symlink.
            </summary>
        </member>
        <member name="T:NtApiDotNet.SymlinkReparseBuffer">
            <summary>
            Reparse buffer for an NTFS symlink.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SymlinkReparseBuffer.#ctor(System.String,System.String,NtApiDotNet.SymlinkReparseBufferFlags)">
            <summary>
            Constructor.
            </summary>
            <param name="substitution_name">Substitution name to reparse to when accessing symlink.</param>
            <param name="print_name">Printable name for the symlink.</param>
            <param name="flags">Symlink flags.</param>
        </member>
        <member name="M:NtApiDotNet.SymlinkReparseBuffer.#ctor(System.String,System.String,NtApiDotNet.SymlinkReparseBufferFlags,System.Boolean)">
            <summary>
            Constructor.
            </summary>
            <param name="substitution_name">Substitution name to reparse to when accessing symlink.</param>
            <param name="print_name">Printable name for the symlink.</param>
            <param name="flags">Symlink flags.</param>
            <param name="global">Create a global symlink rather than a normal symlink.</param>
        </member>
        <member name="P:NtApiDotNet.SymlinkReparseBuffer.SubstitutionName">
            <summary>
            Substitution name to reparse to when accessing symlink.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SymlinkReparseBuffer.PrintName">
            <summary>
            Printable name for the symlink.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SymlinkReparseBuffer.Flags">
            <summary>
            Symlink flags.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SymlinkReparseBuffer.ParseBuffer(System.Int32,System.IO.BinaryReader)">
            <summary>
            Function to initialize this class by parsing the reparse buffer data (not including header).
            </summary>
            <param name="data_length">The length of the data to read.</param>
            <param name="reader">The stream to read from.</param>
        </member>
        <member name="M:NtApiDotNet.SymlinkReparseBuffer.GetBuffer">
            <summary>
            Get reparse buffer data as a byte array (not including header).
            </summary>
            <returns>The reparse buffer data.</returns>
        </member>
        <member name="T:NtApiDotNet.ExecutionAliasAppType">
            <summary>
            Application type for execution alias.
            </summary>
        </member>
        <member name="F:NtApiDotNet.ExecutionAliasAppType.Desktop">
            <summary>
            Desktop bridge application.
            </summary>
        </member>
        <member name="F:NtApiDotNet.ExecutionAliasAppType.UWP1">
            <summary>
            UWP type 1
            </summary>
        </member>
        <member name="F:NtApiDotNet.ExecutionAliasAppType.UWP2">
            <summary>
            UWP type 2
            </summary>
        </member>
        <member name="F:NtApiDotNet.ExecutionAliasAppType.UWP3">
            <summary>
            UWP type 3
            </summary>
        </member>
        <member name="T:NtApiDotNet.ExecutionAliasReparseBuffer">
            <summary>
            Reparse buffer for an execution alias.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ExecutionAliasReparseBuffer.Version">
            <summary>
            The execution alias version.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ExecutionAliasReparseBuffer.PackageName">
            <summary>
            The name of the application package.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ExecutionAliasReparseBuffer.EntryPoint">
            <summary>
            The entry point in the package.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ExecutionAliasReparseBuffer.Target">
            <summary>
            The target executable.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ExecutionAliasReparseBuffer.AppType">
            <summary>
            Application type for the alias.
            </summary>
        </member>
        <member name="P:NtApiDotNet.ExecutionAliasReparseBuffer.Flags">
            <summary>
            Flags, obsolete.
            </summary>
        </member>
        <member name="M:NtApiDotNet.ExecutionAliasReparseBuffer.#ctor(System.Int32,System.String,System.String,System.String,NtApiDotNet.ExecutionAliasAppType)">
            <summary>
            Constructor.
            </summary>
            <param name="version">The execution alias version.</param>
            <param name="package_name">The name of the application package.</param>
            <param name="entry_point">The entry point in the package.</param>
            <param name="target">The target executable.</param>
            <param name="apptype">Apptype for the alias.</param>
        </member>
        <member name="M:NtApiDotNet.ExecutionAliasReparseBuffer.GetBuffer">
            <summary>
            Get reparse buffer data as a byte array (not including header).
            </summary>
            <returns>The reparse buffer data.</returns>
        </member>
        <member name="M:NtApiDotNet.ExecutionAliasReparseBuffer.ParseBuffer(System.Int32,System.IO.BinaryReader)">
            <summary>
            Function to initialize this class by parsing the reparse buffer data (not including header).
            </summary>
            <param name="data_length">The length of the data to read.</param>
            <param name="reader">The stream to read from.</param>
        </member>
        <member name="T:NtApiDotNet.SafeAlpcDataViewBuffer">
            <summary>
            Safe buffer for an ALPC data view.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SafeAlpcDataViewBuffer.Flags">
            <summary>
            Flags for the data view.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SafeAlpcDataViewBuffer.SectionHandle">
            <summary>
            Get the port section handle.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeAlpcDataViewBuffer.ToMessageAttribute">
            <summary>
            Convert the section view to a message attribute.
            </summary>
            <returns>The message attribute.</returns>
        </member>
        <member name="M:NtApiDotNet.SafeAlpcDataViewBuffer.ReleaseHandle">
            <summary>
            Release the data view handle.
            </summary>
            <returns>True if successfully released.</returns>
        </member>
        <member name="T:NtApiDotNet.SafeAlpcPortMessageBuffer">
            <summary>
            Safe buffer to contain an ALPC port message.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeAlpcPortMessageBuffer.#ctor(NtApiDotNet.AlpcPortMessage,System.Int32)">
            <summary>
            Constructor.
            </summary>
            <param name="header">The port message header.</param>
            <param name="allocated_data_length">The total length of allocated memory excluding the header.</param>
        </member>
        <member name="M:NtApiDotNet.SafeAlpcPortMessageBuffer.#ctor(System.Int32)">
            <summary>
            Constructor. Creates a receive buffer with a set length.
            </summary>
            <param name="allocated_data_length">The total length of allocated memory excluding the header.</param>
        </member>
        <member name="P:NtApiDotNet.SafeAlpcPortMessageBuffer.Null">
            <summary>
            Get a NULL safe buffer.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeAlpcPortMessageBuffer.Detach">
            <summary>
            Detaches the current buffer and allocates a new one.
            </summary>
            <returns>The detached buffer.</returns>
            <remarks>The original buffer will become invalid after this call.</remarks>
        </member>
        <member name="T:NtApiDotNet.SafeAlpcPortSectionHandle">
            <summary>
            Safe handle for a port section.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeAlpcPortSectionHandle.ReleaseHandle">
            <summary>
            Release handle.
            </summary>
            <returns>True if handle released successfully.</returns>
        </member>
        <member name="T:NtApiDotNet.SafeAlpcSecurityContextHandle">
            <summary>
            Safe handle for an ALPC security context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SafeAlpcSecurityContextHandle.Flags">
            <summary>
            Attribute flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SafeAlpcSecurityContextHandle.SecurityQualityOfService">
            <summary>
            Security quality of service.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeAlpcSecurityContextHandle.ToMessageAttribute">
            <summary>
            Get the security context as a message attribute.
            </summary>
            <returns>The message attribute.</returns>
        </member>
        <member name="P:NtApiDotNet.SafeAlpcSecurityContextHandle.IsInvalid">
            <summary>
            Get whether handle is invalid.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeAlpcSecurityContextHandle.ReleaseHandle">
            <summary>
            Release handle.
            </summary>
            <returns>True if handle released successfully.</returns>
        </member>
        <member name="M:NtApiDotNet.SafeAlpcSecurityContextHandle.Revoke(System.Boolean)">
            <summary>
            Revoke the security context attribute.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.SafeAlpcSecurityContextHandle.Revoke">
            <summary>
            Revoke the security context attribute.
            </summary>
        </member>
        <member name="T:NtApiDotNet.SafeArrayBuffer`1">
            <summary>
            Safe buffer to contain a list of structures.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SafeArrayBuffer`1.Count">
            <summary>
            The count of elements of the array.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeArrayBuffer`1.#ctor(`0[],System.Int32)">
            <summary>
            Constructor.
            </summary>
            <param name="array">Array of elements.</param>
            <param name="additional_size">Additional data to place after the array.</param>
        </member>
        <member name="M:NtApiDotNet.SafeArrayBuffer`1.#ctor(`0[])">
            <summary>
            Constructor.
            </summary>
            <param name="array">Array of elements.</param>
        </member>
        <member name="P:NtApiDotNet.SafeArrayBuffer`1.Data">
            <summary>
            Get a reference to the additional data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SafeArrayBuffer`1.Null">
            <summary>
            Get a NULL safe array buffer.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeArrayBuffer`1.Dispose(System.Boolean)">
            <summary>
            Dispose buffer.
            </summary>
            <param name="disposing">True if disposing.</param>
        </member>
        <member name="T:NtApiDotNet.SafeBufferGeneric">
            <summary>
            Safe buffer which acts as a base class for all other SafeBuffer types in the library.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.#ctor(System.IntPtr,System.Int64,System.Boolean,System.Boolean)">
            <summary>
            Constructor
            </summary>
            <param name="length">Size of the buffer.</param>
            <param name="buffer">An existing pointer to a buffer.</param>
            <param name="owns_handle">Specify whether safe handle owns the buffer.</param>
            <param name="writable">Inidicates if the underlying buffer is writable.</param>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.#ctor(System.IntPtr,System.Int64,System.Boolean)">
            <summary>
            Constructor
            </summary>
            <param name="length">Size of the buffer.</param>
            <param name="buffer">An existing pointer to a buffer.</param>
            <param name="owns_handle">Specify whether safe handle owns the buffer.</param>
        </member>
        <member name="P:NtApiDotNet.SafeBufferGeneric.Length">
            <summary>
            Length of the allocation.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SafeBufferGeneric.LongLength">
            <summary>
            Length of the allocation as a long.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SafeBufferGeneric.LengthIntPtr">
            <summary>
            Get the length as an IntPtr
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.ToArray">
            <summary>
            Convert the safe handle to an array of bytes.
            </summary>
            <returns>The data contained in the allocaiton.</returns>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.ReadNulTerminatedUnicodeString(System.UInt64)">
            <summary>
            Read a NUL terminated string for the byte offset.
            </summary>
            <param name="byte_offset">The byte offset to read from.</param>
            <returns>The string read from the buffer without the NUL terminator</returns>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.ReadNulTerminatedUnicodeString">
            <summary>
            Read a NUL terminated string
            </summary>
            <returns>The string read from the buffer without the NUL terminator</returns>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.ReadNulTerminatedAnsiString(System.UInt64,System.Text.Encoding)">
            <summary>
            Read a NUL terminated ANSI string for the byte offset.
            </summary>
            <param name="byte_offset">The byte offset to read from.</param>
            <param name="encoding">Text encoding for the string.</param>
            <returns>The string read from the buffer without the NUL terminator</returns>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.ReadNulTerminatedAnsiString(System.Text.Encoding)">
            <summary>
            Read a NUL terminated ANSI string
            </summary>
            <param name="encoding">Text encoding for the string.</param>
            <returns>The string read from the buffer without the NUL terminator</returns>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.ReadNulTerminatedAnsiString(System.UInt64)">
            <summary>
            Read a NUL terminated ANSI string for the byte offset.
            </summary>
            <param name="byte_offset">The byte offset to read from.</param>
            <returns>The string read from the buffer without the NUL terminator</returns>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.ReadNulTerminatedAnsiString">
            <summary>
            Read a NUL terminated ANSI string
            </summary>
            <returns>The string read from the buffer without the NUL terminator</returns>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.ReadUnicodeString(System.UInt64,System.Int32)">
            <summary>
            Read a unicode string from the buffer.
            </summary>
            <param name="byte_offset">The offset into the buffer to read.</param>
            <param name="count">The number of characters to read.</param>
            <returns>The read unicode string.</returns>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.ReadUnicodeString(System.Int32)">
            <summary>
            Read a unicode string from the buffer.
            </summary>
            <param name="count">The number of characters to read.</param>
            <returns>The read unicode string.</returns>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.WriteUnicodeString(System.UInt64,System.String)">
            <summary>
            Write a unicode string to the buffer.
            </summary>
            <param name="byte_offset">The offset into the buffer to write.</param>
            <param name="value">The value to write.</param>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.WriteUnicodeString(System.String)">
            <summary>
            Write a unicode string to the buffer.
            </summary>
            <param name="value">The value to write.</param>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.ReadBytes(System.UInt64,System.Int32)">
            <summary>
            Read an array of bytes from the buffer.
            </summary>
            <param name="byte_offset">The offset into the buffer.</param>
            <param name="count">The number of bytes to read.</param>
            <returns>The read bytes.</returns>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.ReadBytes(System.Int32)">
            <summary>
            Read an array of bytes from the buffer.
            </summary>
            <param name="count">The number of bytes to read.</param>
            <returns>The read bytes.</returns>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.WriteBytes(System.UInt64,System.Byte[])">
            <summary>
            Write an array of bytes to the buffer.
            </summary>
            <param name="byte_offset">The offset into the buffer.</param>
            <param name="data">The bytes to write.</param>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.WriteBytes(System.Byte[])">
            <summary>
            Write an array of bytes to the buffer.
            </summary>
            <param name="data">The bytes to write.</param>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.ReadArray``1(System.Int32,System.Int32)">
            <summary>
            Read array from the buffer.
            </summary>
            <typeparam name="T">The type to read.</typeparam>
            <param name="offset">The offset into the buffer.</param>
            <param name="count">The number of elements to read.</param>
            <returns>The read array.</returns>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.DangerousReadArray``1(System.Int32,System.Int32)">
            <summary>
            Read an array of complex structures which can contain references. Doing this from a buffer is a dangerous operation.
            </summary>
            <typeparam name="T">The buffer type.</typeparam>
            <param name="offset">The offset into the buffer.</param>
            <param name="count">The number of elements.</param>
            <returns>The array structures.</returns>
            <remarks>This doesn't bounds check the buffer size for the array or embedded structures so could easily crash the application.</remarks>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.ZeroBuffer">
            <summary>
            Zero an entire buffer.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.FillBuffer(System.Byte)">
            <summary>
            Fill an entire buffer with a specific byte value.
            </summary>
            <param name="fill">The fill value.</param>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.GetStructAtOffset``1(System.Int32)">
            <summary>
            Get a structured buffer object at a specified offset.
            </summary>
            <typeparam name="T">The type of structure.</typeparam>
            <param name="offset">The offset into the buffer.</param>
            <returns>The structured buffer object.</returns>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.GetStream">
            <summary>
            Get the buffer as a memory stream
            </summary>
            <returns></returns>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.CreateViewAccessor">
            <summary>
            Create a view accessor over the full buffer.
            </summary>
            <returns>The view accessor.</returns>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.CreateViewAccessor(System.Int64,System.Int64)">
            <summary>
            Create a view accessor.
            </summary>
            <param name="offset">Offset into the buffer</param>
            <param name="capacity">Size of view.</param>
            <returns>The view accessor.</returns>
        </member>
        <member name="M:NtApiDotNet.SafeBufferGeneric.CreateViewAccessor(System.Int64,System.Int64,System.Boolean)">
            <summary>
            Create a view accessor.
            </summary>
            <param name="offset">Offset into the buffer</param>
            <param name="capacity">Size of view.</param>
            <param name="writable">True to make the view writable. False for read-only</param>
            <returns>The view accessor.</returns>
        </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="P:NtApiDotNet.SafeHGlobalBuffer.Null">
            <summary>
            Get a buffer which represents NULL.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeHGlobalBuffer.Resize(System.Int32)">
            <summary>
            Resize the SafeBuffer.
            </summary>
            <param name="new_length"></param>
        </member>
        <member name="M:NtApiDotNet.SafeHGlobalBuffer.ReleaseHandle">
            <summary>
            Overridden ReleaseHandle method.
            </summary>
            <returns>True if successfully released the memory.</returns>
        </member>
        <member name="M:NtApiDotNet.SafeHGlobalBuffer.Detach">
            <summary>
            Detaches the current buffer and allocates a new one.
            </summary>
            <returns>The detached buffer.</returns>
            <remarks>The original buffer will become invalid after this call.</remarks>
        </member>
        <member name="M:NtApiDotNet.SafeHGlobalBuffer.Detach(System.Int32)">
            <summary>
            Detaches the current buffer and allocates a new one.
            </summary>
            <param name="length">Specify a new length for the detached buffer. Must be &lt;= Length.</param>
            <returns>The detached buffer.</returns>
            <remarks>The original buffer will become invalid after this call.</remarks>
        </member>
        <member name="T:NtApiDotNet.SafeIoStatusBuffer">
            <summary>
            Non-generic buffer to hold an IO_STATUS_BLOCK.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeIoStatusBuffer.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SafeIoStatusBuffer.Null">
            <summary>
            Get a buffer which represents NULL.
            </summary>
        </member>
        <member name="T:NtApiDotNet.SafeKernelObjectHandle">
            <summary>
            Safe handle which represents a kernel handle.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeKernelObjectHandle.#ctor(System.IntPtr,System.Boolean)">
            <summary>
            Constructor.
            </summary>
            <param name="handle">An existing kernel handle.</param>
            <param name="owns_handle">True to own the kernel handle.</param>
        </member>
        <member name="M:NtApiDotNet.SafeKernelObjectHandle.ReleaseHandle">
            <summary>
            Overridden ReleaseHandle method.
            </summary>
            <returns>True if successfully released the handle.</returns>
        </member>
        <member name="P:NtApiDotNet.SafeKernelObjectHandle.IsInvalid">
            <summary>
            Overridden IsInvalid method.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SafeKernelObjectHandle.Null">
            <summary>
            Get a handle which represents NULL.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SafeKernelObjectHandle.Inherit">
            <summary>
            Get or set whether the handle is inheritable.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SafeKernelObjectHandle.ProtectFromClose">
            <summary>
            Get or set whether the handle is protected from closing.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SafeKernelObjectHandle.NtTypeName">
            <summary>
            Get the NT type name for this handle.
            </summary>
            <returns>The NT type name.</returns>
        </member>
        <member name="M:NtApiDotNet.SafeKernelObjectHandle.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The handle as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.SafeProcessHeapBuffer">
            <summary>
            Class which is allocated from the process heap.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeProcessHeapBuffer.#ctor(System.Int32)">
            <summary>
            Constructor
            </summary>
            <param name="length">Size of the buffer to allocate.</param>
        </member>
        <member name="M:NtApiDotNet.SafeProcessHeapBuffer.#ctor(System.Byte[])">
            <summary>
            Constructor
            </summary>
            <param name="data">Initialization data for the buffer.</param>
        </member>
        <member name="M:NtApiDotNet.SafeProcessHeapBuffer.#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.SafeProcessHeapBuffer.#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="P:NtApiDotNet.SafeProcessHeapBuffer.Null">
            <summary>
            Get a buffer which represents NULL.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeProcessHeapBuffer.ReleaseHandle">
            <summary>
            Overridden ReleaseHandle method.
            </summary>
            <returns>True if successfully released the memory.</returns>
        </member>
        <member name="M:NtApiDotNet.SafeProcessHeapBuffer.Detach">
            <summary>
            Detaches the current buffer and allocates a new one.
            </summary>
            <returns>The detached buffer.</returns>
            <remarks>The original buffer will become invalid after this call.</remarks>
        </member>
        <member name="M:NtApiDotNet.SafeProcessHeapBuffer.Detach(System.Int32)">
            <summary>
            Detaches the current buffer and allocates a new one.
            </summary>
            <param name="length">Specify a new length for the detached buffer. Must be &lt;= Length.</param>
            <returns>The detached buffer.</returns>
            <remarks>The original buffer will become invalid after this call.</remarks>
        </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.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.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.SafeStructureInOutBuffer`1.#ctor(System.IntPtr,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            Constructor
            </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>
            <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.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.Null">
            <summary>
            Get a buffer which represents NULL.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeStructureInOutBuffer`1.ReleaseHandle">
            <summary>
            Overridden ReleaseHandle method.
            </summary>
            <returns>True if successfully released the memory.</returns>
        </member>
        <member name="P:NtApiDotNet.SafeStructureInOutBuffer`1.Result">
            <summary>
            Get or set the result structure in the memory buffer.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SafeStructureInOutBuffer`1.Data">
            <summary>
            Get a reference to the additional data.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeStructureInOutBuffer`1.Detach">
            <summary>
            Detaches the current buffer and allocates a new one.
            </summary>
            <returns>The detached buffer.</returns>
            <remarks>The original buffer will become invalid after this call.</remarks>
        </member>
        <member name="M:NtApiDotNet.SafeStructureInOutBuffer`1.Detach(System.Int32)">
            <summary>
            Detaches the current buffer and allocates a new one.
            </summary>
            <param name="length">Specify a new length for the detached buffer. Must be &lt;= Length.</param>
            <returns>The detached buffer.</returns>
            <remarks>The original buffer will become invalid after this call.</remarks>
        </member>
        <member name="T:NtApiDotNet.SafeTokenGroupsBuffer">
            <summary>
            Safe buffer for a list of Token groups.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeTokenGroupsBuffer.#ctor(NtApiDotNet.SidAndAttributes[],NtApiDotNet.SafeHandleList)">
            <summary>
            Constructor.
            </summary>
            <param name="sid_and_attr">The list of SID and attributes.</param>
            <param name="sids">The list of allocated SIDs.</param>
        </member>
        <member name="P:NtApiDotNet.SafeTokenGroupsBuffer.Null">
            <summary>
            NULL safe buffer.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeTokenGroupsBuffer.Create(System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup})">
            <summary>
            Create a buffer from a list of groups.
            </summary>
            <param name="groups">The group list.</param>
            <returns>The safe buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.SafeTokenGroupsBuffer.Dispose(System.Boolean)">
            <summary>
            Dispose.
            </summary>
            <param name="disposing">True if disposing.</param>
        </member>
        <member name="T:NtApiDotNet.SafeTokenPrivilegesBuffer">
            <summary>
            Safe buffer for token privileges.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SafeTokenPrivilegesBuffer.#ctor(NtApiDotNet.LuidAndAttributes[])">
            <summary>
            Constructor.
            </summary>
            <param name="privs">List of privileges.</param>
        </member>
        <member name="P:NtApiDotNet.SafeTokenPrivilegesBuffer.Null">
            <summary>
            NULL safe buffer.
            </summary>
        </member>
        <member name="T:NtApiDotNet.SecurityDescriptorControl">
            <summary>
            Security descriptor control flags.
            </summary>
        </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>
            System 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>
            Get or set Control flags. This is computed based on the current state of the SD.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.Revision">
            <summary>
            Revision value
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.RmControl">
            <summary>
            The resource manager control flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.NtType">
            <summary>
            Get or set an associated NT type for this security descriptor.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.MandatoryLabel">
            <summary>
            Get or set mandatory label. Returns a medium label if it doesn't exist.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.ProcessTrustLabel">
            <summary>
            Get the process trust label.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.AccessFilters">
            <summary>
            Get list of access filters.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.ResourceAttributes">
            <summary>
            Get list of resource attributes.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.ScopedPolicyId">
            <summary>
            Get the scoped policy ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.IntegrityLevel">
            <summary>
            Get or set the integrity level
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.ServerSecurity">
            <summary>
            Get or set the server security flag.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.DaclUntrusted">
            <summary>
            Get or set the DACL untrusted flag.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.DaclPresent">
            <summary>
            Get whether the DACL is present.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.DaclAceCount">
            <summary>
            Get count of ACEs in DACL.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.SaclPresent">
            <summary>
            Get whether the SACL is present.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.SaclAceCount">
            <summary>
            Get count of ACEs in DACL.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.SelfRelative">
            <summary>
            Indicates if the security descriptor was constructed from a self relative format.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.DaclCanonical">
            <summary>
            Indicates if the SD's DACL is canonical.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.SaclCanonical">
            <summary>
            Indicates if the SD's SACL is canonical.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.DaclDefaulted">
            <summary>
            Indicates if the SD's DACL is defaulted.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.SaclDefaulted">
            <summary>
            Indicates if the SD's SACL is defaulted.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.DaclAutoInherited">
            <summary>
            Indicates if the SD's DACL is auto-inherited.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.SaclAutoInherited">
            <summary>
            Indicates if the SD's SACL is auto-inherited.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.Container">
            <summary>
            Indicates if the SD came from a container.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.HasAuditAce">
            <summary>
            Indicates the SD has audit ACEs present.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.HasMandatoryLabelAce">
            <summary>
            Indicates the SD has a mandatory label ACE present.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.DaclNull">
            <summary>
            Indicates the SD has a NULL DACL.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.SaclNull">
            <summary>
            Indicates the SD has a NULL SACL.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SecurityDescriptor.AccessRightsType">
            <summary>
            Get the access rights enum type for this SD based on the NT Type property.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.GetMandatoryLabel(System.Boolean)">
            <summary>
            Get the mandatory label. Returns null if it doesn't exist.
            </summary>
            <param name="include_inherit_only">True to include InheritOnly ACEs in the search.</param>
            <returns>The valid mandatory ACE for this security descriptor. Or null if it doesn't exist.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.GetMandatoryLabel">
            <summary>
            Get the mandatory label. Returns null if it doesn't exist.
            </summary>
            <returns>The valid mandatory ACE for this security descriptor. Or null if it doesn't exist.</returns>
        </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,System.Boolean)">
            <summary>
            Convert security descriptor to SDDL string
            </summary>
            <param name="security_information">The parts of the security descriptor to return</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SDDL string</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(System.Boolean)">
            <summary>
            Convert security descriptor to SDDL string
            </summary>
            <param name="throw_on_error">True to throw on error.</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.ToBase64(System.Boolean)">
            <summary>
            Converts the security to a base64 string.
            </summary>
            <param name="insert_line_breaks">True to insert line breaks in the base64.</param>
            <returns>The relative SD as a base64 string.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.ToBase64">
            <summary>
            Converts the security to a base64 string.
            </summary>
            <returns>The relative SD as a base64 string.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.ToSafeBuffer(System.Boolean,System.Boolean)">
            <summary>
            Convert security descriptor to a safe buffer.
            </summary>
            <param name="absolute">True to return an absolute security descriptor, false for self-relative.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>A safe buffer for the security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.ToSafeBuffer(System.Boolean)">
            <summary>
            Convert security descriptor to a safe buffer.
            </summary>
            <param name="absolute">True to return an absolute security descriptor, false for self-relative.</param>
            <returns>A safe buffer for the security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.ToSafeBuffer">
            <summary>
            Convert security descriptor to a safe buffer.
            </summary>
            <returns>A safe buffer for the security descriptor.</returns>
            <remarks>This returns a self-relative security descriptor.</remarks>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.AddAccessAce(NtApiDotNet.Ace)">
            <summary>
            Add an ACE to the DACL, creating the DACL if needed.
            </summary>
            <param name="ace">The ACE to add to the DACL.</param>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.AddAuditAce(NtApiDotNet.Ace)">
            <summary>
            Add an ACE to the SACL, creating the SACL if needed.
            </summary>
            <param name="ace">The ACE to add to the SACL.</param>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.AddAccessAllowedAce(NtApiDotNet.AccessMask,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(NtApiDotNet.AccessMask,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.AccessMask,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(NtApiDotNet.AccessMask,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(NtApiDotNet.AccessMask,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.AccessMask,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.AccessMask,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.AccessMask,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.AddAuditSuccessAce(NtApiDotNet.AccessMask,System.String)">
            <summary>
            Add an audit success ACE to the SACL
            </summary>
            <param name="mask">The access mask</param>
            <param name="sid">The SID in SDDL form</param>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.AddAuditSuccessAce(NtApiDotNet.AccessMask,NtApiDotNet.Sid)">
            <summary>
            Add an audit success ACE to the SACL
            </summary>
            <param name="mask">The access mask</param>
            <param name="sid">The SID</param>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.AddAuditFailAce(NtApiDotNet.AccessMask,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.AddAuditFailAce(NtApiDotNet.AccessMask,NtApiDotNet.Sid)">
            <summary>
            Add an audit fail ACE to the SACL
            </summary>
            <param name="mask">The access mask</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="M:NtApiDotNet.SecurityDescriptor.RemoveMandatoryLabel">
            <summary>
            Removes the mandatory label if it exists.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.MapGenericAccess">
            <summary>
            Map all generic access in this security descriptor to the default type specified by NtType.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.MapGenericAccess(NtApiDotNet.NtType)">
            <summary>
            Map all generic access in this security descriptor to a specific type.
            </summary>
            <param name="type">The type to get the generic mapping from.</param>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.MapGenericAccess(NtApiDotNet.GenericMapping)">
            <summary>
            Map all generic access in this security descriptor to a specific type.
            </summary>
            <param name="generic_mapping">The generic mapping.</param>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.UnmapGenericAccess">
            <summary>
            Unmap all generic access in this security descriptor to the default type specified by NtType.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.UnmapGenericAccess(NtApiDotNet.NtType)">
            <summary>
            Unmap all generic access in this security descriptor to a specific type.
            </summary>
            <param name="type">The type to get the generic mapping from.</param>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.UnmapGenericAccess(NtApiDotNet.GenericMapping)">
            <summary>
            Unap all generic access in this security descriptor to a specific type.
            </summary>
            <param name="generic_mapping">The generic mapping.</param>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.Modify(NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityInformation,NtApiDotNet.SecurityAutoInheritFlags,NtApiDotNet.NtToken,NtApiDotNet.GenericMapping,System.Boolean)">
            <summary>
            Modifies a security descriptor from a new descriptor.
            </summary>
            <param name="security_descriptor">The security descriptor to update with.</param>
            <param name="security_information">The parts of the security descriptor to update.</param>
            <param name="flags">Auto inherit flags.</param>
            <param name="token">Optional token for the security descriptor.</param>
            <param name="generic_mapping">Generic mapping.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.Modify(NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityInformation,NtApiDotNet.SecurityAutoInheritFlags,NtApiDotNet.NtToken,NtApiDotNet.GenericMapping)">
            <summary>
            Modifies a security descriptor from a new descriptor.
            </summary>
            <param name="security_descriptor">The security descriptor to update with.</param>
            <param name="security_information">The parts of the security descriptor to update.</param>
            <param name="flags">Auto inherit flags.</param>
            <param name="token">Optional token for the security descriptor.</param>
            <param name="generic_mapping">Generic mapping.</param>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.ConvertToAutoInherit(NtApiDotNet.SecurityDescriptor,System.Nullable{System.Guid},System.Boolean,NtApiDotNet.GenericMapping,System.Boolean)">
            <summary>
            Converts the SD to an Auto-Inherit security descriptor.
            </summary>
            <param name="parent_descriptor">The parent security descriptor.</param>
            <param name="object_type">Optional object type GUID.</param>
            <param name="is_directory">True if a directory.</param>
            <param name="generic_mapping">Generic mapping for the object.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.ConvertToAutoInherit(NtApiDotNet.SecurityDescriptor,System.Nullable{System.Guid},System.Boolean,NtApiDotNet.GenericMapping)">
            <summary>
            Converts the SD to an Auto-Inherit security descriptor.
            </summary>
            <param name="parent_descriptor">The parent security descriptor.</param>
            <param name="object_type">Optional object type GUID.</param>
            <param name="is_directory">True if a directory.</param>
            <param name="generic_mapping">Generic mapping for the object.</param>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.CanonicalizeDacl">
            <summary>
            Canonicalize the DACL if it exists.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.CanonicalizeSacl">
            <summary>
            Canonicalize the SACL if it exists.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.Standardize">
            <summary>
            Standardize security descriptor according to Active Directory rules.
            </summary>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.Clone">
            <summary>
            Clone the security descriptor.
            </summary>
            <returns>The cloned security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The security descriptor as an SDDL string.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.#ctor(System.IntPtr)">
            <summary>
            Constructor.
            </summary>
            <param name="ptr">Native pointer to security descriptor.</param>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.#ctor(NtApiDotNet.NtProcess,System.IntPtr)">
            <summary>
            Constructor.
            </summary>
            <param name="process">The process containing the security descriptor.</param>
            <param name="ptr">Native pointer to security descriptor.</param>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.#ctor(NtApiDotNet.NtType)">
            <summary>
            Constructor.
            </summary>
            <param name="type">The NT type for the security descriptor.</param>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.#ctor(System.Byte[],NtApiDotNet.NtType)">
            <summary>
            Constructor
            </summary>
            <param name="security_descriptor">Binary form of security descriptor</param>
            <param name="type">Optional NT type for security descriptor.</param>
        </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.#ctor(System.String,NtApiDotNet.NtType)">
            <summary>
            Constructor from an SDDL string
            </summary>
            <param name="sddl">The SDDL string</param>
            <param name="type">Optional NT type for security descriptor.</param>
            <exception cref="T:NtApiDotNet.NtException">Thrown if invalid SDDL</exception>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.Parse(System.IntPtr,NtApiDotNet.NtType,System.Boolean)">
            <summary>
            Parse a security descriptor.
            </summary>
            <param name="ptr">Native pointer to security descriptor.</param>
            <param name="type">The NT type for the security descriptor.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The parsed Security Descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.Parse(System.IntPtr,System.Boolean)">
            <summary>
            Parse a security descriptor.
            </summary>
            <param name="ptr">Native pointer to security descriptor.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The parsed Security Descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.Parse(System.Runtime.InteropServices.SafeBuffer,NtApiDotNet.NtType,System.Boolean,System.Boolean)">
            <summary>
            Parse a security descriptor.
            </summary>
            <param name="buffer">Safe buffer to security descriptor.</param>
            <param name="type">The NT type for the security descriptor.</param>
            <param name="container">True if the security descriptor is from a container.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The parsed Security Descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.Parse(System.Runtime.InteropServices.SafeBuffer,NtApiDotNet.NtType,System.Boolean)">
            <summary>
            Parse a security descriptor.
            </summary>
            <param name="buffer">Safe buffer to security descriptor.</param>
            <param name="type">The NT type for the security descriptor.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The parsed Security Descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.Parse(System.Runtime.InteropServices.SafeBuffer,System.Boolean)">
            <summary>
            Parse a security descriptor.
            </summary>
            <param name="buffer">Safe buffer to security descriptor.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The parsed Security Descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.Parse(System.Byte[],NtApiDotNet.NtType,System.Boolean)">
            <summary>
            Parse a security descriptor.
            </summary>
            <param name="security_descriptor">Binary form of security descriptor</param>
            <param name="type">The NT type for the security descriptor.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The parsed Security Descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.Parse(System.Byte[],System.Boolean)">
            <summary>
            Parse a security descriptor.
            </summary>
            <param name="security_descriptor">Binary form of security descriptor</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The parsed Security Descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.Parse(System.String,NtApiDotNet.NtType,System.Boolean,System.Boolean)">
            <summary>
            Parse a security descriptor.
            </summary>
            <param name="sddl">The SDDL form of the security descriptor.</param>
            <param name="type">The NT type for the security descriptor.</param>
            <param name="container">True if the security descriptor is from a container.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The parsed Security Descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.Parse(System.String,System.Boolean)">
            <summary>
            Parse a security descriptor.
            </summary>
            <param name="sddl">The SDDL form of the security descriptor.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The parsed Security Descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.ParseBase64(System.String,NtApiDotNet.NtType,System.Boolean)">
            <summary>
            Parse a security descriptor from a base64 string
            </summary>
            <param name="base64">The base64 string.</param>
            <param name="type">The NT type for the security descriptor.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The parsed Security Descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.ParseBase64(System.String,System.Boolean)">
            <summary>
            Parse a security descriptor from a base64 string
            </summary>
            <param name="base64">The base64 string.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The parsed Security Descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.ParseBase64(System.String)">
            <summary>
            Parse a security descriptor from a base64 string
            </summary>
            <param name="base64">The base64 string.</param>
            <returns>The parsed Security Descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.Create(NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityDescriptor,System.Guid[],System.Boolean,NtApiDotNet.SecurityAutoInheritFlags,NtApiDotNet.NtToken,NtApiDotNet.GenericMapping,System.Boolean)">
            <summary>
            Create a new security descriptor from a parent.
            </summary>
            <param name="parent">The parent security descriptor. Can be null.</param>
            <param name="creator">The creator security descriptor.</param>
            <param name="object_types">Optional list of object type GUIDs.</param>
            <param name="is_directory">True if the objec to assign is a directory.</param>
            <param name="flags">Auto inherit flags.</param>
            <param name="token">Optional token for the security descriptor.</param>
            <param name="generic_mapping">Generic mapping.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The new security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.Create(NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityDescriptor,System.Guid[],System.Boolean,NtApiDotNet.SecurityAutoInheritFlags,NtApiDotNet.NtToken,NtApiDotNet.GenericMapping)">
            <summary>
            Create a new security descriptor from a parent.
            </summary>
            <param name="parent">The parent security descriptor. Can be null.</param>
            <param name="creator">The creator security descriptor.</param>
            <param name="object_types">Optional list of object type GUIDs.</param>
            <param name="is_directory">True if the objec to assign is a directory.</param>
            <param name="flags">Auto inherit flags.</param>
            <param name="token">Optional token for the security descriptor.</param>
            <param name="generic_mapping">Generic mapping.</param>
            <returns>The new security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.Create(NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityDescriptor,System.Boolean,NtApiDotNet.SecurityAutoInheritFlags,NtApiDotNet.NtToken,NtApiDotNet.GenericMapping,System.Boolean)">
            <summary>
            Create a new security descriptor from a parent.
            </summary>
            <param name="parent">The parent security descriptor. Can be null.</param>
            <param name="creator">The creator security descriptor.</param>
            <param name="is_directory">True if the objec to assign is a directory.</param>
            <param name="flags">Auto inherit flags.</param>
            <param name="token">Optional token for the security descriptor.</param>
            <param name="generic_mapping">Generic mapping.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The new security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.Create(NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityDescriptor,System.Boolean,NtApiDotNet.SecurityAutoInheritFlags,NtApiDotNet.NtToken,NtApiDotNet.GenericMapping)">
            <summary>
            Create a new security descriptor from a parent.
            </summary>
            <param name="parent">The parent security descriptor. Can be null.</param>
            <param name="creator">The creator security descriptor.</param>
            <param name="is_directory">True if the objec to assign is a directory.</param>
            <param name="flags">Auto inherit flags.</param>
            <param name="token">Optional token for the security descriptor.</param>
            <param name="generic_mapping">Generic mapping.</param>
            <returns>The new security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.Create(NtApiDotNet.NtObject,NtApiDotNet.SecurityDescriptor,System.Boolean,NtApiDotNet.SecurityAutoInheritFlags,NtApiDotNet.NtToken,NtApiDotNet.GenericMapping,System.Boolean)">
            <summary>
            Create a new security descriptor from a parent.
            </summary>
            <param name="parent_object">The parent security descriptor. Can be null.</param>
            <param name="creator">The creator security descriptor.</param>
            <param name="is_directory">True if the objec to assign is a directory.</param>
            <param name="flags">Auto inherit flags.</param>
            <param name="token">Optional token for the security descriptor.</param>
            <param name="generic_mapping">Generic mapping.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The new security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.SecurityDescriptor.Create(NtApiDotNet.NtObject,NtApiDotNet.SecurityDescriptor,System.Boolean,NtApiDotNet.SecurityAutoInheritFlags,NtApiDotNet.NtToken,NtApiDotNet.GenericMapping)">
            <summary>
            Create a new security descriptor from a parent.
            </summary>
            <param name="parent_object">The parent security descriptor. Can be null.</param>
            <param name="creator">The creator security descriptor.</param>
            <param name="is_directory">True if the objec to assign is a directory.</param>
            <param name="flags">Auto inherit flags.</param>
            <param name="token">Optional token for the security descriptor.</param>
            <param name="generic_mapping">Generic mapping.</param>
            <returns>The new security descriptor.</returns>
        </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="M:NtApiDotNet.SecurityDescriptorSid.Clone">
            <summary>
            Clone the security descriptor SID.
            </summary>
            <returns>The cloned SID.</returns>
        </member>
        <member name="T:NtApiDotNet.Security.ConditionalExpression.ConditionalAttributeNameType">
            <summary>
            The type of the security attribute name.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Security.ConditionalExpression.ConditionalAttributeOperand">
            <summary>
            Class to represent an attribute name operand.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.ConditionalExpression.ConditionalAttributeOperand.Type">
            <summary>
            The type of attribute.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.ConditionalExpression.ConditionalAttributeOperand.Name">
            <summary>
            The name of the attribute.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Security.ConditionalExpression.ConditionalAttributeOperand.#ctor(NtApiDotNet.Security.ConditionalExpression.ConditionalAttributeNameType,System.String)">
            <summary>
            Constructor.
            </summary>
            <param name="type">The type of the attribute.</param>
            <param name="name">The name of the attribute.</param>
        </member>
        <member name="M:NtApiDotNet.Security.ConditionalExpression.ConditionalAttributeOperand.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The object as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Security.ConditionalExpression.ConditionalCompositeOperand">
            <summary>
            Class to represent a composite conditional operand.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.ConditionalExpression.ConditionalCompositeOperand.Operands">
            <summary>
            List of operands.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Security.ConditionalExpression.ConditionalCompositeOperand.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Security.ConditionalExpression.ConditionalCompositeOperand.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The object as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Security.ConditionalExpression.ConditionalExpression">
            <summary>
            Class to represent a conditional expression.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Security.ConditionalExpression.ConditionalExpression.ToByteArray">
            <summary>
            Serialize the expression to a byte array.
            </summary>
            <returns>The expression as a byte array.</returns>
        </member>
        <member name="M:NtApiDotNet.Security.ConditionalExpression.ConditionalExpression.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The object as a string.</returns>
        </member>
        <member name="M:NtApiDotNet.Security.ConditionalExpression.ConditionalExpression.Parse(System.Byte[],System.Boolean)">
            <summary>
            Parse a binary conditional expression.
            </summary>
            <param name="data">The data to parse.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The parsed conditional expression.</returns>
        </member>
        <member name="M:NtApiDotNet.Security.ConditionalExpression.ConditionalExpression.Parse(System.Byte[])">
            <summary>
            Parse a binary conditional expression.
            </summary>
            <param name="data">The data to parse.</param>
            <returns>The parsed conditional expression.</returns>
        </member>
        <member name="M:NtApiDotNet.Security.ConditionalExpression.ConditionalExpression.Parse(System.String,System.Boolean)">
            <summary>
            Parse an SDDL conditional expression.
            </summary>
            <param name="condition_sddl">The SDDL expression to parse.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The parsed conditional expression.</returns>
        </member>
        <member name="M:NtApiDotNet.Security.ConditionalExpression.ConditionalExpression.Parse(System.String)">
            <summary>
            Parse an SDDL conditional expression.
            </summary>
            <param name="condition_sddl">The SDDL expression to parse.</param>
            <returns>The parsed conditional expression.</returns>
        </member>
        <member name="P:NtApiDotNet.Security.ConditionalExpression.ConditionalExpression.Operands">
            <summary>
            Get list of the conditional operands.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Security.ConditionalExpression.ConditionalIntegerSize">
            <summary>
            Size of conditional integer operand.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Security.ConditionalExpression.ConditionalIntegerSign">
            <summary>
            Sign of conditional integer operand.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Security.ConditionalExpression.ConditionalIntegerBase">
            <summary>
            Base of conditional integer operand.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Security.ConditionalExpression.ConditionalIntegerOperand">
            <summary>
            Class to represent a conditional integer operand.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.ConditionalExpression.ConditionalIntegerOperand.Size">
            <summary>
            Size of the integer.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.ConditionalExpression.ConditionalIntegerOperand.Value">
            <summary>
            Value of the integer.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.ConditionalExpression.ConditionalIntegerOperand.Sign">
            <summary>
            Sign of the integer.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.ConditionalExpression.ConditionalIntegerOperand.Base">
            <summary>
            Base of the integer.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Security.ConditionalExpression.ConditionalIntegerOperand.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Security.ConditionalExpression.ConditionalIntegerOperand.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The object as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Security.ConditionalExpression.ConditionalOctetStringOperand">
            <summary>
            Class to represent an octet string conditional operand.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.ConditionalExpression.ConditionalOctetStringOperand.Value">
            <summary>
            The value of the operand.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Security.ConditionalExpression.ConditionalOctetStringOperand.#ctor(System.Byte[])">
            <summary>
            Constructor.
            </summary>
            <param name="value">The value of the operand.</param>
        </member>
        <member name="M:NtApiDotNet.Security.ConditionalExpression.ConditionalOctetStringOperand.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The object as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Security.ConditionalExpression.ConditionalOperand">
            <summary>
            Abstract class to represent a conditional expression operand.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Security.ConditionalExpression.ConditionalOperatorType">
            <summary>
            Conditional operator type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Security.ConditionalExpression.ConditionalOperatorOperand">
            <summary>
            Class to represent a conditional operator operand.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.ConditionalExpression.ConditionalOperatorOperand.Type">
            <summary>
            The type of operator.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Security.ConditionalExpression.ConditionalOperatorOperand.#ctor(NtApiDotNet.Security.ConditionalExpression.ConditionalOperatorType)">
            <summary>
            Constructor.
            </summary>
            <param name="type">The type of operator.</param>
        </member>
        <member name="M:NtApiDotNet.Security.ConditionalExpression.ConditionalOperatorOperand.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The object as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Security.ConditionalExpression.ConditionalSidOperand">
            <summary>
            Class to represent a SID conditional operand.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.ConditionalExpression.ConditionalSidOperand.Value">
            <summary>
            The SID value.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Security.ConditionalExpression.ConditionalSidOperand.#ctor(NtApiDotNet.Sid)">
            <summary>
            Constructor.
            </summary>
            <param name="value">The SID value.</param>
        </member>
        <member name="M:NtApiDotNet.Security.ConditionalExpression.ConditionalSidOperand.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The object as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Security.ConditionalExpression.ConditionalStringOperand">
            <summary>
            Class to represent a string conditional operand.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.ConditionalExpression.ConditionalStringOperand.Value">
            <summary>
            The string value.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Security.ConditionalExpression.ConditionalStringOperand.#ctor(System.String)">
            <summary>
            Constructor.
            </summary>
            <param name="value">The string value.</param>
        </member>
        <member name="M:NtApiDotNet.Security.ConditionalExpression.ConditionalStringOperand.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The object as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Security.INtObjectSecurity">
            <summary>
            Interface for an NT object to query and set a security descriptor.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.INtObjectSecurity.ObjectName">
            <summary>
            Get the name of the object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.INtObjectSecurity.NtType">
            <summary>
            Get the NtType for this object.
            </summary>
            <returns>The NtType for the object.</returns>
        </member>
        <member name="P:NtApiDotNet.Security.INtObjectSecurity.SecurityDescriptor">
            <summary>
            Get the object's security descriptor.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.INtObjectSecurity.IsContainer">
            <summary>
            Get whether the object is a container.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Security.INtObjectSecurity.IsAccessMaskGranted(NtApiDotNet.AccessMask)">
            <summary>
            Check if access is granted to a set of rights
            </summary>
            <param name="access">The access rights to check</param>
            <returns>True if all the access rights are granted</returns>
        </member>
        <member name="M:NtApiDotNet.Security.INtObjectSecurity.SetSecurityDescriptor(NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityInformation)">
            <summary>
            Set the object's security descriptor
            </summary>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="security_information">What parts of the security descriptor to set</param>
        </member>
        <member name="M:NtApiDotNet.Security.INtObjectSecurity.SetSecurityDescriptor(NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Set the object's security descriptor
            </summary>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="security_information">What parts of the security descriptor to set</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Security.INtObjectSecurity.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="M:NtApiDotNet.Security.INtObjectSecurity.GetSecurityDescriptor(NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Get the security descriptor specifying which parts to retrieve
            </summary>
            <param name="security_information">What parts of the security descriptor to retrieve</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The security descriptor</returns>
        </member>
        <member name="T:NtApiDotNet.Security.Policy.CentralAccessPolicy">
            <summary>
            Class representing a Central Access Policy.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.Policy.CentralAccessPolicy.CapId">
            <summary>
            The CAP SID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.Policy.CentralAccessPolicy.Flags">
            <summary>
            CAP Flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.Policy.CentralAccessPolicy.Name">
            <summary>
            Name of the CAP.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.Policy.CentralAccessPolicy.Description">
            <summary>
            Description of the CAP.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.Policy.CentralAccessPolicy.ChangeId">
            <summary>
            Change ID. Normally a date time when changed.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.Policy.CentralAccessPolicy.Rules">
            <summary>
            The list of rules associated with this policy.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Security.Policy.CentralAccessPolicy.ParseFromRegistry(NtApiDotNet.NtKey,System.Boolean)">
            <summary>
            Parse the policy from the registry.
            </summary>
            <param name="key">The base key for the registry policy.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of Central Access Policies.</returns>
        </member>
        <member name="M:NtApiDotNet.Security.Policy.CentralAccessPolicy.ParseFromRegistry(System.Boolean)">
            <summary>
            Parse the policy from the registry.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of Central Access Policies.</returns>
        </member>
        <member name="M:NtApiDotNet.Security.Policy.CentralAccessPolicy.ParseFromRegistry">
            <summary>
            Parse the policy from the registry.
            </summary>
            <returns>The list of Central Access Policies.</returns>
        </member>
        <member name="M:NtApiDotNet.Security.Policy.CentralAccessPolicy.ParseFromLsa(System.Boolean)">
            <summary>
            Parse the policy from the Local Security Authority.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of Central Access Policies.</returns>
        </member>
        <member name="M:NtApiDotNet.Security.Policy.CentralAccessPolicy.ParseFromLsa">
            <summary>
            Parse the policy from the Local Security Authority.
            </summary>
            <returns>The list of Central Access Policies.</returns>
        </member>
        <member name="T:NtApiDotNet.Security.Policy.CentralAccessRule">
            <summary>
            Class representing a Central Access Rule.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.Policy.CentralAccessRule.Flags">
            <summary>
            CAP Rule Flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.Policy.CentralAccessRule.Name">
            <summary>
            Name of the CAP Rule.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.Policy.CentralAccessRule.Description">
            <summary>
            Description of the CAP Rule.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.Policy.CentralAccessRule.ChangeId">
            <summary>
            Change ID. Normally a date time when changed.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.Policy.CentralAccessRule.AppliesTo">
            <summary>
            Conditional Expression to determine who to applie the rule to.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.Policy.CentralAccessRule.SecurityDescriptor">
            <summary>
            The CAP Rule security descriptor.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Security.Policy.CentralAccessRule.StagedSecurityDescriptor">
            <summary>
            The CAP Rule staged security descriptor.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Sid">
            <summary>
            Class to represent a Security Identifier.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Sid.MaximumSidSize">
            <summary>
            Maximum size of a SID buffer.
            </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="P:NtApiDotNet.Sid.Name">
            <summary>
            Get the account name of the SID or the SDDL form if no corresponding name.
            </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(NtApiDotNet.SafeSidBufferHandle)">
            <summary>
            Constructor from a safe SID handle.
            </summary>
            <param name="sid">A safe SID handle 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.#ctor(NtApiDotNet.SidName)">
            <summary>
            Constructor from a SID name.
            </summary>
            <param name="sid_name">The SID name.</param>
        </member>
        <member name="M:NtApiDotNet.Sid.#ctor(System.IO.BinaryReader)">
            <summary>
            Construct a SID from a binary reader.
            </summary>
            <param name="reader">The binary reader.</param>
        </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. The sids must have the same number of subauthorities.
            </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="M:NtApiDotNet.Sid.Dominates(NtApiDotNet.Sid,System.Boolean)">
            <summary>
            Does this SID dominate another.
            </summary>
            <param name="sid">The other SID.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>True if the sid dominates.</returns>
        </member>
        <member name="M:NtApiDotNet.Sid.Dominates(NtApiDotNet.Sid)">
            <summary>
            Does this SID dominate another.
            </summary>
            <param name="sid">The other SID.</param>
            <returns>True if the sid dominates.</returns>
        </member>
        <member name="M:NtApiDotNet.Sid.DominatesForTrust(NtApiDotNet.Sid,System.Boolean)">
            <summary>
            Does this SID dominate another for trust.
            </summary>
            <param name="sid">The other SID.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>True if the sid dominates.</returns>
        </member>
        <member name="M:NtApiDotNet.Sid.DominatesForTrust(NtApiDotNet.Sid)">
            <summary>
            Does this SID dominate another for trust.
            </summary>
            <param name="sid">The other SID.</param>
            <returns>True if the sid dominates.</returns>
        </member>
        <member name="M:NtApiDotNet.Sid.StartsWith(NtApiDotNet.Sid)">
            <summary>
            Checks if the SID starts with the specified SID.
            </summary>
            <param name="sid">The specified SID to check against.</param>
            <returns>True if the current SID starts with the specified SID.</returns>
        </member>
        <member name="M:NtApiDotNet.Sid.CreateRelative(System.UInt32[])">
            <summary>
            Create a SID relative to this one.
            </summary>
            <param name="rids">The list of RIDs.</param>
            <returns>The relative SID.</returns>
        </member>
        <member name="M:NtApiDotNet.Sid.CreateSibling(System.UInt32[])">
            <summary>
            Create a SID sibling to this SID.
            </summary>
            <param name="rids">The RIDs to replace the final RID with.</param>
            <returns>The sibling SID.</returns>
            <remarks>This replaces the final RID with one or more addditional RIDs.</remarks>
        </member>
        <member name="M:NtApiDotNet.Sid.GetName(System.Boolean)">
            <summary>
            Get the SID name for this SID.
            </summary>
            <param name="bypass_cache">True to bypass the SID name cache.</param>
            <returns>The SID name.</returns>
        </member>
        <member name="M:NtApiDotNet.Sid.GetName">
            <summary>
            Get the SID name for this SID.
            </summary>
            <returns>The SID name.</returns>
        </member>
        <member name="M:NtApiDotNet.Sid.Parse(System.String,System.Boolean)">
            <summary>
            Convert an SDDL SID string to a Sid
            </summary>
            <param name="sddl">The SDDL SID string</param>
            <param name="throw_on_error">True to throw on error.</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.Sid.Parse(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.Sid.Parse(System.Byte[],System.Boolean)">
            <summary>
            Parse a byte array.
            </summary>
            <param name="sid">The byte array to parse.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The parsed SID.</returns>
        </member>
        <member name="M:NtApiDotNet.Sid.Parse(System.IntPtr,System.Boolean)">
            <summary>
            Parse a byte array.
            </summary>
            <param name="sid">The pointer to parse.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The parsed SID.</returns>
        </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.#ctor(System.Int64)">
            <summary>
            Construct from an Int64.
            </summary>
            <param name="authority">The authority as an Int64.</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="M:NtApiDotNet.SidIdentifierAuthority.IsAuthority(NtApiDotNet.SecurityAuthority)">
            <summary>
            Determines if this is a specific security authority.
            </summary>
            <param name="authority">The security authority.</param>
            <returns>True if the security authority.</returns>
        </member>
        <member name="M:NtApiDotNet.SidIdentifierAuthority.ToInt64">
            <summary>
            Convert authority to a 64 bit integer.
            </summary>
            <returns>The authority as a 64 bit integer.</returns>
        </member>
        <member name="M:NtApiDotNet.SidIdentifierAuthority.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The security authority as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.SidNameSource">
            <summary>
            Source for a SID name.
            </summary>
        </member>
        <member name="F:NtApiDotNet.SidNameSource.Sddl">
            <summary>
            SDDL string.
            </summary>
        </member>
        <member name="F:NtApiDotNet.SidNameSource.Account">
            <summary>
            LSASS lookup.
            </summary>
        </member>
        <member name="F:NtApiDotNet.SidNameSource.Capability">
            <summary>
            Named capability.
            </summary>
        </member>
        <member name="F:NtApiDotNet.SidNameSource.Package">
            <summary>
            Package name SID.
            </summary>
        </member>
        <member name="F:NtApiDotNet.SidNameSource.ProcessTrust">
            <summary>
            From a process trust level.
            </summary>
        </member>
        <member name="F:NtApiDotNet.SidNameSource.WellKnown">
            <summary>
            Well known SID.
            </summary>
        </member>
        <member name="F:NtApiDotNet.SidNameSource.ScopedPolicyId">
            <summary>
            Scoped policy SID.
            </summary>
        </member>
        <member name="F:NtApiDotNet.SidNameSource.Manual">
            <summary>
            Manually added name.
            </summary>
        </member>
        <member name="T:NtApiDotNet.SidName">
            <summary>
            Represents a name for a SID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SidName.QualifiedName">
            <summary>
            The qualified name of the SID. Either the combination of
            Domain and Name or the SDDL SID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SidName.Domain">
            <summary>
            The domain name, if present.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SidName.Name">
            <summary>
            The user name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SidName.Source">
            <summary>
            The source of name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SidName.NameUse">
            <summary>
            The use of the name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SidName.Sddl">
            <summary>
            The SDDL format of the SID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.SidName.LookupDenied">
            <summary>
            Used for caching. Indicates the lookup name was denied rather than not available.
            </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.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.Value">
            <summary>
            Get the token privilege value enum.
            </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="P:NtApiDotNet.TokenPrivilege.UsedForAccess">
            <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.#ctor(System.String,NtApiDotNet.PrivilegeAttributes)">
            <summary>
            Constructor
            </summary>
            <param name="name">The privilege name.</param>
            <param name="attribute">The privilege attributes</param>
        </member>
        <member name="M:NtApiDotNet.TokenPrivilege.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
            <param name="name">The privilege name.</param>
        </member>
        <member name="M:NtApiDotNet.TokenPrivilege.ToString">
            <summary>
            Conver to a string
            </summary>
            <returns>The privilege name.</returns>
        </member>
        <member name="T:NtApiDotNet.UnicodeString">
            <summary>
            Standard UNICODE_STRING class
            </summary>
        </member>
        <member name="T:NtApiDotNet.UnicodeStringSecure">
            <summary>
            Standard UNICODE_STRING class based on a SecureString class.
            </summary>
        </member>
        <member name="T:NtApiDotNet.UnicodeStringInSecure">
            <summary>
            Structure to use when passing in a unicode string as a sub-structure with a seure string.
            </summary>
        </member>
        <member name="T:NtApiDotNet.AnsiString">
            <summary>
            Standard ANSI_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="M:NtApiDotNet.UnicodeStringOut.ToArray">
            <summary>
            Convert unicode string to an array.
            </summary>
            <returns>The unicode string data as an array.</returns>
        </member>
        <member name="T:NtApiDotNet.UnicodeStringOut32">
            <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.UnicodeStringIn">
            <summary>
            Structure to use when passing in a unicode string as a sub-structure.
            </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.UnicodeStringBytesSafeBuffer">
            <summary>
            Implements a UnicodeString which contains raw bytes.
            </summary>
        </member>
        <member name="M:NtApiDotNet.UnicodeStringBytesSafeBuffer.#ctor(System.Byte[])">
            <summary>
            Constructor.
            </summary>
            <param name="ba">The bytes for the name.</param>
        </member>
        <member name="P:NtApiDotNet.UnicodeStringBytesSafeBuffer.Null">
            <summary>
            Get a null safe buffer.
            </summary>
        </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="P:NtApiDotNet.UserGroup.Name">
            <summary>
            Get the resolved name of the SID.
            </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.#ctor(NtApiDotNet.Sid)">
            <summary>
            Constructor from a SID.
            </summary>
            <param name="sid">The SID</param>
        </member>
        <member name="M:NtApiDotNet.UserGroup.#ctor(System.String)">
            <summary>
            Constructor from a SID or account name.
            </summary>
            <param name="name">The SID or account name.</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.Utilities.ASN1.ASN1Utils">
            <summary>
            Basic utilities for ASN1 support.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.ASN1Utils.FormatDER(System.Byte[],System.Int32)">
            <summary>
            Format an array of ASN.1 DER to a string.
            </summary>
            <param name="asn1_der">The ASN.1 data in DER format.</param>
            <param name="depth">Initial identation depth.</param>
            <returns>The formatted DER data.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.ASN1Utils.FormatDER(System.String,System.Int32)">
            <summary>
            Format an file containing of ASN.1 DER to a string.
            </summary>
            <param name="path">The path to the file containing ASN.1 data in DER format.</param>
            <param name="depth">Initial identation depth.</param>
            <returns>The formatted DER data.</returns>
        </member>
        <member name="T:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder">
            <summary>
            Class to do basic ASN1 DER generation.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.#ctor(System.IO.Stream)">
            <summary>
            Constructor.
            </summary>
            <param name="stm">The stream to write the DER data to.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.WriteObjectId(System.String)">
            <summary>
            Write an object ID.
            </summary>
            <param name="oid">The object ID to write.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.WriteRawBytes(System.Byte[])">
            <summary>
            Write raw bytes to the stream.
            </summary>
            <param name="ba">The bytes to write.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.WriteOctetString(System.Byte[])">
            <summary>
            Write an octet-string to the stream.
            </summary>
            <param name="octet_string">The octet string.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.WriteNull">
            <summary>
            Write a NULL value.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.WriteInt32(System.Int32)">
            <summary>
            Write a 32-bit integer.
            </summary>
            <param name="value">The integer value.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.WriteInt64(System.Int64)">
            <summary>
            Write a 64-bit integer.
            </summary>
            <param name="value">The integer value.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.WriteInteger(System.Numerics.BigInteger)">
            <summary>
            Write an arbitrary integer.
            </summary>
            <param name="value">The integer value.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.WriteSequence(NtApiDotNet.Utilities.ASN1.Builder.DERBuilder)">
            <summary>
            Write a sequence based on the contents of another DER builder.
            </summary>
            <param name="builder">The builder for the contents.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.WriteSequence(System.Action{NtApiDotNet.Utilities.ASN1.Builder.DERBuilder})">
            <summary>
            Write a sequence based on the contents of another DER builder.
            </summary>
            <param name="build">The build function for the contents.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.WriteSequence``1(System.Collections.Generic.IEnumerable{``0},System.Action{NtApiDotNet.Utilities.ASN1.Builder.DERBuilder,``0})">
            <summary>
            Write a sequence based on the contents of another DER builder.
            </summary>
            <param name="values">Write a sequence of fixed values.</param>
            <param name="build">The build function for the contents.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.CreateSequence">
            <summary>
            Create a sequence builder.
            </summary>
            <returns>The created builder.</returns>
            <remarks>You should call Close or dispose on the created builder to write the tag.</remarks>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.WriteApplication(System.Int32,NtApiDotNet.Utilities.ASN1.Builder.DERBuilder)">
            <summary>
            Write an application specific tag with contents from the builder.
            </summary>
            <param name="application">The ID of the application specific tag.</param>
            <param name="builder">The builder for the contents.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.WriteApplication(System.Int32,System.Action{NtApiDotNet.Utilities.ASN1.Builder.DERBuilder})">
            <summary>
            Write an application specific tag with contents from the builder.
            </summary>
            <param name="application">The ID of the application specific tag.</param>
            <param name="build">The build function for the contents.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.CreateApplication(System.Int32)">
            <summary>
            Create an application specific builder.
            </summary>
            <param name="application">The ID of the application specific tag.</param>
            <returns>The created builder.</returns>
            <remarks>You should call Close or dispose on the created builder to write the tag.</remarks>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.WriteContextSpecific(System.Int32,System.Byte[])">
            <summary>
            Write a context specific tag with specified contents.
            </summary>
            <param name="context">The ID of the context specific tag.</param>
            <param name="data">The contents of the context specific value.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.WriteContextSpecific(System.Int32,NtApiDotNet.Utilities.ASN1.Builder.DERBuilder)">
            <summary>
            Write a context specific tag with contents from the builder.
            </summary>
            <param name="context">The ID of the context specific tag.</param>
            <param name="builder">The builder for the contents.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.WriteContextSpecific(System.Int32,System.Action{NtApiDotNet.Utilities.ASN1.Builder.DERBuilder})">
            <summary>
            Write an application specific tag with contents from the builder.
            </summary>
            <param name="context">The ID of the context specific tag.</param>
            <param name="build">The build function for the contents.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.CreateContextSpecific(System.Int32)">
            <summary>
            Create a context specific builder.
            </summary>
            <param name="context">The ID of the context specific tag.</param>
            <returns>The created builder.</returns>
            <remarks>You should call Close or dispose on the created builder to write the tag.</remarks>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.WriteGeneralString(System.String,System.Text.Encoding)">
            <summary>
            Write a general encoded string.
            </summary>
            <param name="str">The string</param>
            <param name="encoding">The encoding to covert to.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.WriteGeneralString(System.String)">
            <summary>
            Write a general encoded string using ASCII encoding.
            </summary>
            <param name="str">The string</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.WriteUTF8String(System.String)">
            <summary>
            Write a UTF8 string.
            </summary>
            <param name="str">The UTF8 string</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.WriteIA5String(System.String)">
            <summary>
            Write an IA5 string.
            </summary>
            <param name="str">The IA5 string</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.WriteGeneralizedTime(System.DateTime)">
            <summary>
            Write a generalized time.
            </summary>
            <param name="time">The time to write.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilder.ToArray">
            <summary>
            Convert builder to a byte array.
            </summary>
            <returns>The DER encoded data.</returns>
        </member>
        <member name="T:NtApiDotNet.Utilities.ASN1.Builder.DERBuilderSubStructure">
            <summary>
            A DER builder for a sub-structure..
            </summary>
            <remarks>You should call Close or dispose the builder to write the sub-structure.</remarks>
        </member>
        <member name="M:NtApiDotNet.Utilities.ASN1.Builder.DERBuilderSubStructure.Close">
            <summary>
            Close the builder and write its contents to the parent builder.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Utilities.ASN1.Builder.DERBuilderUtils">
            <summary>
            Static class for DER builder utility functions.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Utilities.ASN1.DERParser">
            <summary>
            A basic ASN.1 DER parser to process Kerberos and SPNEGO Tokens.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Utilities.ASN1.OIDValues">
            <summary>
            Class containing known OID values.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Utilities.IO.NtFileScopedLock">
            <summary>
            Class to implement a scoped file lock.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.IO.NtFileScopedLock.Create(NtApiDotNet.NtFile,System.Int64,System.Int64,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Lock part of a file.
            </summary>
            <param name="file">The file to lock.</param>
            <param name="offset">The offset into the file to lock</param>
            <param name="size">The number of bytes to lock</param>
            <param name="fail_immediately">True to fail immediately if the lock can't be taken</param>
            <param name="exclusive">True to do an exclusive lock</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.IO.NtFileScopedLock.Create(NtApiDotNet.NtFile,System.Int64,System.Int64,System.Boolean,System.Boolean)">
            <summary>
            Lock part of a file.
            </summary>
            <param name="file">The file to lock.</param>
            <param name="offset">The offset into the file to lock</param>
            <param name="size">The number of bytes to lock</param>
            <param name="fail_immediately">True to fail immediately if the lock can't be taken</param>
            <param name="exclusive">True to do an exclusive lock</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.IO.NtFileScopedLock.Dispose">
            <summary>
            Unlock the file.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Utilities.Memory.CrossBitnessProcessMemoryReader">
            <summary>
            IMemoryReader implementation for a process.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Utilities.Memory.NtCompression">
            <summary>
            Class to compress and decompress buffers using RtlCompressionBuffer.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.Memory.NtCompression.DecompressBuffer(NtApiDotNet.RtlCompressionFormat,System.Byte[],System.Int32,System.Boolean)">
            <summary>
            Decompress a buffer.
            </summary>
            <param name="format">The compression format used.</param>
            <param name="compressed_buffer">The compressed buffer.</param>
            <param name="uncompressed_length">The expected uncompressed length.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The uncompressed buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Memory.NtCompression.DecompressBuffer(NtApiDotNet.RtlCompressionFormat,System.Byte[],System.Int32)">
            <summary>
            Decompress a buffer.
            </summary>
            <param name="format">The compression format used.</param>
            <param name="compressed_buffer">The compressed buffer.</param>
            <param name="uncompressed_length">The expected uncompressed length.</param>
            <returns>The uncompressed buffer.</returns>
        </member>
        <member name="T:NtApiDotNet.Utilities.Memory.ProcessMemoryReader">
            <summary>
            IMemoryReader implementation for a process.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Utilities.Misc.CallOnDispose">
            <summary>
            Class which calls a delegate on dispose.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.Misc.CallOnDispose.#ctor(System.Action)">
            <summary>
            Constructor.
            </summary>
            <param name="action">The delegate to call on dispose.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.Misc.CallOnDispose.Dispose">
            <summary>
            Dispose and call the action.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Utilities.Misc.DetachableContainer`1">
            <summary>
            A container which can detach an innner reference.
            </summary>
            <typeparam name="T"></typeparam>
        </member>
        <member name="P:NtApiDotNet.Utilities.Misc.DetachableContainer`1.Value">
            <summary>
            Get the contained value.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.Misc.DetachableContainer`1.Detach">
            <summary>
            Detach the object so the original isn't disposed.
            </summary>
            <returns>Detached object.</returns>
        </member>
        <member name="T:NtApiDotNet.Utilities.Misc.MiscUtils">
            <summary>
            Miscellaneous utilities.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.Misc.MiscUtils.AsDetachable``1(``0)">
            <summary>
            Convert a disposable object to a detachable object.
            </summary>
            <typeparam name="T">The disposable object type.</typeparam>
            <param name="obj">The disposable object.</param>
            <returns>The disposable container.</returns>
        </member>
        <member name="T:NtApiDotNet.Utilities.Reflection.ReflectionUtils">
            <summary>
            Utilities for reflection.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.Reflection.ReflectionUtils.GetSDKName(System.Type)">
            <summary>
            Get the SDK name for a type, if available.
            </summary>
            <param name="type">The type to get the name for.</param>
            <returns>The SDK name. Returns the name of the type if not available.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Reflection.ReflectionUtils.GetSDKName(System.Enum)">
            <summary>
            Get the SDK name for an enum, if available.
            </summary>
            <param name="value">The enum to get the name for.</param>
            <returns>The SDK name. If the enum is a flags enum then will return the names joined with commas.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Reflection.ReflectionUtils.GetSDKName(System.Object)">
            <summary>
            Get the SDK name an object.
            </summary>
            <param name="value">The object to get the name from. If this isn't an Enum or Type then the Type of the object is used.</param>
            <returns>The SDK name.</returns>
        </member>
        <member name="T:NtApiDotNet.Utilities.SafeBuffers.SafeBufferView">
            <summary>
            Class to create a view. This never owns the handle.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.SafeBuffers.SafeEnclaveHandle.Detach">
            <summary>
            Detaches the current handle and allocates a new one.
            </summary>
            <returns>The detached buffer.</returns>
            <remarks>The original buffer will become invalid after this call.</remarks>
        </member>
        <member name="T:NtApiDotNet.Utilities.SafeBuffers.SafeGuidArrayBuffer">
            <summary>
            A buffer which contains an array of GUID pointers.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Utilities.SafeBuffers.SafeGuidArrayBuffer.Count">
            <summary>
            The count of GUIDs.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.SafeBuffers.SafeGuidArrayBuffer.#ctor(System.Guid[])">
            <summary>
            Constructor.
            </summary>
            <param name="guids">The list of GUIDs.</param>
        </member>
        <member name="P:NtApiDotNet.Utilities.SafeBuffers.SafeGuidArrayBuffer.Null">
            <summary>
            Get NULL safe buffer.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Utilities.Security.ARC4">
            <summary>
            Basic implementation of ARC4.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.ARC4.Transform(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Encrypt, or decrypt an ARC4 stream.
            </summary>
            <param name="data">The data to encrypt/decrypt.</param>
            <param name="offset">Offset into the data to decrypt.</param>
            <param name="length">Length of data to decrypt.</param>
            <param name="key">The key to decrypt.</param>
            <returns>The resulting bytes.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.ARC4.Transform(System.Byte[],System.Byte[])">
            <summary>
            Encrypt, or decrypt an ARC4 stream.
            </summary>
            <param name="data">The data to encrypt/decrypt.</param>
            <param name="key">The key to decrypt.</param>
            <returns>The resulting bytes.</returns>
        </member>
        <member name="T:NtApiDotNet.Utilities.Security.MD4">
            <summary>
            Basic implementation of MD4.
            </summary>
            <remarks>
            This could have called out to the CNG APIs or dug into the
            internals of the existing .NET crypto APIs but as MD4 is so
            simple and it doesn't need to be secure (seriously don't use
            this). This uses the reference implementation from RFC1320.
            </remarks>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.MD4.CalculateHash(System.Byte[])">
            <summary>
            Calculate the MD4 hash of an input.
            </summary>
            <param name="input">The input bytes.</param>
            <returns>The MD4 hash.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.MD4.CalculateHash(System.String,System.Text.Encoding)">
            <summary>
            Calculate the MD4 hash of a string.
            </summary>
            <param name="input">The input string.</param>
            <param name="encoding">Encoding for the string.</param>
            <returns>The MD4 hash.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.MD4.CalculateHash(System.String)">
            <summary>
            Calculate the MD4 hash of a unicode string.
            </summary>
            <param name="input">The input string.</param>
            <returns>The MD4 hash.</returns>
        </member>
        <member name="T:NtApiDotNet.Utilities.Security.NFold">
            <summary>
            Class to perform the n-fold operation for Kerberos key derivation.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.NFold.Compute(System.String,System.Int32)">
            <summary>
            Perform an n-fold operation.
            </summary>
            <param name="in_data">The input data as a string.</param>
            <param name="out_length">The output length in bytes.</param>
            <returns>The computed n-folded byte array.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.NFold.Compute(System.Byte[],System.Int32)">
            <summary>
            Perform an n-fold operation.
            </summary>
            <param name="in_data">The input data.</param>
            <param name="out_length">The output length in bytes.</param>
            <returns>The computed n-folded byte array.</returns>
        </member>
        <member name="T:NtApiDotNet.Utilities.Security.ObjectTypeTree">
            <summary>
            A tree of Object Types.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.ObjectTypeTree.#ctor(System.Collections.Generic.IEnumerable{NtApiDotNet.ObjectTypeEntry})">
            <summary>
            Constructor.
            </summary>
            <param name="entries">Entries to setup in the tree.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.ObjectTypeTree.#ctor(System.Guid,System.String)">
            <summary>
            Contructor.
            </summary>
            <param name="object_type">The object type GUID.</param>
            <param name="name">The name of the root object.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.ObjectTypeTree.#ctor(System.Guid)">
            <summary>
            Contructor.
            </summary>
            <param name="object_type">The object type GUID.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.ObjectTypeTree.#ctor(System.String)">
            <summary>
            Contructor.
            </summary>
            <param name="object_type">The object type GUID as a string.</param>
        </member>
        <member name="P:NtApiDotNet.Utilities.Security.ObjectTypeTree.Nodes">
            <summary>
            List of child nodes in the tree.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Utilities.Security.ObjectTypeTree.Parent">
            <summary>
            The parent of this tree.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Utilities.Security.ObjectTypeTree.ObjectType">
            <summary>
            The Object Type GUID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Utilities.Security.ObjectTypeTree.RemainingAccess">
            <summary>
            Optional access mask for use in access checking.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Utilities.Security.ObjectTypeTree.Name">
            <summary>
            Optional label for this tree entry.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Utilities.Security.ObjectTypeTree.Count">
            <summary>
            Indicates the number of total entries this tree contains.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.ObjectTypeTree.AddNode(System.Guid,System.String)">
            <summary>
            Add a new object type to the tree.
            </summary>
            <param name="object_type">The object type.</param>
            <param name="name">The name of the node.</param>
            <returns>The added tree object.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.ObjectTypeTree.AddNode(System.Guid)">
            <summary>
            Add a new object type to the tree.
            </summary>
            <param name="object_type">The object type.</param>
            <returns>The added tree object.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.ObjectTypeTree.AddNode(NtApiDotNet.Utilities.Security.ObjectTypeTree)">
            <summary>
            Add an existing node to the tree.
            </summary>
            <param name="node">The node to add.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.ObjectTypeTree.AddNodeRange(System.Collections.Generic.IEnumerable{NtApiDotNet.Utilities.Security.ObjectTypeTree})">
            <summary>
            Add an existing list of nodes to the tree.
            </summary>
            <param name="nodes">The nodes to add.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.ObjectTypeTree.RemoveAllNodes(System.Guid)">
            <summary>
            Removes all object types from the tree.
            </summary>
            <param name="object_type">The object type.</param>
            <returns>The removed tree object.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.ObjectTypeTree.RemoveNode(NtApiDotNet.Utilities.Security.ObjectTypeTree)">
            <summary>
            Removes all object types from the tree.
            </summary>
            <param name="object_type">The object type.</param>
            <returns>The removed tree object.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.ObjectTypeTree.Remove">
            <summary>
            Remove the current tree entry from the parent.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.ObjectTypeTree.ToArray">
            <summary>
            Convert the tree to an array.
            </summary>
            <returns>The array of ObjectTypeEntry objects.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.ObjectTypeTree.Clone">
            <summary>
            Clone the object type tree.
            </summary>
            <returns>The cloned tree.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.ObjectTypeTree.SetRemainingAccess(NtApiDotNet.AccessMask)">
            <summary>
            Set the access mask of this tree node and all children.
            </summary>
            <param name="mask">The mask to set.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.ObjectTypeTree.RemoveRemainingAccess(NtApiDotNet.AccessMask)">
            <summary>
            Remove access mask from this tree node and children and propgate that up the tree.
            </summary>
            <param name="mask">The mask to remove.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.ObjectTypeTree.Find(System.Guid)">
            <summary>
            Find an object type tree entry based on a GUID.
            </summary>
            <param name="object_type">The object type GUID.</param>
            <returns>The first entry found, null if doesn't exist.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.ObjectTypeTree.Split(System.Int32)">
            <summary>
            Split the tree up to reduce the maximum number of entries.
            </summary>
            <remarks>This will try and keep whole branches together if at all possible, 
            but might split them up. This could result in incorrect access checking.</remarks>
            <param name="max_entry">The maximum number of entries per tree.</param>
            <returns>One or more split trees.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Security.ObjectTypeTree.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The object formatted.</returns>
        </member>
        <member name="T:NtApiDotNet.Utilities.Text.BinaryEncoding">
            <summary>
            Encoding object which converts 1 to 1 with bytes.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Utilities.Text.BinaryEncoding.Instance">
            <summary>
            Default instance of the encoding.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Utilities.Text.BinaryEncoding.EncodingName">
            <summary>
            Get the encoding name.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.BinaryEncoding.GetByteCount(System.Char[],System.Int32,System.Int32)">
            <summary>
            Get byte count for characters.
            </summary>
            <param name="chars">The character array.</param>
            <param name="index">Index into the array.</param>
            <param name="count">Number of characters in the array to use.</param>
            <returns>The number of bytes this character array requires.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.BinaryEncoding.GetBytes(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32)">
            <summary>
            Get bytes for characters.
            </summary>
            <param name="chars">The character array.</param>
            <param name="charIndex">Index into the array.</param>
            <param name="charCount">Number of characters in the array to use.</param>
            <param name="byteIndex">The index into the byte array.</param>
            <param name="bytes">The byte array to copy into.</param>
            <returns>The number of bytes generated.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.BinaryEncoding.GetCharCount(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Get the character count for bytes.
            </summary>
            <param name="bytes">The byte array.</param>
            <param name="index">Index into the array.</param>
            <param name="count">Number of bytes in the array to use.</param>
            <returns>The number of characters this byte array requires.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.BinaryEncoding.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)">
            <summary>
            Get byte count for characters.
            </summary>
            <param name="chars">The character array.</param>
            <param name="charIndex">Index into the array.</param>
            <param name="byteCount">Number of bytes in the array to use.</param>
            <param name="byteIndex">The index into the byte array.</param>
            <param name="bytes">The byte array to copy into.</param>
            <returns>The number of characters generated.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.BinaryEncoding.GetMaxByteCount(System.Int32)">
            <summary>
            Get maximum bytes for a number of characters.
            </summary>
            <param name="charCount"></param>
            <returns></returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.BinaryEncoding.GetMaxCharCount(System.Int32)">
            <summary>
            Get maximum characters for a number of bytes.
            </summary>
            <param name="byteCount"></param>
            <returns></returns>
        </member>
        <member name="P:NtApiDotNet.Utilities.Text.BinaryEncoding.IsSingleByte">
            <summary>
            Indicates if the encoding is a single byte.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Utilities.Text.ExtractedString">
            <summary>
            A single extract string instance.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Utilities.Text.ExtractedString.Value">
            <summary>
            The string value.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Utilities.Text.ExtractedString.Offset">
            <summary>
            The offset in the buffer.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Utilities.Text.ExtractedString.Type">
            <summary>
            True if the string was 16-bit Unicode.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Utilities.Text.ExtractedString.Source">
            <summary>
            Source of the string. Empty if was from a byte array.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.ExtractedString.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The value of the extracted string.</returns>
        </member>
        <member name="T:NtApiDotNet.Utilities.Text.ExtractedStringType">
            <summary>
            Specify types of strings to extract.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Utilities.Text.ExtractedStringType.Ascii">
            <summary>
            Extract ASCII strings.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Utilities.Text.ExtractedStringType.Unicode">
            <summary>
            Extract Unicode strings.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Utilities.Text.HexDumpBuilder">
            <summary>
            Class to build a hex dump from a stream of bytes.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.HexDumpBuilder.Append(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Append an array of bytes to the hex dump.
            </summary>
            <param name="ba">The byte array.</param>
            <param name="length">The length of the bytes to append from the array.</param>
            <param name="offset">The start offset in the bytes to append.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.HexDumpBuilder.Append(System.Byte[])">
            <summary>
            Append an array of bytes to the hex dump.
            </summary>
            <param name="ba">The byte array.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.HexDumpBuilder.AppendFile(System.String,System.Int64,System.Int64)">
            <summary>
            Append a file or part of a file.
            </summary>
            <param name="path">The path to the file.</param>
            <param name="length">The length of the file to append. If 0 will append all remaining data.</param>
            <param name="offset">The start offset in the file to append.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.HexDumpBuilder.AppendFile(System.String)">
            <summary>
            Append a file or part of a file.
            </summary>
            <param name="path">The path to the file.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.HexDumpBuilder.Complete">
            <summary>
            Complete the hex dump string.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.HexDumpBuilder.ToString">
            <summary>
            Finish builder and convert to a string.
            </summary>
            <returns>The hex dump.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.HexDumpBuilder.#ctor(System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Int64)">
            <summary>
            Constructor.
            </summary>
            <param name="print_header">Print a header.</param>
            <param name="print_address">Print the address.</param>
            <param name="print_ascii">Print the ASCII text.</param>
            <param name="hide_repeating">Hide repeating lines.</param>
            <param name="address_offset">Offset for address printing.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.HexDumpBuilder.#ctor(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.Boolean,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Constructor.
            </summary>
            <param name="buffer">The safe buffer to print.</param>
            <param name="length">The length to display.</param>
            <param name="offset">The offset into the buffer to display.</param>
            <param name="print_header">Print a header.</param>
            <param name="print_address">Print the address.</param>
            <param name="print_ascii">Print the ASCII text.</param>
            <param name="hide_repeating">Hide repeating lines.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.HexDumpBuilder.#ctor(System.Runtime.InteropServices.SafeBuffer,System.Boolean,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Constructor.
            </summary>
            <param name="buffer">The safe buffer to print.</param>
            <param name="print_header">Print a header.</param>
            <param name="print_address">Print the address.</param>
            <param name="print_ascii">Print the ASCII text.</param>
            <param name="hide_repeating">Hide repeating lines.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.HexDumpBuilder.#ctor(System.IO.Stream,System.Boolean,System.Boolean,System.Boolean,System.Boolean,System.Int64)">
            <summary>
            Constructor.
            </summary>
            <param name="stm">The stream to print.</param>
            <param name="print_header">Print a header.</param>
            <param name="print_address">Print the address.</param>
            <param name="print_ascii">Print the ASCII text.</param>
            <param name="hide_repeating">Hide repeating lines.</param>
            <param name="address_offset">Offset for address printing.</param>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.HexDumpBuilder.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.HexDumpBuilder.ParseHexDump(System.String)">
            <summary>
            Parse a hex dump into a byte array.
            </summary>
            <param name="str">The hex string. Can contain non-hex characters.</param>
            <returns>The parsed string as a byte array.</returns>
            <remarks>This won't necessarily parse correctly an arbitary hex dump, but it will if you just use the hex of the bytes.</remarks>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.HexDumpBuilder.TryParseHexDump(System.String,System.Byte[]@)">
            <summary>
            Parse a hex string into a byte array.
            </summary>
            <param name="str">The hex string. Can contain non-hex characters.</param>
            <param name="data">The parsed string as a byte array.</param>
            <returns>True if the parse was successful.</returns>
            <remarks>This won't necessarily parse correctly an arbitary hex dump, but it will if you just use the hex of the bytes.</remarks>
        </member>
        <member name="T:NtApiDotNet.Utilities.Text.StringExtractor">
            <summary>
            Utility class to extract strings from a byte value.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.StringExtractor.Extract(System.Byte[],System.Int32,System.Int32,System.Int32,NtApiDotNet.Utilities.Text.ExtractedStringType)">
            <summary>
            Extracts strings from a binary buffer.
            </summary>
            <param name="data">The data to search.</param>
            <param name="count">The length of the data to search.</param>
            <param name="minimum_length">The minimum string length.</param>
            <param name="offset">The offset into the data to search.</param>
            <param name="type">The type of strings to search for.</param>
            <returns>The list of extracted strings.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.StringExtractor.Extract(System.Byte[],System.Int32,NtApiDotNet.Utilities.Text.ExtractedStringType)">
            <summary>
            Extracts strings from a binary buffer.
            </summary>
            <param name="data">The data to search.</param>
            <param name="minimum_length">The minimum string length.</param>
            <param name="type">The type of strings to search for.</param>
            <returns>The list of extracted strings.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.StringExtractor.Extract(System.IO.Stream,System.Int32,NtApiDotNet.Utilities.Text.ExtractedStringType)">
            <summary>
            Extracts strings from a stream.
            </summary>
            <param name="stm">The stream to extract strings from.</param>
            <param name="minimum_length">The minimum string length.</param>
            <param name="type">The type of strings to search for.</param>
            <returns>The list of extracted strings.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.StringExtractor.Extract(System.String,System.Int32,NtApiDotNet.Utilities.Text.ExtractedStringType)">
            <summary>
            Extracts strings from a file.
            </summary>
            <param name="path">The file to search.</param>
            <param name="minimum_length">The minimum string length.</param>
            <param name="type">The type of strings to search for.</param>
            <returns>The list of extracted strings.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.StringExtractor.Extract(System.Runtime.InteropServices.SafeBuffer,System.Int32,NtApiDotNet.Utilities.Text.ExtractedStringType)">
            <summary>
            Extracts strings from a safe buffer.
            </summary>
            <param name="buffer">Safe buffer to extract the value from.</param>
            <param name="minimum_length">The minimum string length.</param>
            <param name="type">The type of strings to search for.</param>
            <returns>The list of extracted strings.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.StringExtractor.Extract(System.Runtime.InteropServices.SafeBuffer,System.Int32,System.Int32,System.Int32,NtApiDotNet.Utilities.Text.ExtractedStringType)">
            <summary>
            Extracts strings from a safe buffer.
            </summary>
            <param name="buffer">Safe buffer to extract the value from.</param>
            <param name="minimum_length">The minimum string length.</param>
            <param name="type">The type of strings to search for.</param>
            <param name="count">The length of the data to search.</param>
            <param name="offset">The offset into the data to search.</param>
            <returns>The list of extracted strings.</returns>
        </member>
        <member name="T:NtApiDotNet.Utilities.Text.StringUtils">
            <summary>
            Class to call NT functions for manipulating strings.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.StringUtils.Upcase(System.Char)">
            <summary>
            Upper case a character according to the internal NTDLL string routines.
            </summary>
            <param name="c">The character to upper case.</param>
            <returns>The upper case character.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.StringUtils.Upcase(System.String,System.Boolean)">
            <summary>
            Upper case a string according to the internal NTDLL string routines.
            </summary>
            <param name="str">The string to upper case.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The upper case string.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.StringUtils.Upcase(System.String)">
            <summary>
            Upper case a string according to the internal NTDLL string routines.
            </summary>
            <param name="str">The string to upper case.</param>
            <returns>The upper case string.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.StringUtils.Downcase(System.Char)">
            <summary>
            Lower case a character according to the internal NTDLL string routines.
            </summary>
            <param name="c">The character to lower case.</param>
            <returns>The lower case character.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.StringUtils.Downcase(System.String,System.Boolean)">
            <summary>
            Lower case a string according to the internal NTDLL string routines.
            </summary>
            <param name="str">The string to lower case.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The lower case string.</returns>
        </member>
        <member name="M:NtApiDotNet.Utilities.Text.StringUtils.Downcase(System.String)">
            <summary>
            Lower case a string according to the internal NTDLL string routines.
            </summary>
            <param name="str">The string to lower case.</param>
            <returns>The lower case string.</returns>
        </member>
        <member name="T:NtApiDotNet.Token.ClaimSecurityAttributeBuilder">
            <summary>
            Builder for a claim security attribute.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Token.ClaimSecurityAttributeBuilder.Name">
            <summary>
            Name of the security attribute.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Token.ClaimSecurityAttributeBuilder.Flags">
            <summary>
            Attribute flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Token.ClaimSecurityAttributeBuilder.ValueType">
            <summary>
            The value type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Token.ClaimSecurityAttributeBuilder.Values">
            <summary>
            The current list of values.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Token.ClaimSecurityAttributeBuilder.ToAttribute">
            <summary>
            Convert build to a claim attribute.
            </summary>
            <returns></returns>
        </member>
        <member name="M:NtApiDotNet.Token.ClaimSecurityAttributeBuilder.Create(System.String,NtApiDotNet.ClaimSecurityFlags,System.Int64[])">
            <summary>
            Create a claim security attribute builder.
            </summary>
            <param name="name">The name of the security attribute.</param>
            <param name="flags">The attribute flags.</param>
            <param name="values">The value for the attribute.</param>
            <returns>The builder instance.</returns>
        </member>
        <member name="M:NtApiDotNet.Token.ClaimSecurityAttributeBuilder.Create(System.String,NtApiDotNet.ClaimSecurityFlags,System.UInt64[])">
            <summary>
            Create a claim security attribute builder.
            </summary>
            <param name="name">The name of the security attribute.</param>
            <param name="flags">The attribute flags.</param>
            <param name="values">The value for the attribute.</param>
            <returns>The builder instance.</returns>
        </member>
        <member name="M:NtApiDotNet.Token.ClaimSecurityAttributeBuilder.Create(System.String,NtApiDotNet.ClaimSecurityFlags,System.Byte[][])">
            <summary>
            Create a claim security attribute builder.
            </summary>
            <param name="name">The name of the security attribute.</param>
            <param name="flags">The attribute flags.</param>
            <param name="values">The value for the attribute.</param>
            <returns>The builder instance.</returns>
        </member>
        <member name="M:NtApiDotNet.Token.ClaimSecurityAttributeBuilder.Create(System.String,NtApiDotNet.ClaimSecurityFlags,NtApiDotNet.Sid[])">
            <summary>
            Create a claim security attribute builder.
            </summary>
            <param name="name">The name of the security attribute.</param>
            <param name="flags">The attribute flags.</param>
            <param name="values">The value for the attribute.</param>
            <returns>The builder instance.</returns>
        </member>
        <member name="M:NtApiDotNet.Token.ClaimSecurityAttributeBuilder.Create(System.String,NtApiDotNet.ClaimSecurityFlags,System.Boolean[])">
            <summary>
            Create a claim security attribute builder.
            </summary>
            <param name="name">The name of the security attribute.</param>
            <param name="flags">The attribute flags.</param>
            <param name="values">The value for the attribute.</param>
            <returns>The builder instance.</returns>
        </member>
        <member name="M:NtApiDotNet.Token.ClaimSecurityAttributeBuilder.Create(System.String,NtApiDotNet.ClaimSecurityFlags,System.String[])">
            <summary>
            Create a claim security attribute builder.
            </summary>
            <param name="name">The name of the security attribute.</param>
            <param name="flags">The attribute flags.</param>
            <param name="values">The value for the attribute.</param>
            <returns>The builder instance.</returns>
        </member>
        <member name="M:NtApiDotNet.Token.ClaimSecurityAttributeBuilder.Create(System.String,NtApiDotNet.ClaimSecurityFlags,NtApiDotNet.ClaimSecurityAttributeFqbn[])">
            <summary>
            Create a claim security attribute builder.
            </summary>
            <param name="name">The name of the security attribute.</param>
            <param name="flags">The attribute flags.</param>
            <param name="values">The value for the attribute.</param>
            <returns>The builder instance.</returns>
        </member>
        <member name="M:NtApiDotNet.Token.ClaimSecurityAttributeBuilder.Create(NtApiDotNet.ClaimSecurityAttribute)">
            <summary>
            Create a claim security attribute builder.
            </summary>
            <param name="attribute">An existing attribute to clone.</param>
            <returns>The builder instance.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.AppContainerProfile">
            <summary>
            A class which represents an AppContainer profile.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.AppContainerProfile.Create(System.String,System.String,System.String,System.Collections.Generic.IEnumerable{NtApiDotNet.Sid},System.Boolean)">
            <summary>
            Create a new AppContainerProfile.
            </summary>
            <param name="appcontainer_name">The name of the AppContainer.</param>
            <param name="display_name">A display name.</param>
            <param name="description">An optional description.</param>
            <param name="capabilities">An optional list of capability SIDs.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created AppContainer profile.</returns>
            <remarks>If the profile already exists then it'll be opened instead.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.AppContainerProfile.Create(System.String,System.String,System.String,System.Collections.Generic.IEnumerable{NtApiDotNet.Sid})">
            <summary>
            Create a new AppContainerProfile.
            </summary>
            <param name="appcontainer_name">The name of the AppContainer.</param>
            <param name="display_name">A display name.</param>
            <param name="description">An optional description.</param>
            <param name="capabilities">An optional list of capability SIDs.</param>
            <returns>The created AppContainer profile.</returns>
            <remarks>If the profile already exists then it'll be opened instead.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.AppContainerProfile.CreateTemporary(System.Collections.Generic.IEnumerable{NtApiDotNet.Sid})">
            <summary>
            Create a temporary AppContainer profile.
            </summary>
            <param name="capabilities">List of capabilities for the AppContainer profile.</param>
            <returns>The created AppContainer profile.</returns>
            <remarks>The profile will be marked to DeleteOnClose. In order to not leak the profile you
            should wait till the process has exited and dispose this profile.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.AppContainerProfile.CreateTemporary">
            <summary>
            Create a temporary AppContainer profile.
            </summary>
            <returns>The created AppContainer profile.</returns>
            <remarks>The profile will be marked to DeleteOnClose. In order to not leak the profile you
            should wait till the process has exited and dispose this profile.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.AppContainerProfile.Open(System.String,System.Boolean)">
            <summary>
            Opens an AppContainerProfile.
            </summary>
            <param name="appcontainer_name">The name of the AppContainer.</param>
            <param name="throw_on_error">True to throw no error.</param>
            <returns>The opened AppContainer profile.</returns>
            <remarks>This method doesn't check the profile exists.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.AppContainerProfile.Open(System.String)">
            <summary>
            Opens an AppContainerProfile.
            </summary>
            <param name="appcontainer_name">The name of the AppContainer.</param>
            <returns>The opened AppContainer profile.</returns>
            <remarks>This method doesn't check the profile exists.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.AppContainerProfile.OpenExisting(System.String,System.Boolean)">
            <summary>
            Opens an AppContainerProfile and checks it exists.
            </summary>
            <param name="appcontainer_name">The name of the AppContainer.</param>
            <param name="throw_on_error">True to throw no error.</param>
            <returns>The opened AppContainer profile.</returns>
            <remarks>This checks for the existence of the profile and also populates the additional information.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.AppContainerProfile.OpenExisting(System.String)">
            <summary>
            Opens an AppContainerProfile and checks it exists.
            </summary>
            <param name="appcontainer_name">The name of the AppContainer.</param>
            <returns>The opened AppContainer profile.</returns>
            <remarks>This checks for the existence of the profile and also populates the additional information.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.AppContainerProfile.Delete(System.String,System.Boolean)">
            <summary>
            Delete an existing profile.
            </summary>
            <param name="appcontainer_name">The AppContainer name.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The HRESULT from the delete operation.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.AppContainerProfile.Delete(System.String)">
            <summary>
            Delete an existing profile.
            </summary>
            <param name="appcontainer_name">The AppContainer name.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.AppContainerProfile.GetAppContainerProfiles(System.Boolean)">
            <summary>
            Enumerate all AppContainer profiles.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of appcontainer profiles.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.AppContainerProfile.GetAppContainerProfiles">
            <summary>
            Enumerate all AppContainer profiles.
            </summary>
            <returns>The list of appcontainer profiles.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.AppContainerProfile.Delete(System.Boolean)">
            <summary>
            Delete an existing profile.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The HRESULT from the delete operation.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.AppContainerProfile.Delete">
            <summary>
            Delete an existing profile.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.AppContainerProfile.Dispose">
            <summary>
            Dispose of the AppContainer profile. If DeleteOnClose is set then the profile will be deleted.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.AppContainerProfile.Close">
            <summary>
            Close an AppContainer profile. If DeleteOnClose is set then the profile will be deleted.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.AppContainerProfile.OpenKey(NtApiDotNet.KeyAccessRights,System.Boolean)">
            <summary>
            Open the AppContainer key.
            </summary>
            <param name="desired_access">The desired access for the key.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened key.</returns>
        </member>
        <member name="P:NtApiDotNet.Win32.AppContainerProfile.Name">
            <summary>
            The AppContainer name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.AppContainerProfile.Sid">
            <summary>
            The package SID 
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.AppContainerProfile.Path">
            <summary>
            Path to the AppContainer profile directory.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.AppContainerProfile.KeyPath">
            <summary>
            Path to the AppContainer key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.AppContainerProfile.DeleteOnClose">
            <summary>
            Set to true to delete the profile when closed.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.AppContainerProfile.Capabilities">
            <summary>
            Get list of capabilities assigned to this AppContainer profile.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.AppContainerProfile.DisplayName">
            <summary>
            The display name for the AppContainer profile.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.AppContainerProfile.Description">
            <summary>
            The description for the AppContainer profile.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.AppModel.AppModelUtils">
            <summary>
            Utilities for AppModel applications.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.AppModel.AppModelUtils.ActivateApplication(System.String,System.String,System.Boolean)">
            <summary>
            Activate an application from its Application Model ID.
            </summary>
            <param name="app_model_id">The app model ID.</param>
            <param name="arguments">Arguments for the activation.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The PID of the process.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.AppModel.AppModelUtils.ActivateApplication(System.String,System.String)">
            <summary>
            Activate an application from its Application Model ID.
            </summary>
            <param name="app_model_id">The app model ID.</param>
            <param name="arguments">Arguments for the activation.</param>
            <returns>The PID of the process.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.AppModel.AppModelUtils.GetLoopbackException(System.Boolean)">
            <summary>
            Get the list of package SIDs with a loopback exception.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of package SIDs with a loopback exception.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.AppModel.AppModelUtils.GetLoopbackException">
            <summary>
            Get the list of package SIDs with a loopback exception.
            </summary>
            <returns>The list of package SIDs with a loopback exception.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.AppModel.AppModelUtils.AddLoopbackException(NtApiDotNet.Sid,System.Boolean)">
            <summary>
            Add a loopback exception to the list.
            </summary>
            <param name="package_sid">The package SID to add.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.AppModel.AppModelUtils.AddLoopbackException(NtApiDotNet.Sid)">
            <summary>
            Add a loopback exception to the list.
            </summary>
            <param name="package_sid">The package SID to add.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.AppModel.AppModelUtils.RemoveLoopbackException(NtApiDotNet.Sid,System.Boolean)">
            <summary>
            Remove a loopback exception from the list.
            </summary>
            <param name="package_sid">The package SID to remove.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.AppModel.AppModelUtils.RemoveLoopbackException(NtApiDotNet.Sid)">
            <summary>
            Remove a loopback exception to the list.
            </summary>
            <param name="package_sid">The package SID to remove.</param>
        </member>
        <member name="T:NtApiDotNet.Win32.ConsoleSessionConnectState">
            <summary>
            State of the console session.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ConsoleSessionConnectState.Active">
            <summary>
            User logged on to WinStation
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ConsoleSessionConnectState.Connected">
            <summary>
            WinStation connected to client
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ConsoleSessionConnectState.ConnectQuery">
            <summary>
            In the process of connecting to client
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ConsoleSessionConnectState.Shadow">
            <summary>
            Shadowing another WinStation
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ConsoleSessionConnectState.Disconnected">
            <summary>
            WinStation logged on without client
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ConsoleSessionConnectState.Idle">
            <summary>
            Waiting for client to connect
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ConsoleSessionConnectState.Listen">
            <summary>
            WinStation is listening for connection
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ConsoleSessionConnectState.Reset">
            <summary>
            WinStation is being reset
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ConsoleSessionConnectState.Down">
            <summary>
            WinStation is down due to error
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ConsoleSessionConnectState.Init">
            <summary>
            WinStation in initialization
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.ConsoleSession">
            <summary>
            Class to represent a console session.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ConsoleSession.SessionId">
            <summary>
            The session ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ConsoleSession.SessionName">
            <summary>
            The Session Name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ConsoleSession.UserName">
            <summary>
            The Username if any user authenticated.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ConsoleSession.DomainName">
            <summary>
            The Domain Name for the User.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ConsoleSession.State">
            <summary>
            The Console Session State.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ConsoleSession.HostName">
            <summary>
            The hostname for the client.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ConsoleSession.FarmName">
            <summary>
            The Farm name for Virtual Machine Farm.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ConsoleSession.FullQualifiedUserName">
            <summary>
            Get the FQ User Name.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Debugger.ArrayTypeInformation">
            <summary>
            Type information for an array.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.ArrayTypeInformation.ArrayType">
            <summary>
            Get array element type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.ArrayTypeInformation.Count">
            <summary>
            Get number of array elements.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Debugger.BaseTypeInformation">
            <summary>
            Type information for a base type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Debugger.DataSymbolInformation">
            <summary>
            Symbol information for a data value.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.DataSymbolInformation.Address">
            <summary>
            Address of the symbol.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Debugger.EnumTypeInformationValue">
            <summary>
            Enumerated type value.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.EnumTypeInformationValue.Name">
            <summary>
            Name of the value.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.EnumTypeInformationValue.Value">
            <summary>
            The value as an int64.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Debugger.EnumTypeInformation">
            <summary>
            Symbol information for an enumerated type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.EnumTypeInformation.Values">
            <summary>
            Get the values for the enumerated type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Debugger.FunctionParameter">
            <summary>
            Class for a function parameter.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.FunctionParameter.Name">
            <summary>
            Name of the parameter.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.FunctionParameter.ParameterType">
            <summary>
            Type of the parameter.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Debugger.FunctionTypeInformation">
            <summary>
            Type information for a function.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.FunctionTypeInformation.ReturnType">
            <summary>
            Type for the return type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.FunctionTypeInformation.Parameters">
            <summary>
            List of function parameters.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Debugger.ISymbolTypeResolver">
            <summary>
            Interface for symbol type resolver.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.ISymbolTypeResolver.QueryTypes(System.IntPtr)">
            <summary>
            Query types in a module.
            </summary>
            <param name="base_address">The base address of the module.</param>
            <returns>The list of types.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.ISymbolTypeResolver.QueryTypeNames(System.IntPtr)">
            <summary>
            Query names of types in a module.
            </summary>
            <param name="base_address">The base address of the module.</param>
            <returns>The list of type names.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.ISymbolTypeResolver.GetTypeByName(System.IntPtr,System.String)">
            <summary>
            Get a type by name.
            </summary>
            <param name="base_address">The base address of the module containing the type.</param>
            <param name="name">The name of the type.</param>
            <returns></returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.ISymbolTypeResolver.QueryTypesByName(System.IntPtr,System.String)">
            <summary>
            Query types by name
            </summary>
            <param name="base_address">The base address of the module containing the type.</param>
            <param name="mask">A mask string for the type name. e.g. mod!ABC*</param>
            <returns>The list of types.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.ISymbolTypeResolver.GetTypeForSymbolByName(System.String)">
            <summary>
            Get the address of a symbol.
            </summary>
            <param name="name">The name of the symbol, should include the module name, e.g. modulename!MySymbol.</param>
            <returns>The symbol type.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.ISymbolTypeResolver.GetTypeForSymbolByAddress(System.IntPtr)">
            <summary>
            Get the address of a symbol.
            </summary>
            <param name="address">The address of the symbol.</param>
            <returns>The symbol type.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Debugger.PointerTypeInformation">
            <summary>
            Type information for a pointer value.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.PointerTypeInformation.PointerType">
            <summary>
            Get the type this pointer references.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.PointerTypeInformation.IsReference">
            <summary>
            Indicates this pointer is a reference.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.PointerTypeInformation.Name">
            <summary>
            The name of the symbol.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Debugger.SymbolInformation">
            <summary>
            Class to represent a symbol information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.SymbolInformation.Name">
            <summary>
            The name of the symbol.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.SymbolInformation.Size">
            <summary>
            Size of the symbol.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.SymbolInformation.Module">
            <summary>
            Get the loaded module for the symbol.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.SymbolInformation.Type">
            <summary>
            Type of the symbol.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.SymbolInformation.TypeIndex">
            <summary>
            Internal type index.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.SymbolInformation.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>Returns the symbol name.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Debugger.SymbolInformationType">
            <summary>
            Enumeration for symbol type information.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Debugger.SymbolInformationType.None">
            <summary>
            None.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Debugger.SymbolInformationType.UserDefinedType">
            <summary>
            UDT.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Debugger.SymbolInformationType.EnumeratedType">
            <summary>
            Enumerated type.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Debugger.SymbolInformationType.BaseType">
            <summary>
            A base type.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Debugger.SymbolInformationType.Function">
            <summary>
            A function type.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Debugger.SymbolInformationType.Pointer">
            <summary>
            A pointer type.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Debugger.SymbolInformationType.UndefinedType">
            <summary>
            Undefined.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Debugger.SymbolResolverFlags">
            <summary>
            Flags for the symbol resolver.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Debugger.SymbolResolverFlags.None">
            <summary>
            No flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Debugger.SymbolResolverFlags.TraceSymbolLoading">
            <summary>
            Trace symbol file loading
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Debugger.SymbolResolverFlags.DisableExportSymbols">
            <summary>
            Disable resolving export symbols if no PDB can be found.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Debugger.SymbolResolverFlags.SymSrvFallback">
            <summary>
            Enable a symbol server fallback. If the copy of dbghelp doesn't have a symsrv.dll
            then download from a public symbol URL to a local cache directory during symbol
            resolving.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Debugger.TypeInformation">
            <summary>
            Symbol information for a type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Debugger.UserDefinedTypeMember">
            <summary>
            Represents a member of a UDT.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.UserDefinedTypeMember.Type">
            <summary>
            The type of the member.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.UserDefinedTypeMember.Name">
            <summary>
            The name of the member.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.UserDefinedTypeMember.Offset">
            <summary>
            The offset into the UDT.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.UserDefinedTypeMember.Size">
            <summary>
            The size of the member.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Debugger.UserDefinedTypeBitFieldMember">
            <summary>
            Represents a bit field member of a UDT.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.UserDefinedTypeBitFieldMember.BitPosition">
            <summary>
            If a bit field then this is the bit start position.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.UserDefinedTypeBitFieldMember.BitLength">
            <summary>
            If a bit field this is the bit length.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Debugger.UserDefinedTypeInformation">
            <summary>
            Symbol information for an enumerated type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.UserDefinedTypeInformation.Members">
            <summary>
            The members of the UDT.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.UserDefinedTypeInformation.Union">
            <summary>
            Indicates the UDT is a union.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Debugger.Win32DebugConsole">
            <summary>
            Class to capture Win32 debug output.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.Win32DebugConsole.Create(System.Int32,System.Boolean)">
            <summary>
            Create an instance of the Win32 debug console.
            </summary>
            <param name="session_id">The session ID for the console. Set to 0 to capture global output.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The Win32 debug console.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.Win32DebugConsole.Create(System.Int32)">
            <summary>
            Create an instance of the Win32 debug console.
            </summary>
            <param name="session_id">The session ID for the console. Set to 0 to capture global output.</param>
            <returns>The Win32 debug console.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.Win32DebugConsole.Create(System.Boolean)">
            <summary>
            Create an instance of the Win32 debug console for current session.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The Win32 debug console.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.Win32DebugConsole.Create">
            <summary>
            Create an instance of the Win32 debug console for current session.
            </summary>
            <returns>The Win32 debug console.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.Win32DebugConsole.CreateGlobal(System.Boolean)">
            <summary>
            Create an instance of the Win32 debug console for the global session.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The Win32 debug console.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.Win32DebugConsole.CreateGlobal">
            <summary>
            Create an instance of the Win32 debug console for the global  session.
            </summary>
            <returns>The Win32 debug console.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.Win32DebugConsole.ReadAsync(System.Int32,System.Threading.CancellationToken)">
            <summary>
            Read a debug string from for the console asynchronously.
            </summary>
            <param name="timeout_ms">The timeout in milliseconds.</param>
            <param name="cancellation_token">Cancellation token.</param>
            <returns>The Win32 debug string. If timed out then Output property is null.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.Win32DebugConsole.ReadAsync(System.Int32)">
            <summary>
            Read a debug string from for the console asynchronously.
            </summary>
            <param name="timeout_ms">The timeout in milliseconds.</param>
            <returns>The Win32 debug string. If timed out then Output property is null.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.Win32DebugConsole.ReadAsync">
            <summary>
            Read a debug string from for the console asynchronously.
            </summary>
            <returns>The Win32 debug string. If timed out then Output property is null.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.Win32DebugConsole.Read(System.Int32)">
            <summary>
            Read a debug string from for the console.
            </summary>
            <param name="timeout_ms">The timeout in milliseconds.</param>
            <returns>The Win32 debug string. If timed out then Output property is null.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.Win32DebugConsole.Read">
            <summary>
            Read a debug string from for the console.
            </summary>
            <returns>The Win32 debug string. If timed out then Output property is null.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.Win32DebugConsole.AttachToSession(System.Int32,System.Boolean)">
            <summary>
            Attach the debug console to another session.
            </summary>
            <param name="session_id">The session ID.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.Win32DebugConsole.AttachToSession(System.Int32)">
            <summary>
            Attach the debug console to another session.
            </summary>
            <param name="session_id">The session ID.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Debugger.Win32DebugConsole.Dispose">
            <summary>
            Dispose debug console.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Debugger.Win32DebugString">
            <summary>
            Structure for a debug string event.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.Win32DebugString.ProcessId">
            <summary>
            The process ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Debugger.Win32DebugString.Output">
            <summary>
            The output string.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Device.DeviceBusTypeGuids">
            <summary>
            Class to hold known bus type GUIDs.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Device.DeviceInterfaceClass">
            <summary>
            Class to represent a device interface.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceInterfaceClass.Name">
            <summary>
            The name of the interface class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceInterfaceClass.Class">
            <summary>
            The device interface GUID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceInterfaceClass.Instances">
            <summary>
            The list of device interface instances.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceInterfaceClass.GetProperties">
            <summary>
            The list of all device interface properties.
            </summary>
            <returns>The device interface properties.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Device.DeviceInterfaceClassGuids">
            <summary>
            Class containing well known device interface class GUIDs.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceInterfaceClassGuids.GuidToName(System.Guid)">
            <summary>
            Convert interface class GUID to a string.
            </summary>
            <param name="interface_class_guid"></param>
            <returns>The name of the interface class GUID.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceInterfaceClassGuids.GetInterfaceGuids">
            <summary>
            Get the list of known interface GUIDs.
            </summary>
            <returns>The list of known interface guids.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Device.DeviceInterfaceInstance">
            <summary>
            Class to represent a device interface instance.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceInterfaceInstance.SymbolicLinkPath">
            <summary>
            The instance path to the device.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceInterfaceInstance.DevicePath">
            <summary>
            The raw device path.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceInterfaceInstance.Class">
            <summary>
            The device interface class GUID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceInterfaceInstance.InstanceId">
            <summary>
            The device instance ID for the device node.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceInterfaceInstance.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The Win32Path.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceInterfaceInstance.GetProperties">
            <summary>
            The list of all device interface instance properties.
            </summary>
            <returns>The device interface instance properties.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Device.DEVPROPTYPE">
            <summary>
            Device property types.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Device.DeviceNode">
            <summary>
            Class representing a device node.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.Name">
            <summary>
            The name of the device instance.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.Class">
            <summary>
            The device setup class GUID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.InstanceId">
            <summary>
            The device instance ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.PDOName">
            <summary>
            Get the device PDO name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.INFName">
            <summary>
            Get the device INF name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.INFPath">
            <summary>
            Get the device INF path.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.DeviceStack">
            <summary>
            Get the device stack.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.DeviceStackPaths">
            <summary>
            The the device stack as a list of driver paths.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.SessionId">
            <summary>
            Indicates if this is a per-session device. If null then not defined.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.IsPresent">
            <summary>
            Indicates if this instance is present.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.Service">
            <summary>
            Indicates the name of the SCM service for the driver.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.DriverPath">
            <summary>
            Get path to the driver.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.StartType">
            <summary>
            Get driver start type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.Parent">
            <summary>
            Get the parent device node.
            </summary>
            <returns>The parent device node. Returns null if reached the root.</returns>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.UpperFilters">
            <summary>
            List of upper filters.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.LowerFilters">
            <summary>
            List of lower filters.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.ContainerId">
            <summary>
            Container ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.BusType">
            <summary>
            Type of bus for the device.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.UserMode">
            <summary>
            Get if the device is a user-mode device.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceNode.GetProperties">
            <summary>
            The list of all device properties.
            </summary>
            <returns>The device properties.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceNode.GetSetupClass">
            <summary>
            Get the setup class for this instance.
            </summary>
            <returns>Returns the setup class.</returns>
            <exception cref="T:System.ArgumentException">Thrown if invalid setup GUID.</exception>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceNode.GetParentNodes">
            <summary>
            Get list of parent nodes.
            </summary>
            <returns>The list of parent nodes.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceNode.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns></returns>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.SecurityDescriptor">
            <summary>
            Optional security descriptor for device node.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceNode.HasSecurityDescriptor">
            <summary>
            Indicates the device node has a security descriptor.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Device.DeviceProperty">
            <summary>
            Device property.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceProperty.Name">
            <summary>
            The name of the property, if known.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceProperty.FmtId">
            <summary>
            The FMTID Guid.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceProperty.Pid">
            <summary>
            The PID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceProperty.Type">
            <summary>
            The device property type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceProperty.Data">
            <summary>
            Property data.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceProperty.FormatData">
            <summary>
            Format the data according to type.
            </summary>
            <returns>The formatted data.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceProperty.ToString">
            <summary>
            ToString method.
            </summary>
            <returns>The property as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Device.DeviceSetupClass">
            <summary>
            Class to represent a device setup class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceSetupClass.FriendlyName">
            <summary>
            The friendly name of the device.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceSetupClass.Name">
            <summary>
            The name of the device class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceSetupClass.Class">
            <summary>
            The device class installer Guid.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceSetupClass.SecurityDescriptor">
            <summary>
            The security descriptor for the device (if available).
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceSetupClass.HasSecurityDescriptor">
            <summary>
            Indicates the device setup class has a security descriptor.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceSetupClass.DeviceType">
            <summary>
            The device type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceSetupClass.Characteristics">
            <summary>
            The device characteristics.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceSetupClass.UpperFilters">
            <summary>
            List of upper filters.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceSetupClass.LowerFilters">
            <summary>
            List of lower filters.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceSetupClass.GetProperties">
            <summary>
            The list of all device setup properties.
            </summary>
            <returns>The device setup properties.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceSetupClass.GetInstances(System.Boolean)">
            <summary>
            Get device instances.
            </summary>
            <param name="all_devices">Return all devices.</param>
            <returns>The list of devices instances.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceSetupClass.GetInstances">
            <summary>
            Get device instances.
            </summary>
            <returns>The list of devices instances.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Device.DeviceStackEntryType">
            <summary>
            Enumerated type for device stack type.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Device.DeviceStackEntryType.Unknown">
            <summary>
            Unknown type.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Device.DeviceStackEntryType.Function">
            <summary>
            Entry is for the function driver.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Device.DeviceStackEntryType.Bus">
            <summary>
            Entry is for the bus driver.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Device.DeviceStackEntryType.UpperFilter">
            <summary>
            Entry is for an upper filter.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Device.DeviceStackEntryType.LowerFilter">
            <summary>
            Entry is for the lower filter.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Device.DeviceStackEntryType.Filter">
            <summary>
            Entry is for a filter.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Device.DeviceStackEntry">
            <summary>
            Class to represent an entry on the stack.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceStackEntry.Driver">
            <summary>
            Name of the driver.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceStackEntry.DriverPath">
            <summary>
            Path to the driver.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceStackEntry.Type">
            <summary>
            Stack entry type.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceStackEntry.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The name of the driver in the stack.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Device.DeviceTreeNode">
            <summary>
            Class to represent a node in a device tree.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceTreeNode.Children">
            <summary>
            List of child nodes.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceTreeNode.HasChildren">
            <summary>
            Indicates if the node has any children.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Device.DeviceTreeNode.Parent">
            <summary>
            Get the parent device node.
            </summary>
            <returns>The parent device node. Returns null if reached the root.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Device.DeviceUtils">
            <summary>
            Utilities for interacting with Device, Configuration and Setup APIs.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.GetDeviceInterfaceList(System.Guid,System.String,System.Boolean)">
            <summary>
            Get a list of device interfaces from an Interface GUID.
            </summary>
            <param name="interface_class_guid">The interface class GUID for the device.</param>
            <param name="device_id">Optional device ID.</param>
            <param name="all_devices">True to get all devices, otherwise just present devices.</param>
            <returns>List of device interfaces.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.GetDeviceInterfaceList(System.Guid)">
            <summary>
            Get a list of present device interfaces from an Inteface GUID.
            </summary>
            <param name="interface_class_guid">The interface class GUID for the device.</param>
            <returns>List of device interfaces.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.EnumerateInstallerClasses">
            <summary>
            Enumerate installer class GUIDs.
            </summary>
            <returns>The list of installer class GUIDs.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.EnumerateInterfaceClasses">
            <summary>
            Enumerate interface class GUIDs.
            </summary>
            <returns>The list of interface class GUIDs.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.GetDeviceSecurityDescriptor(System.Guid,System.Boolean)">
            <summary>
            Query the security descriptor for a device.
            </summary>
            <param name="installer_class">The installer device class.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.GetDeviceSecurityDescriptor(System.Guid)">
            <summary>
            Query the security descriptor for a device.
            </summary>
            <param name="installer_class">The installer device class.</param>
            <returns>The security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.GetDeviceSetupClasses">
            <summary>
            Get list of registered device setup classes.
            </summary>
            <returns>The list of device setup classes.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.GetDeviceSetupClass(System.Guid)">
            <summary>
            Get a device setup class by GUID.
            </summary>
            <param name="class_guid">The class GUID.</param>
            <returns>The device setup class.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.GetDeviceInterfaceClasses(System.Boolean)">
            <summary>
            Get list of registered device interfaces.
            </summary>
            <param name="all_devices">True to return all devices.</param>
            <returns>The list of device interfaces.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.GetDeviceInterfaceClasses">
            <summary>
            Get list of registered device interfaces.
            </summary>
            <returns>The list of device interfaces.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.GetDeviceInterfaceClass(System.Guid,System.Boolean)">
            <summary>
            Get a device interface class by GUID.
            </summary>
            <param name="class_guid">The class GUID.</param>
            <param name="all_devices">True to return all devices.</param>
            <returns>The device interface class.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.GetDeviceInterfaceClass(System.Guid)">
            <summary>
            Get a device interface class by GUID.
            </summary>
            <param name="class_guid">The class GUID.</param>
            <returns>The device interface class.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.GetDeviceNodeList(System.Boolean)">
            <summary>
            Get list of device nodes.
            </summary>
            <param name="all_devices">Return all devices including ones which aren't present.</param>
            <returns>The list of device nodes.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.GetDeviceNodeList">
            <summary>
            Get list of present device nodes.
            </summary>
            <returns>The list of device entries.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.GetDeviceNodeList(System.Guid,System.Boolean)">
            <summary>
            Get list of device entries.
            </summary>
            <param name="class_guid">Specify the Device Setup Class GUID.</param>
            <param name="all_devices">Only return present devices.</param>
            <returns>The list of device entries.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.GetDeviceNodeList(System.Guid)">
            <summary>
            Get list of present device entries.
            </summary>
            <param name="class_guid">Specify the Device Setup Class GUID.</param>
            <returns>The list of device entries.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.GetDeviceNode(System.String)">
            <summary>
            Get the device node from a device ID.
            </summary>
            <param name="instance_id">The instance ID to lookup..</param>
            <returns>The device node.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.GetDeviceNodeTree">
            <summary>
            Get device tree.
            </summary>
            <returns>The device tree's root node.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.GetDeviceNodeTree(System.String)">
            <summary>
            Get the node from a device instance ID.
            </summary>
            <param name="instance_id">The instance ID to start from.</param>
            <returns>The root device node.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.GetDeviceInterfaceInstances">
            <summary>
            Get all device interface instances.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.GetDeviceInterfaceInstances(System.Guid)">
            <summary>
            Get all device interface instances for a given interface class GUID.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.DeviceUtils.GetDeviceInterfaceInstance(System.String)">
            <summary>
            Get an interface instance from the interface instance path.
            </summary>
            <param name="link_path">The path to the interface symbolic link. e.g. \??\SOME$VALUE.</param>
        </member>
        <member name="T:NtApiDotNet.Win32.Device.IDevicePropertyProvider">
            <summary>
            Interface to indicate the device object has properties.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Device.IDevicePropertyProvider.GetProperties">
            <summary>
            The list of all device properties.
            </summary>
            <returns>The device properties.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.DirectoryService.DirectoryServiceAccessRights">
            <summary>
            Access rights for Active Directory Services.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.DirectoryService.DirectoryServiceBinding">
            <summary>
            Class to represent a binding to a directory service.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceBinding.CrackNames(NtApiDotNet.Win32.DirectoryService.DirectoryServiceNameFlags,NtApiDotNet.Win32.DirectoryService.DirectoryServiceNameFormat,NtApiDotNet.Win32.DirectoryService.DirectoryServiceNameFormat,System.Collections.Generic.IEnumerable{System.String},System.Boolean)">
            <summary>
            Crack one or more names on the domain controller.
            </summary>
            <param name="flags">Flags for the cracking.</param>
            <param name="format_offered">Format of the names.</param>
            <param name="format_desired">Desired format of the names.</param>
            <param name="names">The list of names to crack.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The cracked names.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceBinding.CrackNames(NtApiDotNet.Win32.DirectoryService.DirectoryServiceNameFlags,NtApiDotNet.Win32.DirectoryService.DirectoryServiceNameFormat,NtApiDotNet.Win32.DirectoryService.DirectoryServiceNameFormat,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Crack one or more names on the domain controller.
            </summary>
            <param name="flags">Flags for the cracking.</param>
            <param name="format_offered">Format of the names.</param>
            <param name="format_desired">Desired format of the names.</param>
            <param name="names">The list of names to crack.</param>
            <returns>The cracked names.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceBinding.CrackName(NtApiDotNet.Win32.DirectoryService.DirectoryServiceNameFlags,NtApiDotNet.Win32.DirectoryService.DirectoryServiceNameFormat,NtApiDotNet.Win32.DirectoryService.DirectoryServiceNameFormat,System.String,System.Boolean)">
            <summary>
            Crack a name on the domain controller.
            </summary>
            <param name="flags">Flags for the cracking.</param>
            <param name="format_offered">Format of the name.</param>
            <param name="format_desired">Desired format of the name.</param>
            <param name="name">The name to crack.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The cracked name.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceBinding.CrackName(NtApiDotNet.Win32.DirectoryService.DirectoryServiceNameFlags,NtApiDotNet.Win32.DirectoryService.DirectoryServiceNameFormat,NtApiDotNet.Win32.DirectoryService.DirectoryServiceNameFormat,System.String)">
            <summary>
            Crack a name on the domain controller.
            </summary>
            <param name="flags">Flags for the cracking.</param>
            <param name="format_offered">Format of the name.</param>
            <param name="format_desired">Desired format of the name.</param>
            <param name="name">The name to crack.</param>
            <returns>The cracked name.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceBinding.GetNamingContextNames(System.Boolean)">
            <summary>
            Get naming contexts for domain.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The naming contexts.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceBinding.GetNamingContextNames">
            <summary>
            Get naming contexts for domain.
            </summary>
            <returns>The naming contexts.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceBinding.Bind(System.String,System.String,System.Boolean)">
            <summary>
            Bind to a directory service.
            </summary>
            <param name="domain_controller_name">The name of the domain controller. Can be null.</param>
            <param name="dns_domain_name">The DNS domain name.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The directory service binding.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceBinding.Bind(System.String,System.String)">
            <summary>
            Bind to a directory service.
            </summary>
            <param name="domain_controller_name">The name of the domain controller. Can be null.</param>
            <param name="dns_domain_name">The DNS domain name.</param>
            <returns>The directory service binding.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceBinding.Bind">
            <summary>
            Bind to the current directory service.
            </summary>
            <returns>The directory service binding.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceBinding.Dispose">
            <summary>
            Dispose the binding.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.DirectoryService.DirectoryServiceExtendedRight">
            <summary>
            Class to represent an directory service extended right queries from the current domain.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceExtendedRight.Name">
            <summary>
            The common name of the extended right.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceExtendedRight.DistinguishedName">
            <summary>
            The distinguished name for the extended right.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceExtendedRight.Domain">
            <summary>
            The domain name searched for this extended right.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceExtendedRight.RightsId">
            <summary>
            The rights GUID for this extended right.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceExtendedRight.AppliesTo">
            <summary>
            The list of applies to GUIDs.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceExtendedRight.ValidAccesses">
            <summary>
            The valid accesses for this extended right.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceExtendedRight.PropertySet">
            <summary>
            Get list of properties if a property set.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceExtendedRight.IsPropertySet">
            <summary>
            True if this a property set extended right.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceExtendedRight.IsValidatedWrite">
            <summary>
            True if this is a validated write extended right.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceExtendedRight.IsControl">
            <summary>
            True if this is a control extended right.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceExtendedRight.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The name of the extended right.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceExtendedRight.ToObjectTypeTree">
            <summary>
            Convert the extended right to an object type tree.
            </summary>
            <returns>The tree of object types.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceExtendedRight.op_Explicit(NtApiDotNet.Win32.DirectoryService.DirectoryServiceExtendedRight)~NtApiDotNet.Utilities.Security.ObjectTypeTree">
            <summary>
            Convert the extended right to an object type tree.
            </summary>
            <param name="right">The extended right to convert.</param>
            <returns>The tree of object types.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.DirectoryService.DirectoryServiceHeuristics">
            <summary>
            Flags and settings from the dSHeuristics attribute.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceHeuristics.SupFirstLastANR">
            <summary>
            The fSupFirstLastANR flag.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceHeuristics.SupLastFirstANR">
            <summary>
            The fSupLastFirstANR flag.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceHeuristics.DoListObject">
            <summary>
            The fDoListObject flag.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceHeuristics.LDAPBlockAnonOps">
            <summary>
            The fLDAPBlockAnonOps flag.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceHeuristics.AllowAnonNSPI">
            <summary>
            The fAllowAnonNSPI  flag.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceHeuristics.DontStandardizeSDs">
            <summary>
            The fDontStandardizeSDs flag.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceHeuristics.Value">
            <summary>
            The raw value for the dsHeuristics attribute.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceHeuristics.Domain">
            <summary>
            The domain where the value was read.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.DirectoryService.DirectoryServiceNameError">
            <summary>
            Directory services name error.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.DirectoryService.DirectoryServiceNameFlags">
            <summary>
            Directory services name flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.DirectoryService.DirectoryServiceNameFormat">
            <summary>
            Directory services name format.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.DirectoryService.DirectoryServiceNameResult">
            <summary>
            Structure to represent a directory service name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceNameResult.Status">
            <summary>
            Status of the name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceNameResult.Domain">
            <summary>
            Domain of the name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceNameResult.Name">
            <summary>
            Name of the name.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.DirectoryService.DirectoryServiceNativeMethods">
            <summary>
            Native methods for directory services.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.DirectoryService.DirectoryServiceObjectTypeLevel">
            <summary>
            Object type level for a directory object.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DirectoryService.DirectoryServiceObjectTypeLevel.Object">
            <summary>
            Object type.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DirectoryService.DirectoryServiceObjectTypeLevel.PropertySet">
            <summary>
            Property set type.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DirectoryService.DirectoryServiceObjectTypeLevel.Property">
            <summary>
            Property type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.DirectoryService.DirectoryServiceReferenceClass">
            <summary>
            Class to represent an a class which is referenced from another. For example auxiliary or superior classes.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceReferenceClass.Name">
            <summary>
            The name of the class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceReferenceClass.System">
            <summary>
            Whether the class is a system class.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceReferenceClass.ToSchemaClass">
            <summary>
            Get the full schema class for this reference.
            </summary>
            <returns>The schema class.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaAttribute">
            <summary>
            Class to represent a directory service schema attribute.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaAttribute.AttributeSyntax">
            <summary>
            The attributes syntax.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaAttribute.OMSyntax">
            <summary>
            The OM syntax.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaAttribute.OMObjectClass">
            <summary>
            The OM object class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaAttribute.AttributeType">
            <summary>
            The name of the attribute syntax type if known.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaAttribute.AttributeSecurityGuid">
            <summary>
            The GUID of the containing property set, if it exists.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaAttribute.InPropertySet">
            <summary>
            Indicates if the attribute is in a property set.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClass">
            <summary>
            Class to represent a directory service schema class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClass.SubClassOf">
            <summary>
            The subclass schema name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClass.Attributes">
            <summary>
            List of attributes the class can contain.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClass.DefaultSecurityDescriptor">
            <summary>
            The default security descriptor.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClass.DefaultSecurityDescriptorSddl">
            <summary>
            The default security descriptor in SDDL format.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClass.AuxiliaryClasses">
            <summary>
            The list of auxiliary classes for this class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClass.Category">
            <summary>
            The category of schema class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClass.PossibleSuperiors">
            <summary>
            The list of possible superior classes for this class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClass.PossibleInferiors">
            <summary>
            Possible inferiors of the class.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClassAttribute">
            <summary>
            Structure to represent an attribute for a class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClassAttribute.Name">
            <summary>
            The name of the attribute.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClassAttribute.Required">
            <summary>
            True if the attribute is required.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClassAttribute.System">
            <summary>
            True if the attribute can only be modified by system.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClassAttribute.GetHashCode">
            <summary>
            Get the hash code for the attribute.
            </summary>
            <returns>The hash code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClassAttribute.Equals(System.Object)">
            <summary>
            Check attributes for equality.
            </summary>
            <param name="obj">The other attribute to check.</param>
            <returns>True if equal.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClassAttribute.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The name of the attribute.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClassCategory">
            <summary>
            Represents the type of schema class.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClassCategory.Class88">
            <summary>
            Legacy class.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClassCategory.Structural">
            <summary>
            Structure class (can be created).
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClassCategory.Abstract">
            <summary>
            Abstract class.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaClassCategory.Auxiliary">
            <summary>
            Auxiliary class.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaObject">
            <summary>
            Base class for a schema class or attribute object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaObject.SchemaId">
            <summary>
            The GUID of the schema class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaObject.CommonName">
            <summary>
            The name of the schema class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaObject.Name">
            <summary>
            The LDAP display name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaObject.ObjectClass">
            <summary>
            The object class for the schema class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaObject.DistinguishedName">
            <summary>
            The distinguished name for the schema class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaObject.Domain">
            <summary>
            The domain name searched for this schema class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaObject.Description">
            <summary>
            The admin description for the object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaObject.SystemOnly">
            <summary>
            Indicates if this schema object is system only.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaObject.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The name of the schema class.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaObject.ToObjectTypeTree">
            <summary>
            Convert the schema class to an object type tree.
            </summary>
            <returns>The tree of object types.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaObject.op_Explicit(NtApiDotNet.Win32.DirectoryService.DirectoryServiceSchemaObject)~NtApiDotNet.Utilities.Security.ObjectTypeTree">
            <summary>
            Convert the extended right to an object type tree.
            </summary>
            <param name="schema_class">The schema class to convert.</param>
            <returns>The tree of object types.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSecurityPrincipal">
            <summary>
            Class to represent a security principal in the directory.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSecurityPrincipal.DistinguishedName">
            <summary>
            Distinguished name of the group.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSecurityPrincipal.Sid">
            <summary>
            The SID of the object.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSecurityPrincipal.Equals(System.Object)">
            <summary>
            Overridden Equals.
            </summary>
            <param name="obj">The other object to test.</param>
            <returns>True if equal.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceSecurityPrincipal.GetHashCode">
            <summary>
            Overridden GetHashCode.
            </summary>
            <returns>The hash code.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUserFlags">
            <summary>
            User flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils">
            <summary>
            Class implementing various utilities for directory services.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.DS_NT_TYPE_NAME">
            <summary>
            Name for the fake Directory Service NT type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GenericMapping">
            <summary>
            Get the generic mapping for directory services.
            </summary>
            <returns>The directory services generic mapping.</returns>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.NtType">
            <summary>
            Get a fake NtType for Directory Services.
            </summary>
            <returns>The fake Directory Services NtType</returns>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.DefaultPropertySet">
            <summary>
            Get the default property set.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetSchemaClass(System.String,System.Guid)">
            <summary>
            Get the schema class for a GUID.
            </summary>
            <param name="domain">Specify the domain to get the schema class for.</param>
            <param name="schema_id">The GUID for the schema class.</param>
            <returns>The schema class, or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetSchemaClass(System.Guid)">
            <summary>
            Get the schema class for a GUID.
            </summary>
            <param name="schema_id">The GUID for the schema class.</param>
            <returns>The schema class, or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetSchemaClass(System.String,System.String)">
            <summary>
            Get the schema class for a LDAP name.
            </summary>
            <param name="domain">Specify the domain to get the schema class for.</param>
            <param name="name">The LDAP name for the schema class.</param>
            <returns>The schema class, or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetSchemaClass(System.String)">
            <summary>
            Get the schema class for a LDAP name.
            </summary>
            <param name="name">The LDAP name for the schema class.</param>
            <returns>The schema class, or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetInferiorSchemaClasses(System.String,System.String)">
            <summary>
            Get the inferior schema class for a LDAP name.
            </summary>
            <param name="domain">Specify the domain to get the schema class for.</param>
            <param name="name">The LDAP name for the parent schema class.</param>
            <returns>The schema classes.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetInferiorSchemaClasses(System.String)">
            <summary>
            Get the inferior schema class for a LDAP name.
            </summary>
            <param name="name">The LDAP name for the schema class.</param>
            <returns>The schema classes.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetAuxiliarySchemaClasses(System.String,System.String)">
            <summary>
            Get the auxiliary schema classes for a LDAP name.
            </summary>
            <param name="domain">Specify the domain to get the schema class for.</param>
            <param name="name">The LDAP name for the parent schema class.</param>
            <returns>The schema classes.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetAuxiliarySchemaClasses(System.String)">
            <summary>
            Get the auxiliary schema classes for a LDAP name.
            </summary>
            <param name="name">The LDAP name for the schema class.</param>
            <returns>The schema classes.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetSchemaClasses(System.String)">
            <summary>
            Get all schema classes.
            </summary>
            <param name="domain">Specify the domain to get the schema classes for.</param>
            <returns>The list of schema classes.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetSchemaClasses">
            <summary>
            Get all schema classes.
            </summary>
            <returns>The list of schema classes.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetSchemaClasses(System.String,System.String,System.Boolean)">
            <summary>
            Get all schema classes in a hierarchy.
            </summary>
            <param name="domain">Specify the domain to get the schema classes for.</param>
            <param name="include_auxiliary">Specify to include auxiliary classes in the list.</param>
            <param name="name">The name of the base schema class.</param>
            <returns>The list of schema classes.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetSchemaClasses(System.String,System.Boolean)">
            <summary>
            Get all schema classes in a hierarchy.
            </summary>
            <param name="include_auxiliary">Specify to include auxiliary classes in the list.</param>
            <param name="name">The name of the base schema class.</param>
            <returns>The list of schema classes.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetSchemaClassName(System.String,System.Guid)">
            <summary>
            Get the common name of an schema object class.
            </summary>
            <param name="domain">Specify the domain to get the schema class for.</param>
            <param name="schema_id">The GUID for the schema class.</param>
            <returns>The common name of the schema class, or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetSchemaClassName(System.Guid)">
            <summary>
            Get the common name of an schema object class.
            </summary>
            <param name="schema_id">The GUID for the schema class.</param>
            <returns>The common name of the schema class, or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetSchemaAttribute(System.String,System.Guid)">
            <summary>
            Get the schema attribute for a GUID.
            </summary>
            <param name="domain">Specify the domain to get the schema attribute for.</param>
            <param name="schema_id">The GUID for the schema attribute.</param>
            <returns>The schema attribute, or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetSchemaAttribute(System.Guid)">
            <summary>
            Get the schema attribute for a GUID.
            </summary>
            <param name="schema_id">The GUID for the schema attribute.</param>
            <returns>The schema attribute, or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetSchemaAttribute(System.String,System.String)">
            <summary>
            Get the schema attribute for a LDAP name.
            </summary>
            <param name="domain">Specify the domain to get the schema attribute for.</param>
            <param name="name">The LDAP name for the schema attribute.</param>
            <returns>The schema attribute, or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetSchemaAttribute(System.String)">
            <summary>
            Get the schema attribute for a LDAP name.
            </summary>
            <param name="name">The LDAP name for the schema attribute.</param>
            <returns>The schema attribute, or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetSchemaAttributes(System.String)">
            <summary>
            Get all schema attributes.
            </summary>
            <param name="domain">Specify the domain to get the schema attributes for.</param>
            <returns>The list of schema attributes.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetSchemaAttributes">
            <summary>
            Get all schema attributes.
            </summary>
            <returns>The list of schema attributes.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetSchemaAttributeName(System.String,System.Guid)">
            <summary>
            Get the common name of a schema attribute.
            </summary>
            <param name="domain">Specify the domain to get the schema attribute for.</param>
            <param name="schema_id">The GUID for the schema attribute.</param>
            <returns>The common name of the schema attribute, or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetSchemaAttributeName(System.Guid)">
            <summary>
            Get the common name of a schema attribute.
            </summary>
            <param name="schema_id">The GUID for the schema attribute.</param>
            <returns>The common name of the schema attribute, or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetExtendedRightName(System.String,System.Guid,System.Boolean)">
            <summary>
            Get the extended right name by GUID.
            </summary>
            <param name="domain">Specify the domain for the extended right.</param>
            <param name="right_guid">The GUID for the extended right.</param>
            <param name="expand_property_set">If true and the right is a property set, expand the name.</param>
            <returns>The name of the extended right, or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetExtendedRightName(System.Guid,System.Boolean)">
            <summary>
            Get the extended right name by GUID.
            </summary>
            <param name="right_guid">The GUID for the extended right.</param>
            <param name="expand_property_set">If true and the right is a property set, expand the name.</param>
            <returns>The name of the extended right, or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetExtendedRight(System.String,System.Guid)">
            <summary>
            Get an extended right by GUID.
            </summary>
            <param name="domain">Specify the domain to get the extended right for.</param>
            <param name="right_guid">The GUID for the extended right.</param>
            <returns>The extended right, or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetExtendedRight(System.Guid)">
            <summary>
            Get an extended right by GUID.
            </summary>
            <param name="right_guid">The GUID for the extended right.</param>
            <returns>The extended right, or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetExtendedRight(System.String,System.String)">
            <summary>
            Get an extended right by common name.
            </summary>
            <param name="domain">Specify the domain to get the extended right for.</param>
            <param name="name">The common name for the extended right.</param>
            <returns>The extended right, or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetExtendedRight(System.String)">
            <summary>
            Get an extended right by common name.
            </summary>
            <param name="name">The common name for the extended right.</param>
            <returns>The extended right, or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetExtendedRights(System.String)">
            <summary>
            Get a list of all extended rights in the current domain.
            </summary>
            <param name="domain">Specify the domain to get the extended rights from.</param>
            <returns>The list of extended rights.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetExtendedRights">
            <summary>
            Get a list of all extended rights in the current domain.
            </summary>
            <returns>The list of extended rights.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetExtendedRights(System.String,System.Guid)">
            <summary>
            Get a list of extended rights applied to a schema class.
            </summary>
            <param name="domain">Specify the domain to get the extended rights from.</param>
            <param name="schema_id">The schema class identifier.</param>
            <returns>The list of extended rights applies to the schema class.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetExtendedRights(System.Guid)">
            <summary>
            Get a list of extended rights applied to a schema class in the current domain.
            </summary>
            <param name="schema_id">The schema class identifier.</param>
            <returns>The list of extended rights applies to the schema class.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.CreateObjectTypeEntry(NtApiDotNet.Win32.DirectoryService.DirectoryServiceObjectTypeLevel,System.Guid,System.String)">
            <summary>
            Create an object type entry for an access check.
            </summary>
            <param name="level">The object type level.</param>
            <param name="object_type">The object type GUID.</param>
            <param name="name">An optional name.</param>
            <returns>The object type entry.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetObjectSid(System.DirectoryServices.DirectoryEntry)">
            <summary>
            Get the object SID from a directory object.
            </summary>
            <param name="entry">The directory entry.</param>
            <returns>The object SID. Returns null if no object SID exists.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetObjectSid(System.String,System.String)">
            <summary>
            Get the object SID from a directory object.
            </summary>
            <param name="domain">The domain name for the object.</param>
            <param name="distinguished_name">The distinguished name of the object.</param>
            <returns>The object SID. Returns null if no object SID exists.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetObjectSid(System.String)">
            <summary>
            Get the object SID from a directory object.
            </summary>
            <param name="distinguished_name">The distinguished name of the object.</param>
            <returns>The object SID. Returns null if no object SID exists.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetObject(System.String,System.String)">
            <summary>
            Get a directory object.
            </summary>
            <param name="domain">The domain name for the object.</param>
            <param name="distinguished_name">The distinguished name of the object.</param>
            <returns>The object entry.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetObject(System.String)">
            <summary>
            Get a directory object.
            </summary>
            <param name="distinguished_name">The distinguished name of the object.</param>
            <returns>The object entry.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.StandardizeSecurityDescriptor(NtApiDotNet.SecurityDescriptor)">
            <summary>
            Standardize security descriptor to the rules of Active Directory.
            </summary>
            <param name="security_descriptor">The security descriptor.</param>
            <returns>The standardized security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetDsHeuristics(System.String)">
            <summary>
            Get the value for the dsHeuristics attribute.
            </summary>
            <param name="domain">The domain to read the dsHeuristics from.</param>
            <returns>The dsHeuristics value.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetDsHeuristics">
            <summary>
            Get the value for the dsHeuristics attribute.
            </summary>
            <returns>The dsHeuristics value.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetSDRightsEffective(System.String,System.String)">
            <summary>
            Get the value for an object's sDRightsEffective attribute.
            </summary>
            <param name="domain">The domain for the object.</param>
            <param name="distinguished_name">The distinguished name of the object.</param>
            <returns>The sDRightsEffective value.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.GetSDRightsEffective(System.String)">
            <summary>
            Get the value for an object's sDRightsEffective attribute.
            </summary>
            <param name="distinguished_name">The distinguished name of the object.</param>
            <returns>The sDRightsEffective value.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.FindObjectFromSid(System.String,NtApiDotNet.Sid)">
            <summary>
            Try and find the an object from its SID.
            </summary>
            <param name="domain">Specify the domain to search.</param>
            <param name="sid">The SID to find.</param>
            <returns>The distinguished name of the object, null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.FindTokenGroupsForName(System.String,System.String,System.Boolean)">
            <summary>
            Try and find the token groups for an object.
            </summary>
            <param name="domain">Domain name for the lookup.</param>
            <param name="name">The distinguished name to find.</param>
            <param name="all_groups">True to return all groups including BUILTIN on the server. False for just universal and global groups.</param>
            <returns>The list of member SIDs.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.FindTokenGroupsForSid(NtApiDotNet.Sid,System.Boolean)">
            <summary>
            Try and find the token groups for an object using the SID.
            </summary>
            <param name="sid">Sid to use for the object.</param>
            <param name="all_groups">True to return all groups including BUILTIN on the server. False for just universal and global groups.</param>
            <returns>The list of member SIDs.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.FindDomainLocalGroupForMember(System.String,System.String)">
            <summary>
            Try and find the membership of groups for a name.
            </summary>
            <param name="domain">Domain name for the lookup.</param>
            <param name="name">The distinguished name to find as member.</param>
            <returns>The list of groups.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.CacheDomainSchema(System.String)">
            <summary>
            Call to pre-cache the schema for a domain, could take a long time to load.
            </summary>
            <param name="domain">The domain to cache.</param>
            <returns>True if the schema was cached successfully.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.DirectoryServiceUtils.CacheDomainSchema">
            <summary>
            Call to pre-cache the schema for the current domain, could take a long time to load.
            </summary>
            <returns>True if the schema was cached successfully.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.DirectoryService.IDirectoryServiceObjectTree">
            <summary>
            Interface to convert a directory object to a tree for access checking.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.IDirectoryServiceObjectTree.Name">
            <summary>
            The name of the object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DirectoryService.IDirectoryServiceObjectTree.Id">
            <summary>
            The ID of the object.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.DirectoryService.IDirectoryServiceObjectTree.ToObjectTypeTree">
            <summary>
            Convert the schema class to an object type tree.
            </summary>
            <returns>The tree of object types.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.DllCharacteristics">
            <summary>
            DLL characteristic flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DllCharacteristics.Reserved1">
            <summary>
            Reserved
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DllCharacteristics.Reserved2">
            <summary>
            Reserved
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DllCharacteristics.Reserved4">
            <summary>
            Reserved
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DllCharacteristics.Reserved8">
            <summary>
            Reserved
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DllCharacteristics.Reserved10">
            <summary>
            Reserved
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DllCharacteristics.HighEntropyVA">
            <summary>
            Image can handle a high entropy 64-bit virtual address space. 
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DllCharacteristics.DynamicBase">
            <summary>
            DLL can be relocated at load time.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DllCharacteristics.ForceIntegrity">
            <summary>
            Code Integrity checks are enforced.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DllCharacteristics.NxCompat">
            <summary>
            Image is NX compatible.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DllCharacteristics.NoIsolation">
            <summary>
            Isolation aware, but do not isolate the image.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DllCharacteristics.NoSeh">
            <summary>
            Does not use structured exception (SE) handling. No SE handler may be called in this image.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DllCharacteristics.NoBind">
            <summary>
            Do not bind the image.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DllCharacteristics.AppContainer">
            <summary>
            Image must execute in an AppContainer.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DllCharacteristics.WdmDriver">
            <summary>
            A WDM driver.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DllCharacteristics.GuardCF">
            <summary>
            Image supports Control Flow Guard.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DllCharacteristics.TerminalServerAware">
            <summary>
            Terminal Server aware. 
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.DllDebugData">
            <summary>
            CodeView debug data for an executable.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllDebugData.Magic">
            <summary>
            The magic identifier.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllDebugData.Id">
            <summary>
            The unique identifier.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllDebugData.Age">
            <summary>
            Age of debug information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllDebugData.PdbPath">
            <summary>
            Path to PDB file.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllDebugData.IdentiferPath">
            <summary>
            Identifier path to use when looking up symbol file.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllDebugData.PdbName">
            <summary>
            Get just the name of the PDB file.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.DllDebugData.GetSymbolPath(System.String)">
            <summary>
            Get the symbol server path.
            </summary>
            <param name="symbol_url">The symbol URL, either a local path or a remote URL.</param>
            <returns>The symbol server path.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.DllExport">
            <summary>
            Single DLL export entry.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllExport.Name">
            <summary>
            The name of the export. If an ordinal this is #ORD.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllExport.Ordinal">
            <summary>
            The ordinal number.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllExport.Address">
            <summary>
            Address of the exported entry. Can be 0 if a forwarded function.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllExport.Forwarder">
            <summary>
            Name of the forwarder, if used.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllExport.ModulePath">
            <summary>
            Get the module this was exported from.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.DllExport.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The name of the export.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.DllImport">
            <summary>
            Single DLL import.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllImport.DllName">
            <summary>
            The name of the DLL importing from.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllImport.Functions">
            <summary>
            List of DLL imported functions.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllImport.Names">
            <summary>
            List of names imported.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllImport.FunctionCount">
            <summary>
            Could of functions
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllImport.DelayLoaded">
            <summary>
            True of the imports are delay loaded.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllImport.ModulePath">
            <summary>
            The path to the executable this import came from.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.DllImport.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The DLL name and count.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.DllImportFunction">
            <summary>
            Single DLL import function.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllImportFunction.DllName">
            <summary>
            The name of the DLL importing from.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllImportFunction.Name">
            <summary>
            The name of the imported function. If an ordinal this is #ORD.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllImportFunction.Address">
            <summary>
            Address of the imported function. Can be 0 if not a bound DLL.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.DllImportFunction.Ordinal">
            <summary>
            Ordinal of import, if imported by ordinal. -1 if not.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.DllImportFunction.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The name of the imported function.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.EventTrace">
            <summary>
            Simple class for an event trace.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTrace.Write">
            <summary>
            Write an empty event.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTrace.Dispose">
            <summary>
            Dispose method.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.EventTraceLevel">
            <summary>
            Level for trace event.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.EventTraceLevel.Critical">
            <summary>
            Critical level.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.EventTraceLevel.Error">
            <summary>
            Error level.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.EventTraceLevel.Warning">
            <summary>
            Warning level.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.EventTraceLevel.Information">
            <summary>
            Information level.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.EventTraceLevel.Verbose">
            <summary>
            Verbose level.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.EventFilterDescriptor">
            <summary>
            Descriptor for an enabled trace provider.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.EventFilterDescriptor.Ptr">
            <summary>
            Pointer to descriptor data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.EventFilterDescriptor.Size">
            <summary>
            Size of descriptor data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.EventFilterDescriptor.Type">
            <summary>
            Type of descriptor data.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.EventTraceLog">
            <summary>
            An Event Trace Log.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTraceLog.EnableProvider(System.Guid,NtApiDotNet.Win32.EventTraceLevel,System.UInt64,System.UInt64,System.Int32,System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.EventFilterDescriptor},System.Boolean)">
            <summary>
            Enable a provider.
            </summary>
            <param name="provider_id">The GUID of the provider.</param>
            <param name="level">The level for the events.</param>
            <param name="match_any_keyword">Any keywords to match.</param>
            <param name="match_all_keyword">All keywords to match.</param>
            <param name="timeout">The timeout.</param>
            <param name="descriptors">List of optional descriptors.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The resulting status code.</returns>
        </member>
        <member name="P:NtApiDotNet.Win32.EventTraceLog.SessionGuid">
            <summary>
            Get allocated session GUID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.EventTraceLog.SessionName">
            <summary>
            Get name of the session.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTraceLog.Finalize">
            <summary>
            Finalizer.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTraceLog.Dispose">
            <summary>
            Dispose the event trace log.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.EventTraceProviderSource">
            <summary>
            Source of an event trace provider.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.EventTraceProviderSource.Unknown">
            <summary>
            Unknown source.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.EventTraceProviderSource.WMI">
            <summary>
            From WMI.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.EventTraceProviderSource.TraceControl">
            <summary>
            From NtTraceControl.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.EventTraceProviderSource.Security">
            <summary>
            From the security key.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.EventTraceProvider">
            <summary>
            Class to represent an Event Trace Provider.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.EventTraceProvider.Id">
            <summary>
            The ID of the provider.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.EventTraceProvider.Name">
            <summary>
            The name of the provider.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.EventTraceProvider.FromXml">
            <summary>
            Whether the provider is defined as an XML file or a MOF.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.EventTraceProvider.SecurityDescriptor">
            <summary>
            The provider security descriptor (only available as admin).
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.EventTraceProvider.Source">
            <summary>
            Indicates the source of the provider.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.EventTracing">
            <summary>
            Class to access event tracing methods.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTracing.QueryTraceSecurity(System.Guid,System.Boolean)">
            <summary>
            Query security of an event.
            </summary>
            <param name="guid">The event GUID to query.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The event security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTracing.QueryTraceSecurity(System.Guid)">
            <summary>
            Query security of an event.
            </summary>
            <param name="guid">The event GUID to query.</param>
            <returns>The event security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTracing.QueryDefaultSecurity(System.Boolean)">
            <summary>
            Query the default security for events.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The default security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTracing.QueryDefaultSecurity">
            <summary>
            Query the default security for events.
            </summary>
            <returns>The default security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTracing.ControlTraceSecurity(System.Guid,NtApiDotNet.Win32.EventSecurityOperation,NtApiDotNet.Sid,NtApiDotNet.TraceAccessRights,System.Boolean,System.Boolean)">
            <summary>
            Modify trace security.
            </summary>
            <param name="guid">The event trace GUID.</param>
            <param name="operation">The operation to perform.</param>
            <param name="sid">The SID to set.</param>
            <param name="access_mask">The access mask to set.</param>
            <param name="allow">True to allow, false to deny.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTracing.ControlTraceSecurity(System.Guid,NtApiDotNet.Win32.EventSecurityOperation,NtApiDotNet.Sid,NtApiDotNet.TraceAccessRights,System.Boolean)">
            <summary>
            Modify trace security.
            </summary>
            <param name="guid">The event trace GUID.</param>
            <param name="operation">The operation to perform.</param>
            <param name="sid">The SID to set.</param>
            <param name="access_mask">The access mask to set.</param>
            <param name="allow">True to allow, false to deny.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTracing.AddTraceSecurityDacl(System.Guid,NtApiDotNet.Sid,NtApiDotNet.TraceAccessRights,System.Boolean,System.Boolean)">
            <summary>
            Adds DACL ACE for an event trace.
            </summary>
            <param name="guid">The event trace GUID.</param>
            <param name="sid">The SID to set.</param>
            <param name="access_mask">The access mask to set.</param>
            <param name="allow">True to allow, false to deny.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTracing.AddTraceSecurityDacl(System.Guid,NtApiDotNet.Sid,NtApiDotNet.TraceAccessRights,System.Boolean)">
            <summary>
            Adds DACL ACE for an event trace.
            </summary>
            <param name="guid">The event trace GUID.</param>
            <param name="sid">The SID to set.</param>
            <param name="access_mask">The access mask to set.</param>
            <param name="allow">True to allow, false to deny.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTracing.SetTraceSecurityDacl(System.Guid,NtApiDotNet.Sid,NtApiDotNet.TraceAccessRights,System.Boolean,System.Boolean)">
            <summary>
            Clears DACL and adds ACE for an event trace.
            </summary>
            <param name="guid">The event trace GUID.</param>
            <param name="sid">The SID to set.</param>
            <param name="access_mask">The access mask to set.</param>
            <param name="allow">True to allow, false to deny.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTracing.SetTraceSecurityDacl(System.Guid,NtApiDotNet.Sid,NtApiDotNet.TraceAccessRights,System.Boolean)">
            <summary>
            lears DACL and adds ACE for an event trace.
            </summary>
            <param name="guid">The event trace GUID.</param>
            <param name="sid">The SID to set.</param>
            <param name="access_mask">The access mask to set.</param>
            <param name="allow">True to allow, false to deny.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTracing.RemoveTraceSecurity(System.Guid,System.Boolean)">
            <summary>
            Remove security for an event trace.
            </summary>
            <param name="guid">The event trace GUID.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTracing.RemoveTraceSecurity(System.Guid)">
            <summary>
            Remove security for an event trace.
            </summary>
            <param name="guid">The event trace GUID.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTracing.Register(System.Guid,System.Boolean)">
            <summary>
            Register an event trace with a specific GUID.
            </summary>
            <param name="guid">The event trace GUID.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The event trace.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTracing.Start(System.String,System.Guid,System.String,System.Boolean)">
            <summary>
            Start an event trace log.
            </summary>
            <param name="logfile">The path to the log file.</param>
            <param name="session_guid">Session GUID.</param>
            <param name="session_name">The name of the logging session.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The event trace log.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTracing.Start(System.String,System.Guid,System.String)">
            <summary>
            Start an event trace log.
            </summary>
            <param name="logfile">The path to the log file.</param>
            <param name="session_guid">Session GUID.</param>
            <param name="session_name">The name of the logging session.</param>
            <returns>The event trace log.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTracing.Register(System.Guid)">
            <summary>
            Register an event trace with a specific GUID.
            </summary>
            <param name="guid">The event trace GUID.</param>
            <returns>The event trace.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTracing.GetTraceGuids">
            <summary>
            Get the list of registered trace GUIDs.
            </summary>
            <returns>The list of trace GUIDs.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTracing.GetProviders(System.Boolean)">
            <summary>
            Get the list of registered trace providers.
            </summary>
            <param name="cached">Specify true to return a list of cached providers.</param>
            <returns>The list of trace providers.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTracing.GetProviders">
            <summary>
            Get the list of registered trace providers.
            </summary>
            <returns>The list of trace providers.</returns>
            <remarks>Returns a cached list of providers, if you want to check the current list use GetProviders(bool).</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.EventTracing.GetProviderName(System.Guid)">
            <summary>
            Get the name of a provider.
            </summary>
            <param name="provider_id">The ID of the provider.</param>
            <returns>The name of the provider. Returns null if the provider had no name or doesn't exist.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.ExecutableManifest">
            <summary>
            Contains information about a manifest file.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ExecutableManifest.ParseError">
            <summary>
            True if parsing the XML manifest failed.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ExecutableManifest.FullPath">
            <summary>
            Full path to the manifest location.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ExecutableManifest.Name">
            <summary>
            The name of the manifest.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ExecutableManifest.UiAccess">
            <summary>
            True if the manifest indicates UI access.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ExecutableManifest.ExecutionLevel">
            <summary>
            The execution level from the manifest.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ExecutableManifest.AutoElevate">
            <summary>
            True if the manifest indicates auto elevation.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ExecutableManifest.ManifestXml">
            <summary>
            The manifest XML.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ExecutableManifest.LongPathAware">
            <summary>
            True if the manifest indicates long path awareness.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.ExecutableManifest.GetManifests(System.String)">
            <summary>
            Get the manifests from a file.
            </summary>
            <param name="filename">The file to extract the manifests from.</param>
            <returns>The list of manifests.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ExecutableManifest.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The manifest as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Filter.FilterConnectionPort">
            <summary>
            A class to represent filter communication port.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterConnectionPort.Open(System.String,System.Boolean,System.Byte[],System.Boolean)">
            <summary>
            Open a filter communications port.
            </summary>
            <param name="port_name">The port name, e.g. \FilterName</param>
            <param name="sync_handle">Make the handle synchronous.</param>
            <param name="context">Optional context data.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The filter communications port.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterConnectionPort.Open(System.String,System.Boolean,System.Byte[])">
            <summary>
            Open a filter communications port.
            </summary>
            <param name="port_name">The port name, e.g. \FilterName</param>
            <param name="sync_handle">Make the handle synchronous.</param>
            <param name="context">Optional context data.</param>
            <returns>The filter communications port.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterConnectionPort.Open(System.String)">
            <summary>
            Open a filter communications port.
            </summary>
            <param name="port_name">The port name, e.g. \FilterName</param>
            <returns>The filter communications port.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterConnectionPort.GetMessage(System.Int32,System.Boolean)">
            <summary>
            Get message from port.
            </summary>
            <param name="max_message_size">The maximum message size to receive.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The returned message.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterConnectionPort.GetMessage(System.Int32)">
            <summary>
            Get message from port.
            </summary>
            <param name="max_message_size">The maximum message size to receive.</param>
            <returns>The returned message.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterConnectionPort.ReplyMessage(NtApiDotNet.NtStatus,System.UInt64,System.Byte[],System.Boolean)">
            <summary>
            Reply to message.
            </summary>
            <param name="status">The NT status code.</param>
            <param name="message_id">The message ID from GetMessage.</param>
            <param name="data">The data to send.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterConnectionPort.ReplyMessage(NtApiDotNet.NtStatus,System.UInt64,System.Byte[])">
            <summary>
            Reply to message.
            </summary>
            <param name="status">The NT status code.</param>
            <param name="message_id">The message ID from GetMessage.</param>
            <param name="data">The data to send.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterConnectionPort.SendMessage(System.Runtime.InteropServices.SafeBuffer,System.Runtime.InteropServices.SafeBuffer,System.Boolean)">
            <summary>
            Send a message to the filter.
            </summary>
            <param name="input">The input buffer.</param>
            <param name="output">The output buffer.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The bytes in the output buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterConnectionPort.SendMessage(System.Runtime.InteropServices.SafeBuffer,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Send a message to the filter.
            </summary>
            <param name="input">The input buffer.</param>
            <param name="output">The output buffer.</param>
            <returns>The bytes in the output buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterConnectionPort.SendMessage(System.Byte[],System.Int32,System.Boolean)">
            <summary>
            Send a message to the filter.
            </summary>
            <param name="input">The input buffer.</param>
            <param name="max_output_length">The maximum size of the output buffer.</param>
            <param name="throw_on_error">true to throw on error.</param>
            <returns>The output buffer.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterConnectionPort.SendMessage(System.Byte[],System.Int32)">
            <summary>
            Send a message to the filter.
            </summary>
            <param name="input">The input buffer.</param>
            <param name="max_output_length">The maximum size of the output buffer.</param>
            <returns>The output buffer.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Filter.FilterConnectionPortMessage">
            <summary>
            Class to represent a filter communications port message.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Filter.FilterConnectionPortMessage.MessageId">
            <summary>
            The message ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Filter.FilterConnectionPortMessage.Data">
            <summary>
            The returned data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Filter.FilterConnectionPortMessage.ReplyLength">
            <summary>
            The length of the reply to send.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Filter.FilterDriver">
            <summary>
            Class to represent a filter drive.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Filter.FilterDriver.MiniFilter">
            <summary>
            True if a mini-filter, false if a legacy-filter.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Filter.FilterDriver.Flags">
            <summary>
            Flags, if any.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Filter.FilterDriver.FrameID">
            <summary>
            The frame ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Filter.FilterDriver.NumberOfInstances">
            <summary>
            Number of instances if a mini-filter.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Filter.FilterDriver.Name">
            <summary>
            Name of the filter driver.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Filter.FilterDriver.Altitude">
            <summary>
            Altitude of the filter driver.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Filter.FilterInstance">
            <summary>
            Class to represent a mini-filter instance.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Filter.FilterInstance.Name">
            <summary>
            The name of the instance.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Filter.FilterInstance.Altitude">
            <summary>
            The altitude of the instance.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Filter.FilterInstance.VolumeName">
            <summary>
            The volume name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Filter.FilterInstance.FilterName">
            <summary>
            The filter name.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Filter.FilterFilesystemType">
            <summary>
            Filter filesystem type.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.UNKNOWN">
            <summary>
            an UNKNOWN file system type
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.RAW">
            <summary>
            Microsoft's RAW file system       (\FileSystem\RAW)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.NTFS">
            <summary>
            Microsoft's NTFS file system      (\FileSystem\Ntfs)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.FAT">
            <summary>
            Microsoft's FAT file system       (\FileSystem\Fastfat)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.CDFS">
            <summary>
            Microsoft's CDFS file system      (\FileSystem\Cdfs)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.UDFS">
            <summary>
            Microsoft's UDFS file system      (\FileSystem\Udfs)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.LANMAN">
            <summary>
            Microsoft's LanMan Redirector     (\FileSystem\MRxSmb)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.WEBDAV">
            <summary>
            Microsoft's WebDav redirector     (\FileSystem\MRxDav)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.RDPDR">
            <summary>
            Microsoft's Terminal Server redirector    (\Driver\rdpdr)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.NFS">
            <summary>
            Microsoft's NFS file system       (\FileSystem\NfsRdr)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.MS_NETWARE">
            <summary>
            Microsoft's NetWare redirector    (\FileSystem\nwrdr)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.NETWARE">
            <summary>
            Novell's NetWare redirector
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.BSUDF">
            <summary>
            The BsUDF CD-ROM driver           (\FileSystem\BsUDF)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.MUP">
            <summary>
            Microsoft's Mup redirector        (\FileSystem\Mup)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.RSFX">
            <summary>
            Microsoft's WinFS redirector      (\FileSystem\RsFxDrv)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.ROXIO_UDF1">
            <summary>
            Roxio's UDF writeable file system (\FileSystem\cdudf_xp)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.ROXIO_UDF2">
            <summary>
            Roxio's UDF readable file system  (\FileSystem\UdfReadr_xp)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.ROXIO_UDF3">
            <summary>
            Roxio's DVD file system           (\FileSystem\DVDVRRdr_xp)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.TACIT">
            <summary>
            Tacit FileSystem                  (\Device\TCFSPSE)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.FS_REC">
            <summary>
            Microsoft's File system recognizer (\FileSystem\Fs_rec)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.INCD">
            <summary>
            Nero's InCD file system           (\FileSystem\InCDfs)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.INCD_FAT">
            <summary>
            Nero's InCD FAT file system       (\FileSystem\InCDFat)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.EXFAT">
            <summary>
            Microsoft's EXFat FILE SYSTEM     (\FileSystem\exfat)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.PSFS">
            <summary>
            PolyServ's file system            (\FileSystem\psfs)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.GPFS">
            <summary>
            IBM General Parallel File System  (\FileSystem\gpfs)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.NPFS">
            <summary>
            Microsoft's Named Pipe file system(\FileSystem\npfs)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.MSFS">
            <summary>
            Microsoft's Mailslot file system  (\FileSystem\msfs)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.CSVFS">
            <summary>
            Microsoft's Cluster Shared Volume file system  (\FileSystem\csvfs)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.REFS">
            <summary>
            Microsoft's ReFS file system      (\FileSystem\Refs or \FileSystem\Refsv1)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.OPENAFS">
            <summary>
            OpenAFS file system               (\Device\AFSRedirector)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterFilesystemType.CIMFS">
            <summary>
            Composite Image file system       (\FileSystem\cimfs)
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Filter.FilterManagerUtils">
            <summary>
            Methods for accessing Filter Manager information.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterManagerUtils.GetFilterDrivers">
            <summary>
            Enumerate the list of filter drivers.
            </summary>
            <returns>The list of filter drivers.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterManagerUtils.GetFilterDriverInstances(System.String)">
            <summary>
            Enumerate the list of filter driver instances.
            </summary>
            <param name="filter_name">The name of the filter driver.</param>
            <returns>The list of filter driver instances.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterManagerUtils.GetFilterDriverInstances">
            <summary>
            Enumerate the list of filter driver instances for all filter drivers.
            </summary>
            <returns>The list of filter driver instances.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterManagerUtils.GetFilterVolumeInstances(System.String)">
            <summary>
            Enumerate the list of filter drivers attached to a volume.
            </summary>
            <param name="volume_name">The name of volume, e.g. C:\</param>
            <returns>The list of filter volume instances.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterManagerUtils.GetFilterVolumeInstances">
            <summary>
            Enumerate the list of filter drivers attached for all volumes.
            </summary>
            <returns>The list of filter volume instances.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterManagerUtils.GetFilterVolumes">
            <summary>
            Enumerate the list of filter volumes.
            </summary>
            <returns>The list of filter volumes</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterManagerUtils.Attach(System.String,System.String,System.String,System.String,System.Boolean)">
            <summary>
            Attach a filter to a volume.
            </summary>
            <param name="filter_name">The filter name.</param>
            <param name="volume_name">The volume name.</param>
            <param name="altitude">Optional altitude of the filter.</param>
            <param name="instance_name">Optional instance name.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created instance name.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterManagerUtils.Attach(System.String,System.String,System.String,System.String)">
            <summary>
            Attach a filter to a volume.
            </summary>
            <param name="filter_name">The filter name.</param>
            <param name="volume_name">The volume name.</param>
            <param name="altitude">Optional altitude of the filter.</param>
            <param name="instance_name">Optional instance name.</param>
            <returns>The created instance name.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterManagerUtils.Attach(System.String,System.String,System.String)">
            <summary>
            Attach a filter to a volume.
            </summary>
            <param name="filter_name">The filter name.</param>
            <param name="volume_name">The volume name.</param>
            <param name="altitude">Optional altitude of the filter.</param>
            <returns>The created instance name.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterManagerUtils.Attach(System.String,System.String)">
            <summary>
            Attach a filter to a volume.
            </summary>
            <param name="filter_name">The filter name.</param>
            <param name="volume_name">The volume name.</param>
            <returns>The created instance name.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterManagerUtils.Detach(System.String,System.String,System.String,System.Boolean)">
            <summary>
            Attach a filter to a volume.
            </summary>
            <param name="filter_name">The filter name.</param>
            <param name="volume_name">The volume name.</param>
            <param name="instance_name">Optional instance name.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterManagerUtils.Detach(System.String,System.String,System.String)">
            <summary>
            Attach a filter to a volume.
            </summary>
            <param name="filter_name">The filter name.</param>
            <param name="volume_name">The volume name.</param>
            <param name="instance_name">Optional instance name.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Filter.FilterManagerUtils.Detach(System.String,System.String)">
            <summary>
            Attach a filter to a volume.
            </summary>
            <param name="filter_name">The filter name.</param>
            <param name="volume_name">The volume name.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Filter.FilterVolume">
            <summary>
            Class to represent a filter volume.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Filter.FilterVolume.Detached">
            <summary>
            Is the filter detached from the volume.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Filter.FilterVolume.FrameID">
            <summary>
            Filter frame ID.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Filter.FilterVolume.FileSystemType">
            <summary>
            Filesystem type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Filter.FilterVolume.FilterVolumeName">
            <summary>
            Filter volume name.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.ImageSection">
            <summary>
            Class which represents a section from a loaded PE file.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ImageSection.Name">
            <summary>
            The name of the section.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ImageSection.Data">
            <summary>
            Buffer to the data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ImageSection.RelativeVirtualAddress">
            <summary>
            Relative Virtual address of the data from the library base.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ImageSection.Characteristics">
            <summary>
            Image section characteristics.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.ImageSection.ToArray">
            <summary>
            Get the data as an array.
            </summary>
            <returns>The data as an array. If can't read the section returns an empty array.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.ImageSectionCharacteristics">
            <summary>
            Characteristic flags for image section.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ImageSectionCharacteristics.None">
            <summary>
            None.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ImageSectionCharacteristics.Code">
            <summary>
            Section is code.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ImageSectionCharacteristics.InitiailizedData">
            <summary>
            Section is initialized data.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ImageSectionCharacteristics.UninitializedData">
            <summary>
            Section is uninitialized data.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ImageSectionCharacteristics.Shared">
            <summary>
            Section is shared.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ImageSectionCharacteristics.Execute">
            <summary>
            Section is executable.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ImageSectionCharacteristics.Read">
            <summary>
            Section is readable.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ImageSectionCharacteristics.Write">
            <summary>
            Section is writable.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Image.ImageResource">
            <summary>
            Class to represent a resource in an image.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Image.ImageResource.Name">
            <summary>
            The name of the resource.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Image.ImageResource.Type">
            <summary>
            The type of the resource.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Image.ImageResource.Size">
            <summary>
            The size of the resource.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Image.ImageResource.ToArray">
            <summary>
            Get the resource as a byte array.
            </summary>
            <returns>The resource as a byte array.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Image.ImageResourceType">
            <summary>
            Image resource type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Image.ImageResourceType.Name">
            <summary>
            The name of the resource as a string.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Image.ImageResourceType.WellKnownType">
            <summary>
            The well known type, is available (otherwise set to UNKNOWN)
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Image.ImageResourceType.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The name of the type.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Image.WellKnownImageResourceType">
            <summary>
            Known image resource types.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.ISymbolResolver">
            <summary>
            Interface for a symbol resolver.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.ISymbolResolver.GetLoadedModules">
            <summary>
            Get list of loaded modules.
            </summary>
            <returns>The list of loaded modules</returns>
            <remarks>Note this will cache the results so subsequent calls won't necessarily see new modules.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.ISymbolResolver.GetLoadedModules(System.Boolean)">
            <summary>
            Get list of loaded modules and optionally refresh the list.
            </summary>
            <param name="refresh">True to refresh the current cached list of modules.</param>
            <returns>The list of loaded modules</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ISymbolResolver.GetModuleForAddress(System.IntPtr)">
            <summary>
            Get module at an address.
            </summary>
            <param name="address">The address for the module.</param>
            <returns>The module, or null if not found.</returns>
            <remarks>Note this will cache the results so subsequent calls won't necessarily see new modules.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.ISymbolResolver.GetModuleForAddress(System.IntPtr,System.Boolean)">
            <summary>
            Get module at an address.
            </summary>
            <param name="address">The address for the module.</param>
            <param name="refresh">True to refresh the current cached list of modules.</param>
            <returns>The module, or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ISymbolResolver.GetModuleRelativeAddress(System.IntPtr)">
            <summary>
            Get a string representation of a relative address to a module.
            </summary>
            <param name="address">The address to get the string for,</param>
            <returns>The string form of the address, e.g. modulename+0x100</returns>
            <remarks>Note this will cache the results so subsequent calls won't necessarily see new modules.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.ISymbolResolver.GetModuleRelativeAddress(System.IntPtr,System.Boolean)">
            <summary>
            Get a string representation of a relative address to a module.
            </summary>
            <param name="address">The address to get the string for,</param>
            <param name="refresh">True to refresh the current cached list of modules.</param>
            <returns>The string form of the address, e.g. modulename+0x100</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ISymbolResolver.GetAddressOfSymbol(System.String)">
            <summary>
            Get the address of a symbol.
            </summary>
            <param name="name">The name of the symbol, should include the module name, e.g. modulename!MySymbol.</param>
            <returns>The address of the symbol</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ISymbolResolver.GetSymbolForAddress(System.IntPtr)">
            <summary>
            Get the symbol name for an address.
            </summary>
            <param name="address">The address of the symbol.</param>
            <returns>The symbol name.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ISymbolResolver.GetSymbolForAddress(System.IntPtr,System.Boolean)">
            <summary>
            Get the symbol name for an address, with no fallback.
            </summary>
            <param name="address">The address of the symbol.</param>
            <param name="generate_fake_symbol">If true then generate a fake symbol.</param>
            <returns>The symbol name. If |generate_fake_symbol| is true and the symbol doesn't exist one is generated based on module name.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ISymbolResolver.GetSymbolForAddress(System.IntPtr,System.Boolean,System.Boolean)">
            <summary>
            Get the symbol name for an address, with no fallback.
            </summary>
            <param name="address">The address of the symbol.</param>
            <param name="generate_fake_symbol">If true then generate a fake symbol.</param>
            <param name="return_name_only">If true then return only the name of the symbols (such as C++ symbol name) rather than full symbol.</param>
            <returns>The symbol name. If |generate_fake_symbol| is true and the symbol doesn't exist one is generated based on module name.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ISymbolResolver.ReloadModuleList">
            <summary>
            Reload the list of modules for this symbol resolver.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.ISymbolResolver.LoadModule(System.String,System.IntPtr)">
            <summary>
            Load a specific module into the symbol resolver.
            </summary>
            <param name="module_path">The path to the module.</param>
            <param name="base_address">The base address of the loaded module.</param>
        </member>
        <member name="T:NtApiDotNet.Win32.LoadLibraryFlags">
            <summary>
            Flags for loading a library.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.LoadLibraryFlags.None">
            <summary>
            None.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.LoadLibraryFlags.DontResolveDllReferences">
            <summary>
            Don't resolve DLL references
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.LoadLibraryFlags.LoadLibraryAsDataFile">
            <summary>
            Load library as a data file.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.LoadLibraryFlags.LoadWithAlteredSearchPath">
            <summary>
            Load with an altered search path.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.LoadLibraryFlags.LoadIgnoreCodeAuthzLevel">
            <summary>
            Ignore code authz level.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.LoadLibraryFlags.LoadLibraryAsImageResource">
            <summary>
            Load library as an image resource.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.LoadLibraryFlags.LoadLibraryAsDataFileExclusive">
            <summary>
            Load library as a data file exclusively.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.LoadLibraryFlags.LoadLibrarySearchDllLoadDir">
            <summary>
            Add the DLL's directory temporarily to the search list.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.LoadLibraryFlags.LoadLibrarySearchApplicationDir">
            <summary>
            Search application directory for the DLL.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.LoadLibraryFlags.LoadLibrarySearchUserDirs">
            <summary>
            Search the user's directories for the DLL.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.LoadLibraryFlags.LoadLibrarySearchSystem32">
            <summary>
            Search system32 for the DLL.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.LoadLibraryFlags.LoadLibrarySearchDefaultDirs">
            <summary>
            Search the default directories for the DLL.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.SecurityLogonType">
            <summary>
            Logon type
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.SecurityLogonType.UndefinedLogonType">
            <summary>
            This is used to specify an undefined logon type
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.SecurityLogonType.Interactive">
            <summary>
            Interactively logged on (locally or remotely)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.SecurityLogonType.Network">
            <summary>
            Accessing system via network
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.SecurityLogonType.Batch">
            <summary>
            Started via a batch queue
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.SecurityLogonType.Service">
            <summary>
            Service started by service controller
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.SecurityLogonType.Proxy">
            <summary>
            Proxy logon
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.SecurityLogonType.Unlock">
            <summary>
            Unlock workstation
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.SecurityLogonType.NetworkCleartext">
            <summary>
            Network logon with cleartext credentials
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.SecurityLogonType.NewCredentials">
            <summary>
            Clone caller, new default credentials
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.SecurityLogonType.RemoteInteractive">
            <summary>
            Remove interactive.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.SecurityLogonType.CachedInteractive">
            <summary>
            Cached Interactive.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.SecurityLogonType.CachedRemoteInteractive">
            <summary>
            Cached Remote Interactive.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.SecurityLogonType.CachedUnlock">
            <summary>
            Cached unlock.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.AccountRightType">
            <summary>
            Specify what account rights to get.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.AccountRightType.All">
            <summary>
            Get all account rights.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.AccountRightType.Privilege">
            <summary>
            Get all privilege account rights.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.AccountRightType.Logon">
            <summary>
            Get logon account rights.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.LogonUtils">
            <summary>
            Utilities for user logon.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.Logon(System.String,System.String,System.String,NtApiDotNet.Win32.SecurityLogonType)">
            <summary>
            Logon a user with a username and password.
            </summary>
            <param name="user">The username.</param>
            <param name="domain">The user's domain.</param>
            <param name="password">The user's password.</param>
            <param name="type">The type of logon token.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.Logon(System.String,System.String,System.String,NtApiDotNet.Win32.SecurityLogonType,NtApiDotNet.Win32.Security.Native.Logon32Provider)">
            <summary>
            Logon a user with a username and password.
            </summary>
            <param name="user">The username.</param>
            <param name="domain">The user's domain.</param>
            <param name="password">The user's password.</param>
            <param name="type">The type of logon token.</param>
            <param name="provider">The Logon provider.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.Logon(System.String,System.String,System.String,NtApiDotNet.Win32.SecurityLogonType,NtApiDotNet.Win32.Security.Native.Logon32Provider,System.Boolean)">
            <summary>
            Logon a user with a username and password.
            </summary>
            <param name="user">The username.</param>
            <param name="domain">The user's domain.</param>
            <param name="password">The user's password.</param>
            <param name="type">The type of logon token.</param>
            <param name="provider">The Logon provider.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.Logon(System.String,System.String,System.String,NtApiDotNet.Win32.SecurityLogonType,NtApiDotNet.Win32.Security.Native.Logon32Provider,System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup})">
            <summary>
            Logon a user with a username and password.
            </summary>
            <param name="user">The username.</param>
            <param name="domain">The user's domain.</param>
            <param name="password">The user's password.</param>
            <param name="type">The type of logon token.</param>
            <param name="provider">The Logon provider.</param>
            <param name="groups">Additional groups to add. Needs SeTcbPrivilege.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.Logon(System.String,System.String,System.String,NtApiDotNet.Win32.SecurityLogonType,NtApiDotNet.Win32.Security.Native.Logon32Provider,System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup},System.Boolean)">
            <summary>
            Logon a user with a username and password.
            </summary>
            <param name="user">The username.</param>
            <param name="domain">The user's domain.</param>
            <param name="password">The user's password.</param>
            <param name="type">The type of logon token.</param>
            <param name="provider">The Logon provider.</param>
            <param name="groups">Additional groups to add. Needs SeTcbPrivilege.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.Logon(System.String,System.String,System.String,NtApiDotNet.Win32.SecurityLogonType,System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup})">
            <summary>
            Logon a user with a username and password.
            </summary>
            <param name="user">The username.</param>
            <param name="domain">The user's domain.</param>
            <param name="password">The user's password.</param>
            <param name="type">The type of logon token.</param>
            <param name="groups">Additional groups to add. Needs SeTcbPrivilege.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.LsaLogonTicket(NtApiDotNet.Win32.SecurityLogonType,NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicket,NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosCredential,System.Boolean)">
            <summary>
            Logon user using Kerberos Ticket.
            </summary>
            <param name="type">The type of logon token.</param>
            <param name="service_ticket">The service ticket.</param>
            <param name="tgt_ticket">Optional TGT.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.LsaLogonTicket(NtApiDotNet.Win32.SecurityLogonType,NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicket,NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosCredential)">
            <summary>
            Logon user using Kerberos Ticket.
            </summary>
            <param name="type">The type of logon token.</param>
            <param name="service_ticket">The service ticket.</param>
            <param name="tgt_ticket">Optional TGT.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.LsaLogonTicket(NtApiDotNet.Win32.SecurityLogonType,System.Byte[],System.Byte[],System.Boolean)">
            <summary>
            Logon user using Kerberos Ticket.
            </summary>
            <param name="type">The type of logon token.</param>
            <param name="service_ticket">The service ticket.</param>
            <param name="tgt_ticket">Optional TGT.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.LsaLogonTicket(NtApiDotNet.Win32.SecurityLogonType,System.Byte[],System.Byte[])">
            <summary>
            Logon user using Kerberos Ticket.
            </summary>
            <param name="type">The type of logon token.</param>
            <param name="service_ticket">The service ticket.</param>
            <param name="tgt_ticket">Optional TGT.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.LsaLogonS4U(System.String,System.String,NtApiDotNet.Win32.SecurityLogonType,System.String,System.Boolean)">
            <summary>
            Logon user using S4U
            </summary>
            <param name="user">The username.</param>
            <param name="realm">The user's realm.</param>
            <param name="type">The type of logon token.</param>
            <param name="auth_package">The name of the auth package to user.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.LsaLogonS4U(System.String,System.String,NtApiDotNet.Win32.SecurityLogonType,System.String)">
            <summary>
            Logon user using S4U
            </summary>
            <param name="user">The username.</param>
            <param name="realm">The user's realm.</param>
            <param name="type">The type of logon token.</param>
            <param name="auth_package">The name of the auth package to user.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.LsaLogonS4U(System.String,System.String,NtApiDotNet.Win32.SecurityLogonType)">
            <summary>
            Logon user using S4U
            </summary>
            <param name="user">The username.</param>
            <param name="realm">The user's realm.</param>
            <param name="type">The type of logon token.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.LogonS4U(System.String,System.String,NtApiDotNet.Win32.SecurityLogonType)">
            <summary>
            Logon user using S4U
            </summary>
            <param name="user">The username.</param>
            <param name="realm">The user's realm.</param>
            <param name="type">The type of logon token.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.GetLogonSession(NtApiDotNet.Luid,System.Boolean)">
            <summary>
            Get a logon session.
            </summary>
            <param name="luid">The logon session ID.</param>
            <param name="throw_on_error">True to thrown on error.</param>
            <returns>The logon session.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.GetLogonSession(NtApiDotNet.Luid)">
            <summary>
            Get a logon session.
            </summary>
            <param name="luid">The logon session ID.</param>
            <returns>The logon session.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.GetLogonSessionIds(System.Boolean)">
            <summary>
            Get the logon session LUIDs
            </summary>
            <param name="throw_on_error">True throw on error.</param>
            <returns>The list of logon sessions. Only returns ones you can access.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.GetLogonSessionIds">
            <summary>
            Get the logon session LUIDs
            </summary>
            <returns>The list of logon sessions. Only returns ones you can access.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.GetLogonSessions(System.Boolean)">
            <summary>
            Get the logon sessions.
            </summary>
            <param name="throw_on_error">True throw on error.</param>
            <returns>The list of logon sessions. Only returns ones you can access.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.GetLogonSessions">
            <summary>
            Get the logon sessions.
            </summary>
            <returns>The list of logon sessions.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.GetAccountRights(NtApiDotNet.Sid,System.Boolean)">
            <summary>
            Get account rights assigned to a SID.
            </summary>
            <param name="sid">The SID to query.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of account rights.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.GetAccountRights(NtApiDotNet.Sid)">
            <summary>
            Get account rights assigned to a SID.
            </summary>
            <param name="sid">The SID to query.</param>
            <returns>The list of account rights.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.GetAccountRightSids(System.String,System.Boolean)">
            <summary>
            Get SIDs associated with an account right.
            </summary>
            <param name="account_right">The name of the account right, such as SeImpersonatePrivilege.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of SIDs assigned to the account right.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.GetAccountRightSids(System.String)">
            <summary>
            Get SIDs associated with an account right.
            </summary>
            <param name="account_right">The name of the account right, such as SeImpersonatePrivilege.</param>
            <returns>The list of SIDs assigned to the account right.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.GetAccountRightSids(NtApiDotNet.TokenPrivilegeValue,System.Boolean)">
            <summary>
            Get SIDs associated with an account right.
            </summary>
            <param name="privilege">The account right privilege to query.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of SIDs assigned to the account right.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.GetAccountRightSids(NtApiDotNet.TokenPrivilegeValue)">
            <summary>
            Get SIDs associated with an account right.
            </summary>
            <param name="privilege">The account right privilege to query.</param>
            <returns>The list of SIDs assigned to the account right.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.GetAccountRightSids(NtApiDotNet.Win32.Security.Policy.AccountRightLogonType,System.Boolean)">
            <summary>
            Get SIDs associated with an account right.
            </summary>
            <param name="logon_type">The logon account right to query.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of SIDs assigned to the account right.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.GetAccountRightSids(NtApiDotNet.Win32.Security.Policy.AccountRightLogonType)">
            <summary>
            Get SIDs associated with an account right.
            </summary>
            <param name="logon_type">The logon account right to query.</param>
            <returns>The list of SIDs assigned to the account right.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.GetAccountRights(NtApiDotNet.Win32.AccountRightType)">
            <summary>
            Get account rights.
            </summary>
            <param name="type">Specify the type of account rights to get.</param>
            <returns>Account rights.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.GetAccountRights">
            <summary>
            Get all account rights.
            </summary>
            <returns>All account rights.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.AddAccountRights(NtApiDotNet.Sid,System.Collections.Generic.IEnumerable{System.String},System.Boolean)">
            <summary>
            Add account rights to the user.
            </summary>
            <param name="sid">The user SID to add.</param>
            <param name="account_rights">The list of account rights.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.AddAccountRights(NtApiDotNet.Sid,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Add account rights to the user.
            </summary>
            <param name="sid">The user SID to add.</param>
            <param name="account_rights">The list of account rights.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.AddAccountRights(NtApiDotNet.Sid,NtApiDotNet.TokenPrivilegeValue[],System.Boolean)">
            <summary>
            Add account rights as privileges.
            </summary>
            <param name="sid">The user SID to add.</param>
            <param name="privileges">The list of account privileges.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.AddAccountRights(NtApiDotNet.Sid,NtApiDotNet.TokenPrivilegeValue[])">
            <summary>
            Add account rights as privileges.
            </summary>
            <param name="sid">The user SID to add.</param>
            <param name="privileges">The list of account privileges.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.AddAccountRights(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Policy.AccountRightLogonType[],System.Boolean)">
            <summary>
            Add account rights as privileges.
            </summary>
            <param name="sid">The user SID to add.</param>
            <param name="logon_type">The list of account logon types.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.AddAccountRights(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Policy.AccountRightLogonType[])">
            <summary>
            Add account rights as privileges.
            </summary>
            <param name="sid">The user SID to add.</param>
            <param name="logon_type">The list of account logon types.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.RemoveAccountRights(NtApiDotNet.Sid,System.Collections.Generic.IEnumerable{System.String},System.Boolean)">
            <summary>
            Remove account rights from a user.
            </summary>
            <param name="sid">The user SID to remove.</param>
            <param name="account_rights">The list of account rights.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.RemoveAccountRights(NtApiDotNet.Sid,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Remove account rights from a user.
            </summary>
            <param name="sid">The user SID to remove.</param>
            <param name="account_rights">The list of account rights.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.RemoveAccountRights(NtApiDotNet.Sid,NtApiDotNet.TokenPrivilegeValue[],System.Boolean)">
            <summary>
            Remove account rights from a user.
            </summary>
            <param name="sid">The user SID to remove.</param>
            <param name="privileges">The list of privileges.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.RemoveAccountRights(NtApiDotNet.Sid,NtApiDotNet.TokenPrivilegeValue[])">
            <summary>
            Remove account rights from a user.
            </summary>
            <param name="sid">The user SID to remove.</param>
            <param name="privileges">The list of account privileges.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.RemoveAccountRights(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Policy.AccountRightLogonType[],System.Boolean)">
            <summary>
            Remove account rights from a user.
            </summary>
            <param name="sid">The user SID to remove.</param>
            <param name="logon_type">The list of account rights.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.LogonUtils.RemoveAccountRights(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Policy.AccountRightLogonType[])">
            <summary>
            Remove account rights from a user.
            </summary>
            <param name="sid">The user SID to remove.</param>
            <param name="privileges">The list of account rights.</param>
        </member>
        <member name="T:NtApiDotNet.Win32.Memory.Win32MemoryUtils">
            <summary>
            Win32 memory utils.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Memory.Win32MemoryUtils.WriteMemory(NtApiDotNet.SafeKernelObjectHandle,System.Int64,System.Byte[])">
            <summary>
            Write memory to a process.
            </summary>
            <param name="process">The process to write to.</param>
            <param name="base_address">The base address in the process.</param>
            <param name="data">The data to write.</param>
            <returns>The number of bytes written to the location</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.Win32.Memory.Win32MemoryUtils.WriteMemory(NtApiDotNet.NtProcess,System.Int64,System.Byte[])">
            <summary>
            Write memory to a process.
            </summary>
            <param name="process">The process to write to.</param>
            <param name="base_address">The base address in the process.</param>
            <param name="data">The data to write.</param>
            <returns>The number of bytes written to the location</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="T:NtApiDotNet.Win32.Net.TcpListenerInformation">
            <summary>
            Class to represent a TCP listener with process ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Net.TcpListenerInformation.LocalEndPoint">
            <summary>Gets the local endpoint of a Transmission Control Protocol (TCP) connection.</summary>
            <returns>An <see cref="T:System.Net.IPEndPoint" /> instance that contains the IP address and port on the local computer.</returns>
        </member>
        <member name="P:NtApiDotNet.Win32.Net.TcpListenerInformation.RemoteEndPoint">
            <summary>Gets the remote endpoint of a Transmission Control Protocol (TCP) connection.</summary>
            <returns>An <see cref="T:System.Net.IPEndPoint" /> instance that contains the IP address and port on the remote computer.</returns>
        </member>
        <member name="P:NtApiDotNet.Win32.Net.TcpListenerInformation.State">
            <summary>Gets the state of this Transmission Control Protocol (TCP) connection.</summary>
            <returns>One of the <see cref="T:System.Net.NetworkInformation.TcpState" /> enumeration values.</returns>
        </member>
        <member name="P:NtApiDotNet.Win32.Net.TcpListenerInformation.LocalAddress">
            <summary>
            Get local address.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Net.TcpListenerInformation.LocalPort">
            <summary>
            Get local port.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Net.TcpListenerInformation.RemoteAddress">
            <summary>
            Get remote address.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Net.TcpListenerInformation.RemotePort">
            <summary>
            Get remote port.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Net.TcpListenerInformation.ProcessId">
            <summary>
            Gets the process ID of the listener on the local system.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Net.TcpListenerInformation.CreateTime">
            <summary>
            Gets the time the socket was created.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Net.TcpListenerInformation.OwnerModule">
            <summary>
            Gets the owner of the module. This could be an executable path or a service name.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Net.UdpListenerInformation">
            <summary>
            Class to represent a UDP listener with process ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Net.UdpListenerInformation.LocalEndPoint">
            <summary>Gets the local endpoint of a Transmission Control Protocol (TCP) connection.</summary>
            <returns>An <see cref="T:System.Net.IPEndPoint" /> instance that contains the IP address and port on the local computer.</returns>
        </member>
        <member name="P:NtApiDotNet.Win32.Net.UdpListenerInformation.LocalAddress">
            <summary>
            Get local address.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Net.UdpListenerInformation.LocalPort">
            <summary>
            Get local port.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Net.UdpListenerInformation.ProcessId">
            <summary>
            Gets the process ID of the listener on the local system.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Net.UdpListenerInformation.CreateTime">
            <summary>
            Gets the time the socket was created.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Net.UdpListenerInformation.OwnerModule">
            <summary>
            Gets the owner of the module. This could be an executable path or a service name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Net.UdpListenerInformation.SpecificPortBind">
            <summary>
            Gets if the UDP socket is bound to a specific port.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Net.Win32NetworkUtils">
            <summary>
            Utilities for Win32 network APIs.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Net.Win32NetworkUtils.GetTcpListeners(System.Net.Sockets.AddressFamily,System.Boolean)">
            <summary>
            Get a list of TCP listeners with process IDs.
            </summary>
            <param name="address_family">The address family to query.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of TCP listeners.</returns>
            <remarks>The built-in System.Net.NetworkInformation.SystemIPGlobalProperties.GetActiveTcpListeners doesn't expose the PID member so we have to reimplement it.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Net.Win32NetworkUtils.GetTcpListeners(System.Net.Sockets.AddressFamily)">
            <summary>
            Get a list of TCP listeners with process IDs.
            </summary>
            <param name="address_family">The address family to query.</param>
            <returns>The list of TCP listeners.</returns>
            <remarks>The built-in System.Net.NetworkInformation.SystemIPGlobalProperties.GetActiveTcpListeners doesn't expose the PID member so we have to reimplement it.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Net.Win32NetworkUtils.GetTcpListeners">
            <summary>
            Get a list of TCP listeners with process IDs. Returns both IPv4 and IPv6 listeners.
            </summary>
            <returns>The list of TCP listeners.</returns>
            <remarks>The built-in System.Net.NetworkInformation.SystemIPGlobalProperties.GetActiveTcpListeners doesn't expose the PID member so we have to reimplement it.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Net.Win32NetworkUtils.GetListenerForTcpPort(System.Net.Sockets.AddressFamily,System.Int32)">
            <summary>
            Get a TCP listener for a TCP port.
            </summary>
            <param name="address_family">The address family of the IP address.</param>
            <param name="port">The TCP port.</param>
            <returns>The listener information, or null if not found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Net.Win32NetworkUtils.GetUdpListeners(System.Net.Sockets.AddressFamily,System.Boolean)">
            <summary>
            Get a list of UDP listeners with process IDs.
            </summary>
            <param name="address_family">The address family to query.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of UDP listeners.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Net.Win32NetworkUtils.GetUdpListeners(System.Net.Sockets.AddressFamily)">
            <summary>
            Get a list of UDP listeners with process IDs.
            </summary>
            <param name="address_family">The address family to query.</param>
            <returns>The list of UDP listeners.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Net.Win32NetworkUtils.GetUdpListeners">
            <summary>
            Get a list of UDP listeners with process IDs. Returns both IPv4 and IPv6 listeners.
            </summary>
            <returns>The list of UDP listeners.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.PackageArchitecture">
            <summary>
            APPX Package Architecture.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.PackageArchitecture.X86">
            <summary>
            X86
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.PackageArchitecture.ARM">
            <summary>
            ARM
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.PackageArchitecture.X64">
            <summary>
            X64
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.PackageArchitecture.Neutral">
            <summary>
            Neutral
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.PackageArchitecture.ARM64">
            <summary>
            ARM64
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.PackageOrigin">
            <summary>
            APPX Package Origin.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.PackageOrigin.Unknown">
            <summary>
            Unknown origin.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.PackageOrigin.Unsigned">
            <summary>
            Unsigned.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.PackageOrigin.Inbox">
            <summary>
            Inbox.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.PackageOrigin.Store">
            <summary>
            Store.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.PackageOrigin.DeveloperUnsigned">
            <summary>
            Developer unsigned.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.PackageOrigin.DeveloperSigned">
            <summary>
            Developer signed.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.PackageOrigin.LineOfBusiness">
            <summary>
            Line-of-business.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.PackageIdentity">
            <summary>
            Class which represents an AppContainer package identity.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.PackageIdentity.ProcessorArchitecture">
            <summary>
            Process architecture.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.PackageIdentity.Version">
            <summary>
            Package version.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.PackageIdentity.Name">
            <summary>
            Package family name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.PackageIdentity.Publisher">
            <summary>
            Publisher (not always available).
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.PackageIdentity.ResourceId">
            <summary>
            Resource ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.PackageIdentity.PublisherId">
            <summary>
            Published ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.PackageIdentity.FullName">
            <summary>
            Full package name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.PackageIdentity.Origin">
            <summary>
            Package origin.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.PackageIdentity.FamilyName">
            <summary>
            Package family name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.PackageIdentity.Path">
            <summary>
            Package install path.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.PackageIdentity.ApplicationModelIds">
            <summary>
            The list of application model IDs.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.PackageIdentity.FindDelegate">
            <summary>
            Get the GetStagedPackageOrigin method as a delegate. It's supposed to be exposed by kernel32,
            but actually doesn't seem to be.
            </summary>
            <returns></returns>
        </member>
        <member name="M:NtApiDotNet.Win32.PackageIdentity.CreateFromFullName(System.String,System.Boolean,System.Boolean)">
            <summary>
            Create from a package full name.
            </summary>
            <param name="package_full_name">The package full name.</param>
            <param name="full_information">Query for full information (needs to be installed for the current user).</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The package identity.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.PackageIdentity.CreateFromFullName(System.String,System.Boolean)">
            <summary>
            Create from a package full name.
            </summary>
            <param name="package_full_name">The package full name.</param>
            <param name="full_information">Query for full information (needs to be installed for the current user).</param>
            <returns>The package identity.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.PackageIdentity.CreateFromToken(NtApiDotNet.NtToken,System.Boolean,System.Boolean)">
            <summary>
            Create from a token.
            </summary>
            <param name="token">The AppContainer token.</param>
            <param name="full_information">Query for full information (needs to be installed for the current user).</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The package identity.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.PackageIdentity.CreateFromToken(NtApiDotNet.NtToken,System.Boolean)">
            <summary>
            Create from a token.
            </summary>
            <param name="token">The AppContainer token.</param>
            <param name="full_information">Query for full information (needs to be installed for the current user).</param>
            <returns>The package identity.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Printing.PrinterObject">
            <summary>
            Class to represent a printer object.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Printing.PrinterObject.Dispose">
            <summary>
            Dispose the printer object.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Printing.PrinterObject.OpenPrinter(System.String,NtApiDotNet.Win32.Printing.PrintSpoolerAccessRights,System.Boolean)">
            <summary>
            Open a printer or server.
            </summary>
            <param name="printer_name">The name of the printer or server. If this is null or empty then it's the local server.</param>
            <param name="desired_access">The desired access on the printer.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened printer.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Printing.PrinterObject.OpenPrinter(System.String,NtApiDotNet.Win32.Printing.PrintSpoolerAccessRights)">
            <summary>
            Open a printer.
            </summary>
            <param name="printer_name">The name of the printer.</param>
            <param name="desired_access">The desired access on the printer.</param>
            <returns>The opened printer.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Printing.PrinterObject.OpenPrinter(System.String)">
            <summary>
            Open a printer.
            </summary>
            <param name="printer_name">The name of the printer.</param>
            <returns>The opened printer.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Printing.PrinterObject.GetSecurityDescriptor(System.Boolean)">
            <summary>
            Get security descriptor for the printer.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The printer's security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Printing.PrinterObject.GetSecurityDescriptor">
            <summary>
            Get security descriptor for the printer.
            </summary>
            <returns>The printer's security descriptor.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Printing.PrintSpoolerAccessRights">
            <summary>
            Access rights for a print spooler object.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Printing.PrintSpoolerUtils">
            <summary>
            Utils for print spooler.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Printing.PrintSpoolerUtils.PRINTER_NT_TYPE_NAME">
            <summary>
            Name for the fake printer NT type.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Printing.PrintSpoolerUtils.PRINT_SERVER_NT_TYPE_NAME">
            <summary>
            Name for the fake print server NT type.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Printing.PrintSpoolerUtils.PRINT_JOB_NT_TYPE_NAME">
            <summary>
            Name for the fake print server NT type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Printing.PrintSpoolerUtils.PrinterGenericMapping">
            <summary>
            Get the generic mapping for printer objects.
            </summary>
            <returns>The printer objects generic mapping.</returns>
        </member>
        <member name="P:NtApiDotNet.Win32.Printing.PrintSpoolerUtils.PrintJobGenericMapping">
            <summary>
            Get the generic mapping for job objects.
            </summary>
            <returns>The job objects generic mapping.</returns>
        </member>
        <member name="P:NtApiDotNet.Win32.Printing.PrintSpoolerUtils.PrintServerGenericMapping">
            <summary>
            Get the generic mapping for server objects.
            </summary>
            <returns>The server objects generic mapping.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Printing.PrintSpoolerUtils.GetTypeForPath(System.String)">
            <summary>
            Get the appropriate NT type for the printer path.
            </summary>
            <param name="path">The printer path, e.g. \\server\printer.</param>
            <returns>The NT type.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.RpcAlpcServer">
            <summary>
            Class representing an RPC ALPC server.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcAlpcServer.ProcessId">
            <summary>
            The PID of the process which contains the ALPC server.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcAlpcServer.ProcessName">
            <summary>
            The name of the process which contains the ALPC server.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcAlpcServer.Endpoints">
            <summary>
            List of known endpoints potentially accessible via this RPC server.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcAlpcServer.EndpointCount">
            <summary>
            The number of endpoints.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcAlpcServer.Name">
            <summary>
            The name of the ALPC server.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcAlpcServer.SecurityDescriptor">
            <summary>
            The security descriptor of the ALPC server.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcAlpcServer.GetAlpcServers(System.Int32)">
            <summary>
            Get RPC ALPC servers for a specific process.
            </summary>
            <param name="process_id">The ID of the process.</param>
            <returns>The list of RPC ALPC servers.</returns>
            <remarks>If the process is suspended or frozen this call can hang.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcAlpcServer.GetAlpcServers">
            <summary>
            Get a list of all RPC ALPC servers.
            </summary>
            <remarks>This works by discovering any server ALPC ports owned by the process and querying for interfaces.
            This will ignore any frozen processes (primarily UWP) as they can't respond to the endpoint enumeration.</remarks>
            <returns>The list of RPC ALPC servers.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcAlpcServer.GetAlpcServer(System.String)">
            <summary>
            Get the RPC ALPC server for an ALPC port object path.
            </summary>
            <param name="path">The object manager path to the ALPC port.</param>
            <returns>The ALPC RPC server.</returns>
            <remarks>Needs an API which is only available from Windows 10 19H1.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcAlpcServer.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>Formatted string.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.RpcClient">
            <summary>
            Generic RPC client.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcClient.#ctor(System.Guid,System.Version)">
            <summary>
            Constructor.
            </summary>
            <param name="interface_id">The interface ID.</param>
            <param name="interface_version">Version of the interface.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcClient.#ctor(NtApiDotNet.Win32.RpcServer)">
            <summary>
            Constructor.
            </summary>
            <param name="server">The RPC server to bind to.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcClient.SendReceive(System.Int32,NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer)">
            <summary>
            Send and receive an RPC message.
            </summary>
            <param name="proc_num">The procedure number.</param>
            <param name="ndr_buffer">Marshal NDR buffer for the call.</param>
            <returns>Unmarshal NDR buffer for the result.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.RpcEndpoint">
            <summary>
            Class to represent an RPC endpoint.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcEndpoint.InterfaceId">
            <summary>
            The interface ID of the endpoint.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcEndpoint.InterfaceVersion">
            <summary>
            The interface version.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcEndpoint.ObjectUuid">
            <summary>
            The object UUID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcEndpoint.Annotation">
            <summary>
            Optional annotation.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcEndpoint.BindingString">
            <summary>
            RPC binding string.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcEndpoint.ProtocolSequence">
            <summary>
            Endpoint protocol sequence.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcEndpoint.NetworkAddress">
            <summary>
            Endpoint network address.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcEndpoint.Endpoint">
            <summary>
            Endpoint name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcEndpoint.NetworkOptions">
            <summary>
            Endpoint network options.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcEndpoint.EndpointPath">
            <summary>
            The endpoint path.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcEndpoint.Registered">
            <summary>
            Indicates this endpoint is registered with the endpoint mapper.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpoint.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>String form of the object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpoint.GetServerProcess">
            <summary>
            Get information about the server process.
            </summary>
            <returns></returns>
        </member>
        <member name="T:NtApiDotNet.Win32.RpcEndpointMapper">
            <summary>
            Static class to access information from the RPC mapper.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.QueryEndpoints">
            <summary>
            Query all endpoints registered on the local system.
            </summary>
            <returns>List of endpoints.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.QueryEndpoints(System.String)">
            <summary>
            Query all endpoints registered based on a binding string.
            </summary>
            <param name="search_binding">The binding string for the server to search on. If null or empty will search localhost.</param>
            <returns>List of endpoints.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.QueryEndpoints(System.String,System.Guid,System.Version)">
            <summary>
            Query for endpoints registered on the local system for an RPC endpoint.
            </summary>
            <param name="search_binding">The binding string for the server to search on. If null or empty will search localhost.</param>
            <param name="interface_id">Interface UUID to lookup.</param>
            <param name="interface_version">Interface version lookup.</param>
            <returns>The list of registered RPC endpoints.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.QueryEndpoints(System.Guid,System.Version)">
            <summary>
            Query for endpoints registered on the local system for an RPC endpoint.
            </summary>
            <param name="interface_id">Interface UUID to lookup.</param>
            <param name="interface_version">Interface version lookup.</param>
            <returns>The list of registered RPC endpoints.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.QueryEndpoints(System.String,System.Guid)">
            <summary>
            Query for endpoints registered on the local system for an RPC endpoint ignoring the version.
            </summary>
            <param name="search_binding">The binding string for the server to search on. If null or empty will search localhost.</param>
            <param name="interface_id">Interface UUID to lookup.</param>
            <returns>The list of registered RPC endpoints.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.QueryEndpoints(System.Guid)">
            <summary>
            Query for endpoints registered on the local system for an RPC endpoint ignoring the version.
            </summary>
            <param name="interface_id">Interface UUID to lookup.</param>
            <returns>The list of registered RPC endpoints.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.QueryEndpoints(NtApiDotNet.Ndr.NdrRpcServerInterface)">
            <summary>
            Query for endpoints registered on the local system for an RPC endpoint.
            </summary>
            <param name="server_interface">The server interface.</param>
            <returns>The list of registered RPC endpoints.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.QueryAlpcEndpoints(System.Guid,System.Version)">
            <summary>
            Query for endpoints registered on the local system for an RPC endpoint via ALPC.
            </summary>
            <param name="interface_id">Interface UUID to lookup.</param>
            <param name="interface_version">Interface version lookup.</param>
            <returns>The list of registered RPC endpoints.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.QueryAlpcEndpoints(NtApiDotNet.Ndr.NdrRpcServerInterface)">
            <summary>
            Query for endpoints registered on the local system for an RPC endpoint via ALPC.
            </summary>
            <param name="server_interface">The server interface.</param>
            <returns>The list of registered RPC endpoints.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.QueryEndpointsForAlpcPort(System.String,System.Boolean)">
            <summary>
            Query for endpoints for a RPC binding. 
            </summary>
            <param name="alpc_port">The ALPC port to query. Can be a full path as long as it contains \RPC Control\ somewhere.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of endpoints on the RPC binding.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.QueryEndpointsForAlpcPort(System.String)">
            <summary>
            Query for endpoints for a RPC binding. 
            </summary>
            <param name="alpc_port">The ALPC port to query. Can be a full path as long as it contains \RPC Control\ somewhere.</param>
            <returns>The list of endpoints on the RPC binding.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.QueryEndpointsForBinding(System.String,System.Boolean)">
            <summary>
            Query for endpoints for a RPC binding. 
            </summary>
            <param name="string_binding">The RPC binding to query, e.g. ncalrpc:[PORT]</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of endpoints on the RPC binding.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.QueryEndpointsForBinding(System.String)">
            <summary>
            Query for endpoints for a RPC binding. 
            </summary>
            <param name="string_binding">The RPC binding to query, e.g. ncalrpc:[PORT]</param>
            <returns>The list of endpoints on the RPC binding.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.MapServerToEndpoint(System.String,System.Guid,System.Version)">
            <summary>
            Resolve the local binding string for this service from the local Endpoint Mapper and return the endpoint.
            </summary>
            <param name="protocol_seq">The protocol sequence to lookup.</param>
            <param name="interface_id">Interface UUID to lookup.</param>
            <param name="interface_version">Interface version lookup.</param>
            <returns>The mapped endpoint.</returns>
            <remarks>This only will return a valid value if the service is running and registered with the Endpoint Mapper. It can also hang.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.MapServerToEndpoint(System.String,System.String,System.Guid,System.Version)">
            <summary>
            Resolve the local binding string for this service from the local Endpoint Mapper and return the endpoint.
            </summary>
            <param name="protocol_seq">The protocol sequence to lookup.</param>
            <param name="network_address">The network address for the lookup.</param>
            <param name="interface_id">Interface UUID to lookup.</param>
            <param name="interface_version">Interface version lookup.</param>
            <returns>The mapped endpoint.</returns>
            <remarks>This only will return a valid value if the service is running and registered with the Endpoint Mapper. It can also hang.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.MapBindingStringToEndpoint(System.String,System.Guid,System.Version)">
            <summary>
            Resolve the local binding string for this service from the local Endpoint Mapper and return the endpoint.
            </summary>
            <param name="string_binding">The string binding to map.</param>
            <param name="interface_id">Interface UUID to lookup.</param>
            <param name="interface_version">Interface version lookup.</param>
            <returns>The mapped endpoint.</returns>
            <remarks>This only will return a valid value if the service is running and registered with the Endpoint Mapper. It can also hang.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.MapServerToAlpcEndpoint(System.Guid,System.Version)">
            <summary>
            Resolve the local binding string for this service from the local Endpoint Mapper and return the ALPC port path.
            </summary>
            <param name="interface_id">Interface UUID to lookup.</param>
            <param name="interface_version">Interface version lookup.</param>
            <returns>The mapped endpoint.</returns>
            <remarks>This only will return a valid value if the service is running and registered with the Endpoint Mapper. It can also hang.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.MapServerToAlpcEndpoint(NtApiDotNet.Ndr.NdrRpcServerInterface)">
            <summary>
            Resolve the local binding string for this service from the local Endpoint Mapper and return the ALPC port path.
            </summary>
            <param name="server_interface">The server interface.</param>
            <returns>The mapped endpoint.</returns>
            <remarks>This only will return a valid value if the service is running and registered with the Endpoint Mapper. It can also hang.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.FindAlpcEndpointForInterface(System.Guid,System.Version)">
            <summary>
            Finds ALPC endpoints which allows for the server binding. This brute forces all ALPC ports to try and find
            something which will accept the bind.
            </summary>
            <remarks>This could hang if the ALPC port is owned by a suspended process.</remarks>
            <param name="interface_id">Interface UUID to lookup.</param>
            <param name="interface_version">Interface version lookup.</param>
            <returns>A list of RPC endpoints which can bind the interface.</returns>
            <exception cref="T:NtApiDotNet.NtException">Throws on error.</exception>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.FindFirstAlpcEndpointForInterface(System.Guid,System.Version)">
            <summary>
            Finds an ALPC endpoint which allows for the server binding. This brute forces all ALPC ports to try and find
            something which will accept the bind.
            </summary>
            <remarks>This could hang if the ALPC port is owned by a suspended process.</remarks>
            <param name="interface_id">Interface UUID to lookup.</param>
            <param name="interface_version">Interface version lookup.</param>
            <returns>The first RPC endpoints which can bind the interface. Throws exception if nothing found.</returns>
            <exception cref="T:NtApiDotNet.NtException">Throws on error.</exception>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.MapBindingToBindingString(System.String,System.Guid,System.Version)">
            <summary>
            Resolve the binding string for this service from the Endpoint Mapper.
            </summary>
            <param name="string_binding">The binding string to map.</param>
            <param name="interface_id">Interface UUID to lookup.</param>
            <param name="interface_version">Interface version lookup.</param>
            <remarks>This only will return a valid value if the service is running and registered with the Endpoint Mapper. It can also hang.</remarks>
            <returns>The RPC binding string. Empty string if it doesn't exist or the lookup failed.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.MapServerToBindingString(System.String,System.String,System.Guid,System.Version)">
            <summary>
            Resolve the binding string for this service from the the Endpoint Mapper.
            </summary>
            <param name="protocol_seq">The protocol sequence to lookup.</param>
            <param name="network_address">The network address to lookup the endpoint.</param>
            <param name="interface_id">Interface UUID to lookup.</param>
            <param name="interface_version">Interface version lookup.</param>
            <remarks>This only will return a valid value if the service is running and registered with the Endpoint Mapper. It can also hang.</remarks>
            <returns>The RPC binding string. Empty string if it doesn't exist or the lookup failed.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcEndpointMapper.MapServerToBindingString(System.String,System.Guid,System.Version)">
            <summary>
            Resolve the binding string for this service from the local Endpoint Mapper.
            </summary>
            <param name="protocol_seq">The protocol sequence to lookup.</param>
            <param name="interface_id">Interface UUID to lookup.</param>
            <param name="interface_version">Interface version lookup.</param>
            <remarks>This only will return a valid value if the service is running and registered with the Endpoint Mapper. It can also hang.</remarks>
            <returns>The RPC binding string. Empty string if it doesn't exist or the lookup failed.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.RpcServer">
            <summary>
            A class to represent an RPC server.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcServer.ResolveRunningEndpoint">
            <summary>
            Resolve the current running endpoint for this server.
            </summary>
            <returns></returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcServer.FormatAsText">
            <summary>
            Format the RPC server as text.
            </summary>
            <returns>The formatted RPC server.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcServer.FormatAsText(System.Boolean)">
            <summary>
            Format the RPC server as text.
            </summary>
            <param name="remove_comments">True to remove comments from the output.</param>
            <returns>The formatted RPC server.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcServer.FormatAsText(System.Boolean,System.Boolean)">
            <summary>
            Format the RPC server as text.
            </summary>
            <param name="remove_comments">True to remove comments from the output.</param>
            <param name="cpp_format">Formating using C++ pseduo syntax.</param>
            <returns>The formatted RPC server.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcServer.Serialize(System.IO.Stream)">
            <summary>
            Serialize the RPC server to a stream.
            </summary>
            <param name="stm">The stream to hold the serialized server.</param>
            <remarks>Only use the output of this method with the Deserialize method. No guarantees of compatibility is made between
            versions of the library or the specific format used.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcServer.Serialize">
            <summary>
            Serialize the RPC server to a byte array.
            </summary>
            <returns>The serialized data.</returns>
            <remarks>Only use the output of this method with the Deserialize method. No guarantees of compatibility is made between
            versions of the library or the specific format used.</remarks>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcServer.InterfaceId">
            <summary>
            The RPC server interface UUID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcServer.InterfaceVersion">
            <summary>
            The RPC server interface version.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcServer.TransferSyntaxId">
            <summary>
            The RPC transfer syntax GUID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcServer.TransferSyntaxVersion">
            <summary>
            The RPC transfer syntax version.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcServer.ProcedureCount">
            <summary>
            The number of RPC procedures.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcServer.Procedures">
            <summary>
            The list of RPC procedures.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcServer.Server">
            <summary>
            The NDR RPC server.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcServer.ComplexTypes">
            <summary>
            List of parsed complext types.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcServer.FilePath">
            <summary>
            Path to the PE file this server came from (if known)
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcServer.Name">
            <summary>
            Name of the the PE file this server came from (if known)
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcServer.Offset">
            <summary>
            Offset into the PE file this server was parsed from.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcServer.ServiceName">
            <summary>
            Name of the service this server would run in (if known).
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcServer.ServiceDisplayName">
            <summary>
            Display name of the service this server would run in (if known).
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcServer.IsServiceRunning">
            <summary>
            True if the service is currently running.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcServer.Endpoints">
            <summary>
            List of endpoints for this service if running.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcServer.EndpointCount">
            <summary>
            Count of endpoints for this service if running.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.RpcServer.Client">
            <summary>
            This parsed interface represents a client.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcServer.ParsePeFile(System.String,System.String,System.String)">
            <summary>
            Parse all RPC servers from a PE file.
            </summary>
            <param name="file">The PE file to parse.</param>
            <param name="dbghelp_path">Path to a DBGHELP DLL to resolve symbols.</param>
            <param name="symbol_path">Symbol path for DBGHELP</param>
            <remarks>This only works for PE files with the same bitness as the current process.</remarks>
            <returns>A list of parsed RPC server.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcServer.ParsePeFile(System.String,System.String,System.String,System.Boolean)">
            <summary>
            Parse all RPC servers from a PE file.
            </summary>
            <param name="file">The PE file to parse.</param>
            <param name="dbghelp_path">Path to a DBGHELP DLL to resolve symbols.</param>
            <param name="symbol_path">Symbol path for DBGHELP</param>
            <param name="parse_clients">True to parse client RPC interfaces.</param>
            <remarks>This only works for PE files with the same bitness as the current process.</remarks>
            <returns>A list of parsed RPC server.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcServer.ParsePeFile(System.String,System.String,System.String,System.Boolean,System.Boolean)">
            <summary>
            Parse all RPC servers from a PE file.
            </summary>
            <param name="file">The PE file to parse.</param>
            <param name="dbghelp_path">Path to a DBGHELP DLL to resolve symbols.</param>
            <param name="symbol_path">Symbol path for DBGHELP</param>
            <param name="parse_clients">True to parse client RPC interfaces.</param>
            <param name="ignore_symbols">Ignore symbol resolving.</param>
            <remarks>This only works for PE files with the same bitness as the current process.</remarks>
            <returns>A list of parsed RPC server.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcServer.ParsePeFile(System.String,System.String,System.String,NtApiDotNet.Win32.RpcServerParserFlags)">
            <summary>
            Parse all RPC servers from a PE file.
            </summary>
            <param name="file">The PE file to parse.</param>
            <param name="dbghelp_path">Path to a DBGHELP DLL to resolve symbols.</param>
            <param name="symbol_path">Symbol path for DBGHELP</param>
            <param name="flags">Flags for the RPC parser.</param>
            <remarks>This only works for PE files with the same bitness as the current process.</remarks>
            <returns>A list of parsed RPC server.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcServer.Deserialize(System.IO.Stream)">
            <summary>
            Deserialize an RPC server instance from a stream.
            </summary>
            <param name="stm">The stream to deserialize from.</param>
            <returns>The RPC server instance.</returns>
            <remarks>The data used by this method should only use the output from serialize. No guarantees of compatibility is made between
            versions of the library or the specific format used.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcServer.Deserialize(System.Byte[])">
            <summary>
            Deserialize an RPC server instance from a byte array.
            </summary>
            <param name="ba">The byte array to deserialize from.</param>
            <returns>The RPC server instance.</returns>
            <remarks>The data used by this method should only use the output from serialize. No guarantees of compatibility is made between
            versions of the library or the specific format used.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.RpcServer.GetDefaultSecurityDescriptor">
            <summary>
            Get the default RPC server security descriptor.
            </summary>
            <returns>The default security descriptor.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.RpcServerParserFlags">
            <summary>
            Flags for the RPC server parser.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.RpcServerParserFlags.None">
            <summary>
            None.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.RpcServerParserFlags.ParseClients">
            <summary>
            Parse client entries.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.RpcServerParserFlags.IgnoreSymbols">
            <summary>
            Ignore symbols when parsing.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.RpcServerParserFlags.ResolveStructureNames">
            <summary>
            Try and resolve structure names. Needs private symbols.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.RpcServerParserFlags.SymSrvFallback">
            <summary>
            Enable a symbol server fallback. If the copy of dbghelp doesn't have a symsrv.dll
            then download from a public symbol URL to a local cache directory during symbol
            resolving.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.RpcClientBase">
            <summary>
            Base class for a RPC client.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBase.#ctor(System.Guid,System.Version)">
            <summary>
            Constructor.
            </summary>
            <param name="interface_id">The interface ID.</param>
            <param name="interface_version">Version of the interface.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBase.#ctor(System.String,System.Int32,System.Int32)">
            <summary>
            Constructor.
            </summary>
            <param name="interface_id">The interface ID as a string.</param>
            <param name="major">Major version of the interface.</param>
            <param name="minor">Minor version of the interface.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBase.SendReceive(System.Int32,NtApiDotNet.Ndr.Marshal.NdrDataRepresentation,System.Byte[],System.Collections.Generic.IReadOnlyCollection{NtApiDotNet.NtObject})">
            <summary>
            Send and receive an RPC message.
            </summary>
            <param name="proc_num">The procedure number.</param>
            <param name="data_representation">The NDR data representation.</param>
            <param name="ndr_buffer">Marshal NDR buffer for the call.</param>
            <param name="handles">List of handles marshaled into the buffer.</param>
            <returns>Unmarshal NDR buffer for the result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBase.CheckSynchronousPipeSupport">
            <summary>
            Method to call to check if the transport supports synchronous pipes.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBase.CheckAsynchronousPipeSupport">
            <summary>
            Method to call to check if the transport supports asynchronous pipes.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.RpcClientBase.Connected">
            <summary>
            Get whether the client is connected or not.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.RpcClientBase.Endpoint">
            <summary>
            Get the endpoint that we connected to.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.RpcClientBase.ProtocolSequence">
            <summary>
            Get the protocol sequence that we connected to.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.RpcClientBase.ObjectUuid">
            <summary>
            Get or set the current Object UUID used for calls.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.RpcClientBase.InterfaceId">
            <summary>
            The RPC interface ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.RpcClientBase.InterfaceVersion">
            <summary>
            The RPC interface version.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.RpcClientBase.Transport">
            <summary>
            Get the client transport object.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBase.Connect(NtApiDotNet.Win32.RpcEndpoint,NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity)">
            <summary>
            Connect the client to a RPC endpoint.
            </summary>
            <param name="endpoint">The endpoint for RPC server.</param>
            <param name="transport_security">The transport security for the connection.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBase.Connect(NtApiDotNet.Win32.RpcEndpoint,NtApiDotNet.SecurityQualityOfService)">
            <summary>
            Connect the client to a RPC endpoint.
            </summary>
            <param name="endpoint">The endpoint for RPC server.</param>
            <param name="security_quality_of_service">The security quality of service for the connection.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBase.Connect(System.String,System.String,System.String,NtApiDotNet.SecurityQualityOfService)">
            <summary>
            Connect the client to a RPC endpoint.
            </summary>
            <param name="protocol_seq">The protocol sequence for the transport.</param>
            <param name="endpoint">The endpoint for the protocol sequence.</param>
            <param name="network_address">The network address for the protocol sequence.</param>
            <param name="security_quality_of_service">The security quality of service for the connection.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBase.Connect(System.String,System.String,System.String,NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity)">
            <summary>
            Connect the client to a RPC endpoint.
            </summary>
            <param name="protocol_seq">The protocol sequence for the transport.</param>
            <param name="endpoint">The endpoint for the protocol sequence.</param>
            <param name="network_address">The network address for the protocol sequence.</param>
            <param name="transport_security">The transport security for the connection.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBase.Connect(System.String,System.String,NtApiDotNet.SecurityQualityOfService)">
            <summary>
            Connect the client to a RPC endpoint.
            </summary>
            <param name="protocol_seq">The protocol sequence for the transport.</param>
            <param name="endpoint">The endpoint for the protocol sequence.</param>
            <param name="security_quality_of_service">The security quality of service for the connection.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBase.Connect(System.String,System.String,NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity)">
            <summary>
            Connect the client to a RPC endpoint.
            </summary>
            <param name="protocol_seq">The protocol sequence for the transport.</param>
            <param name="endpoint">The endpoint for the protocol sequence.</param>
            <param name="transport_security">The transport security for the connection.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBase.Connect(System.String,NtApiDotNet.SecurityQualityOfService)">
            <summary>
            Connect the client to an ALPC RPC port.
            </summary>
            <param name="alpc_path">The path to the ALPC RPC port.</param>
            <param name="security_quality_of_service">The security quality of service for the port.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBase.Connect(System.String,NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity)">
            <summary>
            Connect the client to a RPC endpoint.
            </summary>
            <param name="string_binding">The binding string for the RPC server.</param>
            <param name="transport_security">The transport security for the connection.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBase.Connect(System.String)">
            <summary>
            Connect the client to an ALPC RPC port.
            </summary>
            <param name="alpc_path">The path to the ALPC RPC port. If an empty string the endpoint will be looked up in the endpoint mapper.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBase.Connect">
            <summary>
            Connect the client to an ALPC RPC port.
            </summary>
            <remarks>The ALPC endpoint will be looked up in the endpoint mapper.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBase.Dispose">
            <summary>
            Dispose of the client.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBase.Disconnect">
            <summary>
            Disconnect the client.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.RpcClientBuilder">
            <summary>
            Builder to create an RPC client from an RpcServer class.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBuilder.BuildSource(NtApiDotNet.Win32.RpcServer,NtApiDotNet.Win32.Rpc.RpcClientBuilderArguments,System.CodeDom.Compiler.CodeDomProvider,System.CodeDom.Compiler.CodeGeneratorOptions)">
            <summary>
            Build a source file for the RPC client.
            </summary>
            <param name="server">The RPC server to base the client on.</param>
            <param name="args">Additional builder arguments.</param>
            <param name="options">The code generation options, can be null.</param>
            <param name="provider">The code dom provider, such as CSharpDomProvider</param>
            <returns>The source code file.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBuilder.BuildSource(NtApiDotNet.Win32.RpcServer,NtApiDotNet.Win32.Rpc.RpcClientBuilderArguments)">
            <summary>
            Build a C# source file for the RPC client.
            </summary>
            <param name="server">The RPC server to base the client on.</param>
            <param name="args">Additional builder arguments.</param>
            <returns>The C# source code file.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBuilder.BuildSource(NtApiDotNet.Win32.RpcServer)">
            <summary>
            Build a C# source file for the RPC client.
            </summary>
            <param name="server">The RPC server to base the client on.</param>
            <returns>The C# source code file.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBuilder.BuildSource(System.Collections.Generic.IEnumerable{NtApiDotNet.Ndr.NdrComplexTypeReference},System.String,System.String,System.String,System.Boolean,System.CodeDom.Compiler.CodeDomProvider,System.CodeDom.Compiler.CodeGeneratorOptions)">
            <summary>
            Build a source file for RPC complex types.
            </summary>
            <param name="complex_types">The RPC complex types to build the encoders from.</param>
            <param name="decoder_name">Name of the decoder class. Can be null or empty to use default.</param>
            <param name="encoder_name">Name of the encoder class. Can be null or empty to use default.</param>
            <param name="namespace_name">Name of the generated namespace. Null or empty specified no namespace.</param>
            <param name="options">The code generation options, can be null.</param>
            <param name="provider">The code dom provider, such as CSharpDomProvider</param>
            <param name="pointer_complex_types">True to wrap complex decoders in a unique pointer.</param>
            <returns>The source code file.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBuilder.BuildSource(System.Collections.Generic.IEnumerable{NtApiDotNet.Ndr.NdrComplexTypeReference},System.String,System.String,System.String,System.CodeDom.Compiler.CodeDomProvider,System.CodeDom.Compiler.CodeGeneratorOptions)">
            <summary>
            Build a source file for RPC complex types.
            </summary>
            <param name="complex_types">The RPC complex types to build the encoders from.</param>
            <param name="decoder_name">Name of the decoder class. Can be null or empty to use default.</param>
            <param name="encoder_name">Name of the encoder class. Can be null or empty to use default.</param>
            <param name="namespace_name">Name of the generated namespace. Null or empty specified no namespace.</param>
            <param name="options">The code generation options, can be null.</param>
            <param name="provider">The code dom provider, such as CSharpDomProvider</param>
            <returns>The source code file.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBuilder.BuildSource(System.Collections.Generic.IEnumerable{NtApiDotNet.Ndr.NdrComplexTypeReference},System.String,System.String,System.String,System.Boolean)">
            <summary>
            Build a source file for RPC complex types.
            </summary>
            <param name="complex_types">The RPC complex types to build the encoders from.</param>
            <param name="decoder_name">Name of the decoder class. Can be null or empty to use default.</param>
            <param name="encoder_name">Name of the encoder class. Can be null or empty to use default.</param>
            <param name="namespace_name">Name of the generated namespace. Null or empty specified no namespace.</param>
            <param name="pointer_complex_types">True to wrap complex decoders in a unique pointer.</param>
            <returns>The source code file.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBuilder.BuildSource(System.Collections.Generic.IEnumerable{NtApiDotNet.Ndr.NdrComplexTypeReference},System.String,System.String,System.String)">
            <summary>
            Build a source file for RPC complex types.
            </summary>
            <param name="complex_types">The RPC complex types to build the encoders from.</param>
            <param name="decoder_name">Name of the decoder class. Can be null or empty to use default.</param>
            <param name="encoder_name">Name of the encoder class. Can be null or empty to use default.</param>
            <param name="namespace_name">Name of the generated namespace. Null or empty specified no namespace.</param>
            <returns>The source code file.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBuilder.BuildSource(System.Collections.Generic.IEnumerable{NtApiDotNet.Ndr.NdrComplexTypeReference})">
            <summary>
            Build a source file for RPC complex types.
            </summary>
            <param name="complex_types">The RPC complex types to build the encoders from.</param>
            <returns>The C# source code file.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBuilder.BuildAssembly(NtApiDotNet.Win32.RpcServer,NtApiDotNet.Win32.Rpc.RpcClientBuilderArguments,System.Boolean,System.CodeDom.Compiler.CodeDomProvider)">
            <summary>
            Compile an in-memory assembly for the RPC client.
            </summary>
            <param name="server">The RPC server to base the client on.</param>
            <param name="args">Additional builder arguments.</param>
            <param name="ignore_cache">True to ignore cached assemblies.</param>
            <param name="provider">Code DOM provider to compile the assembly.</param>
            <returns>The compiled assembly.</returns>
            <remarks>This method will cache the results of the compilation against the RpcServer.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBuilder.BuildAssembly(NtApiDotNet.Win32.RpcServer,NtApiDotNet.Win32.Rpc.RpcClientBuilderArguments,System.Boolean)">
            <summary>
            Compile an in-memory assembly for the RPC client.
            </summary>
            <param name="server">The RPC server to base the client on.</param>
            <param name="args">Additional builder arguments.</param>
            <param name="ignore_cache">True to ignore cached assemblies.</param>
            <returns>The compiled assembly.</returns>
            <remarks>This method will cache the results of the compilation against the RpcServer.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBuilder.BuildAssembly(NtApiDotNet.Win32.RpcServer,NtApiDotNet.Win32.Rpc.RpcClientBuilderArguments)">
            <summary>
            Compile an in-memory assembly for the RPC client.
            </summary>
            <param name="server">The RPC server to base the client on.</param>
            <param name="args">Additional builder arguments.</param>
            <returns>The compiled assembly.</returns>
            <remarks>This method will cache the results of the compilation against the RpcServer.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBuilder.BuildAssembly(NtApiDotNet.Win32.RpcServer,System.Boolean)">
            <summary>
            Compile an in-memory assembly for the RPC client.
            </summary>
            <param name="server">The RPC server to base the client on.</param>
            <param name="ignore_cache">True to ignore cached assemblies.</param>
            <returns>The compiled assembly.</returns>
            <remarks>This method will cache the results of the compilation against the RpcServer.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBuilder.BuildAssembly(NtApiDotNet.Win32.RpcServer)">
            <summary>
            Compile an in-memory assembly for the RPC client.
            </summary>
            <param name="server">The RPC server to base the client on.</param>
            <returns>The compiled assembly.</returns>
            <remarks>This method will cache the results of the compilation against the RpcServer.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBuilder.CreateClient(NtApiDotNet.Win32.RpcServer,NtApiDotNet.Win32.Rpc.RpcClientBuilderArguments,System.Boolean,System.CodeDom.Compiler.CodeDomProvider)">
            <summary>
            Create an instance of an RPC client.
            </summary>
            <param name="server">The RPC server to base the client on.</param>
            <param name="ignore_cache">True to ignore cached assemblies.</param>
            <param name="args">Additional builder arguments.</param>
            <param name="provider">Code DOM provider to compile the assembly.</param>
            <returns>The created RPC client.</returns>
            <remarks>This method will cache the results of the compilation against the RpcServer.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBuilder.CreateClient(NtApiDotNet.Win32.RpcServer,NtApiDotNet.Win32.Rpc.RpcClientBuilderArguments,System.Boolean)">
            <summary>
            Create an instance of an RPC client.
            </summary>
            <param name="server">The RPC server to base the client on.</param>
            <param name="ignore_cache">True to ignore cached assemblies.</param>
            <param name="args">Additional builder arguments.</param>
            <returns>The created RPC client.</returns>
            <remarks>This method will cache the results of the compilation against the RpcServer.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBuilder.CreateClient(NtApiDotNet.Win32.RpcServer,NtApiDotNet.Win32.Rpc.RpcClientBuilderArguments)">
            <summary>
            Create an instance of an RPC client.
            </summary>
            <param name="server">The RPC server to base the client on.</param>
            <param name="args">Additional builder arguments.</param>
            <returns>The created RPC client.</returns>
            <remarks>This method will cache the results of the compilation against the RpcServer.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBuilder.CreateClient(NtApiDotNet.Win32.RpcServer)">
            <summary>
            Create an instance of an RPC client.
            </summary>
            <param name="server">The RPC server to base the client on.</param>
            <returns>The created RPC client.</returns>
            <remarks>This method will cache the results of the compilation against the RpcServer.</remarks>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.RpcClientBuilderFlags">
            <summary>
            Flags for the RPC client builder.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.RpcClientBuilderFlags.None">
            <summary>
            None.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.RpcClientBuilderFlags.GenerateConstructorProperties">
            <summary>
            Generate public properties on the client to create defined complex types.
            </summary>
            <remarks>If not specified then constructors will be defined on the types themselves.</remarks>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.RpcClientBuilderFlags.InsertBreakpoints">
            <summary>
            Insert breakpoints into the start of every generated method. Also enables debugging.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.RpcClientBuilderFlags.DisableCalculatedCorrelations">
            <summary>
            Disable calculated correlation information. This will prevent automatic updating of array and 
            string lengths based on other parameters or fields. This might result in unexpected behavior or
            call failures. This won't disable correlations for union types or constant correlations.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.RpcClientBuilderFlags.NoNamespace">
            <summary>
            Don't emit any namespace, normally not specifying a namespace will auto-generate one.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.RpcClientBuilderFlags.UnsignedChar">
            <summary>
            Output FC_CHAR as if the original compiler had specified unsigned char types. Basically converts
            System.SByte to System.Byte where needed which makes the methods easier to use.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.RpcClientBuilderFlags.StructureReturn">
            <summary>
            Return ref/out parameters via a structure rather than requiring ref/out parameters in client
            methods.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.RpcClientBuilderFlags.HideWrappedMethods">
            <summary>
            When using StructureReturn hide the original out/ref methods.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.RpcClientBuilderFlags.GenerateComplexTypeEncodeMethods">
            <summary>
            Generate encode/decode methods for complex types.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.RpcClientBuilderFlags.ExcludeVariableSourceText">
            <summary>
            Exclude any text in the source code which can change between generations.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.RpcClientBuilderFlags.PointerComplexTypeDecoders">
            <summary>
            Wrap complex type decoders with a unique pointer.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.RpcClientBuilderFlags.MarshalPipesAsArrays">
            <summary>
            Marshal pipe parameters using arrays.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.RpcClientBuilderArguments">
            <summary>
            Arguments for the RPC client builder.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.RpcClientBuilderArguments.Flags">
            <summary>
            Builder flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.RpcClientBuilderArguments.NamespaceName">
            <summary>
            The namespace for the client class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.RpcClientBuilderArguments.ClientName">
            <summary>
            The class name of the client.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.RpcClientBuilderArguments.EncoderName">
            <summary>
            The class name of the complex type encoding class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.RpcClientBuilderArguments.DecoderName">
            <summary>
            The class name of the complex type decoder class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.RpcClientBuilderArguments.EnableDebugging">
            <summary>
            Enable debugging on built code.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBuilderArguments.GetHashCode">
            <summary>
            GetHashCode implementation.
            </summary>
            <returns>The hash code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcClientBuilderArguments.Equals(System.Object)">
            <summary>
            Equals implementation.
            </summary>
            <param name="obj">The object to compare against.</param>
            <returns>True if the object is equal.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.RpcClientResponse">
            <summary>
            Response data from an RPC client call.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.RpcClientResponse.NdrBuffer">
            <summary>
            The marshaled NDR data from the response.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.RpcClientResponse.Handles">
            <summary>
            Any object handles returned in the response. (only for ALPC).
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.RpcClientResponse.DataRepresentation">
            <summary>
            Indicates the NDR data representation for the response.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.RpcServerProcessInformation">
            <summary>
            Class to represent details about a server process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.RpcServerProcessInformation.ProcessId">
            <summary>
            The server process ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.RpcServerProcessInformation.SessionId">
            <summary>
            The server session ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.RpcServerProcessInformation.Name">
            <summary>
            The name of the process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.RpcServerProcessInformation.ImagePath">
            <summary>
            Get the process image path.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcServerProcessInformation.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns></returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.RpcUtils">
            <summary>
            Some addition internal utilities for RPC code.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.SetRpcTraceLevel(System.Diagnostics.TraceLevel)">
            <summary>
            Specify RPC trace level.
            </summary>
            <param name="level">Specify the RPC trace level.</param>
            <remarks>This dumps NDR data. Verbose dumps the binary data.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.SetRpcTransportTraceLevel(System.Diagnostics.TraceLevel)">
            <summary>
            Specify RPC transport trace level.
            </summary>
            <param name="level">Specify the RPC transport trace level.</param>
            <remarks>Verbose dumps the transport binary data.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.DeRef``1(``0)">
            <summary>
            Helper to dereference a type.
            </summary>
            <typeparam name="T">The type to dereference.</typeparam>
            <param name="t">The value to dereference.</param>
            <returns>The dereferenced result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.DeRef``1(System.Nullable{``0})">
            <summary>
            Helper to dereference a type.
            </summary>
            <typeparam name="T">The type to dereference.</typeparam>
            <param name="t">The value to dereference.</param>
            <returns>The dereferenced result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull``1(``0,System.String)">
            <summary>
            Helper to check for NULL.
            </summary>
            <typeparam name="T">The type to check.</typeparam>
            <param name="obj">The object to check.</param>
            <param name="name">The name of the value to check.</param>
            <returns>The checked value.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull``1(``0[],System.String)">
            <summary>
            Helper to check for NULL.
            </summary>
            <typeparam name="T">The type to check.</typeparam>
            <param name="obj">The object to check.</param>
            <param name="name">The name of the value to check.</param>
            <returns>The checked value.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull``1(System.Nullable{``0},System.String)">
            <summary>
            Helper to check for NULL.
            </summary>
            <typeparam name="T">The type to check.</typeparam>
            <param name="obj">The object to check.</param>
            <param name="name">The name of the value to check.</param>
            <returns>The checked value.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.DeRef``1(NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer{``0})">
            <summary>
            Helper to dereference a type.
            </summary>
            <typeparam name="T">The type to dereference.</typeparam>
            <param name="t">The value to dereference.</param>
            <returns>The dereferenced result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpPlus(System.Int64)">
            <summary>
            Helper to perform a plus unary operation.
            </summary>
            <param name="v">The value to apply the operator to.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpMinus(System.Int64)">
            <summary>
            Helper to perform a minus unary operation.
            </summary>
            <param name="v">The value to apply the operator to.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpComplement(System.Int64)">
            <summary>
            Helper to perform a complement unary operation.
            </summary>
            <param name="v">The value to apply the operator to.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpTernary(System.Boolean,System.Int64,System.Int64)">
            <summary>
            Perform a ternary operation.
            </summary>
            <param name="condition">The condition to evaluate as != 0.</param>
            <param name="true_value">The result if true.</param>
            <param name="false_value">The result if false.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpPlus(System.Int64,System.Int64)">
            <summary>
            Perform ADD.
            </summary>
            <param name="left">The left operand.</param>
            <param name="right">The right operand.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpMinus(System.Int64,System.Int64)">
            <summary>
            Perform SUB.
            </summary>
            <param name="left">The left operand.</param>
            <param name="right">The right operand.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpStar(System.Int64,System.Int64)">
            <summary>
            Perform MUL.
            </summary>
            <param name="left">The left operand.</param>
            <param name="right">The right operand.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpSlash(System.Int64,System.Int64)">
            <summary>
            Perform DIV.
            </summary>
            <param name="left">The left operand.</param>
            <param name="right">The right operand.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpMod(System.Int64,System.Int64)">
            <summary>
            Perform MOD.
            </summary>
            <param name="left">The left operand.</param>
            <param name="right">The right operand.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpBitwiseAnd(System.Int64,System.Int64)">
            <summary>
            Perform Bitwise AND.
            </summary>
            <param name="left">The left operand.</param>
            <param name="right">The right operand.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpBitwiseOr(System.Int64,System.Int64)">
            <summary>
            Perform Bitwise OR.
            </summary>
            <param name="left">The left operand.</param>
            <param name="right">The right operand.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpXor(System.Int64,System.Int64)">
            <summary>
            Perform bitwise XOR. Needed as Code DOM doesn't support XOR.
            </summary>
            <param name="left">The left operand.</param>
            <param name="right">The right operand.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpLeftShift(System.Int64,System.Int64)">
            <summary>
            Perform bitwise LEFTSHIFT.
            </summary>
            <param name="left">The left operand.</param>
            <param name="right">The right operand.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpRightShift(System.Int64,System.Int64)">
            <summary>
            Perform bitwise RIGHTSHIFT.
            </summary>
            <param name="left">The left operand.</param>
            <param name="right">The right operand.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpLogicalAnd(System.Int64,System.Int64)">
            <summary>
            Perform logical AND.
            </summary>
            <param name="left">The left operand.</param>
            <param name="right">The right operand.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpLogicalOr(System.Int64,System.Int64)">
            <summary>
            Perform logical OR.
            </summary>
            <param name="left">The left operand.</param>
            <param name="right">The right operand.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpEqual(System.Int64,System.Int64)">
            <summary>
            Perform EQUAL.
            </summary>
            <param name="left">The left operand.</param>
            <param name="right">The right operand.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpNotEqual(System.Int64,System.Int64)">
            <summary>
            Perform NOTEQUAL.
            </summary>
            <param name="left">The left operand.</param>
            <param name="right">The right operand.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpGreater(System.Int64,System.Int64)">
            <summary>
            Perform GREATER.
            </summary>
            <param name="left">The left operand.</param>
            <param name="right">The right operand.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpGreaterEqual(System.Int64,System.Int64)">
            <summary>
            Perform GREATEREQUAL.
            </summary>
            <param name="left">The left operand.</param>
            <param name="right">The right operand.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpLess(System.Int64,System.Int64)">
            <summary>
            Perform LESS.
            </summary>
            <param name="left">The left operand.</param>
            <param name="right">The right operand.</param>
            <returns>The result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.OpLessEqual(System.Int64,System.Int64)">
            <summary>
            Perform LESSEQUAL.
            </summary>
            <param name="left">The left operand.</param>
            <param name="right">The right operand.</param>
            <returns>Returns left LESSEQUAL right.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.ToBool(System.Boolean)">
            <summary>
            Convert value to a boolean.
            </summary>
            <param name="value">The value</param>
            <returns>True if value != 0.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.ToBool(System.SByte)">
            <summary>
            Convert value to a boolean.
            </summary>
            <param name="value">The value</param>
            <returns>True if value != 0.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.ToBool(System.Byte)">
            <summary>
            Convert value to a boolean.
            </summary>
            <param name="value">The value</param>
            <returns>True if value != 0.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.ToBool(System.Int16)">
            <summary>
            Convert value to a boolean.
            </summary>
            <param name="value">The value</param>
            <returns>True if value != 0.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.ToBool(System.UInt16)">
            <summary>
            Convert value to a boolean.
            </summary>
            <param name="value">The value</param>
            <returns>True if value != 0.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.ToBool(System.Int32)">
            <summary>
            Convert value to a boolean.
            </summary>
            <param name="value">The value</param>
            <returns>True if value != 0.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.ToBool(System.UInt32)">
            <summary>
            Convert value to a boolean.
            </summary>
            <param name="value">The value</param>
            <returns>True if value != 0.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.ToBool(System.Int64)">
            <summary>
            Convert value to a boolean.
            </summary>
            <param name="value">The value</param>
            <returns>True if value != 0.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.ToBool(System.UInt64)">
            <summary>
            Convert value to a boolean.
            </summary>
            <param name="value">The value</param>
            <returns>True if value != 0.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.ToBool``1(System.Nullable{``0})">
            <summary>
            Convert value to a boolean.
            </summary>
            <param name="value">The nullable value</param>
            <returns>True if value has a value set.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.ToBool``1(``0)">
            <summary>
            Convert value to a boolean.
            </summary>
            <param name="value">The nullable value</param>
            <returns>True if value has a value set.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.RpcUtils.ComposeStringBinding(System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Compose a string binding from its parts.
            </summary>
            <param name="objuuid">The object UUID.</param>
            <param name="protseq">The protocol sequence.</param>
            <param name="networkaddr">The network address.</param>
            <param name="endpoint">The endpoint.</param>
            <param name="options">The options.</param>
            <returns>The composed binding string.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.Transport.IRpcClientTransport">
            <summary>
            Interface to implement an RPC client transport.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.IRpcClientTransport.Bind(System.Guid,System.Version,System.Guid,System.Version)">
            <summary>
            Bind the RPC transport to a specified interface.
            </summary>
            <param name="interface_id">The interface ID to bind to.</param>
            <param name="interface_version">The interface version to bind to.</param>
            <param name="transfer_syntax_id">The transfer syntax to use.</param>
            <param name="transfer_syntax_version">The transfer syntax version to use.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.IRpcClientTransport.SendReceive(System.Int32,System.Guid,NtApiDotNet.Ndr.Marshal.NdrDataRepresentation,System.Byte[],System.Collections.Generic.IReadOnlyCollection{NtApiDotNet.NtObject})">
            <summary>
            Send and receive an RPC message.
            </summary>
            <param name="proc_num">The procedure number.</param>
            <param name="objuuid">The object UUID for the call.</param>
            <param name="data_representation">NDR data representation.</param>
            <param name="ndr_buffer">Marshal NDR buffer for the call.</param>
            <param name="handles">List of handles marshaled into the buffer.</param>
            <returns>Client response from the send.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.IRpcClientTransport.AddSecurityContext(NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity)">
            <summary>
            Add and authenticate a new security context.
            </summary>
            <param name="transport_security">The transport security for the context.</param>
            <returns>The created security context.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.IRpcClientTransport.Disconnect">
            <summary>
            Disconnect the transport.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.IRpcClientTransport.Connected">
            <summary>
            Get whether the client is connected or not.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.IRpcClientTransport.Endpoint">
            <summary>
            Get the endpoint the client is connected to.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.IRpcClientTransport.ProtocolSequence">
            <summary>
            Get the transport protocol sequence.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.IRpcClientTransport.Authenticated">
            <summary>
            Get whether the client has been authenticated.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.IRpcClientTransport.AuthenticationType">
            <summary>
            Get the transport's authentication type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.IRpcClientTransport.AuthenticationLevel">
            <summary>
            Get the transport's authentication level.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.IRpcClientTransport.ServerProcess">
            <summary>
            Get information about the local server process, if known.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.IRpcClientTransport.CallId">
            <summary>
            Get the current Call ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.IRpcClientTransport.SupportsMultipleSecurityContexts">
            <summary>
            Indicates if this connection supported multiple security context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.IRpcClientTransport.SecurityContext">
            <summary>
            Get the list of negotiated security context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.IRpcClientTransport.CurrentSecurityContext">
            <summary>
            Get or set the current security context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.IRpcClientTransport.SupportsSynchronousPipes">
            <summary>
            Get whether the transport supports synchronous pipes.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.Transport.RpcAlpcClientTransport">
            <summary>
            RPC client transport over ALPC.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcAlpcClientTransport.#ctor(System.String,NtApiDotNet.SecurityQualityOfService)">
            <summary>
            Constructor.
            </summary>
            <param name="path">The path to connect. The format depends on the transport.</param>
            <param name="security_quality_of_service">The security quality of service for the connection.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcAlpcClientTransport.#ctor(System.String,NtApiDotNet.SecurityQualityOfService,NtApiDotNet.NtWaitTimeout)">
            <summary>
            Constructor.
            </summary>
            <param name="path">The path to connect. The format depends on the transport.</param>
            <param name="security_quality_of_service">The security quality of service for the connection.</param>
            <param name="timeout">Timeout for connection.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcAlpcClientTransport.Bind(System.Guid,System.Version,System.Guid,System.Version)">
            <summary>
            Bind the RPC transport to an interface.
            </summary>
            <param name="interface_id">The interface ID to bind to.</param>
            <param name="interface_version">The interface version to bind to.</param>
            <param name="transfer_syntax_id">The transfer syntax to use.</param>
            <param name="transfer_syntax_version">The transfer syntax version to use.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcAlpcClientTransport.SendReceive(System.Int32,System.Guid,NtApiDotNet.Ndr.Marshal.NdrDataRepresentation,System.Byte[],System.Collections.Generic.IReadOnlyCollection{NtApiDotNet.NtObject})">
            <summary>
            Send and receive an RPC message.
            </summary>
            <param name="proc_num">The procedure number.</param>
            <param name="objuuid">The object UUID for the call.</param>
            <param name="data_representation">NDR data representation.</param>
            <param name="ndr_buffer">Marshal NDR buffer for the call.</param>
            <param name="handles">List of handles marshaled into the buffer.</param>
            <returns>Client response from the send.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcAlpcClientTransport.Dispose">
            <summary>
            Dispose of the client.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcAlpcClientTransport.Disconnect">
            <summary>
            Disconnect the client.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcAlpcClientTransport.AddSecurityContext(NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity)">
            <summary>
            Add and authenticate a new security context.
            </summary>
            <param name="transport_security">The transport security for the context.</param>
            <returns>The created security context.</returns>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcAlpcClientTransport.Connected">
            <summary>
            Get whether the client is connected or not.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcAlpcClientTransport.Endpoint">
            <summary>
            Get the ALPC port path that we connected to.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcAlpcClientTransport.CallId">
            <summary>
            Get the current Call ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcAlpcClientTransport.ProtocolSequence">
            <summary>
            Get the transport protocol sequence.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcAlpcClientTransport.ServerProcess">
            <summary>
            Get information about the local server process, if known.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcAlpcClientTransport.Authenticated">
            <summary>
            Get whether the client has been authenticated.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcAlpcClientTransport.AuthenticationType">
            <summary>
            Get the transports authentication type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcAlpcClientTransport.AuthenticationLevel">
            <summary>
            Get the transports authentication level.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcAlpcClientTransport.SupportsMultipleSecurityContexts">
            <summary>
            Indicates if this connection supported multiple security context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcAlpcClientTransport.SecurityContext">
            <summary>
            Get the list of negotiated security context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcAlpcClientTransport.CurrentSecurityContext">
            <summary>
            Get or set the current security context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcAlpcClientTransport.SupportsSynchronousPipes">
            <summary>
            Get whether the transport supports synchronous pipes.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationCapabilities">
            <summary>
            Flags to specify RPC authentication capabilities.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationCapabilities.None">
            <summary>
            None.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationCapabilities.MutualAuthentication">
            <summary>
            Enable mutual authentication.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationCapabilities.NullSession">
            <summary>
            Enable a NULL session authentication.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationCapabilities.Delegation">
            <summary>
            Enable delegation of credentials if supported.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationLevel">
            <summary>
            Authentication level for RPC transport.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationLevel.Default">
            <summary>
            Default.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationLevel.None">
            <summary>
            None.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationLevel.Connect">
            <summary>
            Connect only.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationLevel.Call">
            <summary>
            Call only.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationLevel.Packet">
            <summary>
            Packet only.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationLevel.PacketIntegrity">
            <summary>
            Packet integrity.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationLevel.PacketPrivacy">
            <summary>
            Packer privacy and integrity.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType">
            <summary>
            RPC authentication type.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.Default">
            <summary>
            Default. Uses WinNT.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.None">
            <summary>
            No authentication.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.DCEPrivate">
            <summary>
            DCE private.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.DCEPublic">
            <summary>
            DCE public.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.DECPublic">
            <summary>
            DEC public.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.Negotiate">
            <summary>
            SPNEGO authentication.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.WinNT">
            <summary>
            WinNT authentication, i.e. NTLM.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.Schannel">
            <summary>
            Secure channel.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.Kerberos">
            <summary>
            Kerberos.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.DPA">
            <summary>
            DPA.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.MSN">
            <summary>
            MSN.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.Digest">
            <summary>
            Digest.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.Kernel">
            <summary>
            Kernel.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.NegoExtender">
            <summary>
            SPNEGO extender.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.PKU2U">
            <summary>
            PKU2U
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.LiveSSP">
            <summary>
            LiveSSP
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.LiveXPSSP">
            <summary>
            LiveXP SSP.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.CloudAP">
            <summary>
            CloudAP.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.NetLogon">
            <summary>
            Netlogon.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.MSOnline">
            <summary>
            MS Online.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType.MQ">
            <summary>
            Message Queue.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.Transport.IRpcClientTransportFactory">
            <summary>
            Interface to implement an RPC client transport factory.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.IRpcClientTransportFactory.Connect(NtApiDotNet.Win32.RpcEndpoint,NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity)">
            <summary>
            Connect a new RPC client transport.
            </summary>
            <param name="endpoint">The RPC endpoint.</param>
            <param name="transport_security">The transport security for the connection.</param>
            <returns>The connected transport.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.Transport.RpcClientTransportFactory">
            <summary>
            Factory for RPC client transports.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcClientTransportFactory.AddFactory(System.String,NtApiDotNet.Win32.Rpc.Transport.IRpcClientTransportFactory)">
            <summary>
            Add a new transport factory.
            </summary>
            <param name="protocol_seq">The protocol sequence to add.</param>
            <param name="factory">The transport factory.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcClientTransportFactory.ConnectEndpoint(NtApiDotNet.Win32.RpcEndpoint,NtApiDotNet.SecurityQualityOfService)">
            <summary>
            Connect a client transport from an endpoint.
            </summary>
            <param name="endpoint">The RPC endpoint.</param>
            <param name="security_quality_of_service">The security quality of service for the connection.</param>
            <returns>The  connected client transport.</returns>
            <exception cref="T:System.ArgumentException">Thrown if protocol sequence unsupported.</exception>
            <exception cref="T:System.Exception">Other exceptions depending on the connection.</exception>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcClientTransportFactory.ConnectEndpoint(NtApiDotNet.Win32.RpcEndpoint,NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity)">
            <summary>
            Connect a client transport from an endpoint.
            </summary>
            <param name="endpoint">The RPC endpoint.</param>
            <param name="transport_security">The transport security for the connection.</param>
            <returns>The  connected client transport.</returns>
            <exception cref="T:System.ArgumentException">Thrown if protocol sequence unsupported.</exception>
            <exception cref="T:System.Exception">Other exceptions depending on the connection.</exception>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport">
            <summary>
            Base class for a DCE/RPC connected client transport. This implements the common functions
            of the DCE/RPC specs for connected network based RPC transports.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.#ctor(System.UInt16,System.UInt16,NtApiDotNet.Ndr.Marshal.NdrDataRepresentation,NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity)">
            <summary>
            Constructor.
            </summary>
            <param name="max_recv_fragment">The initial maximum receive fragment length.</param>
            <param name="max_send_fragment">The initial maximum send fragment length.</param>
            <param name="transport_security">The transport security for the connection.</param>
            <param name="data_rep">The data representation.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.ReadFragment(System.Int32)">
            <summary>
            Read the next fragment from the transport.
            </summary>
            <param name="max_recv_fragment">The maximum receive fragment length.</param>
            <returns>The read fragment.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.WriteFragment(System.Byte[])">
            <summary>
            Write the fragment to the transport.
            </summary>
            <param name="fragment">The fragment to write.</param>
            <returns>True if successfully wrote the fragment.</returns>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.Connected">
            <summary>
            Get whether the client is connected or not.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.Endpoint">
            <summary>
            Get the endpoint the client is connected to.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.ProtocolSequence">
            <summary>
            Get the transport protocol sequence.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.ServerProcess">
            <summary>
            Get information about the server process, if known.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.Authenticated">
            <summary>
            Get whether the client has been authenticated.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.AuthenticationType">
            <summary>
            Get the transports authentication type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.AuthenticationLevel">
            <summary>
            Get the transports authentication level.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.AuthenticationContext">
            <summary>
            Get the transport authentication context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.SupportsMultipleSecurityContexts">
            <summary>
            Indicates if this connection supported multiple security context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.SecurityContext">
            <summary>
            Get the list of negotiated security context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.CurrentSecurityContext">
            <summary>
            Get or set the current security context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.CallId">
            <summary>
            Get the current Call ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.MaxRecvFragment">
            <summary>
            Get maximum receive fragment.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.MaxSendFragment">
            <summary>
            Get maximum send fragment.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.AssocGroupId">
            <summary>
            Get association group ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.SupportsSynchronousPipes">
            <summary>
            Get whether the transport supports synchronous pipes.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.Bind(System.Guid,System.Version,System.Guid,System.Version)">
            <summary>
            Bind the RPC transport to a specified interface.
            </summary>
            <param name="interface_id">The interface ID to bind to.</param>
            <param name="interface_version">The interface version to bind to.</param>
            <param name="transfer_syntax_id">The transfer syntax to use.</param>
            <param name="transfer_syntax_version">The transfer syntax version to use.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.AddSecurityContext(NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity)">
            <summary>
            Add and authenticate a new security context.
            </summary>
            <param name="transport_security">The transport security for the context.</param>
            <returns>The created security context.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.SendReceive(System.Int32,System.Guid,NtApiDotNet.Ndr.Marshal.NdrDataRepresentation,System.Byte[],System.Collections.Generic.IReadOnlyCollection{NtApiDotNet.NtObject})">
            <summary>
            Send and receive an RPC message.
            </summary>
            <param name="proc_num">The procedure number.</param>
            <param name="objuuid">The object UUID for the call.</param>
            <param name="data_representation">NDR data representation.</param>
            <param name="ndr_buffer">Marshal NDR buffer for the call.</param>
            <param name="handles">List of handles marshaled into the buffer.</param>
            <returns>Client response from the send.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.Disconnect">
            <summary>
            Disconnect the transport.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.DisableBindTimeFeatureNegotiation">
            <summary>
            Enable or disable bind time feature negotiation. You need to enable this to
            use multiple security context.
            </summary>
            <remarks>Should be set before connecting an RPC client.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcConnectedClientTransport.Dispose">
            <summary>
            Dispose the transport.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.Transport.RpcExtendedErrorInfo">
            <summary>
            Extended error information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcExtendedErrorInfo.ComputerName">
            <summary>
            Computer name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcExtendedErrorInfo.ProcessId">
            <summary>
            Process ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcExtendedErrorInfo.TimeStamp">
            <summary>
            Timestamp.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcExtendedErrorInfo.GeneratingComponent">
            <summary>
            Generating component.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcExtendedErrorInfo.Status">
            <summary>
            Status code.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcExtendedErrorInfo.DetectionLocation">
            <summary>
            Detection location.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcExtendedErrorInfo.Flags">
            <summary>
            Flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcExtendedErrorInfo.Parameters">
            <summary>
            Extra parameters.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.Transport.RpcFaultException">
            <summary>
            Exception for RPC fault conditions.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcFaultException.#ctor(System.Int32)">
            <summary>
            Constructor.
            </summary>
            <param name="rpc_status">The RPC status code.</param>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcFaultException.ExtendedErrorInfo">
            <summary>
            Get extended error information.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.Transport.RpcHyperVClientTransport">
            <summary>
            RPC client transport over HyperV sockets.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcHyperVClientTransport.#ctor(NtApiDotNet.Net.Sockets.HyperVEndPoint,NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity)">
            <summary>
            Constructor.
            </summary>
            <param name="endpoint">The HyperV socket endpoint to connect to.</param>
            <param name="transport_security">The transport security for the connection.</param>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcHyperVClientTransport.ProtocolSequence">
            <summary>
            Get the transport protocol sequence.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.Transport.RpcNamedPipeClientTransport">
            <summary>
            RPC client transport over named pipes.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcNamedPipeClientTransport.#ctor(System.String,NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity)">
            <summary>
            Constructor.
            </summary>
            <param name="path">The NT pipe path to connect. e.g. \??\pipe\ABC.</param>
            <param name="transport_security">The transport security for the connection.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcNamedPipeClientTransport.Dispose">
            <summary>
            Dispose of the client.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcNamedPipeClientTransport.Disconnect">
            <summary>
            Disconnect the client.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcNamedPipeClientTransport.ReadFragment(System.Int32)">
            <summary>
            Read the next fragment from the transport.
            </summary>
            <param name="max_recv_fragment">The maximum receive fragment length.</param>
            <returns>The read fragment.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcNamedPipeClientTransport.WriteFragment(System.Byte[])">
            <summary>
            Write the fragment to the transport.
            </summary>
            <param name="fragment">The fragment to write.</param>
            <returns>True if successfully wrote the fragment.</returns>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcNamedPipeClientTransport.Connected">
            <summary>
            Get whether the client is connected or not.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcNamedPipeClientTransport.Endpoint">
            <summary>
            Get the named pipe port path that we connected to.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcNamedPipeClientTransport.ProtocolSequence">
            <summary>
            Get the transport protocol sequence.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcNamedPipeClientTransport.ServerProcess">
            <summary>
            Get information about the local server process, if known.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.Transport.RpcStreamClientTransport">
            <summary>
            Class to implement a RPC client transport based on a stream.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcStreamClientTransport.#ctor(System.IO.Stream,System.UInt16,System.UInt16,NtApiDotNet.Ndr.Marshal.NdrDataRepresentation,NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity)">
            <summary>
            Constructor.
            </summary>
            <param name="stream">The stream to use to communicate with the transport.</param>
            <param name="max_recv_fragment">The initial maximum receive fragment length.</param>
            <param name="max_send_fragment">The initial maximum send fragment length.</param>
            <param name="transport_security">The transport security for the connection.</param>
            <param name="data_rep">The data representation.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcStreamClientTransport.ReadFragment(System.Int32)">
            <summary>
            Read the next fragment from the transport.
            </summary>
            <param name="max_recv_fragment">The maximum receive fragment length.</param>
            <returns>The read fragment.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcStreamClientTransport.WriteFragment(System.Byte[])">
            <summary>
            Write the fragment to the transport.
            </summary>
            <param name="fragment">The fragment to write.</param>
            <returns>True if successfully wrote the fragment.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.Transport.RpcStreamSocketClientTransport">
            <summary>
            Class to implement RPC over a stream based socket.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcStreamSocketClientTransport.#ctor(System.Net.Sockets.Socket,System.UInt16,System.UInt16,NtApiDotNet.Ndr.Marshal.NdrDataRepresentation,NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity)">
            <summary>
            Constructor.
            </summary>
            <param name="socket">The socket to use to communicate.</param>
            <param name="max_recv_fragment">The initial maximum receive fragment length.</param>
            <param name="max_send_fragment">The initial maximum send fragment length.</param>
            <param name="transport_security">The transport security for the connection.</param>
            <param name="data_rep">The data representation.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcStreamSocketClientTransport.Disconnect">
            <summary>
            Disconnect the client.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcStreamSocketClientTransport.Dispose">
            <summary>
            Dispose of the client.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcStreamSocketClientTransport.Connected">
            <summary>
            Get whether the client is connected or not.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcStreamSocketClientTransport.Endpoint">
            <summary>
            Get the named pipe port path that we connected to.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.Transport.RpcTcpClientTransport">
            <summary>
            RPC client transport over TCP/IP;
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcTcpClientTransport.GetServerProcess">
            <summary>
            Get the server process information.
            </summary>
            <returns>The server process information.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcTcpClientTransport.#ctor(System.String,System.Int32,NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity)">
            <summary>
            Constructor.
            </summary>
            <param name="hostname">The hostname to connect to.</param>
            <param name="port">The TCP port to connect to.</param>
            <param name="transport_security">The transport security for the connection.</param>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcTcpClientTransport.ProtocolSequence">
            <summary>
            Get the transport protocol sequence.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcTcpClientTransport.ServerProcess">
            <summary>
            Get information about the local server process, if known.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.Transport.RpcTransportException">
            <summary>
            Exception generated by the RPC transport.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcTransportException.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcTransportException.#ctor(System.String)">
            <summary>
            Constructor.
            </summary>
            <param name="message">Exception message.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcTransportException.#ctor(System.String,System.Exception)">
            <summary>
            Constructor.
            </summary>
            <param name="message">Exception message.</param>
            <param name="inner_exception">Inner exception.</param>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity">
            <summary>
            Class to represent the RPC transport security.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity.SecurityQualityOfService">
            <summary>
            Security quality of service.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity.AuthenticationLevel">
            <summary>
            Authentication level.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity.AuthenticationType">
            <summary>
            Authentication type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity.Credentials">
            <summary>
            Authentication credentials.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity.ServicePrincipalName">
            <summary>
            The SPN for the authentication.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity.AuthenticationCapabilities">
            <summary>
            Authentication capabilities.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity.#ctor(System.Func{NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity,NtApiDotNet.Win32.Security.Authentication.IClientAuthenticationContext})">
            <summary>
            Constructor.
            </summary>
            <param name="auth_factory">Factory to create a non-standard authentication context.</param>
            <remarks>You can use this version to create a mechanism to pass existing tokens such as pass-the-hash or sending arbitrary Kerberos tickets.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity.#ctor(NtApiDotNet.SecurityQualityOfService)">
            <summary>
            Constructor.
            </summary>
            <param name="security_quality_of_service">Security quality of service.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity.QueryServicePrincipalName(System.String,NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType,System.Boolean)">
            <summary>
            Query the service principal name for the server.
            </summary>
            <param name="string_binding">The binding string for the server.</param>
            <param name="authn_svc">The authentication service to query.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The service principal name.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurity.QueryServicePrincipalName(System.String,NtApiDotNet.Win32.Rpc.Transport.RpcAuthenticationType)">
            <summary>
            Query the service principal name for the server.
            </summary>
            <param name="string_binding">The binding string for the server.</param>
            <param name="authn_svc">The authentication service to query.</param>
            <returns>The service principal name.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurityContext">
            <summary>
            Class to represent an RPC transport security context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurityContext.ContextId">
            <summary>
            The ID of the security context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurityContext.TransportSecurity">
            <summary>
            The RPC transport security settings.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurityContext.AuthContext">
            <summary>
            The authentication context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurityContext.NegotiatedAuthType">
            <summary>
            The negotiated authentication type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Rpc.Transport.RpcTransportSecurityContext.AuthenticationLevel">
            <summary>
            The authentication level.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.RunningService">
            <summary>
            Dummy class to mark the old name as obsolete.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeHandles.SafeLsaReturnBufferHandle.Detach">
            <summary>
            Detaches the current buffer and allocates a new one.
            </summary>
            <returns>The detached buffer.</returns>
            <remarks>The original buffer will become invalid after this call.</remarks>
        </member>
        <member name="T:NtApiDotNet.Win32.SafeLoadLibraryHandle">
            <summary>
            Safe handle for a loaded library.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.#ctor(System.IntPtr,System.Boolean)">
            <summary>
            Constructor
            </summary>
            <param name="handle">The handle to the library</param>
            <param name="owns_handle">True if the handle is owned by this object.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.ReleaseHandle">
            <summary>
            Release handle.
            </summary>
            <returns>True if handle released.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetProcAddress(System.String,System.Boolean)">
            <summary>
            Get the address of an exported function, throw if the function doesn't exist.
            </summary>
            <param name="name">The name of the exported function.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>Pointer to the exported function.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if the name doesn't exist.</exception>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetProcAddress(System.IntPtr,System.Boolean)">
            <summary>
            Get the address of an exported function from an ordinal.
            </summary>
            <param name="ordinal">The ordinal of the exported function.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>Pointer to the exported function.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if the ordinal doesn't exist.</exception>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetProcAddress(System.String)">
            <summary>
            Get the address of an exported function.
            </summary>
            <param name="name">The name of the exported function.</param>
            <returns>Pointer to the exported function, or IntPtr.Zero if it can't be found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetProcAddress(System.IntPtr)">
            <summary>
            Get the address of an exported function from an ordinal.
            </summary>
            <param name="ordinal">The ordinal of the exported function.</param>
            <returns>Pointer to the exported function, or IntPtr.Zero if it can't be found.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetFunctionPointer``1(System.String,System.Boolean)">
            <summary>
            Get a delegate which points to an unmanaged function.
            </summary>
            <typeparam name="TDelegate">The delegate type.</typeparam>
            <param name="name">The name of the function to lookup.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The delegate.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetFunctionPointer``1(System.Boolean)">
            <summary>
            Get a delegate which points to an unmanaged function.
            </summary>
            <typeparam name="TDelegate">The delegate type. The name of the delegate is used to lookup the name of the function.</typeparam>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The delegate.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetFunctionPointer``1(System.String)">
            <summary>
            Get a delegate which points to an unmanaged function.
            </summary>
            <typeparam name="TDelegate">The delegate type.</typeparam>
            <param name="name">The name of the function to lookup.</param>
            <returns>The delegate.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetFunctionPointer``1">
            <summary>
            Get a delegate which points to an unmanaged function.
            </summary>
            <typeparam name="TDelegate">The delegate type. The name of the delegate is used to lookup the name of the function.</typeparam>
            <returns>The delegate.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.PinModule">
            <summary>
            Pin the library into memory. This prevents FreeLibrary unloading the library until
            the process exits.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.ParseDelayedImports">
            <summary>
            Parse a library's delayed import information.
            </summary>
            <returns>A dictionary containing the location of import information keyed against the IAT address.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetImageSections">
            <summary>
            Get the image sections from a loaded library.
            </summary>
            <returns>The list of image sections.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.LoadResourceData(System.String,NtApiDotNet.Win32.Image.ImageResourceType,System.Boolean)">
            <summary>
            Load the resource's bytes from the module.
            </summary>
            <param name="name">The name of the resource.</param>
            <param name="type">The type of the resource.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The bytes for the resource.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.LoadResourceData(System.String,System.String,System.Boolean)">
            <summary>
            Load the resource's bytes from the module.
            </summary>
            <param name="name">The name of the resource.</param>
            <param name="type_name">The type name of the resource.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The bytes for the resource.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.LoadResourceData(System.String,NtApiDotNet.Win32.Image.WellKnownImageResourceType,System.Boolean)">
            <summary>
            Load the resource's bytes from the module.
            </summary>
            <param name="name">The name of the resource.</param>
            <param name="well_known_type">The well known type of the resource.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The bytes for the resource.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.LoadResourceData(System.String,NtApiDotNet.Win32.Image.ImageResourceType)">
            <summary>
            Load the resource's bytes from the module.
            </summary>
            <param name="name">The name of the resource.</param>
            <param name="type">The type of the resource.</param>
            <returns>The bytes for the resource.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.LoadResourceData(System.String,System.String)">
            <summary>
            Load the resource's bytes from the module.
            </summary>
            <param name="name">The name of the resource.</param>
            <param name="type_name">The type name of the resource.</param>
            <returns>The bytes for the resource.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.LoadResourceData(System.String,NtApiDotNet.Win32.Image.WellKnownImageResourceType)">
            <summary>
            Load the resource's bytes from the module.
            </summary>
            <param name="name">The name of the resource.</param>
            <param name="well_known_type">The well known type of the resource.</param>
            <returns>The bytes for the resource.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.LoadResource(System.String,NtApiDotNet.Win32.Image.ImageResourceType,System.Boolean)">
            <summary>
            Load the resource's bytes from the module.
            </summary>
            <param name="name">The name of the resource.</param>
            <param name="type">The type of the resource.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The bytes for the resource.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.LoadResource(System.String,System.String,System.Boolean)">
            <summary>
            Load the resource's bytes from the module.
            </summary>
            <param name="name">The name of the resource.</param>
            <param name="type_name">The type name of the resource.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The bytes for the resource.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.LoadResource(System.String,NtApiDotNet.Win32.Image.WellKnownImageResourceType,System.Boolean)">
            <summary>
            Load the resource's bytes from the module.
            </summary>
            <param name="name">The name of the resource.</param>
            <param name="well_known_type">The well known type of the resource.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The bytes for the resource.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.LoadResource(System.String,NtApiDotNet.Win32.Image.ImageResourceType)">
            <summary>
            Load the resource's bytes from the module.
            </summary>
            <param name="name">The name of the resource.</param>
            <param name="type">The type of the resource.</param>
            <returns>The bytes for the resource.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.LoadResource(System.String,System.String)">
            <summary>
            Load the resource's bytes from the module.
            </summary>
            <param name="name">The name of the resource.</param>
            <param name="type_name">The type name of the resource.</param>
            <returns>The bytes for the resource.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.LoadResource(System.String,NtApiDotNet.Win32.Image.WellKnownImageResourceType)">
            <summary>
            Load the resource's bytes from the module.
            </summary>
            <param name="name">The name of the resource.</param>
            <param name="well_known_type">The well known type of the resource.</param>
            <returns>The bytes for the resource.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetResourceTypes">
            <summary>
            Get list of resource types from the loaded library.
            </summary>
            <returns>The list of resource types.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetResources(NtApiDotNet.Win32.Image.ImageResourceType,System.Boolean)">
            <summary>
            Get list of resource types from the loaded library.
            </summary>
            <param name="type">The type for the resources.</param>
            <param name="load_resource">True to load the resource data.</param>
            <returns>The list of resource types.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetResources(NtApiDotNet.Win32.Image.ImageResourceType)">
            <summary>
            Get list of resource types from the loaded library.
            </summary>
            <param name="type">The type for the resources.</param>
            <returns>The list of resource types.</returns>
            <remarks>This always loads resource data into memory.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetResources(System.String,System.Boolean)">
            <summary>
            Get list of resource types from the loaded library.
            </summary>
            <param name="type_name">The typename for the resources.</param>
            <param name="load_resource">True to load the resource data.</param>
            <returns>The list of resource types.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetResources(System.String)">
            <summary>
            Get list of resource types from the loaded library.
            </summary>
            <param name="type_name">The typename for the resources.</param>
            <returns>The list of resource types.</returns>
            <remarks>This always loads resource data into memory.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetResources(NtApiDotNet.Win32.Image.WellKnownImageResourceType,System.Boolean)">
            <summary>
            Get list of resource types from the loaded library.
            </summary>
            <param name="well_known_type">The well known type for the resources.</param>
            <param name="load_resource">True to load the resource data.</param>
            <returns>The list of resource types.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetResources(NtApiDotNet.Win32.Image.WellKnownImageResourceType)">
            <summary>
            Get list of resource types from the loaded library.
            </summary>
            <param name="well_known_type">The well known type for the resources.</param>
            <returns>The list of resource types.</returns>
            <remarks>This always loads resource data into memory.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetResources(System.Boolean)">
            <summary>
            Get list of resource types from the loaded library.
            </summary>
            <param name="load_resource">True to load the resource data.</param>
            <returns>The list of resource types.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetResources">
            <summary>
            Get list of resource types from the loaded library.
            </summary>
            <returns>The list of resource types.</returns>
            <remarks>This always loads resource data into memory.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.LoadString(System.Int32,System.Boolean)">
            <summary>
            Load a string for the library's string resource table.
            </summary>
            <param name="id">The ID of the string.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The loaded string.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.LoadString(System.Int32)">
            <summary>
            Load a string for the library's string resource table.
            </summary>
            <param name="id">The ID of the string.</param>
            <returns>The loaded string.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.AddRef">
            <summary>
            Increases the reference count and returns a new instance.
            </summary>
            <returns></returns>
        </member>
        <member name="P:NtApiDotNet.Win32.SafeLoadLibraryHandle.FullPath">
            <summary>
            Get path to loaded module.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.SafeLoadLibraryHandle.Name">
            <summary>
            Get the module name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.SafeLoadLibraryHandle.MappedAsImage">
            <summary>
            Whether this library is mapped as an image.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.SafeLoadLibraryHandle.MappedAsDataFile">
            <summary>
            Whether this library is mapped as a datafile.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.SafeLoadLibraryHandle.ImageBase">
            <summary>
            Get current mapped image base.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.SafeLoadLibraryHandle.OriginalImageBase">
            <summary>
            Get original image base address.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.SafeLoadLibraryHandle.EntryPoint">
            <summary>
            Get image entry point RVA.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.SafeLoadLibraryHandle.EntryPointAddress">
            <summary>
            Get image entry point address as mapped.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.SafeLoadLibraryHandle.Is64bit">
            <summary>
            Get whether the image is 64 bit or not.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.SafeLoadLibraryHandle.DllCharacteristics">
            <summary>
            Get the image's DLL characteristics flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.SafeLoadLibraryHandle.Exports">
            <summary>
            Get exports from the DLL.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.SafeLoadLibraryHandle.Imports">
            <summary>
            Get imports from the DLL.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.SafeLoadLibraryHandle.ApiSetImports">
            <summary>
            Return resolved API set imports for the DLL.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.SafeLoadLibraryHandle.DebugData">
            <summary>
            Get CodeView Debug Data from DLL.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.SafeLoadLibraryHandle.ImageSigningLevel">
            <summary>
            Get image signing level.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.SafeLoadLibraryHandle.EnclaveConfiguration">
            <summary>
            Get embedded enclave configuration.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.LoadLibrary(System.String,NtApiDotNet.Win32.LoadLibraryFlags,System.Boolean)">
            <summary>
            Load a library into memory.
            </summary>
            <param name="name">The path to the library.</param>
            <param name="flags">Additonal flags to pass to LoadLibraryEx</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>Handle to the loaded library.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.LoadLibrary(System.String,NtApiDotNet.Win32.LoadLibraryFlags)">
            <summary>
            Load a library into memory.
            </summary>
            <param name="name">The path to the library.</param>
            <param name="flags">Additonal flags to pass to LoadLibraryEx</param>
            <returns>Handle to the loaded library.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.LoadLibrary(System.String)">
            <summary>
            Load a library into memory.
            </summary>
            <param name="name">The path to the library.</param>
            <returns>Handle to the loaded library.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetModuleHandle(System.String)">
            <summary>
            Get the handle to an existing loading library by name.
            </summary>
            <param name="name">The name of the module.</param>
            <returns>The handle to the loaded library.</returns>
            <exception cref="T:NtApiDotNet.Win32.SafeWin32Exception">Thrown if the module can't be found.</exception>
            <remarks>This will take a reference on the library, you should dispose the handle after use.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetModuleHandleNoThrow(System.String)">
            <summary>
            Get the handle to an existing loading library by name.
            </summary>
            <param name="name">The name of the module.</param>
            <returns>The handle to the loaded library. Returns Null if not found.</returns>
            <remarks>This will take a reference on the library, you should dispose the handle after use.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.GetModuleHandle(System.IntPtr)">
            <summary>
            Get the handle to an existing loading library by an address in the module.
            </summary>
            <param name="address">An address inside the module.</param>
            <returns>The handle to the loaded library, null if the address isn't inside a valid module.</returns>
            <remarks>This will take a reference on the library, you should dispose the handle after use.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.PinModule(System.String)">
            <summary>
            Pin the library into memory. This prevents FreeLibrary unloading the library until
            the process exits.
            </summary>
            <param name="name">The name of the module to pin.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeLoadLibraryHandle.PinModule(System.IntPtr)">
            <summary>
            Pin the library into memory. This prevents FreeLibrary unloading the library until
            the process exits.
            </summary>
            <param name="address">The address of the module to pin.</param>
        </member>
        <member name="P:NtApiDotNet.Win32.SafeLoadLibraryHandle.Null">
            <summary>
            NULL load library handle.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.SafeWin32Exception">
            <summary>
            Represents an impersonation safe win32 exception, which resolves the win32 message when Message is called.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeWin32Exception.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.SafeWin32Exception.#ctor(System.Int32)">
            <summary>
            Constructor.
            </summary>
            <param name="error">Win32 error.</param>
        </member>
        <member name="P:NtApiDotNet.Win32.SafeWin32Exception.Message">
            <summary>
            The message for the exception.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Audit.AuditAccessRights">
            <summary>
            Access rights for system audit policy.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Audit.AuditCategory">
            <summary>
            System Audit Category.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Audit.AuditPerUserCategory">
            <summary>
            System Audit Category.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Audit.AuditPerUserCategory.User">
            <summary>
            The user for the per-user category.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Audit.AuditCategory`2">
            <summary>
            System Audit Category base class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Audit.AuditCategory`2.Id">
            <summary>
            The ID of the category.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Audit.AuditCategory`2.Name">
            <summary>
            The name of the category.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Audit.AuditCategory`2.SubCategories">
            <summary>
            List of sub categories.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditCategory`2.ToString">
            <summary>
            Convert to string.
            </summary>
            <returns>The name of the category.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditCategory`2.SetPolicy(`0,System.Boolean)">
            <summary>
            Set audit policy on all sub categories.
            </summary>
            <param name="flags">The flags to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The audit policy flags.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditCategory`2.SetPolicy(`0)">
            <summary>
            Set audit policy on all sub categories.
            </summary>
            <param name="flags">The flags to set.</param>
            <returns>The audit policy flags.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Audit.AuditGlobalSaclType">
            <summary>
            Type of global SACL to query or set.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Audit.AuditGlobalSaclType.File">
            <summary>
            File type.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Audit.AuditGlobalSaclType.Key">
            <summary>
            Key type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Audit.AuditPolicyEventType">
            <summary>
            Policy audit event type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Audit.AuditPolicyFlags">
            <summary>
            Audit policy flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Audit.AuditPolicyFlags.Unchanged">
            <summary>
            Set unchanged.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Audit.AuditPolicyFlags.Success">
            <summary>
            Audit on success.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Audit.AuditPolicyFlags.Failure">
            <summary>
            Audit on failure.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Audit.AuditPolicyFlags.None">
            <summary>
            Audit nothing.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Audit.AuditPerUserPolicyFlags">
            <summary>
            Per user policy flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Audit.AuditPerUserPolicyFlags.Unchanged">
            <summary>
            Set unchanged.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Audit.AuditPerUserPolicyFlags.SuccessInclude">
            <summary>
            Audit on success included.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Audit.AuditPerUserPolicyFlags.SuccessExclude">
            <summary>
            Audit on success excluded.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Audit.AuditPerUserPolicyFlags.FailureInclude">
            <summary>
            Audit on failure included.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Audit.AuditPerUserPolicyFlags.FailureExclude">
            <summary>
            Audit on failure excluded.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Audit.AuditPerUserPolicyFlags.None">
            <summary>
            Audit nothing.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils">
            <summary>
            Utilities for security auditing policy.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.AUDIT_NT_TYPE_NAME">
            <summary>
            Name for the fake Audit NT type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.GenericMapping">
            <summary>
            Get the generic mapping for directory services.
            </summary>
            <returns>The directory services generic mapping.</returns>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.NtType">
            <summary>
            Get a fake NtType for System Audit Policy.
            </summary>
            <returns>The fake Directory Services NtType</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.QuerySecurity(NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Query the Auditing Security Descriptor.
            </summary>
            <param name="security_information">The security information to query.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.QuerySecurity(NtApiDotNet.SecurityInformation)">
            <summary>
            Query the Auditing Security Descriptor.
            </summary>
            <param name="security_information">The security information to query.</param>
            <returns>The security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.QuerySecurity">
            <summary>
            Query the Auditing Security Descriptor.
            </summary>
            <returns>The security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.SetSecurity(NtApiDotNet.SecurityInformation,NtApiDotNet.SecurityDescriptor,System.Boolean)">
            <summary>
            Set the Auditing Security Descriptor.
            </summary>
            <param name="security_information">The security information to set.</param>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.SetSecurity(NtApiDotNet.SecurityInformation,NtApiDotNet.SecurityDescriptor)">
            <summary>
            Set the Auditing Security Descriptor.
            </summary>
            <param name="security_information">The security information to set.</param>
            <param name="security_descriptor">The security descriptor to set.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.QueryGlobalSacl(NtApiDotNet.Win32.Security.Audit.AuditGlobalSaclType,System.Boolean)">
            <summary>
            Query the global SACL.
            </summary>
            <param name="type">The global SACL type.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The global SACL in a Security Descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.QueryGlobalSacl(NtApiDotNet.Win32.Security.Audit.AuditGlobalSaclType)">
            <summary>
            Query the global SACL.
            </summary>
            <param name="type">The global SACL type.</param>
            <returns>The global SACL in a Security Descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.SetGlobalSacl(NtApiDotNet.Win32.Security.Audit.AuditGlobalSaclType,NtApiDotNet.SecurityDescriptor,System.Boolean)">
            <summary>
            Set the global SACL.
            </summary>
            <param name="type">The global SACL type.</param>
            <param name="security_descriptor">The SACL to set in an Security Descriptor.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.SetGlobalSacl(NtApiDotNet.Win32.Security.Audit.AuditGlobalSaclType,NtApiDotNet.SecurityDescriptor)">
            <summary>
            Set the global SACL.
            </summary>
            <param name="type">The global SACL type.</param>
            <param name="security_descriptor">The SACL to set in an Security Descriptor.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.GetCategories(System.Boolean)">
            <summary>
            Get list of Audit Policy categories.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of categories.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.GetCategories">
            <summary>
            Get list of Audit Policy categories.
            </summary>
            <returns>The list of categories.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.GetCategory(NtApiDotNet.Win32.Security.Audit.AuditPolicyEventType)">
            <summary>
            Get a single category.
            </summary>
            <param name="type">The category type.</param>
            <returns>The audit category.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.GetCategory(System.Guid)">
            <summary>
            Get a single category.
            </summary>
            <param name="category">The category GUID.</param>
            <returns>The audit category.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.GetPerUserCategories(System.Boolean)">
            <summary>
            Get all per-user categories for denied users.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of per-user categories.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.GetPerUserCategories">
            <summary>
            Get all per-user categories for denied users.
            </summary>
            <returns>The list of per-user categories.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.GetPerUserCategories(NtApiDotNet.Sid,System.Boolean)">
            <summary>
            Get list of per-user Audit Policy categories.
            </summary>
            <param name="user">The user SID to query.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of categories.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.GetPerUserCategories(NtApiDotNet.Sid)">
            <summary>
            Get list of per-user Audit Policy categories.
            </summary>
            <param name="user">The user SID to query.</param>
            <returns>The list of categories.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.GetPerUserCategory(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Audit.AuditPolicyEventType)">
            <summary>
            Get a single per-user category.
            </summary>
            <param name="user">The user SID to query.</param>
            <param name="type">The category type.</param>
            <returns>The audit category.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSecurityUtils.GetPerUserCategory(NtApiDotNet.Sid,System.Guid)">
            <summary>
            Get a single per-user category.
            </summary>
            <param name="user">The user SID to query.</param>
            <param name="category">The category GUID.</param>
            <returns>The audit category.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Audit.AuditSubCategory">
            <summary>
            Class representing an Audit Sub Category.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Audit.AuditSubCategory.Category">
            <summary>
            The category.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Audit.AuditPerUserSubCategory">
            <summary>
            Class representing an Audit Sub Category.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Audit.AuditPerUserSubCategory.Category">
            <summary>
            The category.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Audit.AuditPerUserSubCategory.User">
            <summary>
            The user for the per-user category.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Audit.AuditSubCategory`1">
            <summary>
            Class representing an Audit Sub Category. Base class.
            </summary>
            <typeparam name="T">Enum type for the Policy flags.</typeparam>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Audit.AuditSubCategory`1.Id">
            <summary>
            The ID of the sub category.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Audit.AuditSubCategory`1.Name">
            <summary>
            The name of the sub category.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Audit.AuditSubCategory`1.Policy">
            <summary>
            The Current Audit Policy
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSubCategory`1.ToString">
            <summary>
            Convert to string.
            </summary>
            <returns>The name of the subcategory.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSubCategory`1.QueryPolicy(System.Boolean)">
            <summary>
            Query audit policy.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The audit policy flags.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSubCategory`1.SetPolicy(`0,System.Boolean)">
            <summary>
            Set audit policy.
            </summary>
            <param name="flags">The flags to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The audit policy flags.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Audit.AuditSubCategory`1.SetPolicy(`0)">
            <summary>
            Set audit policy.
            </summary>
            <param name="flags">The flags to set.</param>
            <returns>The audit policy flags.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.ASN1AuthenticationToken">
            <summary>
            Authentication token constructed from ASN1.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ASN1AuthenticationToken.Format">
            <summary>
            Format the Authentication Token.
            </summary>
            <returns>The Formatted Token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ASN1AuthenticationToken.TryParse(System.Byte[],System.Int32,System.Boolean,NtApiDotNet.Win32.Security.Authentication.ASN1AuthenticationToken@)">
            <summary>
            Try and parse data into an ASN1 authentication token.
            </summary>
            <param name="data">The data to parse.</param>
            <param name="token">The ASN1 authentication token.</param>
            <param name="client">True if this is a token from a client.</param>
            <param name="token_count">The token count number.</param>
            <returns>True if parsed successfully.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.AuthenticationCredentials">
            <summary>
            Base class for authentication credentials.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.SecDataRep">
            <summary>
            Security data representation.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecDataRep.Native">
            <summary>
            Native representation.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecDataRep.Network">
            <summary>
            Network representation.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.SecPkgCredFlags">
            <summary>
            Credital flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCredFlags.Inbound">
            <summary>
            Inbound credentials.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCredFlags.Outbound">
            <summary>
            Outbound credentials.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCredFlags.Both">
            <summary>
            Both credentials direction.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCredFlags.Default">
            <summary>
            Default.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCredFlags.AutoLogonRestricted">
            <summary>
            Auto logon restricted. Don't use automatic credentials.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCredFlags.ProcessPolicyOnly">
            <summary>
            Only process policy.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.InitializeContextReqFlags">
            <summary>
            Initialize context request flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.InitializeContextRetFlags">
            <summary>
            Initialize context return flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.AcceptContextReqFlags">
            <summary>
            Access context request flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.AcceptContextRetFlags">
            <summary>
            Accept context return flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag">
            <summary>
            Security package capability flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.Integrity">
            <summary>
            Supports integrity on messages
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.Privacy">
            <summary>
            Supports privacy (confidentiality)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.TokenOnly">
            <summary>
            Only security token needed
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.Datagram">
            <summary>
            Datagram RPC support
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.Connection">
            <summary>
            Connection oriented RPC support
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.MultiRequired">
            <summary>
            Full 3-leg required for re-auth.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.ClientOnly">
            <summary>
            Server side functionality not available
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.ExtendedError">
            <summary>
            Supports extended error msgs
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.Impersonation">
            <summary>
            Supports impersonation
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.AcceptWin32Name">
            <summary>
            Accepts Win32 names
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.Stream">
            <summary>
            Supports stream semantics
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.Negotiable">
            <summary>
            Can be used by the negotiate package
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.GssCompatible">
            <summary>
            GSS Compatibility Available
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.Logon">
            <summary>
            Supports common LsaLogonUser
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.AsciiBuffers">
            <summary>
            Token Buffers are in ASCII
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.Fragment">
            <summary>
            Package can fragment to fit
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.MutualAuth">
            <summary>
            Package can perform mutual authentication
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.Delegation">
            <summary>
            Package can delegate
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.ReadOnlyWithChecksum">
            <summary>
            Supports integrity readonly checksum buffers.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.RestrictedTokens">
            <summary>
            Package supports restricted callers
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.NegoExtended">
            <summary>
            This package extends SPNEGO, there is at most one
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.Negotiable2">
            <summary>
            This package is negotiated under the NegoExtender
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.AppContainerPassthrough">
            <summary>
            This package receives all calls from appcontainer apps
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.AppContainerChecks">
            <summary>
            this package receives calls from appcontainer apps
            if the following checks succeed
            1. Caller has domain auth capability or
            2. Target is a proxy server or
            3. The caller has supplied creds
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.CredentialIsolationEnabled">
            <summary>
            This package is running with Credential Guard enabled
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecPkgCapabilityFlag.ApplyLoopback">
            <summary>
            this package supports reliable detection of loopback
            1.) The client and server see the same sequence of tokens
            2.) The server enforces a unique exchange for each
                non-anonymous authentication. (Replay detection)
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.AuthenticationImpersonationContext">
            <summary>
            Impersonation context for a server authentication.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.AuthenticationKey">
            <summary>
            Base class which represents an authentication key.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.AuthenticationPackage">
            <summary>
            An authentication package entry.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.AuthenticationPackage.MSV1_0_NAME">
            <summary>
            Authentication package name for MSV1.0
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.AuthenticationPackage.KERBEROS_NAME">
            <summary>
            Authentication package name for Kerberos.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.AuthenticationPackage.NEGOSSP_NAME">
            <summary>
            Authentication package name for Negotiate.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.AuthenticationPackage.NTLM_NAME">
            <summary>
            Authentication package name for NTLM.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.AuthenticationPackage.DIGEST_NAME">
            <summary>
            Authentication package name for Digest.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.AuthenticationPackage.SCHANNEL_NAME">
            <summary>
            Authentication package name for SChannel.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.AuthenticationPackage.CREDSSP_NAME">
            <summary>
            Authentication package name for CredSSP.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.AuthenticationPackage.Capabilities">
            <summary>
            Capabilities of the package.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.AuthenticationPackage.Version">
            <summary>
            Version of the package.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.AuthenticationPackage.RpcId">
            <summary>
            RPC DCE ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.AuthenticationPackage.MaxTokenSize">
            <summary>
            Max token size.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.AuthenticationPackage.Name">
            <summary>
            Name of the package.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.AuthenticationPackage.Comment">
            <summary>
            Comment for the package.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.AuthenticationPackage.Get">
            <summary>
            Get authentication packages.
            </summary>
            <returns>The list of authentication packages.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.AuthenticationPackage.GetNames">
            <summary>
            Get authentication package names.
            </summary>
            <returns>The list of authentication package names.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.AuthenticationPackage.FromName(System.String)">
            <summary>
            Get an authentication package by name.
            </summary>
            <param name="package">The name of the package.</param>
            <returns>The authentication package.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.AuthenticationToken">
            <summary>
            Base class to represent an authentication token.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.AuthenticationToken.Decrypt(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Authentication.AuthenticationKey})">
            <summary>
            Decrypt the Authentication Token using a keyset.
            </summary>
            <param name="keyset">The set of keys to decrypt the </param>
            <returns>The decrypted token, or the same token if nothing could be decrypted.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.AuthenticationToken.ToArray">
            <summary>
            Convert the authentication token to a byte array.
            </summary>
            <returns>The byte array.</returns>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.AuthenticationToken.Length">
            <summary>
            Get the length of the token in bytes.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.AuthenticationToken.Format">
            <summary>
            Format the authentication token.
            </summary>
            <returns>The token as a formatted string.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.AuthenticationToken.#ctor(System.Byte[])">
            <summary>
            Constructor.
            </summary>
            <param name="data">The authentication token data.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.AuthenticationToken.Parse(NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext,System.Byte[])">
            <summary>
            Parse a structured authentication token.
            </summary>
            <param name="context">The authentication context.</param>
            <param name="token">The token to parse.</param>
            <returns>The parsed authentication token. If can't parse any other format returns
            a raw AuthenticationToken.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.AuthenticationToken.Parse(System.String,System.Boolean,System.Byte[])">
            <summary>
            Parse a structured authentication token.
            </summary>
            <param name="package_name">The package name to parse as.</param>
            <param name="client">True if the token is from a client.</param>
            <param name="token">The token to parse.</param>
            <returns>The parsed authentication token. If can't parse any other format returns
            a raw AuthenticationToken.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext">
            <summary>
            Class to represent a client authentication context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.Token">
            <summary>
            The current authentication token.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.Done">
            <summary>
            Whether the authentication is done.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.RequestAttributes">
            <summary>
            Current request attribute flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.ReturnAttributes">
            <summary>
            Current return attribute flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.DataRepresentation">
            <summary>
            Current data representation.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.Target">
            <summary>
            Current target name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.ChannelBinding">
            <summary>
            Current channel binding.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.Flags">
            <summary>
            Current status flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.Expiry">
            <summary>
            Expiry of the authentication.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.SessionKey">
            <summary>
            Get the Session Key for this context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.MaxSignatureSize">
            <summary>
            Get the maximum signature size of this context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.SecurityTrailerSize">
            <summary>
            Get the size of the security trailer for this context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.StreamHeaderSize">
            <summary>
            Size of any header when using a stream protocol such as Schannel.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.StreamTrailerSize">
            <summary>
            Size of any trailer when using a stream protocol such as Schannel.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.StreamBufferCount">
            <summary>
            Number of buffers needed when using a stream protocol such as Schannel.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.StreamMaxMessageSize">
            <summary>
            Maximum message size when using a stream protocol such as Schannel.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.StreamBlockSize">
            <summary>
            Preferred block size when using a stream protocol such as Schannel.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.LocalCertificate">
            <summary>
            Get the local certificate. Only used for Schannel related authentication.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.RemoteCertificate">
            <summary>
            Get the remote certificate. Only used for Schannel related authentication.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.LastTokenStatus">
            <summary>
            Get the last token status for the client context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.PackageName">
            <summary>
            Get the name of the authentication package.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.ConnectionInfo">
            <summary>
            Get connection information for the schannel connection.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.IsLoopback">
            <summary>
            Get whether the authentication context is for loopback.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.OwnsCredentials">
            <summary>
            Get or set whether the context owns the credentials object or not. If true
            then the credentials are disposed with the context.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.#ctor(NtApiDotNet.Win32.Security.Authentication.CredentialHandle,NtApiDotNet.Win32.Security.Authentication.InitializeContextReqFlags,System.String,System.Byte[],NtApiDotNet.Win32.Security.Authentication.SecDataRep,System.Boolean)">
            <summary>
            Constructor.
            </summary>
            <param name="creds">Credential handle.</param>
            <param name="req_attributes">Request attribute flags.</param>
            <param name="target">Target SPN (optional).</param>
            <param name="data_rep">Data representation.</param>
            <param name="channel_binding">Optional channel binding token.</param>
            <param name="initialize">Specify to default initialize the context. Must call Continue with an auth token to initialize.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.#ctor(NtApiDotNet.Win32.Security.Authentication.CredentialHandle,NtApiDotNet.Win32.Security.Authentication.InitializeContextReqFlags,System.String,System.Byte[],NtApiDotNet.Win32.Security.Authentication.SecDataRep)">
            <summary>
            Constructor.
            </summary>
            <param name="creds">Credential handle.</param>
            <param name="req_attributes">Request attribute flags.</param>
            <param name="target">Target SPN (optional).</param>
            <param name="data_rep">Data representation.</param>
            <param name="channel_binding">Optional channel binding token.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.#ctor(NtApiDotNet.Win32.Security.Authentication.CredentialHandle,NtApiDotNet.Win32.Security.Authentication.InitializeContextReqFlags,System.String,NtApiDotNet.Win32.Security.Authentication.SecDataRep)">
            <summary>
            Constructor.
            </summary>
            <param name="creds">Credential handle.</param>
            <param name="req_attributes">Request attribute flags.</param>
            <param name="target">Target SPN (optional).</param>
            <param name="data_rep">Data representation.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.#ctor(NtApiDotNet.Win32.Security.Authentication.CredentialHandle,NtApiDotNet.Win32.Security.Authentication.InitializeContextReqFlags,NtApiDotNet.Win32.Security.Authentication.SecDataRep)">
            <summary>
            Constructor.
            </summary>
            <param name="creds">Credential handle.</param>
            <param name="req_attributes">Request attribute flags.</param>
            <param name="data_rep">Data representation.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.#ctor(NtApiDotNet.Win32.Security.Authentication.CredentialHandle)">
            <summary>
            Constructor.
            </summary>
            <param name="creds">Credential handle.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.Continue(NtApiDotNet.Win32.Security.Authentication.AuthenticationToken)">
            <summary>
            Continue the authentication with the server token.
            </summary>
            <param name="token">The server token to continue authentication.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.Continue(NtApiDotNet.Win32.Security.Authentication.AuthenticationToken,System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer})">
            <summary>
            Continue the authentication..
            </summary>
            <param name="token">The server token to continue authentication.</param>
            <param name="additional_input">Additional input buffers for the continue, does not need to include the token.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.Continue(NtApiDotNet.Win32.Security.Authentication.AuthenticationToken,System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer})">
            <summary>
            Continue the authentication.
            </summary>
            <param name="token">The server token to continue authentication.</param>
            <param name="additional_input">Additional input buffers for the continue, does not need to include the token.</param>
            <param name="additional_output">Additional output buffers, does not need to include the token.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.Continue(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Boolean)">
            <summary>
            Continue the authentication without any token.
            </summary>
            <param name="input_buffers">Input buffers for the continue. Does not contain a token.</param>
            <param name="additional_output">Specify additional output buffers, does not need to include the token.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <remarks>This sends the input buffers directly to the initialize call, it does not contain any token.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.Continue(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer})">
            <summary>
            Continue the authentication without any token.
            </summary>
            <param name="input_buffers">Input buffers for the continue. Does not contain a token.</param>
            <param name="additional_output">Specify additional output buffers, does not need to include the token.</param>
            <remarks>This sends the input buffers directly to the initialize call, it does not contain any token.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.Continue">
            <summary>
            Continue the authentication. Will not pass any buffers to the initialize call.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.MakeSignature(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Int32)">
            <summary>
            Make a signature for this context.
            </summary>
            <param name="messages">The message buffers to sign.</param>
            <param name="sequence_no">The sequence number.</param>
            <returns>The signature blob.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.MakeSignature(System.Byte[],System.Int32)">
            <summary>
            Make a signature for this context.
            </summary>
            <param name="message">The message to sign.</param>
            <param name="sequence_no">The sequence number.</param>
            <returns>The signature blob.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.VerifySignature(System.Byte[],System.Byte[],System.Int32)">
            <summary>
            Verify a signature for this context.
            </summary>
            <param name="message">The message to verify.</param>
            <param name="signature">The signature blob for the message.</param>
            <param name="sequence_no">The sequence number.</param>
            <returns>True if the signature is valid, otherwise false.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.VerifySignature(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Byte[],System.Int32)">
            <summary>
            Verify a signature for this context.
            </summary>
            <param name="messages">The messages to verify.</param>
            <param name="signature">The signature blob for the message.</param>
            <param name="sequence_no">The sequence number.</param>
            <returns>True if the signature is valid, otherwise false.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.EncryptMessage(System.Byte[],NtApiDotNet.Win32.Security.Authentication.SecurityQualityOfProtectionFlags,System.Int32)">
            <summary>
            Encrypt a message for this context.
            </summary>
            <param name="message">The message to encrypt.</param>
            <param name="quality_of_protection">Quality of protection flags.</param>
            <returns>The encrypted message.</returns>
            <param name="sequence_no">The sequence number.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.EncryptMessage(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},NtApiDotNet.Win32.Security.Authentication.SecurityQualityOfProtectionFlags,System.Int32)">
            <summary>
            Encrypt a message for this context.
            </summary>
            <param name="messages">The messages to encrypt.</param>
            <param name="quality_of_protection">Quality of protection flags.</param>
            <returns>The signature for the messages.</returns>
            <remarks>The messages are encrypted in place. You can add buffers with the ReadOnly flag to prevent them being encrypted.</remarks>
            <param name="sequence_no">The sequence number.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.EncryptMessageNoSignature(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},NtApiDotNet.Win32.Security.Authentication.SecurityQualityOfProtectionFlags,System.Int32)">
            <summary>
            Encrypt a message for this context with no specific signature.
            </summary>
            <param name="messages">The messages to encrypt.</param>
            <param name="quality_of_protection">Quality of protection flags.</param>
            <param name="sequence_no">The sequence number.</param>
            <remarks>The messages are encrypted in place. You can add buffers with the ReadOnly flag to prevent them being encrypted. 
            If you need to return a signature then it must be specified in a buffer.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.DecryptMessage(NtApiDotNet.Win32.Security.Authentication.EncryptedMessage,System.Int32)">
            <summary>
            Decrypt a message for this context.
            </summary>
            <param name="message">The message to decrypt.</param>
            <param name="sequence_no">The sequence number.</param>
            <returns>The decrypted message.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.DecryptMessage(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Byte[],System.Int32)">
            <summary>
            Decrypt a message for this context.
            </summary>
            <param name="messages">The messages to decrypt.</param>
            <param name="sequence_no">The sequence number.</param>
            <param name="signature">The signature for the messages.</param>
            <remarks>The messages are decrypted in place. You can add buffers with the ReadOnly flag to prevent them being decrypted.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.DecryptMessageNoSignature(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Int32)">
            <summary>
            Decrypt a message for this context.
            </summary>
            <param name="messages">The messages to decrypt.</param>
            <param name="sequence_no">The sequence number.</param>
            <remarks>The messages are decrypted in place. You can add buffers with the ReadOnly flag to prevent them being decrypted.
            If you need to specify a signature you need to add a buffer.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.GetAuthenticationPackage">
            <summary>
            Query the context's package info.
            </summary>
            <returns>The authentication package info,</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.Export">
            <summary>
            Export and delete the current security context.
            </summary>
            <returns>The exported security context.</returns>
            <remarks>The security context will not longer be usable afterwards.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.Dispose">
            <summary>
            Dispose the client context.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ClientAuthenticationContext.Finalize">
            <summary>
            Finalizer.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.CredentialHandle">
            <summary>
            Class to represent a credential handle.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.CredentialHandle.PackageName">
            <summary>
            Name of the authentication package used.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.CredentialHandle.Expiry">
            <summary>
            Expiry of the credentials.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.CredentialHandle.#ctor(System.String,System.String,System.Nullable{NtApiDotNet.Luid},NtApiDotNet.Win32.Security.Authentication.SecPkgCredFlags,System.Runtime.InteropServices.SafeBuffer)">
            <summary>
            Constructor.
            </summary>
            <param name="principal">User principal.</param>
            <param name="package">The package name.</param>
            <param name="auth_id">Optional authentication ID for the user.</param>
            <param name="cred_use_flag">Credential user flags.</param>
            <param name="auth_data">Optional authentication data.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.CredentialHandle.Create(System.String,System.String,System.Nullable{NtApiDotNet.Luid},NtApiDotNet.Win32.Security.Authentication.SecPkgCredFlags,NtApiDotNet.Win32.Security.Authentication.AuthenticationCredentials)">
            <summary>
            Create a new credential handle.
            </summary>
            <param name="principal">User principal.</param>
            <param name="package">The package name.</param>
            <param name="auth_id">Optional authentication ID for the user.</param>
            <param name="cred_use_flag">Credential user flags.</param>
            <param name="credentials">Optional credentials.</param>
            <returns>The credential handle.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.CredentialHandle.Create(System.String,System.Nullable{NtApiDotNet.Luid},NtApiDotNet.Win32.Security.Authentication.SecPkgCredFlags,NtApiDotNet.Win32.Security.Authentication.AuthenticationCredentials)">
            <summary>
            Create a new credential handle.
            </summary>
            <param name="package">The package name.</param>
            <param name="auth_id">Optional authentication ID for the user.</param>
            <param name="cred_use_flag">Credential user flags.</param>
            <param name="credentials">Optional credentials.</param>
            <returns>The credential handle.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.CredentialHandle.Create(System.String,NtApiDotNet.Win32.Security.Authentication.SecPkgCredFlags,NtApiDotNet.Win32.Security.Authentication.AuthenticationCredentials)">
            <summary>
            Create a new credential handle.
            </summary>
            <param name="package">The package name.</param>
            <param name="cred_use_flag">Credential user flags.</param>
            <param name="credentials">Optional credentials.</param>
            <returns>The credential handle.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.CredentialHandle.Create(System.String,NtApiDotNet.Win32.Security.Authentication.SecPkgCredFlags)">
            <summary>
            Create a new credential handle.
            </summary>
            <param name="package">The package name.</param>
            <param name="cred_use_flag">Credential user flags.</param>
            <returns>The credential handle.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.CredentialHandle.Dispose">
            <summary>
            Dispose.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.CredentialHandle.Finalize">
            <summary>
            Finalizer.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.CredSSP.CredSSPCredentials">
            <summary>
            Credentials for the CredSSP package.
            </summary>
            <remarks>This is only needed if you must have both schannel and user credentials. Otherwise use UserCredentials or SchannelCredentials.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.CredSSP.CredSSPCredentials.#ctor(NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelCredentials,NtApiDotNet.Win32.Security.Authentication.UserCredentials)">
            <summary>
            Constructor.
            </summary>
            <param name="schannel">The credentials for the Schannel connection.</param>
            <param name="user">The credentials for the user.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.CredSSP.CredSSPCredentials.#ctor(NtApiDotNet.Win32.Security.Authentication.UserCredentials)">
            <summary>
            Constructor.
            </summary>
            <param name="credentials">The credentials for the user.</param>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Digest.DigestAuthenticationToken">
            <summary>
            Authentication token for a digest token.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Digest.DigestAuthenticationToken.Data">
            <summary>
            The digest token as a string.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Digest.DigestAuthenticationToken.Format">
            <summary>
            Format the authentication token.
            </summary>
            <returns></returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.EncryptedMessage">
            <summary>
            An encrypted message.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.EncryptedMessage.Message">
            <summary>
            The encrypted message.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.EncryptedMessage.Signature">
            <summary>
            The signature for the message.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.EncryptedMessage.#ctor(System.Byte[],System.Byte[])">
            <summary>
            Constructor.
            </summary>
            <param name="message">The encrypted message.</param>
            <param name="signature">The signature for the message.</param>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.ExportedSecurityContext">
            <summary>
            Class to represent an exported security context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ExportedSecurityContext.Package">
            <summary>
            The name of the package for this security context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ExportedSecurityContext.SerializedContext">
            <summary>
            The serialized context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ExportedSecurityContext.Token">
            <summary>
            The context's token.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ExportedSecurityContext.Dispose">
            <summary>
            Dispose the exported context.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.GSSAPIUtils">
            <summary>
            A class which represents an GSS-API Token.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext">
            <summary>
            Interface for authentication contexts.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.Token">
            <summary>
            The current authentication token.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.Done">
            <summary>
            Whether the authentication is done.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.Expiry">
            <summary>
            Expiry of the authentication.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.SessionKey">
            <summary>
            Session key for the context.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.MakeSignature(System.Byte[],System.Int32)">
            <summary>
            Make a signature for this context.
            </summary>
            <param name="message">The message to sign.</param>
            <param name="sequence_no">The sequence number.</param>
            <returns>The signature blob.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.VerifySignature(System.Byte[],System.Byte[],System.Int32)">
            <summary>
            Verify a signature for this context.
            </summary>
            <param name="message">The message to verify.</param>
            <param name="signature">The signature blob for the message.</param>
            <param name="sequence_no">The sequence number.</param>
            <returns>True if the signature is valid, otherwise false.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.MakeSignature(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Int32)">
            <summary>
            Make a signature for this context.
            </summary>
            <param name="messages">The message buffers to sign.</param>
            <param name="sequence_no">The sequence number.</param>
            <returns>The signature blob.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.VerifySignature(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Byte[],System.Int32)">
            <summary>
            Verify a signature for this context.
            </summary>
            <param name="messages">The messages to verify.</param>
            <param name="signature">The signature blob for the message.</param>
            <param name="sequence_no">The sequence number.</param>
            <returns>True if the signature is valid, otherwise false.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.EncryptMessage(System.Byte[],NtApiDotNet.Win32.Security.Authentication.SecurityQualityOfProtectionFlags,System.Int32)">
            <summary>
            Encrypt a message for this context.
            </summary>
            <param name="message">The message to encrypt.</param>
            <param name="quality_of_protection">Quality of protection flags.</param>
            <returns>The encrypted message.</returns>
            <param name="sequence_no">The sequence number.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.EncryptMessage(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},NtApiDotNet.Win32.Security.Authentication.SecurityQualityOfProtectionFlags,System.Int32)">
            <summary>
            Encrypt a message for this context.
            </summary>
            <param name="messages">The messages to encrypt.</param>
            <param name="quality_of_protection">Quality of protection flags.</param>
            <returns>The signature for the messages.</returns>
            <remarks>The messages are encrypted in place. You can add buffers with the ReadOnly flag to prevent them being encrypted.</remarks>
            <param name="sequence_no">The sequence number.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.EncryptMessageNoSignature(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},NtApiDotNet.Win32.Security.Authentication.SecurityQualityOfProtectionFlags,System.Int32)">
            <summary>
            Encrypt a message for this context with no specific signature.
            </summary>
            <param name="messages">The messages to encrypt.</param>
            <param name="quality_of_protection">Quality of protection flags.</param>
            <param name="sequence_no">The sequence number.</param>
            <remarks>The messages are encrypted in place. You can add buffers with the ReadOnly flag to prevent them being encrypted. 
            If you need to return a signature then it must be specified in a buffer.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.DecryptMessage(NtApiDotNet.Win32.Security.Authentication.EncryptedMessage,System.Int32)">
            <summary>
            Decrypt a message for this context.
            </summary>
            <param name="message">The message to decrypt.</param>
            <param name="sequence_no">The sequence number.</param>
            <returns>The decrypted message.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.DecryptMessage(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Byte[],System.Int32)">
            <summary>
            Decrypt a message for this context.
            </summary>
            <param name="messages">The messages to decrypt.</param>
            <param name="signature">The signature for the messages.</param>
            <param name="sequence_no">The sequence number.</param>
            <remarks>The messages are decrypted in place. You can add buffers with the ReadOnly flag to prevent them being decrypted.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.DecryptMessageNoSignature(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Int32)">
            <summary>
            Decrypt a message for this context.
            </summary>
            <param name="messages">The messages to decrypt.</param>
            <param name="sequence_no">The sequence number.</param>
            <remarks>The messages are decrypted in place. You can add buffers with the ReadOnly flag to prevent them being decrypted.
            If you need to specify a signature you need to add a buffer.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.Export">
            <summary>
            Export and delete the current security context.
            </summary>
            <returns>The exported security context.</returns>
            <remarks>The security context will not longer be usable afterwards.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.GetAuthenticationPackage">
            <summary>
            Query the context's package info.
            </summary>
            <returns>The authentication package info,</returns>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.PackageName">
            <summary>
            Get the name of the authentication package.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.Continue(NtApiDotNet.Win32.Security.Authentication.AuthenticationToken)">
            <summary>
            Continue the authentication with the token.
            </summary>
            <param name="token">The token to continue authentication.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.Continue(NtApiDotNet.Win32.Security.Authentication.AuthenticationToken,System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer})">
            <summary>
            Continue the authentication..
            </summary>
            <param name="token">The token to continue authentication.</param>
            <param name="additional_input">Additional input buffers for the continue, does not need to include the token.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.Continue(NtApiDotNet.Win32.Security.Authentication.AuthenticationToken,System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer})">
            <summary>
            Continue the authentication.
            </summary>
            <param name="token">The token to continue authentication.</param>
            <param name="additional_input">Additional input buffers for the continue, does not need to include the token.</param>
            <param name="additional_output">Specify additional output buffers, does not need to include the token.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.Continue(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer})">
            <summary>
            Continue the authentication.
            </summary>
            <param name="input_buffers">Additional input buffers for the continue. Does not contain a token.</param>
            <param name="additional_output">Specify additional output buffers, does not need to include the token.</param>
            <remarks>This sends the input buffers directly to the initialize call, it does not contain any token.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.Continue">
            <summary>
            Continue the authentication. Will not pass any buffers to the accept call.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.MaxSignatureSize">
            <summary>
            Get the maximum signature size of this context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.IAuthenticationContext.SecurityTrailerSize">
            <summary>
            Get the size of the security trailer for this context.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.IClientAuthenticationContext">
            <summary>
            Interface for a client authentication context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.IClientAuthenticationContext.LastTokenStatus">
            <summary>
            Get the last token status for the client context.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.IServerAuthenticationContext">
            <summary>
            Placeholder interface for a server authentication context.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.Builder.KerberosBuilderUtils">
            <summary>
            Utilities for building Kerberos structures.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPReplyAuthenticationToken">
            <summary>
            Class to represent a Kerberos AP Reply.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPReplyAuthenticationToken.EncryptedPart">
            <summary>
            Encrypted mutual authentication data.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPReplyAuthenticationToken.Format">
            <summary>
            Format the Authentication Token.
            </summary>
            <returns>The Formatted Token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPReplyAuthenticationToken.Decrypt(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Authentication.AuthenticationKey})">
            <summary>
            Decrypt the Authentication Token using a keyset.
            </summary>
            <param name="keyset">The set of keys to decrypt the </param>
            <returns>The decrypted token, or the same token if nothing could be decrypted.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPReplyAuthenticationToken.TryParse(System.Byte[],NtApiDotNet.Utilities.ASN1.DERValue[],NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationToken@)">
            <summary>
            Try and parse data into an ASN1 authentication token.
            </summary>
            <param name="data">The data to parse.</param>
            <param name="token">The Negotiate authentication token.</param>
            <param name="values">Parsed DER Values.</param>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPReplyEncryptedPart">
            <summary>
            Encrypted part for AP-REP messages.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPReplyEncryptedPart.ClientUSec">
            <summary>
            Client uS.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPReplyEncryptedPart.ClientTime">
            <summary>
            Client time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPReplyEncryptedPart.SubKey">
            <summary>
            Subkey.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPReplyEncryptedPart.SequenceNumber">
            <summary>
            Sequence number.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPRequestOptions">
            <summary>
            Options for AP Request
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPRequestOptions.None">
            <summary>
            None.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPRequestOptions.UseSessionKey">
            <summary>
            Use Session Key.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPRequestOptions.MutualAuthRequired">
            <summary>
            Mutual authentication required.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPRequestAuthenticationToken">
            <summary>
            Class to represent a Kerberos AP Request.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPRequestAuthenticationToken.Options">
            <summary>
            AP Request Options.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPRequestAuthenticationToken.Ticket">
            <summary>
            The Kerberos Ticket.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPRequestAuthenticationToken.Authenticator">
            <summary>
            Authenticator data.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPRequestAuthenticationToken.Format">
            <summary>
            Format the Authentication Token.
            </summary>
            <returns>The Formatted Token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPRequestAuthenticationToken.Decrypt(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Authentication.AuthenticationKey})">
            <summary>
            Decrypt the Authentication Token using a keyset.
            </summary>
            <param name="keyset">The set of keys to decrypt the </param>
            <returns>The decrypted token, or the same token if nothing could be decrypted.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAPRequestAuthenticationToken.TryParse(System.Byte[],NtApiDotNet.Utilities.ASN1.DERValue[],NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationToken@)">
            <summary>
            Try and parse data into an ASN1 authentication token.
            </summary>
            <param name="data">The data to parse.</param>
            <param name="token">The Negotiate authentication token.</param>
            <param name="values">Parsed DER Values.</param>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey">
            <summary>
            A single kerberos key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey.KeyEncryption">
            <summary>
            The Key encryption type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey.Key">
            <summary>
            The key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey.NameType">
            <summary>
            The key name type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey.Realm">
            <summary>
            The Realm for the key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey.Components">
            <summary>
            The name components for the key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey.Principal">
            <summary>
            Principal name as a string.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey.Timestamp">
            <summary>
            Timestamp when key was created.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey.Version">
            <summary>
            Key Version Number (KVNO).
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey.#ctor(NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosEncryptionType,System.Byte[],NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosNameType,System.String,System.String[],System.DateTime,System.UInt32)">
            <summary>
            Constructor.
            </summary>
            <param name="key_encryption">The Key encryption type.</param>
            <param name="key">The key.</param>
            <param name="name_type">The key name type.</param>
            <param name="realm">The Realm for the key.</param>
            <param name="components">The name components for the key.</param>
            <param name="timestamp">Timestamp when key was created.</param>
            <param name="version">Key Version Number (KVNO).</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey.#ctor(NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosEncryptionType,System.Byte[],NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosNameType,System.String,System.Collections.Generic.IEnumerable{System.String},System.DateTime,System.UInt32)">
            <summary>
            Constructor.
            </summary>
            <param name="key_encryption">The Key encryption type.</param>
            <param name="key">The key.</param>
            <param name="name_type">The key name type.</param>
            <param name="realm">The Realm for the key.</param>
            <param name="components">The name components for the key.</param>
            <param name="timestamp">Timestamp when key was created.</param>
            <param name="version">Key Version Number (KVNO).</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey.#ctor(NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosEncryptionType,System.Byte[],NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosNameType,System.String,System.DateTime,System.UInt32)">
            <summary>
            Constructor.
            </summary>
            <param name="key_encryption">The Key encryption type.</param>
            <param name="key">The key.</param>
            <param name="name_type">The key name type.</param>
            <param name="principal">Principal for key, in form TYPE/name@realm.</param>
            <param name="timestamp">Timestamp when key was created.</param>
            <param name="version">Key Version Number (KVNO).</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey.#ctor(NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosEncryptionType,System.String,NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosNameType,System.String,System.DateTime,System.UInt32)">
            <summary>
            Constructor.
            </summary>
            <param name="key_encryption">The Key encryption type.</param>
            <param name="key">The key as a hex string.</param>
            <param name="name_type">The key name type.</param>
            <param name="principal">Principal for key, in form TYPE/name@realm.</param>
            <param name="timestamp">Timestamp when key was created.</param>
            <param name="version">Key Version Number (KVNO).</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey.DeriveKey(NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosEncryptionType,System.String,System.Int32,NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosNameType,System.String,System.String,System.UInt32)">
            <summary>
            Derive a key from a password.
            </summary>
            <remarks>Not all encryption types are supported.</remarks>
            <param name="key_encryption">The key encryption to use.</param>
            <param name="password">The password to derice from.</param>
            <param name="iterations">Iterations for the password derivation.</param>
            <param name="name_type">The key name type.</param>
            <param name="principal">Principal for key, in form TYPE/name@realm.</param>
            <param name="salt">Salt for the key.</param>
            <param name="version">Key Version Number (KVNO).</param>
            <returns></returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationToken">
            <summary>
            Authentication Token for Kerberos.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationToken.ProtocolVersion">
            <summary>
            Protocol version.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationToken.MessageType">
            <summary>
            Message type.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationToken.Parse(System.Byte[])">
            <summary>
            Parse bytes into a kerberos token.
            </summary>
            <param name="data">The kerberos token in bytes.</param>
            <returns>The Kerberos token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationToken.TryParse(System.Byte[],System.Int32,System.Boolean,NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationToken@)">
            <summary>
            Try and parse data into an Kerberos authentication token.
            </summary>
            <param name="data">The data to parse.</param>
            <param name="token">The Kerberos authentication token.</param>
            <param name="client">True if this is a token from a client.</param>
            <param name="token_count">The token count number.</param>
            <returns>True if parsed successfully.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticator">
            <summary>
            Class to represent an unencrypted kerberos authenticator.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticator.AuthenticatorVersion">
            <summary>
            Authenticator version.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticator.ClientRealm">
            <summary>
            Client realm.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticator.ClientName">
            <summary>
            Client name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticator.Checksum">
            <summary>
            Checksum value.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticator.ClientUSec">
            <summary>
            Client uS.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticator.ClientTime">
            <summary>
            Client time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticator.SubKey">
            <summary>
            Subkey.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticator.SequenceNumber">
            <summary>
            Sequence number.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticator.AuthorizationData">
            <summary>
            Authorization data.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataType">
            <summary>
            Type of Authorization Data.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationData">
            <summary>
            Class representing Kerberos authentication data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationData.DataType">
            <summary>
            Type of authentication data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationData.Data">
            <summary>
            Data bytes.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosApOptionsFlags">
            <summary>
            Flags for the AD-AUTH-DATA-AP-OPTIONS authorization data.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataApOptions">
            <summary>
            Class to represent the AD-AUTH-DATA-AP-OPTIONS authorization data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataApOptions.Flags">
            <summary>
            Flags for the AD-AUTH-DATA-AP-OPTIONS authorization data.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataEncryptionNegotiation">
            <summary>
            Class to represent AD_ETYPE_NEGOTIATION type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataEncryptionNegotiation.EncryptionList">
            <summary>
            List of supported encryption types.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataKerbLocal">
            <summary>
            Class to represent a KERB_LOCAL authorization data value.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataKerbLocal.SecurityContext">
            <summary>
            The security context identifier for the KERB_LOCAL value.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPAC">
            <summary>
            Class to represent AD_WIN2K_PAC type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPAC.Entries">
            <summary>
            List of PAC entries.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosClaimsSource">
            <summary>
            Source of a set of claims.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosClaimsSource.ActiveDirectory">
            <summary>
            From Active Directory.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosClaimsSource.Certificate">
            <summary>
            From a certificate.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosClaimsArray">
            <summary>
            A single claim set.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosClaimsArray.Source">
            <summary>
            The source of the claims array.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosClaimsArray.Claims">
            <summary>
            The list of claim attributes.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACClaimSet">
            <summary>
            Class representing a Claims Set in the PAC.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACClaimSet.ClaimsArray">
            <summary>
            List of claims arrays.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACClientInfo">
            <summary>
            Class to represent PAC Client Info.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACClientInfo.ClientId">
            <summary>
            Client ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACClientInfo.Name">
            <summary>
            Name of client.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACDevice">
            <summary>
            Class to represent PAC Device Info.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACDevice.DeviceId">
            <summary>
            Sid of the Device.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACDevice.PrimaryGroupId">
            <summary>
            Primary group SID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACDevice.AccountGroups">
            <summary>
            List of account groups.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACDevice.ExtraSids">
            <summary>
            List of extra SIDs.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACDevice.DomainGroups">
            <summary>
            List of domain groups.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACEntryType">
            <summary>
            Type for the PAC Entry.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACEntry">
            <summary>
            Single PAC Entry.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACEntry.PACType">
            <summary>
            Type of PAC entry.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACEntry.Data">
            <summary>
            The PAC data.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.UserAccountControlFlags">
            <summary>
            User account control flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosUserFlags">
            <summary>
            User flags for kerberos authentication.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon">
            <summary>
            Class to represent PAC Logon Information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.LogonTime">
            <summary>
            Logon time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.LogoffTime">
            <summary>
            Logoff time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.KickOffTime">
            <summary>
            Kick off time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.PasswordLastSet">
            <summary>
            Time password last set.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.PasswordCanChange">
            <summary>
            Time password can change.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.PasswordMustChange">
            <summary>
            Time password must change.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.EffectiveName">
            <summary>
            Effective name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.FullName">
            <summary>
            Full name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.LogonScript">
            <summary>
            Logon script path.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.ProfilePath">
            <summary>
            Profile path.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.HomeDirectory">
            <summary>
            Home directory path.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.HomeDirectoryDrive">
            <summary>
            Home directory drive.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.LogonCount">
            <summary>
            Logon count.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.BadPasswordCount">
            <summary>
            Bad password count.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.User">
            <summary>
            User SID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.PrimaryGroup">
            <summary>
            Primary group SID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.Groups">
            <summary>
            Group list.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.UserFlags">
            <summary>
            User flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.UserSessionKey">
            <summary>
            User session key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.LogonServer">
            <summary>
            Logon server name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.LogonDomainName">
            <summary>
            Logon domain name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.LogonDomainSid">
            <summary>
            Logon domain sid.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.ExtraSids">
            <summary>
            Extra SIDs.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.UserAccountControl">
            <summary>
            User account control flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.ResourceGroupDomainSid">
            <summary>
            Resource domain group SID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACLogon.ResourceGroups">
            <summary>
            Resource groups.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACSignature">
            <summary>
            Class to represent a PAC signature.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACSignature.SignatureType">
            <summary>
            Signature type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACSignature.Signature">
            <summary>
            Signature.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACSignature.RODCIdentifier">
            <summary>
            Read-only Domain Controller Identifier.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosUpnDnsInfoFlags">
            <summary>
            Flags for the UPN_DNS_INFO.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosUpnDnsInfoFlags.None">
            <summary>
            No flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosUpnDnsInfoFlags.NoUpn">
            <summary>
            The user has no UPN.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACUpnDnsInfo">
            <summary>
            Class to represent UPN_DNS_INFO.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACUpnDnsInfo.Flags">
            <summary>
            Flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACUpnDnsInfo.UserPrincipalName">
            <summary>
            The User Principal Name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataPACUpnDnsInfo.DnsDomainName">
            <summary>
            The DNS Domain Name.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosRestrictionEntryFlags">
            <summary>
            Flags for KerberosAuthorizationDataRestrictionEntry
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosRestrictionEntryFlags.FullToken">
            <summary>
            Full UAC token.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosRestrictionEntryFlags.LimitedToken">
            <summary>
            Limited UAC token.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataRestrictionEntry">
            <summary>
            Class to represent the KERB_AD_RESTRICTION_ENTRY AD type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataRestrictionEntry.Flags">
            <summary>
            Flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataRestrictionEntry.IntegrityLevel">
            <summary>
            Token IL.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataRestrictionEntry.MachineId">
            <summary>
            Machine ID.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataTargetName">
            <summary>
            Class to represent the AD-AUTH-DATA-TARGET-NAME authorization data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthorizationDataTargetName.TargetName">
            <summary>
            The target name.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosChecksum">
            <summary>
            Class to represent a Kerberos Checksum.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosChecksum.ChecksumType">
            <summary>
            Type of kerberos checksum.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosChecksum.Checksum">
            <summary>
            The checksum value.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosChecksumGSSApiFlags">
            <summary>
            Flags for GSSAPI Checksum.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosChecksumGSSApi">
            <summary>
            A kerberos checksum in GSS API Format.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosChecksumGSSApi.ChannelBinding">
            <summary>
            Channel binding hash.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosChecksumGSSApi.ContextFlags">
            <summary>
            Flags for checksum.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosChecksumGSSApi.DelegationOptionIdentifier">
            <summary>
            Delegation option identifier.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosChecksumGSSApi.Credentials">
            <summary>
            KRB_CRED structure when in delegation.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosChecksumGSSApi.Extensions">
            <summary>
            Additional extension data.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosChecksumType">
            <summary>
            Kerberos Checksum Type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosCredential">
            <summary>
            Class representing a KRB-CRED structure.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosCredential.Tickets">
            <summary>
            List of tickets in this credential.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosCredential.EncryptedPart">
            <summary>
            Encrypted part contains sesssion keys etc.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosCredential.Format">
            <summary>
            Format the Authentication Token.
            </summary>
            <returns>The Formatted Token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosCredential.Decrypt(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Authentication.AuthenticationKey})">
            <summary>
            Decrypt the Authentication Token using a keyset.
            </summary>
            <param name="keyset">The set of keys to decrypt the </param>
            <returns>The decrypted token, or the same token if nothing could be decrypted.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosCredential.TryParse(System.Byte[],NtApiDotNet.Utilities.ASN1.DERValue[],NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosCredential@)">
            <summary>
            Try and parse data into an ASN1 authentication token.
            </summary>
            <param name="data">The data to parse.</param>
            <param name="token">The Negotiate authentication token.</param>
            <param name="values">Parsed DER Values.</param>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosEncryptedData">
            <summary>
            Class to represent Kerberos Encrypted Data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosEncryptedData.EncryptionType">
            <summary>
            Encryption type for the CipherText.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosEncryptedData.KeyVersion">
            <summary>
            Key version number.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosEncryptedData.CipherText">
            <summary>
            Cipher Text.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosEncryptionType">
            <summary>
            Kerberos Encryption Type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosErrorAuthenticationToken">
            <summary>
            Class to represent a Kerberos Error.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosErrorAuthenticationToken.ClientTime">
            <summary>
            Client time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosErrorAuthenticationToken.ClientUSec">
            <summary>
            Client micro-seconds.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosErrorAuthenticationToken.ServerTime">
            <summary>
            Server time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosErrorAuthenticationToken.ServerUSec">
            <summary>
            Server micro-seconds.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosErrorAuthenticationToken.ErrorCode">
            <summary>
            Error code.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosErrorAuthenticationToken.ClientRealm">
            <summary>
            Client realm.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosErrorAuthenticationToken.ClientName">
            <summary>
            Client name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosErrorAuthenticationToken.ServerRealm">
            <summary>
            Server realm.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosErrorAuthenticationToken.ServerName">
            <summary>
            Server name,
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosErrorAuthenticationToken.ErrorText">
            <summary>
            Error text.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosErrorAuthenticationToken.ErrorData">
            <summary>
            Error data.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosErrorAuthenticationToken.Format">
            <summary>
            Format the Authentication Token.
            </summary>
            <returns>The Formatted Token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosErrorAuthenticationToken.Create(System.DateTime,NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosErrorType,System.String,NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosPrincipalName,System.Nullable{System.DateTime},System.String,NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosPrincipalName,System.String,System.Byte[])">
            <summary>
            Create a new KRB-ERROR authentication token.
            </summary>
            <param name="client_time">Optional client time.</param>
            <param name="server_time">Server time.</param>
            <param name="error_code">Error code.</param>
            <param name="client_realm">Optional client realm.</param>
            <param name="client_name">Optional client name.</param>
            <param name="server_realm">Server realm</param>
            <param name="server_name">Server name.</param>
            <param name="error_text">Optional error text.</param>
            <param name="error_data">Optional error data.</param>
            <returns>The KRB-ERROR authentication token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosErrorAuthenticationToken.TryParse(System.Byte[],NtApiDotNet.Utilities.ASN1.DERValue[],NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationToken@)">
            <summary>
            Try and parse data into an ASN1 authentication token.
            </summary>
            <param name="data">The data to parse.</param>
            <param name="token">The Negotiate authentication token.</param>
            <param name="values">Parsed DER Values.</param>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosErrorType">
            <summary>
            Kerberos Error Type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosExternalTicket">
            <summary>
            Class to represent a cached external ticket.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosExternalTicket.ServiceName">
            <summary>
            Service name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosExternalTicket.TargetName">
            <summary>
            Target name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosExternalTicket.ClientName">
            <summary>
            Client name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosExternalTicket.DomainName">
            <summary>
            Domain name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosExternalTicket.TargetDomainName">
            <summary>
            Target domain name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosExternalTicket.AltTargetDomainName">
            <summary>
            Alt target domain name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosExternalTicket.SessionKey">
            <summary>
            Session key for ticket.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosExternalTicket.TicketFlags">
            <summary>
            Ticket flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosExternalTicket.Flags">
            <summary>
            Additional reserved flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosExternalTicket.KeyExpirationTime">
            <summary>
            Key expiration time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosExternalTicket.StartTime">
            <summary>
            Ticket start time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosExternalTicket.EndTime">
            <summary>
            Ticket end time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosExternalTicket.RenewUntil">
            <summary>
            Ticket renew time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosExternalTicket.TimeSkew">
            <summary>
            Time skew.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosExternalTicket.Ticket">
            <summary>
            Ticket.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosHostAddressType">
            <summary>
            Type of Kerberos Host Address.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosHostAddress">
            <summary>
            Class representing a Kerberos Host Address.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosHostAddress.AddressType">
            <summary>
            Type of host address.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosHostAddress.Address">
            <summary>
            Address bytes.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosHostAddress.ToString">
            <summary>
            ToString Method.
            </summary>
            <returns>The formatted string.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosKeySet">
            <summary>
            A set of Kerberos Keys.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosKeySet.GetKeysForEncryption(NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosEncryptionType)">
            <summary>
            Get keys which match the encryption type.
            </summary>
            <param name="enc_type">The encryption type.</param>
            <returns>The list of keys which match the encryption type.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosKeySet.Add(NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey)">
            <summary>
            Add a key to the key set.
            </summary>
            <param name="key">The key to add.</param>
            <returns>True if the key was added, false if the key already existed.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosKeySet.Remove(NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey)">
            <summary>
            Remove a key from the key set.
            </summary>
            <param name="key">The key to remove.</param>
            <returns>True if the key was removed.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosKeySet.FindKey(NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosEncryptionType,NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosNameType,System.String,System.Int32)">
            <summary>
            Find a key based on various parameters.
            </summary>
            <param name="enc_type">The encryption type.</param>
            <param name="name_type">The name type.</param>
            <param name="principal">The principal.</param>
            <param name="key_version">The key version.</param>
            <returns></returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosKeySet.ReadKeyTabFile(System.IO.Stream)">
            <summary>
            Read keys from a MIT KeyTab file.
            </summary>
            <param name="stream">The file stream.</param>
            <returns>The key set.</returns>
            <exception cref="T:System.ArgumentException">Throw if invalid file.</exception>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosKeySet.ReadKeyTabFile(System.String)">
            <summary>
            Read keys from a MIT KeyTab file.
            </summary>
            <param name="path">The file path.</param>
            <returns>The key set.</returns>
            <exception cref="T:System.ArgumentException">Throw if invalid file.</exception>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosKeySet.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosKeySet.#ctor(NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey)">
            <summary>
            Constructor.
            </summary>
            <param name="key">The single kerberos key.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosKeySet.#ctor(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey})">
            <summary>
            Constructor.
            </summary>
            <param name="keys">A list of kerberos keys.</param>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosKeyUsage">
            <summary>
            Key usage for kernel encryption.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosMessageType">
            <summary>
            Kerberos Message Type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosNameType">
            <summary>
            Kerberos Name Type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosPreAuthenticationType">
            <summary>
            Kerberos Pre-Authentication Data Types.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosPrincipalName">
            <summary>
            A Kerberos Principal Name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosPrincipalName.NameType">
            <summary>
            The name type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosPrincipalName.Names">
            <summary>
            The names for the principal.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosPrincipalName.FullName">
            <summary>
            Full name.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosPrincipalName.ToString">
            <summary>
            ToString method.
            </summary>
            <returns>String of the object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosPrincipalName.GetPrincipal(System.String)">
            <summary>
            Get principal name with a realm.
            </summary>
            <param name="realm">The realm for the principal.</param>
            <returns>The principal.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosPrincipalName.#ctor(NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosNameType,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Constructor.
            </summary>
            <param name="name_type">The type of the principal name.</param>
            <param name="names">The list of names for the principal.</param>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTGTReplyAuthenticationToken">
            <summary>
            Class to represent a User to User TGT Reply.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTGTReplyAuthenticationToken.Ticket">
            <summary>
            The Kerberos Ticket.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTGTReplyAuthenticationToken.Format">
            <summary>
            Format the Authentication Token.
            </summary>
            <returns>The Formatted Token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTGTReplyAuthenticationToken.Decrypt(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Authentication.AuthenticationKey})">
            <summary>
            Decrypt the Authentication Token using a keyset.
            </summary>
            <param name="keyset">The set of keys to decrypt the </param>
            <returns>The decrypted token, or the same token if nothing could be decrypted.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTGTReplyAuthenticationToken.Create(NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicket)">
            <summary>
            Create a new TGT-REP authentication token.
            </summary>
            <param name="ticket">The TGT ticket to embed in the token.</param>
            <returns>The </returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTGTReplyAuthenticationToken.CreateNoGSSAPI(NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicket)">
            <summary>
            Create a new TGT-REP authentication token.
            </summary>
            <param name="ticket">The TGT ticket to embed in the token.</param>
            <returns>The </returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTGTReplyAuthenticationToken.TryParse(System.Byte[],NtApiDotNet.Utilities.ASN1.DERValue[],NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationToken@)">
            <summary>
            Try and parse data into an ASN1 authentication token.
            </summary>
            <param name="data">The data to parse.</param>
            <param name="token">The Negotiate authentication token.</param>
            <param name="values">Parsed DER Values.</param>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTGTRequestAuthenticationToken">
            <summary>
            Class to represent a User to User TGT Request.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTGTRequestAuthenticationToken.Realm">
            <summary>
            Realm.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTGTRequestAuthenticationToken.ServerName">
            <summary>
            Server name.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTGTRequestAuthenticationToken.Format">
            <summary>
            Format the Authentication Token.
            </summary>
            <returns>The Formatted Token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTGTRequestAuthenticationToken.Create(System.String,NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosPrincipalName)">
            <summary>
            Create a new TGT-REQ authentication token.
            </summary>
            <param name="realm">Optional realm string.</param>
            <param name="server_name">Optional server name.</param>
            <returns>The new TGT-REQ authentication token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTGTRequestAuthenticationToken.CreateNoGSSAPI(System.String,NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosPrincipalName)">
            <summary>
            Create a new TGT-REQ authentication token without the GSS-API wrapper.
            </summary>
            <param name="realm">Optional realm string.</param>
            <param name="server_name">Optional server name.</param>
            <returns>The new TGT-REQ authentication token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTGTRequestAuthenticationToken.TryParse(System.Byte[],NtApiDotNet.Utilities.ASN1.DERValue[],NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationToken@)">
            <summary>
            Try and parse data into an ASN1 authentication token.
            </summary>
            <param name="data">The data to parse.</param>
            <param name="token">The Negotiate authentication token.</param>
            <param name="values">Parsed DER Values.</param>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicket">
            <summary>
            Class to represent a Kerberos ticket.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicket.TicketVersion">
            <summary>
            Version number for the ticket.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicket.Realm">
            <summary>
            Realm.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicket.ServerName">
            <summary>
            Server name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicket.EncryptedData">
            <summary>
            Encrypted data for the ticket.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicket.Principal">
            <summary>
            Get the principal for the ticket.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicket.Decrypted">
            <summary>
            Indicates that the ticket has been decrypted.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicket.Decrypt(NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosKeySet,NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosKeyUsage)">
            <summary>
            Decrypt the kerberos ticket.
            </summary>
            <param name="keyset">The Kerberos key set containing the keys.</param>
            <param name="key_usage">The key usage for the decryption.</param>
            <returns>The decrypted kerberos ticket.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicket.Format">
            <summary>
            Format the ticket to a string.
            </summary>
            <returns>The ticket as a string.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicket.ToArray">
            <summary>
            Convert the ticket to an array.
            </summary>
            <returns>The ticket as an array.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicketCache">
            <summary>
            Class to query the Kerberos Ticket Cache from LSASS.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicketCache.GetTicket(System.String,System.Boolean,System.Boolean)">
            <summary>
            Get a Kerberos Ticket.
            </summary>
            <param name="target_name">The target service for the Ticket.</param>
            <param name="cached_only">True to only query for cached tickets.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The Kerberos Ticket.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicketCache.GetTicket(System.String,System.Boolean)">
            <summary>
            Get a Kerberos Ticket.
            </summary>
            <param name="target_name">The target service for the Ticket.</param>
            <param name="cached_only">True to only query for cached tickets.</param>
            <returns>The Kerberos Ticket.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicketCache.GetTicket(System.String)">
            <summary>
            Get a Kerberos Ticket.
            </summary>
            <param name="target_name">The target service for the Ticket.</param>
            <returns>The Kerberos Ticket.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicketCache.QueryTicketCache(NtApiDotNet.Luid,System.Boolean)">
            <summary>
            Query Kerberos Ticket cache.
            </summary>
            <param name="logon_id">The Logon Session ID to query.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of cached tickets.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicketCache.QueryTicketCache(NtApiDotNet.Luid)">
            <summary>
            Query Kerberos Ticket cache.
            </summary>
            <param name="logon_id">The Logon Session ID to query.</param>
            <returns>The list of cached tickets.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicketCache.QueryTicketCache">
            <summary>
            Query Kerberos Ticket cache for the current logon session.
            </summary>
            <returns>The list of cached tickets.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicketFlags">
            <summary>
            Flags for a Kerberos Ticket.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicketDecrypted">
            <summary>
            Class to represent a Decrypted Kerberos ticket.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicketDecrypted.Flags">
            <summary>
            Ticket flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicketDecrypted.ClientRealm">
            <summary>
            Client Realm.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicketDecrypted.ClientName">
            <summary>
            Client name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicketDecrypted.AuthTime">
            <summary>
            Authentication time,
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicketDecrypted.StartTime">
            <summary>
            Start time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicketDecrypted.EndTime">
            <summary>
            End time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicketDecrypted.RenewTill">
            <summary>
            Renew till time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicketDecrypted.Key">
            <summary>
            The kerberos session key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicketDecrypted.TransitedType">
            <summary>
            The ticket transited type information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicketDecrypted.HostAddresses">
            <summary>
            List of host addresses for ticket.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTicketDecrypted.AuthorizationData">
            <summary>
            List of authorization data.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTransitedEncodingType">
            <summary>
            The supported transited encoding types.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTransitedEncodingType.None">
            <summary>
            None.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTransitedEncodingType.X500Compress">
            <summary>
            X.500 Compress.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTransitedEncoding">
            <summary>
            Class to represent a Kerberos Transiting Encoding.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTransitedEncoding.TransitedType">
            <summary>
            Transited encoding type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosTransitedEncoding.Data">
            <summary>
            Transited encoding data.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosUtils">
            <summary>
            Utilities for Kerberos authentication.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosUtils.ReadKeyTabFile(System.IO.Stream)">
            <summary>
            Read keys from a MIT KeyTab file.
            </summary>
            <param name="stream">The file stream.</param>
            <returns>The list of keys.</returns>
            <exception cref="T:System.ArgumentException">Throw if invalid file.</exception>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosUtils.ReadKeyTabFile(System.String)">
            <summary>
            Read keys from a MIT KeyTab file.
            </summary>
            <param name="path">The file path.</param>
            <returns>The list of keys.</returns>
            <exception cref="T:System.ArgumentException">Throw if invalid file.</exception>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosUtils.WriteKeyTabFile(System.IO.Stream,System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey})">
            <summary>
            Write keys to a MIT KeyTab file.
            </summary>
            <param name="stream">The file stream.</param>
            <param name="keys">List of key entries.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosUtils.WriteKeyTabFile(System.String,System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey})">
            <summary>
            Write keys to a MIT KeyTab file.
            </summary>
            <param name="path">The file path.</param>
            <param name="keys">List of key entries.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosUtils.GenerateKeyTabFile(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Authentication.Kerberos.KerberosAuthenticationKey})">
            <summary>
            Generate an MIT KeyTab file.
            </summary>
            <param name="keys">List of key entries.</param>
            <returns>The keytab file as bytes.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.LogonSession">
            <summary>
            Class to represent a Local Logon Session.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.LogonId">
            <summary>
            Logon/Authentication ID for session.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.UserName">
            <summary>
            Username.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.LogonDomain">
            <summary>
            Logon domain.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.FullQualifiedUserName">
            <summary>
            Get the FQ User Name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.AuthenticationPackage">
            <summary>
            Authentication package.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.LogonType">
            <summary>
            Logon type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.SessionId">
            <summary>
            Session ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.Sid">
            <summary>
            User SID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.LogonTime">
            <summary>
            Logon Time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.LogonServer">
            <summary>
            Logon Server.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.DnsDomainName">
            <summary>
            DNS Domain Name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.Upn">
            <summary>
            User Principal Name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.UserFlags">
            <summary>
            User Flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.LastSuccessfulLogon">
            <summary>
            Last successful logon.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.LastFailedLogon">
            <summary>
            Last failed logon.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.FailedAttemptCountSinceLastSuccessfulLogon">
            <summary>
            Count of failed logon attempts.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.LogonScript">
            <summary>
            Logon script path.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.ProfilePath">
            <summary>
            Profile path.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.HomeDirectory">
            <summary>
            Home directory.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.HomeDirectoryDrive">
            <summary>
            Home directory drive.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.LogoffTime">
            <summary>
            Logoff time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.KickOffTime">
            <summary>
            Kickoff Time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.PasswordLastSet">
            <summary>
            Time password last set.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.PasswordCanChange">
            <summary>
            Password can change.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LogonSession.PasswordMustChange">
            <summary>
            Password must change.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.LogonSession.GetLogonSession(NtApiDotNet.Luid,System.Boolean)">
            <summary>
            Get a logon session.
            </summary>
            <param name="luid">The logon session ID.</param>
            <param name="throw_on_error">True to thrown on error.</param>
            <returns>The logon session.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.LogonSession.GetLogonSessionIds(System.Boolean)">
            <summary>
            Get the logon session LUIDs
            </summary>
            <param name="throw_on_error">True throw on error.</param>
            <returns>The list of logon sessions. Only returns ones you can access.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.LogonSession.GetLogonSessions(System.Boolean)">
            <summary>
            Get the logon sessions.
            </summary>
            <param name="throw_on_error">True throw on error.</param>
            <returns>The list of logon sessions. Only returns ones you can access.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.LsaLogonHandle">
            <summary>
            Class to represent an LSA logon handle.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.LsaLogonHandle.ConnectUntrusted(System.Boolean)">
            <summary>
            Connect to the LSA untrusted.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The LSA logon handle.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.LsaLogonHandle.ConnectUntrusted">
            <summary>
            Connect to the LSA untrusted.
            </summary>
            <returns>The LSA logon handle.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.LsaLogonHandle.RegisterLogonProcess(System.String,System.Boolean)">
            <summary>
            Connect to LSA and register as a logon process.
            </summary>
            <param name="process_name">The arbitrary name of the process.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The LSA logon handle.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.LsaLogonHandle.RegisterLogonProcess(System.String)">
            <summary>
            Connect to LSA and register as a logon process.
            </summary>
            <param name="process_name">The arbitrary name of the process.</param>
            <returns>The LSA logon handle.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.LsaLogonHandle.LsaLogonUser(NtApiDotNet.Win32.SecurityLogonType,System.String,System.String,NtApiDotNet.TokenSource,System.Runtime.InteropServices.SafeBuffer,System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup},System.Boolean)">
            <summary>
            Logon a user.
            </summary>
            <param name="type">The type of logon.</param>
            <param name="auth_package">The authentication package to use.</param>
            <param name="origin_name">The name of the origin.</param>
            <param name="source_context">The token source context.</param>
            <param name="buffer">The authentication credentials buffer.</param>
            <param name="local_groups">Additional local groups.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The LSA logon result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.LsaLogonHandle.LsaLogonUser(NtApiDotNet.Win32.SecurityLogonType,System.String,System.String,NtApiDotNet.TokenSource,System.Runtime.InteropServices.SafeBuffer,System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup})">
            <summary>
            Logon a user.
            </summary>
            <param name="type">The type of logon.</param>
            <param name="auth_package">The authentication package to use.</param>
            <param name="origin_name">The name of the origin.</param>
            <param name="source_context">The token source context.</param>
            <param name="buffer">The authentication credentials buffer.</param>
            <param name="local_groups">Additional local groups.</param>
            <returns>The LSA logon result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.LsaLogonHandle.Dispose">
            <summary>
            Dispose of the LSA logon handle.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.LsaLogonResult">
            <summary>
            Result from an LsaLogonUser call.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LsaLogonResult.Token">
            <summary>
            The user's token.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LsaLogonResult.Profile">
            <summary>
            The user's profile information. Format depends on the authentication package.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LsaLogonResult.LogonId">
            <summary>
            The authentication ID of the logon session.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LsaLogonResult.PagedPoolLimit">
            <summary>
            Paged pool quota.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LsaLogonResult.NonPagedPoolLimit">
            <summary>
            Non paged pool quota.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LsaLogonResult.MinimumWorkingSetSize">
            <summary>
            Minimum working set size.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LsaLogonResult.MaximumWorkingSetSize">
            <summary>
            Maximum working set size.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LsaLogonResult.PagefileLimit">
            <summary>
            Page file limit.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.LsaLogonResult.TimeLimit">
            <summary>
            Process time limit.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.LsaLogonResult.Dispose">
            <summary>
            Dispose the LSA logon result.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Negotiate.NegotiateAuthenticationToken">
            <summary>
            SPNEGO Authentication Token.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Negotiate.NegotiateAuthenticationToken.Token">
            <summary>
            The negotiated authentication token.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Negotiate.NegotiateAuthenticationToken.MessageIntegrityCode">
            <summary>
            Optional message integrity code.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Negotiate.NegotiateAuthenticationToken.Decrypt(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Authentication.AuthenticationKey})">
            <summary>
            Decrypt the Authentication Token using a keyset.
            </summary>
            <param name="keyset">The set of keys to decrypt the </param>
            <returns>The decrypted token, or the same token if nothing could be decrypted.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Negotiate.NegotiateAuthenticationToken.Format">
            <summary>
            Format the authentication token.
            </summary>
            <returns>The token as a formatted string.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Negotiate.NegotiateAuthenticationToken.Parse(System.Byte[])">
            <summary>
            Parse bytes into a negotiate token.
            </summary>
            <param name="data">The negotiate token in bytes.</param>
            <returns>The Negotiate token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Negotiate.NegotiateAuthenticationToken.TryParse(System.Byte[],System.Int32,System.Boolean,NtApiDotNet.Win32.Security.Authentication.Negotiate.NegotiateAuthenticationToken@)">
            <summary>
            Try and parse data into an Negotiate authentication token.
            </summary>
            <param name="data">The data to parse.</param>
            <param name="token">The Negotiate authentication token.</param>
            <param name="client">True if this is a token from a client.</param>
            <param name="token_count">The token count number.</param>
            <returns>True if parsed successfully.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Negotiate.NegotiateContextFlags">
            <summary>
            Flags for negotiation context.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Negotiate.NegotiateInitAuthenticationToken">
            <summary>
            Class to represent the negTokenInit message in SPNEGO.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Negotiate.NegotiateInitAuthenticationToken.MechanismList">
            <summary>
            List of supported negotiation mechanisms.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Negotiate.NegotiateInitAuthenticationToken.ContextFlags">
            <summary>
            Context flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Negotiate.NegotiateAuthenticationState">
            <summary>
            State of the Negotiate state.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.Negotiate.NegotiateAuthenticationState.Completed">
            <summary>
            Negotiate completed.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.Negotiate.NegotiateAuthenticationState.Incomplete">
            <summary>
            Negotiate incomplete.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.Negotiate.NegotiateAuthenticationState.Reject">
            <summary>
            Negotiate rejected.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.Negotiate.NegotiateAuthenticationState.RequestMIC">
            <summary>
            Request Message Integrity Code.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Negotiate.NegotiateResponseAuthenticationToken">
            <summary>
            Class to represent the negTokenResp message in SPNEGO.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Negotiate.NegotiateResponseAuthenticationToken.SupportedMechanism">
            <summary>
            Supported mechanism for the token, optional.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Negotiate.NegotiateResponseAuthenticationToken.State">
            <summary>
            Current state of the negotiation.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationToken">
            <summary>
            Class to represent an NTLM AUTHENTICATE token for NTLMv1.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationToken.Domain">
            <summary>
            Domain name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationToken.Workstation">
            <summary>
            Workstation name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationToken.UserName">
            <summary>
            Username.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationToken.Version">
            <summary>
            NTLM version.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationToken.EncryptedSessionKey">
            <summary>
            Encrypted session key.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationToken.LmChallengeResponse">
            <summary>
            LM Challenge Response.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationToken.NtChallengeResponse">
            <summary>
            LM Challenge Response.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationToken.MessageIntegrityCode">
            <summary>
            Message integrity code.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationToken.MessageIntegrityCodeOffset">
            <summary>
            Message integrity code offset into the token data.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationToken.Format">
            <summary>
            Format the authentication token.
            </summary>
            <returns>The formatted token.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationTokenV2">
            <summary>
            Class to represent an NTLM AUTHENTICATE token for NTLMv2.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationTokenV2.NTProofResponse">
            <summary>
            NT Proof Response.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationTokenV2.ChallengeVersion">
            <summary>
            Challenge version.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationTokenV2.MaxChallengeVersion">
            <summary>
            Maximum challenge version.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationTokenV2.Reserved1">
            <summary>
            Reserved field.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationTokenV2.Reserved2">
            <summary>
            Reserved field.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationTokenV2.Timestamp">
            <summary>
            Timestamp.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationTokenV2.ClientChallenge">
            <summary>
            Client challenge.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationTokenV2.Reserved3">
            <summary>
            Reserved field.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticateAuthenticationTokenV2.TargetInfo">
            <summary>
            NTLM Target Information.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmNegotiateFlags">
            <summary>
            Flags for NTLM negotiation.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmMessageType">
            <summary>
            NTLM message type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticationToken">
            <summary>
            Base class to represent an NTLM authentication token.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticationToken.MessageType">
            <summary>
            Type of NTLM message.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticationToken.Flags">
            <summary>
            NTLM negotitation flags.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticationToken.TryParse(System.Byte[],System.Int32,System.Boolean,NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticationToken@)">
            <summary>
            Try and parse data into an NTLM authentication token.
            </summary>
            <param name="data">The data to parse.</param>
            <param name="token">The NTLM authentication token.</param>
            <param name="client">True if this is a token from a client.</param>
            <param name="token_count">The token count number.</param>
            <returns>True if parsed successfully.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAuthenticationToken.Parse(System.Byte[])">
            <summary>
            Try and parse data into an NTLM authentication token.
            </summary>
            <param name="data">The data to parse.</param>
            <returns>The NTLM authentication token.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Ntlm.MsAvPairType">
            <summary>
            The type of the AV_PAIR.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Ntlm.MsvAvFlags">
            <summary>
            MS AV Flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAvPair">
            <summary>
            An NTLM AV_PAIR.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAvPair.Type">
            <summary>
            The type of the AV Pair value.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAvPairString">
            <summary>
            An NTLM AV_PAIR with a string value.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAvPairString.Value">
            <summary>
            The string value.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAvPairString.ToString">
            <summary>
            ToString method.
            </summary>
            <returns>Pair as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAvPairTimestamp">
            <summary>
            An NTLM AV_PAIR with a timestamp value;
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAvPairTimestamp.Value">
            <summary>
            The timestamp value.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAvPairTimestamp.ToString">
            <summary>
            ToString method.
            </summary>
            <returns>Pair as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAvPairBytes">
            <summary>
            An NTLM AV_PAIR with a bytes value.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAvPairBytes.Value">
            <summary>
            The value.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAvPairBytes.ToString">
            <summary>
            ToString method.
            </summary>
            <returns>Pair as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAvPairFlags">
            <summary>
            An NTLM AV_PAIR with a flags value.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAvPairFlags.Value">
            <summary>
            The value.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAvPairFlags.ToString">
            <summary>
            ToString method.
            </summary>
            <returns>Pair as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAvPairSingleHostData">
            <summary>
            An NTLM AV_PAIR with a flags value.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAvPairSingleHostData.Z4">
            <summary>
            The the Z4 data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAvPairSingleHostData.CustomData">
            <summary>
            Custom data blob.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAvPairSingleHostData.MachineId">
            <summary>
            Machine ID.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmAvPairSingleHostData.ToString">
            <summary>
            ToString method.
            </summary>
            <returns>Pair as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmChallengeAuthenticationToken">
            <summary>
            Class to represent an NTLM CHALLENGE token.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmChallengeAuthenticationToken.TargetName">
            <summary>
            Target name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmChallengeAuthenticationToken.ServerChallenge">
            <summary>
            Server challenge.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmChallengeAuthenticationToken.Reserved">
            <summary>
            Reserved.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmChallengeAuthenticationToken.Version">
            <summary>
            NTLM version.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmChallengeAuthenticationToken.TargetInfo">
            <summary>
            NTLM Target Information.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmChallengeAuthenticationToken.Format">
            <summary>
            Format the authentication token.
            </summary>
            <returns>The formatted token.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmNegotiateAuthenticationToken">
            <summary>
            Class to represent an NTLM NEGOTIATE token.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmNegotiateAuthenticationToken.Domain">
            <summary>
            Domain name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmNegotiateAuthenticationToken.Workstation">
            <summary>
            Workstation name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmNegotiateAuthenticationToken.Version">
            <summary>
            NTLM version.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Ntlm.NtlmNegotiateAuthenticationToken.Format">
            <summary>
            Format the authentication token.
            </summary>
            <returns>The formatted token.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelAlgorithmType">
            <summary>
            Algorithm identifiers for the crypto APIs and Schannel.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelAuthenticationToken">
            <summary>
            Authentication token for Schannel and CredSSP.
            </summary>
            <remarks>This is a simple parser for the TLS record format.</remarks>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelAuthenticationToken.Records">
            <summary>
            List of TLS records.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelAuthenticationToken.Format">
            <summary>
            Format the authentication token.
            </summary>
            <returns>The token as a formatted string.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelAuthenticationToken.TryParse(System.Byte[],System.Int32,System.Boolean,NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelAuthenticationToken@)">
            <summary>
            Try and parse data into an SChannel authentication token.
            </summary>
            <param name="data">The data to parse.</param>
            <param name="token">The SChannel authentication token.</param>
            <param name="client">True if this is a token from a client.</param>
            <param name="token_count">The token count number.</param>
            <returns>True if parsed successfully.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelConnectionInfo">
            <summary>
            Negotiated connection information for Schannel.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelConnectionInfo.Protocol">
            <summary>
            The protocol used by Schannel.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelConnectionInfo.CipherAlgorithm">
            <summary>
            The negotitated cipher algorithm.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelConnectionInfo.CipherStrength">
            <summary>
            The negotiated cipher strength in bits.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelConnectionInfo.HashAlgorithm">
            <summary>
            The negotiated hash algorithm.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelConnectionInfo.HashStrength">
            <summary>
            The negotiated hash string.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelConnectionInfo.ExchangeAlgorithm">
            <summary>
            The negotiated key exchange algorithm.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelConnectionInfo.ExchangeStrength">
            <summary>
            The negotiated key exchange strength.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelCredentials">
            <summary>
            Credentials for the Schannel package.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelCredentials.SessionLifespan">
            <summary>
            Lifespan of a session in milliseconds.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelCredentials.Flags">
            <summary>
            Specify flags for credentials.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelCredentials.Protocols">
            <summary>
            Specify the supported protocols.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelCredentials.MinimumCipherStrength">
            <summary>
            Set the minimum cipher strength.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelCredentials.MaximumCipherStrength">
            <summary>
            Set the maximum cipher strength.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelCredentials.AddCertificate(System.Security.Cryptography.X509Certificates.X509Certificate)">
            <summary>
            Add a certificate the the credentials. This should contain a private key.
            </summary>
            <param name="certificate">The certificate to add.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelCredentials.AddAlgorithm(NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelAlgorithmType)">
            <summary>
            Add an algorithm type to the credentials.
            </summary>
            <param name="algorithm">The algorithm type.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelCredentials.Dispose">
            <summary>
            Dispose the credentials.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelCredentialsFlags">
            <summary>
            Flags for the Schannel credentials.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.Schannel.SchannelProtocolType">
            <summary>
            Protocol type for Schannel.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.SecurityQualityOfProtectionFlags">
            <summary>
            Flags for message encryption.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecurityQualityOfProtectionFlags.None">
            <summary>
            None.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecurityQualityOfProtectionFlags.WrapOOBData">
            <summary>
            Wrap out of bound data.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authentication.SecurityQualityOfProtectionFlags.WrapNoEncrypt">
            <summary>
            Wrap but don't encrypt.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext">
            <summary>
            Class to represent a server authentication context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.Token">
            <summary>
            The current authentication token.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.Done">
            <summary>
            Whether the authentication is done.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.RequestAttributes">
            <summary>
            Current request attributes.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.DataRepresentation">
            <summary>
            Current data representation.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.ChannelBinding">
            <summary>
            Current channel bindings.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.ReturnAttributes">
            <summary>
            Current return attributes.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.Flags">
            <summary>
            Current status flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.Expiry">
            <summary>
            Expiry of the authentication.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.ClientTargetName">
            <summary>
            Get the client name supplied by the Client.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.SessionKey">
            <summary>
            Get the Session Key for this context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.MaxSignatureSize">
            <summary>
            Get the maximum signature size of this context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.SecurityTrailerSize">
            <summary>
            Get the size of the security trailer for this context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.StreamHeaderSize">
            <summary>
            Size of any header when using a stream protocol such as Schannel.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.StreamTrailerSize">
            <summary>
            Size of any trailer when using a stream protocol such as Schannel.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.StreamBufferCount">
            <summary>
            Number of buffers needed when using a stream protocol such as Schannel.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.StreamMaxMessageSize">
            <summary>
            Maximum message size when using a stream protocol such as Schannel.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.StreamBlockSize">
            <summary>
            Preferred block size when using a stream protocol such as Schannel.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.PackageName">
            <summary>
            Get the name of the authentication package.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.ConnectionInfo">
            <summary>
            Get connection information for the schannel connection.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.LocalCertificate">
            <summary>
            Get the local certificate. Only used for Schannel related authentication.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.RemoteCertificate">
            <summary>
            Get the remote certificate. Only used for Schannel related authentication.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.IsLoopback">
            <summary>
            Get whether the authentication context is for loopback.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.OwnsCredentials">
            <summary>
            Get or set whether the context owns the credentials object or not. If true
            then the credentials are disposed with the context.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.GetAccessToken">
            <summary>
            Get an access token for the authenticated user.
            </summary>
            <returns>The user's access token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.Impersonate">
            <summary>
            Impersonate the security context.
            </summary>
            <returns>The disposable context to revert the impersonation.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.Continue(NtApiDotNet.Win32.Security.Authentication.AuthenticationToken)">
            <summary>
            Continue the authentication with the client token.
            </summary>
            <param name="token">The client token to continue authentication.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.Continue(NtApiDotNet.Win32.Security.Authentication.AuthenticationToken,System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer})">
            <summary>
            Continue the authentication..
            </summary>
            <param name="token">The client token to continue authentication.</param>
            <param name="additional_input">Specify additional input buffers, does not need to include the token.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.Continue(NtApiDotNet.Win32.Security.Authentication.AuthenticationToken,System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer})">
            <summary>
            Continue the authentication.
            </summary>
            <param name="token">The client token to continue authentication.</param>
            <param name="additional_input">Specify additional input buffers, does not need to include the token.</param>
            <param name="additional_output">Specify additional output buffers, does not need to include the token.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.Continue(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Boolean)">
            <summary>
            Continue the authentication.
            </summary>
            <param name="input_buffers">Additional input buffers for the continue. Does not contain a token.</param>
            <param name="additional_output">Specify additional output buffers, does not need to include the token.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <remarks>This sends the input buffers directly to the initialize call, it does not contain any token.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.Continue(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer})">
            <summary>
            Continue the authentication.
            </summary>
            <param name="input_buffers">Additional input buffers for the continue. Does not contain a token.</param>
            <param name="additional_output">Specify additional output buffers, does not need to include the token.</param>
            <remarks>This sends the input buffers directly to the initialize call, it does not contain any token.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.Continue">
            <summary>
            Continue the authentication. Will not pass any buffers to the accept call.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.MakeSignature(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Int32)">
            <summary>
            Make a signature for this context.
            </summary>
            <param name="messages">The message buffers to sign.</param>
            <param name="sequence_no">The sequence number.</param>
            <returns>The signature blob.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.MakeSignature(System.Byte[],System.Int32)">
            <summary>
            Make a signature for this context.
            </summary>
            <param name="message">The message to sign.</param>
            <param name="sequence_no">The sequence number.</param>
            <returns>The signature blob.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.VerifySignature(System.Byte[],System.Byte[],System.Int32)">
            <summary>
            Verify a signature for this context.
            </summary>
            <param name="message">The message to verify.</param>
            <param name="signature">The signature blob for the message.</param>
            <param name="sequence_no">The sequence number.</param>
            <returns>True if the signature is valid, otherwise false.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.VerifySignature(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Byte[],System.Int32)">
            <summary>
            Verify a signature for this context.
            </summary>
            <param name="messages">The messages to verify.</param>
            <param name="signature">The signature blob for the message.</param>
            <param name="sequence_no">The sequence number.</param>
            <returns>True if the signature is valid, otherwise false.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.EncryptMessage(System.Byte[],NtApiDotNet.Win32.Security.Authentication.SecurityQualityOfProtectionFlags,System.Int32)">
            <summary>
            Encrypt a message for this context.
            </summary>
            <param name="message">The message to encrypt.</param>
            <param name="quality_of_protection">Quality of protection flags.</param>
            <returns>The encrypted message.</returns>
            <param name="sequence_no">The sequence number.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.EncryptMessage(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},NtApiDotNet.Win32.Security.Authentication.SecurityQualityOfProtectionFlags,System.Int32)">
            <summary>
            Encrypt a message for this context.
            </summary>
            <param name="messages">The messages to encrypt.</param>
            <param name="quality_of_protection">Quality of protection flags.</param>
            <returns>The signature for the messages.</returns>
            <remarks>The messages are encrypted in place. You can add buffers with the ReadOnly flag to prevent them being encrypted.</remarks>
            <param name="sequence_no">The sequence number.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.EncryptMessageNoSignature(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},NtApiDotNet.Win32.Security.Authentication.SecurityQualityOfProtectionFlags,System.Int32)">
            <summary>
            Encrypt a message for this context with no specific signature.
            </summary>
            <param name="messages">The messages to encrypt.</param>
            <param name="quality_of_protection">Quality of protection flags.</param>
            <param name="sequence_no">The sequence number.</param>
            <remarks>The messages are encrypted in place. You can add buffers with the ReadOnly flag to prevent them being encrypted. 
            If you need to return a signature then it must be specified in a buffer.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.DecryptMessage(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Byte[],System.Int32)">
            <summary>
            Decrypt a message for this context.
            </summary>
            <param name="messages">The messages to decrypt.</param>
            <param name="sequence_no">The sequence number.</param>
            <param name="signature">The signature for the messages.</param>
            <remarks>The messages are decrypted in place. You can add buffers with the ReadOnly flag to prevent them being decrypted.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.DecryptMessageNoSignature(System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Buffers.SecurityBuffer},System.Int32)">
            <summary>
            Decrypt a message for this context.
            </summary>
            <param name="messages">The messages to decrypt.</param>
            <param name="sequence_no">The sequence number.</param>
            <remarks>The messages are decrypted in place. You can add buffers with the ReadOnly flag to prevent them being decrypted.
            If you need to specify a signature you need to add a buffer.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.DecryptMessage(NtApiDotNet.Win32.Security.Authentication.EncryptedMessage,System.Int32)">
            <summary>
            Decrypt a message for this context.
            </summary>
            <param name="message">The message to decrypt.</param>
            <param name="sequence_no">The sequence number.</param>
            <returns>The decrypted message.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.GetAuthenticationPackage">
            <summary>
            Query the context's package info.
            </summary>
            <returns>The authentication package info,</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.Export">
            <summary>
            Export and delete the current security context.
            </summary>
            <returns>The exported security context.</returns>
            <remarks>The security context will not longer be usable afterwards.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.#ctor(NtApiDotNet.Win32.Security.Authentication.CredentialHandle,NtApiDotNet.Win32.Security.Authentication.AcceptContextReqFlags,System.Byte[],NtApiDotNet.Win32.Security.Authentication.SecDataRep)">
            <summary>
            Constructor.
            </summary>
            <param name="creds">Credential handle.</param>
            <param name="req_attributes">Request attribute flags.</param>
            <param name="channel_binding">Optional channel binding token.</param>
            <param name="data_rep">Data representation.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.#ctor(NtApiDotNet.Win32.Security.Authentication.CredentialHandle,NtApiDotNet.Win32.Security.Authentication.AcceptContextReqFlags,NtApiDotNet.Win32.Security.Authentication.SecDataRep)">
            <summary>
            Constructor.
            </summary>
            <param name="creds">Credential handle.</param>
            <param name="req_attributes">Request attribute flags.</param>
            <param name="data_rep">Data representation.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.#ctor(NtApiDotNet.Win32.Security.Authentication.CredentialHandle)">
            <summary>
            Constructor.
            </summary>
            <param name="creds">Credential handle.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.Dispose">
            <summary>
            Dispose the client context.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServerAuthenticationContext.Finalize">
            <summary>
            Finalizer.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.ServicePrincipalName">
            <summary>
            Class to represent a service principal name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServicePrincipalName.ServiceClass">
            <summary>
            SPN service class.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServicePrincipalName.ServiceName">
            <summary>
            SPN service name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServicePrincipalName.InstanceName">
            <summary>
            SPN instance name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServicePrincipalName.InstancePort">
            <summary>
            SPN instance port.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.ServicePrincipalName.Referrer">
            <summary>
            SPN referrer.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServicePrincipalName.#ctor(System.String,System.String)">
            <summary>
            Constructor.
            </summary>
            <param name="service_class">The service class name.</param>
            <param name="instance_name">The name of the instance.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServicePrincipalName.Parse(System.String)">
            <summary>
            Parse an SPN string to a class.
            </summary>
            <param name="spn">The SPN string.</param>
            <returns>The parsed class.</returns>
            <exception cref="T:System.FormatException">Thrown in invalid SPN.</exception>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServicePrincipalName.TryParse(System.String,NtApiDotNet.Win32.Security.Authentication.ServicePrincipalName@)">
            <summary>
            Try and parse an SPN string to a class.
            </summary>
            <param name="spn">The SPN string.</param>
            <param name="result">The result class.</param>
            <returns>True if the SPN was parsed successfully.</returns>
            <exception cref="T:System.FormatException">Thrown in invalid SPN.</exception>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.ServicePrincipalName.ToString">
            <summary>
            Convert SPN to a string.
            </summary>
            <returns>The SPN string.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authentication.UserCredentials">
            <summary>
            Class to hold user credentials.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.UserCredentials.UserName">
            <summary>
            The user name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.UserCredentials.Domain">
            <summary>
            The domain.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authentication.UserCredentials.Password">
            <summary>
            The password as a secure string.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.UserCredentials.#ctor(System.String,System.String,System.Security.SecureString)">
            <summary>
            Constructor.
            </summary>
            <param name="username">Username.</param>
            <param name="domain">Domain name.</param>
            <param name="password">Password.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.UserCredentials.SetPassword(System.String)">
            <summary>
            Set the password as in plain text.
            </summary>
            <param name="password">The password in plain text.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.UserCredentials.#ctor(System.String,System.String,System.String)">
            <summary>
            Constructor.
            </summary>
            <param name="username">Username.</param>
            <param name="domain">Domain name.</param>
            <param name="password">Password.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.UserCredentials.#ctor(System.String,System.String)">
            <summary>
            Constructor.
            </summary>
            <param name="username">Username.</param>
            <param name="domain">Domain name.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.UserCredentials.#ctor(System.String)">
            <summary>
            Constructor.
            </summary>
            <param name="username">Username.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.UserCredentials.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authentication.UserCredentials.Dispose">
            <summary>
            Dispose method.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authenticode.AuthenticodeCertificate">
            <summary>
            Class to represent a single authenticode certificate entry.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.AuthenticodeCertificate.Certificates">
            <summary>
            The list of certificates in the entry.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.AuthenticodeCertificate.ContainsPageHash">
            <summary>
            Whethe the entry contains page hashes.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authenticode.AuthenticodeUtils">
            <summary>
            Utilities for authenticode.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authenticode.AuthenticodeUtils.GetCertificates(NtApiDotNet.NtFile,System.Boolean)">
            <summary>
            Get certificates from a PE file.
            </summary>
            <param name="file">The PE file.</param>
            <param name="throw_on_error">True the throw on error.</param>
            <returns>The list of authenticode certificate entries.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authenticode.AuthenticodeUtils.GetCertificates(System.String,System.Boolean)">
            <summary>
            Get certificates from a PE file.
            </summary>
            <param name="path">The path to the PE file.</param>
            <param name="throw_on_error">True the throw on error.</param>
            <returns>The list of authenticode certificate entries.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authenticode.AuthenticodeUtils.GetCertificates(System.String)">
            <summary>
            Get certificates from a PE file.
            </summary>
            <param name="path">The path to the PE file, native path format.</param>
            <returns>The list of authenticode certificate entries.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authenticode.AuthenticodeUtils.ContainsPageHash(System.String)">
            <summary>
            Gets wether the PE file has page hash entries.
            </summary>
            <param name="path">The path to the PE file, native path format.</param>
            <returns>True if the file contains page hashes.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authenticode.AuthenticodeUtils.GetElamInformation(System.String,System.Boolean)">
            <summary>
            Query ELAM information from a driver's resource section.
            </summary>
            <param name="path">The path to the file.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The ELAM information if present.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authenticode.AuthenticodeUtils.GetElamInformation(System.String)">
            <summary>
            Query ELAM information from a driver's resource section.
            </summary>
            <param name="path">The path to the file.</param>
            <returns>The ELAM information if present.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authenticode.AuthenticodeUtils.GetEnclaveConfiguration(System.String,System.Boolean)">
            <summary>
            Get the VSM enclave configuration.
            </summary>
            <param name="path">The path to the file.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The VSM enclave configuration.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authenticode.AuthenticodeUtils.GetEnclaveConfiguration(System.String)">
            <summary>
            Get the VSM enclave configuration.
            </summary>
            <param name="path">The path to the file.</param>
            <returns>The VSM enclave configuration.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authenticode.ElamInformation">
            <summary>
            ELAM information.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.ElamInformation.CertificateHash">
            <summary>
            The hash of the certificate.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.ElamInformation.Algorithm">
            <summary>
            The hash algorithm.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.ElamInformation.EnhancedKeyUsage">
            <summary>
            List of optional EKUs.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authenticode.ElamInformation.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The ELAM information as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authenticode.EnclaveConfiguration">
            <summary>
            Class to represent a VSM enclave configuration.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.EnclaveConfiguration.MinimumRequiredConfigSize">
            <summary>
            Minimum required configuration size.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.EnclaveConfiguration.PolicyFlags">
            <summary>
            Policy flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.EnclaveConfiguration.Imports">
            <summary>
            List of enclave imports.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.EnclaveConfiguration.FamilyID">
            <summary>
            Family ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.EnclaveConfiguration.ImageID">
            <summary>
            Image ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.EnclaveConfiguration.ImageVersion">
            <summary>
            Image version.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.EnclaveConfiguration.SecurityVersion">
            <summary>
            Security version.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.EnclaveConfiguration.EnclaveSize">
            <summary>
            Size of the enclave.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.EnclaveConfiguration.NumberOfThreads">
            <summary>
            Number of threads for the enclave.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.EnclaveConfiguration.Flags">
            <summary>
            Enclave flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.EnclaveConfiguration.Debuggable">
            <summary>
            Is the enclave debuggable.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.EnclaveConfiguration.PrimaryImage">
            <summary>
            Is this a primary image.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.EnclaveConfiguration.ImagePath">
            <summary>
            Path to the image file.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.EnclaveConfiguration.Name">
            <summary>
            Name of the image file.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authenticode.EnclaveConfiguration.ToString">
            <summary>
            ToString method.
            </summary>
            <returns>The object as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authenticode.EnclaveImport">
            <summary>
            Class to represent an enclave import.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.EnclaveImport.MatchType">
            <summary>
            Match type for the import.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.EnclaveImport.MinimumSecurityVersion">
            <summary>
            Minimum security version.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.EnclaveImport.UniqueOrAuthorID">
            <summary>
            Unique or author ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.EnclaveImport.FamilyID">
            <summary>
            Family ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.EnclaveImport.ImageID">
            <summary>
            Image ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.EnclaveImport.Name">
            <summary>
            Import name.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authenticode.EnclaveImport.ToString">
            <summary>
            ToString method.
            </summary>
            <returns>The name of the import.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authenticode.ImagePolicyEntry">
            <summary>
            Image policy entry.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.ImagePolicyEntry.Type">
            <summary>
            Type of entry.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.ImagePolicyEntry.PolicyId">
            <summary>
            Policy ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.ImagePolicyEntry.Value">
            <summary>
            Value of entry.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authenticode.ImagePolicyId">
            <summary>
            Image policy ID.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authenticode.ImagePolicyMetadata">
            <summary>
            Class to represnt image policy metadata.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.ImagePolicyMetadata.Version">
            <summary>
            Version of the metadata.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.ImagePolicyMetadata.Id">
            <summary>
            The ID of the trustlet.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authenticode.ImagePolicyMetadata.Policies">
            <summary>
            The optional policies for the trustlet.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authenticode.ImagePolicyMetadata.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The object as a string.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authenticode.ImagePolicyMetadata.CreateFromFile(System.String,System.Boolean)">
            <summary>
            Extract image policy metadata from an image file.
            </summary>
            <param name="path">The path to the image file. Should be a win32 path.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The image policy metadata.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authenticode.ImagePolicyMetadata.CreateFromFile(System.String)">
            <summary>
            Extract image policy metadata from an image file.
            </summary>
            <param name="path">The path to the image file. Should be a win32 path.</param>
            <returns>The image policy metadata.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authorization.AuthZAccessCheckResult">
            <summary>
            Access check result from AuthZ.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.AuthZAccessCheckResult.Error">
            <summary>
            The Win32 error code from the access check.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authorization.AuthZContext">
            <summary>
            Class to represent an AuthZ client context.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.AuthZContext.User">
            <summary>
            Get AuthZ user
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.AuthZContext.Groups">
            <summary>
            Get AuthZ context groups.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.AuthZContext.RestrictedSids">
            <summary>
            Get AuthZ context restricted SIDs.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.AuthZContext.DeviceGroups">
            <summary>
            Get AuthZ context device groups.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.AuthZContext.Capabilities">
            <summary>
            Get AuthZ context capability SIDs.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.AuthZContext.SecurityAttributes">
            <summary>
            Get AuthZ context's security attributes
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.AuthZContext.DeviceClaimAttributes">
            <summary>
            Get AuthZ context's device claims.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.AuthZContext.UserClaimAttributes">
            <summary>
            Get AuthZ context's user claims.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.AuthZContext.Privileges">
            <summary>
            Get list of privileges for the AuthZ context.
            </summary>
            <returns>The list of privileges</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown if can't query privileges</exception>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.AuthZContext.AppContainerSid">
            <summary>
            Get AppContainer SID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.AuthZContext.Remote">
            <summary>
            Indicates if this context is connected to a remote access server.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.SetAppContainer(NtApiDotNet.Sid,System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup},System.Boolean)">
            <summary>
            Set AppContainer Information to Context.
            </summary>
            <param name="package_sid">The package SID.</param>
            <param name="capabilities">List of capabilities.</param>
            <param name="throw_on_error">True to throw on error</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.SetAppContainer(NtApiDotNet.Sid,System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup})">
            <summary>
            Set AppContainer Information to Context.
            </summary>
            <param name="package_sid">The package SID.</param>
            <param name="capabilities">List of capabilities.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.ModifyGroups(NtApiDotNet.Win32.Security.Authorization.AuthZGroupSidType,System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup},System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Authorization.AuthZSidOperation},System.Boolean)">
            <summary>
            Modify groups in the context.
            </summary>
            <param name="type">The type of group to modify.</param>
            <param name="groups">The list of groups to modify.</param>
            <param name="operations">The list of operations. Should be same size of group list.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.ModifyGroups(NtApiDotNet.Win32.Security.Authorization.AuthZGroupSidType,System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup},System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.Security.Authorization.AuthZSidOperation})">
            <summary>
            Modify groups in the context.
            </summary>
            <param name="type">The type of group to modify.</param>
            <param name="groups">The list of groups to modify.</param>
            <param name="operations">The list of operations. Should be same size of group list.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.ModifyGroups(NtApiDotNet.Win32.Security.Authorization.AuthZGroupSidType,System.Collections.Generic.IEnumerable{NtApiDotNet.Sid},NtApiDotNet.GroupAttributes,NtApiDotNet.Win32.Security.Authorization.AuthZSidOperation)">
            <summary>
            Modify groups in the context.
            </summary>
            <param name="type">The type of group to modify.</param>
            <param name="groups">The list of SIDs to modify.</param>
            <param name="attributes">The attributes for the SIDs.</param>
            <param name="operation">The operation for the SIDs.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.ModifyGroups(NtApiDotNet.Win32.Security.Authorization.AuthZGroupSidType,System.Collections.Generic.IEnumerable{NtApiDotNet.Sid},NtApiDotNet.Win32.Security.Authorization.AuthZSidOperation)">
            <summary>
            Modify groups in the context.
            </summary>
            <param name="type">The type of group to modify.</param>
            <param name="groups">The list of SIDs to modify.</param>
            <param name="operation">The operation for the SIDs.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.AddSid(NtApiDotNet.Sid)">
            <summary>
            Add a SID to the context.
            </summary>
            <param name="sid">The SID to add.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.AddDeviceSid(NtApiDotNet.Sid)">
            <summary>
            Add a Device SID to the context.
            </summary>
            <param name="sid">The SID to add.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.AddRestrictedSid(NtApiDotNet.Sid)">
            <summary>
            Add a Device SID to the context.
            </summary>
            <param name="sid">The SID to add.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.AddSids(System.Collections.Generic.IEnumerable{NtApiDotNet.Sid})">
            <summary>
            Add a list of SIDs to the context.
            </summary>
            <param name="sids">The list of SIDS.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.GetGroups(NtApiDotNet.Win32.Security.Authorization.AuthZGroupSidType,System.Boolean)">
            <summary>
            Get list of groups for the AuthZ context.
            </summary>
            <param name="group_type">The group type.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of groups.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.GetGroups(NtApiDotNet.Win32.Security.Authorization.AuthZGroupSidType)">
            <summary>
            Get list of groups for the AuthZ context.
            </summary>
            <param name="group_type">The group type.</param>
            <returns>The list of groups.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.GetUser(System.Boolean)">
            <summary>
            Get the user from the AuthZ context.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The user group information.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.GetAppContainerSid(System.Boolean)">
            <summary>
            Get the AppContainer SID from the AuthZ context.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The AppContainer SID.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.GetSecurityAttributes(NtApiDotNet.Win32.Security.Authorization.AuthZSecurityAttributeType,System.Boolean)">
            <summary>
            Get AuthZ context's security attributes
            </summary>
            <param name="type">Specify the type of security attributes to query.</param>
            <param name="throw_on_error">Throw on error.</param>
            <returns>The security attributes.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.GetPrivileges(System.Boolean)">
            <summary>
            Get token privileges.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of privileges.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.AccessCheck(NtApiDotNet.SecurityDescriptor,System.Collections.Generic.IEnumerable{NtApiDotNet.SecurityDescriptor},NtApiDotNet.AccessMask,NtApiDotNet.Sid,System.Collections.Generic.IEnumerable{NtApiDotNet.ObjectTypeEntry},NtApiDotNet.NtType,System.Boolean)">
            <summary>
            Perform an Access Check.
            </summary>
            <param name="sd">The security descriptor for the check.</param>
            <param name="optional_sd">Optional list of security descriptors to merge.</param>
            <param name="desired_access">The desired access.</param>
            <param name="principal">Optional Principal SID.</param>
            <param name="object_types">Optional list of object types.</param>
            <param name="type">NT Type for access checking.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of access check results.</returns>
            <remarks>The list of object types is restricted to 256 entries for remote access checks.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.AccessCheck(NtApiDotNet.SecurityDescriptor,System.Collections.Generic.IEnumerable{NtApiDotNet.SecurityDescriptor},NtApiDotNet.AccessMask,NtApiDotNet.Sid,System.Collections.Generic.IEnumerable{NtApiDotNet.ObjectTypeEntry},NtApiDotNet.NtType)">
            <summary>
            Perform an Access Check.
            </summary>
            <param name="sd">The security descriptor for the check.</param>
            <param name="optional_sd">Optional list of security descriptors to merge.</param>
            <param name="desired_access">The desired access.</param>
            <param name="principal">Optional Principal SID.</param>
            <param name="object_types">Optional list of object types.</param>
            <param name="type">NT Type for access checking.</param>
            <returns>The list of access check results.</returns>
            <remarks>The list of object types is restricted to 256 entries for remote access checks.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.Dispose">
            <summary>
            Dispose client context.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.Clone(System.Boolean)">
            <summary>
            Clone the current context.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The new client context.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZContext.Clone">
            <summary>
            Clone the current context.
            </summary>
            <returns>The new client context.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authorization.AuthZContextInitializeSidFlags">
            <summary>
            Flags to initialize a client context from a SID.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZContextInitializeSidFlags.None">
            <summary>
            None.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZContextInitializeSidFlags.SkipTokenGroups">
            <summary>
            Skip gathering token groups.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZContextInitializeSidFlags.RequireS4ULogon">
            <summary>
            Require S4U logon.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZContextInitializeSidFlags.ComputePrivileges">
            <summary>
            Computer token privileges.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authorization.AuthZGroupSidType">
            <summary>
            Specify the type of SIDs.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZGroupSidType.Normal">
            <summary>
            Normal Group SIDs.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZGroupSidType.Restricted">
            <summary>
            Restricted SIDs.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZGroupSidType.Device">
            <summary>
            Device Group SIDs.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZGroupSidType.Capability">
            <summary>
            Capability SIDs.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authorization.AuthZHandleCallbackAce">
            <summary>
            Delegate to handle a callback ACE.
            </summary>
            <param name="ace">The ACE to handle.</param>
            <returns>True if the ACE should be processed.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManager">
            <summary>
            Class to represent a AuthZ Resource Manager.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManager.Name">
            <summary>
            The name of the resource manager if any.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManager.Remote">
            <summary>
            Indicates if this resource manager is connected to a remote access server.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManager.Dispose">
            <summary>
            Dispose the resource manager.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManager.CreateContext(NtApiDotNet.NtToken,System.Boolean)">
            <summary>
            Create a client context from a Token.
            </summary>
            <param name="token">The token to create the context from.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created client context.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManager.CreateContext(NtApiDotNet.NtToken)">
            <summary>
            Create a client context from a Token.
            </summary>
            <param name="token">The token to create the context from.</param>
            <returns>The created client context.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManager.CreateContext(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Authorization.AuthZContextInitializeSidFlags,System.Boolean)">
            <summary>
            Create a client context from a Token.
            </summary>
            <param name="sid">The sid to create the context from.</param>
            <param name="flags">Flags for intialization.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created client context.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManager.CreateContext(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Authorization.AuthZContextInitializeSidFlags)">
            <summary>
            Create a client context from a Token.
            </summary>
            <param name="sid">The sid to create the context from.</param>
            <param name="flags">Flags for intialization.</param>
            <returns>The created client context.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManager.Create(System.String,NtApiDotNet.Win32.Security.Authorization.AuthZResourceManagerInitializeFlags,NtApiDotNet.Win32.Security.Authorization.AuthZHandleCallbackAce,System.Boolean)">
            <summary>
            Create a new AuthZ resource manager.
            </summary>
            <param name="name">The name of the resource manager, optional.</param>
            <param name="flags">Optional flags for the resource manager.</param>
            <param name="handle_callback_ace">Optional callback to handle callback ACEs.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created AuthZ resource manager.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManager.Create(System.String,NtApiDotNet.Win32.Security.Authorization.AuthZResourceManagerInitializeFlags,NtApiDotNet.Win32.Security.Authorization.AuthZHandleCallbackAce)">
            <summary>
            Create a new AuthZ resource manager.
            </summary>
            <param name="name">The name of the resource manager, optional.</param>
            <param name="flags">Optional flags for the resource manager.</param>
            <param name="handle_callback_ace">Optional callback to handle callback ACEs.</param>
            <returns>The created AuthZ resource manager.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManager.Create">
            <summary>
            Create a new AuthZ resource manager. Will not enable auditing.
            </summary>
            <returns>The created AuthZ resource manager.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManager.Create(System.String,System.String,System.Boolean)">
            <summary>
            Create a remote AuthZ resource manager from a raw binding string.
            </summary>
            <param name="string_binding">The RPC string binding for the server.</param>
            <param name="server_spn">The SPN for the server.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created AuthZ resource manager.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManager.Create(System.String,System.String)">
            <summary>
            Create a remote AuthZ resource manager from a raw binding string.
            </summary>
            <param name="string_binding">The RPC string binding for the server.</param>
            <param name="server_spn">The SPN for the server.</param>
            <returns>The created AuthZ resource manager.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManager.Create(System.String,System.String,NtApiDotNet.Win32.Security.Authorization.AuthZResourceManagerRemoteServiceType,System.Boolean)">
            <summary>
            Create a remote AuthZ resource manager from a raw binding string.
            </summary>
            <param name="server">The address of the server.</param>
            <param name="server_spn">The SPN for the server.</param>
            <param name="type">Specify the type of </param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created AuthZ resource manager.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManager.Create(System.String,System.String,NtApiDotNet.Win32.Security.Authorization.AuthZResourceManagerRemoteServiceType)">
            <summary>
            Create a remote AuthZ resource manager from a raw binding string.
            </summary>
            <param name="server">The network address of the server.</param>
            <param name="server_spn">The SPN for the server.</param>
            <param name="type">Specify the type of </param>
            <returns>The created AuthZ resource manager.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManagerInitializeFlags">
            <summary>
            Initialization flags for resource manager.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManagerInitializeFlags.None">
            <summary>
            None
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManagerInitializeFlags.NoAudit">
            <summary>
            Disable auditing.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManagerInitializeFlags.InitializeUnderImpersonation">
            <summary>
            Initialize using impersonation token.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManagerInitializeFlags.NoCentralAccessPolicies">
            <summary>
            Disable central access policies.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManagerRemoteServiceType">
            <summary>
            Type of remote service to access.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManagerRemoteServiceType.Default">
            <summary>
            Default, no evaluation of CAPs.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZResourceManagerRemoteServiceType.CentralAccessPolicy">
            <summary>
            Evaluates CAPs.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authorization.AuthZSecurityAttributeType">
            <summary>
            Security Attribute type.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZSecurityAttributeType.Token">
            <summary>
            Token Security Attributes.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZSecurityAttributeType.Device">
            <summary>
            Device Claims.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZSecurityAttributeType.User">
            <summary>
            User Claims.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authorization.AuthZSidOperation">
            <summary>
            SID operation for an AuthZ client context.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZSidOperation.None">
            <summary>
            None.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZSidOperation.ReplaceAll">
            <summary>
            Replace all SIDs.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZSidOperation.Add">
            <summary>
            Add SIDs.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZSidOperation.Delete">
            <summary>
            Delete SIDs.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Authorization.AuthZSidOperation.Replace">
            <summary>
            Replace SIDs.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authorization.ProgressInvokeSetting">
            <summary>
            Progress invoke setting for tree security.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authorization.SecurityDescriptorInheritanceSource">
            <summary>
            The source of inheritance for a resource.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.SecurityDescriptorInheritanceSource.Depth">
            <summary>
            The depth between the resource and the parent.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.SecurityDescriptorInheritanceSource.Name">
            <summary>
            The name of the ancestor.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.SecurityDescriptorInheritanceSource.SecurityDescriptor">
            <summary>
            The security descriptor if accessible.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.SecurityDescriptorInheritanceSource.InheritedAce">
            <summary>
            The original ACE which was inherited.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.SecurityDescriptorInheritanceSource.Sid">
            <summary>
            The SID of the original ACE.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.SecurityDescriptorInheritanceSource.Access">
            <summary>
            Access mask as a formatted string.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.SecurityDescriptorInheritanceSource.GenericAccess">
            <summary>
            Generic access mask as a formatted string.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.SecurityDescriptorInheritanceSource.Type">
            <summary>
            The type of the ACE.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.SecurityDescriptorInheritanceSource.ObjectType">
            <summary>
            The object type of the ACE.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Authorization.SecurityDescriptorInheritanceSource.InheritedObjectType">
            <summary>
            The inherited object type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authorization.SeObjectType">
            <summary>
            Enumeration for object type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authorization.TreeSecInfo">
            <summary>
            Tree security mode.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Authorization.TreeProgressFunction">
            <summary>
            Progress function for tree named security info.
            </summary>
            <param name="object_name">The name of the object.</param>
            <param name="status">The operation status.</param>
            <param name="invoke_setting">The current invoke setting.</param>
            <param name="security_set">True if security is set.</param>
            <returns>The invoke setting. Return original invoke_setting if no change.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Buffers.SecurityBuffer">
            <summary>
            Base security buffer storage.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Buffers.SecurityBuffer.Type">
            <summary>
            Type of the security buffer.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Buffers.SecurityBuffer.ReadOnly">
            <summary>
            Is the buffer read-only.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Buffers.SecurityBuffer.WithChecksum">
            <summary>
            Is the buffer read-only with checksum.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Buffers.SecurityBuffer.ToArray">
            <summary>
            Convert to buffer back to an array.
            </summary>
            <returns>The buffer as an array.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Buffers.SecurityBuffer.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The buffer as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Buffers.SecurityBufferAllocMem">
            <summary>
            Class to represent a security buffer we expect to be allocated by the SSPI.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Buffers.SecurityBufferAllocMem.#ctor(NtApiDotNet.Win32.Security.Buffers.SecurityBufferType)">
            <summary>
            Constructor.
            </summary>
            <param name="type">The type of the buffer.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Buffers.SecurityBufferAllocMem.ToArray">
            <summary>
            Convert to buffer back to an array.
            </summary>
            <returns>The buffer as an array.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Buffers.SecurityBufferChannelBinding">
            <summary>
            Security buffer for a channel binding.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Buffers.SecurityBufferChannelBinding.#ctor(System.Byte[])">
            <summary>
            Constructor.
            </summary>
            <param name="channel_binding_token">The channel bindings token.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Buffers.SecurityBufferChannelBinding.ToArray">
            <summary>
            Convert to buffer back to an array.
            </summary>
            <returns>The buffer as an array.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Buffers.SecurityBufferInOut">
            <summary>
            A security buffer which can be an input and output.
            </summary>
            <remarks>If you create with the ReadOnly or ReadOnlyWithCheck types then the 
            array will not be updated.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Buffers.SecurityBufferInOut.#ctor(NtApiDotNet.Win32.Security.Buffers.SecurityBufferType,System.Byte[])">
            <summary>
            Constructor.
            </summary>
            <param name="type">The type of buffer.</param>
            <param name="data">The data for the input.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Buffers.SecurityBufferInOut.#ctor(NtApiDotNet.Win32.Security.Buffers.SecurityBufferType,System.Byte[],System.Int32,System.Int32)">
            <summary>
            Constructor.
            </summary>
            <param name="type">The type of buffer.</param>
            <param name="data">The data for the input.</param>
            <param name="offset">The offset into the array.</param>
            <param name="count">Number of bytes in the input.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Buffers.SecurityBufferInOut.ToArray">
            <summary>
            Convert to buffer back to an array.
            </summary>
            <returns>The buffer as an array.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Buffers.SecurityBufferOut">
            <summary>
            A security buffer which can only be an output.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Buffers.SecurityBufferOut.#ctor(NtApiDotNet.Win32.Security.Buffers.SecurityBufferType,System.Int32)">
            <summary>
            Constructor.
            </summary>
            <param name="type">The type of buffer.</param>
            <param name="size">The size of the output buffer.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Buffers.SecurityBufferOut.ToArray">
            <summary>
            Convert to buffer back to an array.
            </summary>
            <returns>The buffer as an array.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Buffers.SecurityBufferPointer">
            <summary>
            A security buffer which takes a raw pointer. The lifetime of the pointer
            should be managed manually by the caller.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Buffers.SecurityBufferPointer.#ctor(NtApiDotNet.Win32.Security.Buffers.SecurityBufferType,System.IntPtr,System.Int32)">
            <summary>
            Constructor.
            </summary>
            <param name="type">The type of buffer.</param>
            <param name="pointer">The raw pointer.</param>
            <param name="size">The size of the raw pointer.</param>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Buffers.SecurityBufferPointer.Size">
            <summary>
            The size of the buffer.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Buffers.SecurityBufferPointer.Pointer">
            <summary>
            The pointer for the buffer. The lifetime needs to be manually managed.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Buffers.SecurityBufferPointer.Release">
            <summary>
            This will free pointer using the SSPI APIs. Used to release automatically allocated
            buffers. If you control the value of the Pointer you don't need to release it.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Buffers.SecurityBufferPointer.ToArray">
            <summary>
            Convert to buffer back to an array.
            </summary>
            <returns>The buffer as an array.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Buffers.SecurityBufferType">
            <summary>
            Security buffer type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Credential.Credential">
            <summary>
            Class to represent a credential manager credential.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Credential.Credential.Flags">
            <summary>
            Credential flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Credential.Credential.Type">
            <summary>
            Credential type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Credential.Credential.TargetName">
            <summary>
            Target name for the credentials.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Credential.Credential.Comment">
            <summary>
            Comment for the credentials.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Credential.Credential.LastWritten">
            <summary>
            Time the credentials was last written.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Credential.Credential.CredentialBlob">
            <summary>
            Credential blob.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Credential.Credential.Password">
            <summary>
            Credential as a string, if available.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Credential.Credential.Persist">
            <summary>
            Credential persistence.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Credential.Credential.Attributes">
            <summary>
            Credential attributes.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Credential.Credential.TargetAlias">
            <summary>
            Target alias.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Credential.Credential.UserName">
            <summary>
            Username.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Credential.CredentialAttribute">
            <summary>
            Class to represent a credential attribute.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Credential.CredentialAttribute.Keyword">
            <summary>
            Attribute keyword.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Credential.CredentialAttribute.Flags">
            <summary>
            Attribute flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Credential.CredentialAttribute.Value">
            <summary>
            Attribute value.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Credential.CredentialAttribute.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns></returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Credential.CredentialAttributeFlags">
            <summary>
            Flags for a credential attribute.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Credential.CredentialAttributeFlags.None">
            <summary>
            No flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Credential.CredentialEnumerateFlags">
            <summary>
            Flags for enumeration credentials.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Credential.CredentialEnumerateFlags.None">
            <summary>
            None.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Credential.CredentialEnumerateFlags.AllCredentials">
            <summary>
            Get all credentials.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Credential.CredentialFlags">
            <summary>
            Flags for a credential.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Credential.CredentialManager">
            <summary>
            Class to access credential manager APIs.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Credential.CredentialManager.GetCredentials(System.String,NtApiDotNet.Win32.Security.Credential.CredentialEnumerateFlags,System.Boolean)">
            <summary>
            Get credentials for user from credential manager.
            </summary>
            <param name="filter">A filter for the target name, for example DOMAIN*. If null or empty returns all credentials.</param>
            <param name="flags">Flags for the enumeration.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of credentials.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Credential.CredentialManager.GetCredentials(System.String,NtApiDotNet.Win32.Security.Credential.CredentialEnumerateFlags)">
            <summary>
            Get credentials for user from credential manager.
            </summary>
            <param name="filter">A filter for the target name, for example DOMAIN*. If null or empty returns all credentials.</param>
            <param name="flags">Flags for the enumeration.</param>
            <returns>The list of credentials.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Credential.CredentialManager.GetCredentials(System.String)">
            <summary>
            Get credentials for user from credential manager.
            </summary>
            <param name="filter">A filter for the target name, for example DOMAIN*. If null or empty returns all credentials.</param>
            <returns>The list of credentials.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Credential.CredentialManager.GetCredentials">
            <summary>
            Get all credentials for user from credential manager.
            </summary>
            <returns>The list of credentials.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Credential.CredentialManager.GetCredential(System.String,NtApiDotNet.Win32.Security.Credential.CredentialType,System.Boolean)">
            <summary>
            Get a credential by name.
            </summary>
            <param name="target_name">The name of the credential.</param>
            <param name="type">The type of credential.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The read credential.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Credential.CredentialManager.GetCredential(System.String,NtApiDotNet.Win32.Security.Credential.CredentialType)">
            <summary>
            Get a credential by name.
            </summary>
            <param name="target_name">The name of the credential.</param>
            <param name="type">The type of credential.</param>
            <returns>The read credential.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Credential.CredentialManager.Backup(NtApiDotNet.NtToken,System.Byte[],System.Boolean)">
            <summary>
            Backup a user's credentials.
            </summary>
            <param name="token">The user's token.</param>
            <param name="key">The key for the data, typically a unicode password. Optional</param>
            <param name="key_encoded">True if the key is already encoded.</param>
            <remarks>Caller needs SeTrustedCredmanAccessPrivilege enabled.</remarks>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Credential.CredentialPersistence">
            <summary>
            Specify credential persistence.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Credential.CredentialType">
            <summary>
            Identifies the type of credentials.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Native.DomainInformationClass">
            <summary>
            Information class for a SAM domain object.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Native.Logon32Provider">
            <summary>
            Logon32 provider
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Native.Logon32Provider.Default">
            <summary>
            Default.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Native.Logon32Provider.WinNT35">
            <summary>
            Windows NT 3.5.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Native.Logon32Provider.WinNT40">
            <summary>
            Windows NT 4.0.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Native.Logon32Provider.WinNT50">
            <summary>
            Windows NT 5.0.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Native.Logon32Provider.Virtual">
            <summary>
            Virtual provider.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Native.LsaLogonUserFlags">
            <summary>
            Logon UserFlags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Native.SecPkgLastClientTokenStatus">
            <summary>
            Indicates the last client token status for the client context.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Native.SecPkgLastClientTokenStatus.Yes">
            <summary>
            Yes it's the last token.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Native.SecPkgLastClientTokenStatus.No">
            <summary>
            No it's not the last token.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Native.SecPkgLastClientTokenStatus.Maybe">
            <summary>
            It might be, who knows?
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Native.SecStatusCode">
            <summary>
            Status code for SSPI interface calls.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Policy.AccountRight">
            <summary>
            Class to represent an Account Right assigned to a user.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.AccountRight.Name">
            <summary>
            The name of the account right.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.AccountRight.DisplayName">
            <summary>
            The display name, if known.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.AccountRight.Sids">
            <summary>
            Get list of SIDS assigned to this access right.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.AccountRight.ToString">
            <summary>
            ToString method.
            </summary>
            <returns>The name of the account right.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Policy.AccountRightLogonType">
            <summary>
            List of account rights. Not the same as privileges.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Policy.LsaAccount">
            <summary>
            Class to represent an LSA account object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaAccount.Sid">
            <summary>
            Get the account SID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaAccount.SystemAccess">
            <summary>
            Get or set system access flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaAccount.Privileges">
            <summary>
            Get account privileges.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaAccount.GetSystemAccess(System.Boolean)">
            <summary>
            Get system access flags.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The system access flags.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaAccount.SetSystemAccess(NtApiDotNet.Win32.Security.Policy.LsaSystemAccessFlags,System.Boolean)">
            <summary>
            Set system access flags.
            </summary>
            <param name="flags">The flags to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The system access flags.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaAccount.EnumeratePrivileges(System.Boolean)">
            <summary>
            Enumerate privileges for the account.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of token privileges.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Policy.LsaAccountAccessRights">
            <summary>
            Access rights for an LSA account.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Policy.LsaLookupNameOptionFlags">
            <summary>
            Flags for looking up SIDs by name.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Policy.LsaLookupSidOptionFlags">
            <summary>
            Flags for looking up SID names.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Policy.LsaObject">
            <summary>
            Base class for an LSA object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaObject.NtType">
            <summary>
            Get the NT type for the object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaObject.ObjectName">
            <summary>
            Get the object name for the object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaObject.IsContainer">
            <summary>
            Get whether the object is a container.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaObject.SecurityDescriptor">
            <summary>
            Get the object's security descriptor.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaObject.IsAccessMaskGranted(NtApiDotNet.AccessMask)">
            <summary>
            Is an access mask granted to the object.
            </summary>
            <param name="access">The access to check.</param>
            <returns>True if all access is granted.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaObject.GetSecurityDescriptor(NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Get the security descriptor specifying which parts to retrieve
            </summary>
            <param name="security_information">What parts of the security descriptor to retrieve</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The security descriptor</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaObject.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="M:NtApiDotNet.Win32.Security.Policy.LsaObject.SetSecurityDescriptor(NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Set the object's security descriptor
            </summary>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="security_information">What parts of the security descriptor to set</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaObject.SetSecurityDescriptor(NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityInformation)">
            <summary>
            Set the object's security descriptor
            </summary>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="security_information">What parts of the security descriptor to set</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaObject.Delete(System.Boolean)">
            <summary>
            Delete the object.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaObject.Delete">
            <summary>
            Delete the object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaObject.SystemName">
            <summary>
            Get the system name for the policy.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaObject.Dispose">
            <summary>
            Dispose the policy.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Policy.LsaPolicy">
            <summary>
            Class to represent the LSA policy.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.LookupSids(System.Collections.Generic.IEnumerable{NtApiDotNet.Sid},System.Boolean)">
            <summary>
            Lookup names for SIDs.
            </summary>
            <param name="sids">The list of SIDs to lookup.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of looked up SID names.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.LookupSids(System.Collections.Generic.IEnumerable{NtApiDotNet.Sid})">
            <summary>
            Lookup names for SIDs.
            </summary>
            <param name="sids">The list of SIDs to lookup.</param>
            <returns>The list of looked up SID names.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.LookupSid(NtApiDotNet.Sid)">
            <summary>
            Lookup name for a SID.
            </summary>
            <param name="sid">The SID to lookup.</param>
            <returns></returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.LookupSids2(System.Collections.Generic.IEnumerable{NtApiDotNet.Sid},NtApiDotNet.Win32.Security.Policy.LsaLookupSidOptionFlags,System.Boolean)">
            <summary>
            Lookup names for SIDs.
            </summary>
            <param name="sids">The list of SIDs to lookup.</param>
            <param name="options">Lookup options flags.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of looked up SID names.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.LookupSids2(System.Collections.Generic.IEnumerable{NtApiDotNet.Sid},NtApiDotNet.Win32.Security.Policy.LsaLookupSidOptionFlags)">
            <summary>
            Lookup names for SIDs.
            </summary>
            <param name="sids">The list of SIDs to lookup.</param>
            <param name="options">Lookup options flags.</param>
            <returns>The list of looked up SID names.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.LookupNames(System.Collections.Generic.IEnumerable{System.String},NtApiDotNet.Win32.Security.Policy.LsaLookupNameOptionFlags,System.Boolean)">
            <summary>
            Lookup names from the LSA policy.
            </summary>
            <param name="names">The names to lookup.</param>
            <param name="flags">Flags for the lookup.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of SID names.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.LookupNames(System.Collections.Generic.IEnumerable{System.String},NtApiDotNet.Win32.Security.Policy.LsaLookupNameOptionFlags)">
            <summary>
            Lookup names from the LSA policy.
            </summary>
            <param name="names">The names to lookup.</param>
            <param name="flags">Flags for the lookup.</param>
            <returns>The list of SID names.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.LookupNames(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Lookup names from the LSA policy.
            </summary>
            <param name="names">The names to lookup.</param>
            <returns>The list of SID names.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.LookupName(System.String)">
            <summary>
            Lookup names from the LSA policy.
            </summary>
            <param name="name">The name to lookup.</param>
            <returns>The looked up SID name.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.EnumerateAccountsWithUserRight(System.String,System.Boolean)">
            <summary>
            Enumerate accounts with a user right.
            </summary>
            <param name="user_right">The name of the user right.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of SIDs with the user right.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.EnumerateAccountsWithUserRight(System.String)">
            <summary>
            Enumerate accounts with a user right.
            </summary>
            <param name="user_right">The name of the user right.</param>
            <returns>The list of SIDs with the user right.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.EnumerateAccountRights(NtApiDotNet.Sid,System.Boolean)">
            <summary>
            Enumerate account rights for a SID.
            </summary>
            <param name="sid">The SID to enumerate for.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of assigned account rights.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.EnumerateAccountRights(NtApiDotNet.Sid)">
            <summary>
            Enumerate account rights for a SID.
            </summary>
            <param name="sid">The SID to enumerate for.</param>
            <returns>The list of assigned account rights.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.AddAccountRights(NtApiDotNet.Sid,System.Collections.Generic.IEnumerable{System.String},System.Boolean)">
            <summary>
            Add account rights to an account.
            </summary>
            <param name="sid">The SID of the account.</param>
            <param name="account_rights">The list of account rights to add.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.AddAccountRights(NtApiDotNet.Sid,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Add account rights to an account.
            </summary>
            <param name="sid">The SID of the account.</param>
            <param name="account_rights">The list of account rights to add.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.RemoveAccountRights(NtApiDotNet.Sid,System.Boolean,System.Collections.Generic.IEnumerable{System.String},System.Boolean)">
            <summary>
            Remove account rights from an account.
            </summary>
            <param name="sid">The SID of the account.</param>
            <param name="remove_all">True to remove all rights.</param>
            <param name="account_rights">The account rights to add.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.RemoveAccountRights(NtApiDotNet.Sid,System.Boolean,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Remove account rights from an account.
            </summary>
            <param name="sid">The SID of the account.</param>
            <param name="remove_all">True to remove all rights.</param>
            <param name="account_rights">The account rights to add.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.RetrievePrivateData(System.String,System.Boolean)">
            <summary>
            Retrieve LSA privilege data.
            </summary>
            <param name="keyname">The name of the key.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The private data as bytes.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.RetrievePrivateData(System.String)">
            <summary>
            Retrieve LSA privilege data.
            </summary>
            <param name="keyname">The name of the key.</param>
            <returns>The private data as bytes.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.StorePrivateData(System.String,System.Byte[],System.Boolean)">
            <summary>
            Store LSA private data.
            </summary>
            <param name="keyname">The name of the key.</param>
            <param name="data">The data to store. If you pass null then the value will be deleted.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.StorePrivateData(System.String,System.Byte[])">
            <summary>
            Store LSA private data.
            </summary>
            <param name="keyname">The name of the key.</param>
            <param name="data">The data to store. If you pass null then the value will be deleted.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.OpenSecret(System.String,NtApiDotNet.Win32.Security.Policy.LsaSecretAccessRights,System.Boolean)">
            <summary>
            Open an LSA secret object.
            </summary>
            <param name="name">The name of the secret.</param>
            <param name="desired_access">The desired access for the secret.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened secret.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.OpenSecret(System.String,NtApiDotNet.Win32.Security.Policy.LsaSecretAccessRights)">
            <summary>
            Open an LSA secret object.
            </summary>
            <param name="name">The name of the secret.</param>
            <param name="desired_access">The desired access for the secret.</param>
            <returns>The opened secret.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.OpenSecret(System.String)">
            <summary>
            Open an LSA secret object with maximum access.
            </summary>
            <param name="name">The name of the secret.</param>
            <returns>The opened secret.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.CreateSecret(System.String,NtApiDotNet.Win32.Security.Policy.LsaSecretAccessRights,System.Boolean)">
            <summary>
            Create an LSA secret object.
            </summary>
            <param name="name">The name of the secret.</param>
            <param name="desired_access">The desired access for the secret.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created secret.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.CreateSecret(System.String,NtApiDotNet.Win32.Security.Policy.LsaSecretAccessRights)">
            <summary>
            Create an LSA secret object.
            </summary>
            <param name="name">The name of the secret.</param>
            <param name="desired_access">The desired access for the secret.</param>
            <returns>The created secret.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.CreateSecret(System.String)">
            <summary>
            Create an LSA secret object with maximum access.
            </summary>
            <param name="name">The name of the secret.</param>
            <returns>The created secret.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.DeleteSecret(System.String,System.Boolean)">
            <summary>
            Delete an LSA secret object.
            </summary>
            <param name="name">The name of the secret.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.DeleteSecret(System.String)">
            <summary>
            Delete an LSA secret object.
            </summary>
            <param name="name">The name of the secret.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.OpenAccount(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Policy.LsaAccountAccessRights,System.Boolean)">
            <summary>
            Open an LSA account object.
            </summary>
            <param name="sid">The SID of the account.</param>
            <param name="desired_access">The desired access for the account.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened account.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.OpenAccount(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Policy.LsaAccountAccessRights)">
            <summary>
            Open an LSA account object.
            </summary>
            <param name="sid">The SID of the account.</param>
            <param name="desired_access">The desired access for the account.</param>
            <returns>The opened account.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.OpenAccount(NtApiDotNet.Sid)">
            <summary>
            Open an LSA account object with maximum access.
            </summary>
            <param name="sid">The SID of the account.</param>
            <returns>The opened account.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.CreateAccount(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Policy.LsaAccountAccessRights,System.Boolean)">
            <summary>
            Create an LSA account object.
            </summary>
            <param name="sid">The SID of the account.</param>
            <param name="desired_access">The desired access for the account.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created account.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.CreateAccount(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Policy.LsaAccountAccessRights)">
            <summary>
            Create an LSA account object.
            </summary>
            <param name="sid">The SID of the account.</param>
            <param name="desired_access">The desired access for the account.</param>
            <returns>The created account.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.CreateAccount(NtApiDotNet.Sid)">
            <summary>
            Create an LSA account object with maximum access.
            </summary>
            <param name="sid">The SID of the account.</param>
            <returns>The created account.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.DeleteAccount(NtApiDotNet.Sid,System.Boolean)">
            <summary>
            Delete an LSA account object.
            </summary>
            <param name="sid">The SID of the account.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.DeleteAccount(NtApiDotNet.Sid)">
            <summary>
            Delete an LSA account object.
            </summary>
            <param name="sid">The SID of the account.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.EnumerateAccounts(System.Boolean)">
            <summary>
            Enumerate account SIDs in policy.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of account SIDs.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.EnumerateAccounts">
            <summary>
            Enumerate account SIDs in policy.
            </summary>
            <returns>The list of account SIDs.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.OpenAccessibleAccounts(NtApiDotNet.Win32.Security.Policy.LsaAccountAccessRights,System.Boolean)">
            <summary>
            Enumerate and open accessible account objects in policy.
            </summary>
            <param name="desired_access">The desired access for the opened accounts.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of accessible accounts.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.OpenAccessibleAccounts(NtApiDotNet.Win32.Security.Policy.LsaAccountAccessRights)">
            <summary>
            Enumerate and open accessible account objects in policy.
            </summary>
            <param name="desired_access">The desired access for the opened accounts.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.OpenAccessibleAccounts">
            <summary>
            Enumerate and open accessible account objects in policy with maximum access.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.EnumerateTrustedDomains(System.Boolean)">
            <summary>
            Enumerate trusted domain information.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of trusted domain information.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.EnumerateTrustedDomains">
            <summary>
            Enumerate trusted domain information.
            </summary>
            <returns>The list of trusted domain information.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.OpenTrustedDomain(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Policy.LsaTrustedDomainAccessRights,System.Boolean)">
            <summary>
            Open trusted domain object.
            </summary>
            <param name="sid">The SID of the trusted domain.</param>
            <param name="desired_access">The desired access for the object.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The trusted domain object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.OpenTrustedDomain(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Policy.LsaTrustedDomainAccessRights)">
            <summary>
            Open trusted domain object.
            </summary>
            <param name="sid">The SID of the trusted domain.</param>
            <param name="desired_access">The desired access for the object.</param>
            <returns>The trusted domain object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.OpenTrustedDomain(System.String,NtApiDotNet.Win32.Security.Policy.LsaTrustedDomainAccessRights,System.Boolean)">
            <summary>
            Open trusted domain object.
            </summary>
            <param name="name">The name of the trusted domain.</param>
            <param name="desired_access">The desired access for the object.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The trusted domain object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.OpenTrustedDomain(System.String,NtApiDotNet.Win32.Security.Policy.LsaTrustedDomainAccessRights)">
            <summary>
            Open trusted domain object.
            </summary>
            <param name="name">The name of the trusted domain.</param>
            <param name="desired_access">The desired access for the object.</param>
            <returns>The trusted domain object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.OpenAccessibleTrustedDomains(NtApiDotNet.Win32.Security.Policy.LsaTrustedDomainAccessRights,System.Boolean)">
            <summary>
            Enumerate and open accessible trusted domain objects in policy.
            </summary>
            <param name="desired_access">The desired access for the opened trusted domains.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of accessible trusted domains.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.OpenAccessibleTrustedDomains(NtApiDotNet.Win32.Security.Policy.LsaTrustedDomainAccessRights)">
            <summary>
            Enumerate and open accessible trusted domain objects in policy.
            </summary>
            <param name="desired_access">The desired access for the opened trusted domains.</param>
            <returns>The list of accessible trusted domains.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.OpenAccessibleTrustedDomains">
            <summary>
            Enumerate and open accessible trusted domain objects in policy.
            </summary>
            <returns>The list of accessible trusted domains.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.Open(System.String,NtApiDotNet.Win32.Security.Policy.LsaPolicyAccessRights,System.Boolean)">
            <summary>
            Open an LSA policy.
            </summary>
            <param name="system_name">The system name for the LSA.</param>
            <param name="desired_access">The desired access on the policy.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened policy.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.Open(NtApiDotNet.Win32.Security.Policy.LsaPolicyAccessRights,System.Boolean)">
            <summary>
            Open an LSA policy.
            </summary>
            <param name="desired_access">The desired access on the policy.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened policy.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.Open(System.String,NtApiDotNet.Win32.Security.Policy.LsaPolicyAccessRights)">
            <summary>
            Open an LSA policy.
            </summary>
            <param name="system_name">The system name for the LSA.</param>
            <param name="desired_access">The desired access on the policy.</param>
            <returns>The opened policy.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.Open(NtApiDotNet.Win32.Security.Policy.LsaPolicyAccessRights)">
            <summary>
            Open an LSA policy.
            </summary>
            <param name="desired_access">The desired access on the policy.</param>
            <returns>The opened policy.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicy.Open">
            <summary>
            Open an LSA policy with maximum allowed access.
            </summary>
            <returns>The opened policy.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Policy.LsaPolicyAccessRights">
            <summary>
            Access rights for the LSA policy.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Policy.LsaPolicyUtils">
            <summary>
            Utilities for an LSA policy.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Policy.LsaPolicyUtils.LSA_POLICY_NT_TYPE_NAME">
            <summary>
            The name of the fake NT type for a LSA policy.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Policy.LsaPolicyUtils.LSA_SECRET_NT_TYPE_NAME">
            <summary>
            The name of the fake NT type for a LSA secret.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Policy.LsaPolicyUtils.LSA_ACCOUNT_NT_TYPE_NAME">
            <summary>
            The name of the fake NT type for a LSA account.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Policy.LsaPolicyUtils.LSA_TRUSTED_DOMAIN_NT_TYPE_NAME">
            <summary>
            The name of the fake NT type for a LSA trusted domain.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicyUtils.GetLsaPolicyGenericMapping">
            <summary>
            Generic generic mapping for LSA policy security.
            </summary>
            <returns>The generic mapping for the LSA policy.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicyUtils.GetLsaSecretGenericMapping">
            <summary>
            Generic generic mapping for LSA secret security.
            </summary>
            <returns>The generic mapping for the LSA secret.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicyUtils.GetLsaAccountGenericMapping">
            <summary>
            Generic generic mapping for LSA account security.
            </summary>
            <returns>The generic mapping for the LSA account.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaPolicyUtils.GetLsaTrustedDomainGenericMapping">
            <summary>
            Generic generic mapping for LSA trusted domain security.
            </summary>
            <returns>The generic mapping for the LSA trusted domain.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Policy.LsaSecret">
            <summary>
            Class to represent an LSA secret.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaSecret.Query(System.Boolean)">
            <summary>
            Query the value of the secret.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The value of the secret.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaSecret.Query">
            <summary>
            Query the value of the secret.
            </summary>
            <returns>The value of the secret.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaSecret.QueryCurrent(System.Boolean)">
            <summary>
            Query the current value of the secret.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The current value of the secret.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaSecret.QueryCurrent">
            <summary>
            Query the current value of the secret.
            </summary>
            <returns>The current value of the secret.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaSecret.QueryOld(System.Boolean)">
            <summary>
            Query the old value of the secret.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The old value of the secret.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaSecret.QueryOld">
            <summary>
            Query the old value of the secret.
            </summary>
            <returns>The old value of the secret.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaSecret.Set(System.Byte[],System.Byte[],System.Boolean)">
            <summary>
            Set the value of the secret.
            </summary>
            <param name="current_value">The current value to set.</param>
            <param name="old_value">The old value to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Policy.LsaSecret.Set(System.Byte[],System.Byte[])">
            <summary>
            Set the value of the secret.
            </summary>
            <param name="current_value">The current value to set.</param>
            <param name="old_value">The old value to set.</param>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Policy.LsaSecretAccessRights">
            <summary>
            Access rights for an LSA secret.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Policy.LsaSecretValue">
            <summary>
            Class to represent an LSA secret value.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaSecretValue.CurrentValue">
            <summary>
            The current value of the secret.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaSecretValue.CurrentValueSetTime">
            <summary>
            The set time for the current value.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaSecretValue.OldValue">
            <summary>
            The old value of the secret.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaSecretValue.OldValueSetTime">
            <summary>
            The set time for the old value.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Policy.LsaSystemAccessFlags">
            <summary>
            Flags for an account's system access.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Policy.LsaTrustAttributes">
            <summary>
            Trust attribute flags for a trusted domain.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Policy.LsaTrustDirection">
            <summary>
            Direction of trust for a trusted domain.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Policy.LsaTrustedDomain">
            <summary>
            Class to represent an LSA trusted domain.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaTrustedDomain.FlatName">
            <summary>
            Flat name (NETBIOS) of domain.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaTrustedDomain.Sid">
            <summary>
            Domain SID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaTrustedDomain.Name">
            <summary>
            Name of the domain.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaTrustedDomain.TrustDirection">
            <summary>
            Domain trust direction.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaTrustedDomain.TrustType">
            <summary>
            Domain trust type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaTrustedDomain.TrustAttributes">
            <summary>
            Domain trust attributes.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Policy.LsaTrustedDomainAccessRights">
            <summary>
            Access rights for an LSA trusted domain.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Policy.LsaTrustedDomainInformation">
            <summary>
            Information for a trusted domain.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaTrustedDomainInformation.Name">
            <summary>
            DNS name of domain.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaTrustedDomainInformation.FlatName">
            <summary>
            Flat name (NETBIOS) of domain.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaTrustedDomainInformation.Sid">
            <summary>
            Domain SID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaTrustedDomainInformation.TrustDirection">
            <summary>
            Domain trust direction.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaTrustedDomainInformation.TrustType">
            <summary>
            Domain trust type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Policy.LsaTrustedDomainInformation.TrustAttributes">
            <summary>
            Domain trust attributes.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Policy.LsaTrustType">
            <summary>
            Trust type for a trusted domain.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Sam.SamAlias">
            <summary>
            Class to represent a SAM alias.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamAlias.GetMembers(System.Boolean)">
            <summary>
            Get members of the alias.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of alias members.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamAlias.GetMembers">
            <summary>
            Get members of the alias.
            </summary>
            <returns>The list of alias members.</returns>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamAlias.Name">
            <summary>
            The alias name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamAlias.Sid">
            <summary>
            The SID of the alias.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Sam.SamAliasAccessRights">
            <summary>
            Access rights for a SAM alias object.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Sam.SamDomain">
            <summary>
            Class to represent a SAM domain object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamDomain.Name">
            <summary>
            The domain name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamDomain.DomainId">
            <summary>
            The domain SID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamDomain.PasswordInformation">
            <summary>
            Get domain password information
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.LookupNames(System.Collections.Generic.IEnumerable{System.String},System.Boolean)">
            <summary>
            Lookup names in a domain.
            </summary>
            <param name="names">The list of names to lookup.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of looked up SID names.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.LookupNames(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Lookup names in a domain.
            </summary>
            <param name="names">The list of names to lookup.</param>
            <returns>The list of looked up SID names.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.LookupName(System.String,System.Boolean)">
            <summary>
            Lookup a name in a domain.
            </summary>
            <param name="name">The name to lookup.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SID name.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.LookupName(System.String)">
            <summary>
            Lookup a name in a domain.
            </summary>
            <param name="name">The name to lookup.</param>
            <returns>The SID name.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.LookupIds(System.Collections.Generic.IEnumerable{System.UInt32},System.Boolean)">
            <summary>
            Lookup relative IDs in a domain.
            </summary>
            <param name="rids">The list of relative IDs to lookup.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of looked up SID names.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.LookupIds(System.Collections.Generic.IEnumerable{System.UInt32})">
            <summary>
            Lookup relative IDs in a domain.
            </summary>
            <param name="rids">The list of relative IDs to lookup.</param>
            <returns>The list of looked up SID names.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.LookupId(System.UInt32,System.Boolean)">
            <summary>
            Lookup a rid in a domain.
            </summary>
            <param name="rid">The relative ID to lookup.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SID name.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.LookupId(System.UInt32)">
            <summary>
            Lookup a rid in a domain.
            </summary>
            <param name="rid">The relative ID to lookup.</param>
            <returns>The SID name.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.EnumerateUsers(NtApiDotNet.Win32.Security.Sam.UserAccountControlFlags,System.Boolean)">
            <summary>
            Enumerate users in a domain.
            </summary>
            <param name="user_account_control">User account control flags.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of users.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.EnumerateUsers(NtApiDotNet.Win32.Security.Sam.UserAccountControlFlags)">
            <summary>
            Enumerate users in a domain.
            </summary>
            <param name="user_account_control">User account control flags.</param>
            <returns>The list of users.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.EnumerateUsers">
            <summary>
            Enumerate users in a domain.
            </summary>
            <returns>The list of users.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.EnumerateGroups(System.Boolean)">
            <summary>
            Enumerate groups in a domain.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of groups.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.EnumerateGroups">
            <summary>
            Enumerate groups in a domain.
            </summary>
            <returns>The list of groups.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.EnumerateAliases(System.Boolean)">
            <summary>
            Enumerate aliases in a domain.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of aliases.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.EnumerateAliases">
            <summary>
            Enumerate aliases in a domain.
            </summary>
            <returns>The list of aliases.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.GetAliasMembership(System.Collections.Generic.IEnumerable{NtApiDotNet.Sid},System.Boolean)">
            <summary>
            Get alias membership for a set of SIDs.
            </summary>
            <param name="sids">The SIDs to check.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The alias enumeration.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.GetAliasMembership(System.Collections.Generic.IEnumerable{NtApiDotNet.Sid})">
            <summary>
            Get alias membership for a set of SIDs.
            </summary>
            <param name="sids">The SIDs to check.</param>
            <returns>The alias enumeration.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.GetAliasMembership(NtApiDotNet.Sid)">
            <summary>
            Get alias membership for a SID.
            </summary>
            <param name="sid">The SID to check.</param>
            <returns>The alias enumeration.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenUser(System.UInt32,NtApiDotNet.Win32.Security.Sam.SamUserAccessRights,System.Boolean)">
            <summary>
            Open a user by relative ID.
            </summary>
            <param name="user_id">The user ID for the user.</param>
            <param name="desired_access">The desired access for the user object.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SAM user object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenUser(System.UInt32,NtApiDotNet.Win32.Security.Sam.SamUserAccessRights)">
            <summary>
            Open a user by relative ID.
            </summary>
            <param name="user_id">The user ID for the user.</param>
            <param name="desired_access">The desired access for the user object.</param>
            <returns>The SAM user object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenUser(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Sam.SamUserAccessRights,System.Boolean)">
            <summary>
            Open a user by SID.
            </summary>
            <param name="sid">The sid for the user.</param>
            <param name="desired_access">The desired access for the user object.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SAM user object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenUser(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Sam.SamUserAccessRights)">
            <summary>
            Open a user by SID.
            </summary>
            <param name="sid">The sid for the user.</param>
            <param name="desired_access">The desired access for the user object.</param>
            <returns>The SAM user object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenUser(System.String,NtApiDotNet.Win32.Security.Sam.SamUserAccessRights,System.Boolean)">
            <summary>
            Open a user by name.
            </summary>
            <param name="name">The user name for the user.</param>
            <param name="desired_access">The desired access for the user object.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SAM user object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenUser(System.String,NtApiDotNet.Win32.Security.Sam.SamUserAccessRights)">
            <summary>
            Open a user by name.
            </summary>
            <param name="name">The user name for the user.</param>
            <param name="desired_access">The desired access for the user object.</param>
            <returns>The SAM user object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenGroup(System.UInt32,NtApiDotNet.Win32.Security.Sam.SamGroupAccessRights,System.Boolean)">
            <summary>
            Open a group by relative ID.
            </summary>
            <param name="group_id">The ID for the group.</param>
            <param name="desired_access">The desired access for the group object.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SAM group object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenGroup(System.UInt32,NtApiDotNet.Win32.Security.Sam.SamGroupAccessRights)">
            <summary>
            Open a group by relative ID.
            </summary>
            <param name="group_id">The ID for the group.</param>
            <param name="desired_access">The desired access for the group object.</param>
            <returns>The SAM group object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenGroup(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Sam.SamGroupAccessRights,System.Boolean)">
            <summary>
            Open a group by SID.
            </summary>
            <param name="sid">The sid for the group.</param>
            <param name="desired_access">The desired access for the group object.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SAM group object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenGroup(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Sam.SamGroupAccessRights)">
            <summary>
            Open a group by SID.
            </summary>
            <param name="sid">The sid for the group.</param>
            <param name="desired_access">The desired access for the group object.</param>
            <returns>The SAM group object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenGroup(System.String,NtApiDotNet.Win32.Security.Sam.SamGroupAccessRights,System.Boolean)">
            <summary>
            Open a group by name.
            </summary>
            <param name="name">The name for the group.</param>
            <param name="desired_access">The desired access for the group object.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SAM group object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenGroup(System.String,NtApiDotNet.Win32.Security.Sam.SamGroupAccessRights)">
            <summary>
            Open a group by name.
            </summary>
            <param name="name">The name for the group.</param>
            <param name="desired_access">The desired access for the group object.</param>
            <returns>The SAM group object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.CreateGroup(System.String,NtApiDotNet.Win32.Security.Sam.SamGroupAccessRights,System.Boolean)">
            <summary>
            Create a new group object.
            </summary>
            <param name="name">The name of the group.</param>
            <param name="desired_access">The desired access for the group object.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SAM group object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.CreateGroup(System.String,NtApiDotNet.Win32.Security.Sam.SamGroupAccessRights)">
            <summary>
            Create a new group object.
            </summary>
            <param name="name">The name of the group.</param>
            <param name="desired_access">The desired access for the group object.</param>
            <returns>The SAM group object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.CreateGroup(System.String)">
            <summary>
            Create a new group object.
            </summary>
            <param name="name">The name of the group.</param>
            <returns>The SAM group object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.CreateUser(System.String,NtApiDotNet.Win32.Security.Sam.SamUserAccountType,NtApiDotNet.Win32.Security.Sam.SamUserAccessRights,System.Boolean)">
            <summary>
            Create a new user in the SAM.
            </summary>
            <param name="name">The name of the user.</param>
            <param name="account_type">The type of account.</param>
            <param name="desired_access">Desired access for new user.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SAM user object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.CreateUser(System.String,NtApiDotNet.Win32.Security.Sam.SamUserAccountType,NtApiDotNet.Win32.Security.Sam.SamUserAccessRights)">
            <summary>
            Create a new user in the SAM.
            </summary>
            <param name="name">The name of the user.</param>
            <param name="account_type">The type of account.</param>
            <param name="desired_access">Desired access for new user.</param>
            <returns>The SAM user object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenAlias(System.UInt32,NtApiDotNet.Win32.Security.Sam.SamAliasAccessRights,System.Boolean)">
            <summary>
            Open an alias by relative ID.
            </summary>
            <param name="alias_id">The ID for the alias.</param>
            <param name="desired_access">The desired access for the alias object.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SAM alias object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenAlias(System.UInt32,NtApiDotNet.Win32.Security.Sam.SamAliasAccessRights)">
            <summary>
            Open an alias by relative ID.
            </summary>
            <param name="alias_id">The ID for the alias.</param>
            <param name="desired_access">The desired access for the alias object.</param>
            <returns>The SAM alias object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenAlias(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Sam.SamAliasAccessRights,System.Boolean)">
            <summary>
            Open an alias by SID.
            </summary>
            <param name="sid">The sid for the alias.</param>
            <param name="desired_access">The desired access for the alias object.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SAM alias object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenAlias(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Sam.SamAliasAccessRights)">
            <summary>
            Open an alias by SID.
            </summary>
            <param name="sid">The sid for the alias.</param>
            <param name="desired_access">The desired access for the alias object.</param>
            <returns>The SAM alias object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenAlias(System.String,NtApiDotNet.Win32.Security.Sam.SamAliasAccessRights,System.Boolean)">
            <summary>
            Open an alias by name.
            </summary>
            <param name="name">The name for the alias.</param>
            <param name="desired_access">The desired access for the alias object.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SAM alias object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenAlias(System.String,NtApiDotNet.Win32.Security.Sam.SamAliasAccessRights)">
            <summary>
            Open an alias by name.
            </summary>
            <param name="name">The name for the alias.</param>
            <param name="desired_access">The desired access for the alias object.</param>
            <returns>The SAM alias object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenAccessibleUsers(NtApiDotNet.Win32.Security.Sam.UserAccountControlFlags,NtApiDotNet.Win32.Security.Sam.SamUserAccessRights,System.Boolean)">
            <summary>
            Enumerate and open accessible user objects.
            </summary>
            <param name="user_account_control">User account control flags.</param>
            <param name="desired_access">The desired access for the opened users.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of accessible users.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenAccessibleUsers(NtApiDotNet.Win32.Security.Sam.UserAccountControlFlags,NtApiDotNet.Win32.Security.Sam.SamUserAccessRights)">
            <summary>
            Enumerate and open accessible user objects.
            </summary>
            <param name="user_account_control">User account control flags.</param>
            <param name="desired_access">The desired access for the opened users.</param>
            <returns>The list of accessible users.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenAccessibleUsers">
            <summary>
            Enumerate and open accessible user objects with maximum access.
            </summary>
            <returns>The list of accessible users.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenAccessibleGroups(NtApiDotNet.Win32.Security.Sam.SamGroupAccessRights,System.Boolean)">
            <summary>
            Enumerate and open accessible group objects.
            </summary>
            <param name="desired_access">The desired access for the opened groups.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of accessible groups.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenAccessibleGroups(NtApiDotNet.Win32.Security.Sam.SamGroupAccessRights)">
            <summary>
            Enumerate and open accessible group objects.
            </summary>
            <param name="desired_access">The desired access for the opened groups.</param>
            <returns>The list of accessible groups.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenAccessibleGroups">
            <summary>
            Enumerate and open accessible group objects with maximum access.
            </summary>
            <returns>The list of accessible groups.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenAccessibleAliases(NtApiDotNet.Win32.Security.Sam.SamAliasAccessRights,System.Boolean)">
            <summary>
            Enumerate and open accessible alias objects.
            </summary>
            <param name="desired_access">The desired access for the opened aliases.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of accessible aliases.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenAccessibleAliases(NtApiDotNet.Win32.Security.Sam.SamAliasAccessRights)">
            <summary>
            Enumerate and open accessible alias objects.
            </summary>
            <param name="desired_access">The desired access for the opened aliases.</param>
            <returns>The list of accessible aliases.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.OpenAccessibleAliases">
            <summary>
            Enumerate and open accessible alias objects with maximum access.
            </summary>
            <returns>The list of accessible aliases.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.RidToSid(System.UInt32,System.Boolean)">
            <summary>
            Convert a RID to a SID for the current object.
            </summary>
            <param name="relative_id">The relative ID.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The converted SID.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.RidToSid(System.UInt32)">
            <summary>
            Convert a RID to a SID for the current object.
            </summary>
            <param name="relative_id">The relative ID.</param>
            <returns>The converted SID.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamDomain.GetPasswordInformation(System.Boolean)">
            <summary>
            Get password information.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns></returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Sam.SamDomainAccessRights">
            <summary>
            Access rights for a SAM domain object.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Sam.SamDomainPasswordInformation">
            <summary>
            The domain password policy.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamDomainPasswordInformation.MinimumLength">
            <summary>
            Minimum password length.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamDomainPasswordInformation.HistoryLength">
            <summary>
            Password history length.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Sam.SamDomainPasswordInformation.Properties">
            <summary>
            Password properties flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Sam.SamDomainPasswordInformation.MaximumAge">
            <summary>
            Maximum password age.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Sam.SamDomainPasswordInformation.MinimumAge">
            <summary>
            Minimum password age.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Sam.SamDomainPasswordPropertyFlags">
            <summary>
            Flags for password properties.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Sam.SamGroup">
            <summary>
            Class to represent a SAM group.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamGroup.GetMembers(System.Boolean)">
            <summary>
            Get members of the group.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of group members.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamGroup.GetMembers">
            <summary>
            Get members of the group.
            </summary>
            <returns>The list of group members.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamGroup.QueryGroupAttributes(System.Boolean)">
            <summary>
            Query group attribute flags.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The group attribute flags.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamGroup.SetGroupAttributes(NtApiDotNet.GroupAttributes,System.Boolean)">
            <summary>
            Set the group attribute flags.
            </summary>
            <param name="attributes">The attributes to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamGroup.Delete(System.Boolean)">
            <summary>
            Delete the group object.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamGroup.Delete">
            <summary>
            Delete the group object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamGroup.Name">
            <summary>
            The group name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamGroup.Sid">
            <summary>
            The SID of the group.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamGroup.Attributes">
            <summary>
            Get or set the group attribute flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Sam.SamGroupAccessRights">
            <summary>
            Access rights for the SAM group.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Sam.SamGroupMember">
            <summary>
            Membership entry for a group.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamGroupMember.RelativeId">
            <summary>
            The group relative ID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamGroupMember.Attributes">
            <summary>
            The attributes for the group.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Sam.SamObject">
            <summary>
            Base class for a SAM object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamObject.ServerName">
            <summary>
            The name of the server that we've connected to.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamObject.NtType">
            <summary>
            Get the NT type for the object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamObject.ObjectName">
            <summary>
            Get the object name for the object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamObject.IsContainer">
            <summary>
            Get whether the object is a container.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamObject.SecurityDescriptor">
            <summary>
            Get the object's security descriptor.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamObject.IsAccessMaskGranted(NtApiDotNet.AccessMask)">
            <summary>
            Is an access mask granted to the object.
            </summary>
            <param name="access">The access to check.</param>
            <returns>True if all access is granted.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamObject.GetSecurityDescriptor(NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Get the security descriptor specifying which parts to retrieve
            </summary>
            <param name="security_information">What parts of the security descriptor to retrieve</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The security descriptor</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamObject.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="M:NtApiDotNet.Win32.Security.Sam.SamObject.SetSecurityDescriptor(NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Set the object's security descriptor
            </summary>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="security_information">What parts of the security descriptor to set</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamObject.SetSecurityDescriptor(NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityInformation)">
            <summary>
            Set the object's security descriptor
            </summary>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="security_information">What parts of the security descriptor to set</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamObject.Dispose">
            <summary>
            Dispose the policy.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Sam.SamRidEnumeration">
            <summary>
            Represents information for a SAM relative value.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamRidEnumeration.Name">
            <summary>
            The name of the domain.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamRidEnumeration.RelativeId">
            <summary>
            The RID of the domain.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Sam.SamServer">
            <summary>
            Class to represent a connection to a SAM server.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamServer.EnumerateDomains(System.Boolean)">
            <summary>
            Enumerate domains in the SAM.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of domains.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamServer.EnumerateDomains">
            <summary>
            Enumerate domains in the SAM.
            </summary>
            <returns>The list of domains.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamServer.LookupDomain(System.String,System.Boolean)">
            <summary>
            Lookup the domain SID for a domain name.
            </summary>
            <param name="name">The name of the domain.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The domain SID.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamServer.LookupDomain(System.String)">
            <summary>
            Lookup the domain SID for a domain name.
            </summary>
            <param name="name">The name of the domain.</param>
            <returns>The domain SID.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamServer.OpenDomain(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Sam.SamDomainAccessRights,System.Boolean)">
            <summary>
            Open a SAM domain object.
            </summary>
            <param name="domain_id">The domain SID.</param>
            <param name="desired_access">The desired access for the object.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SAM domain object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamServer.OpenDomain(NtApiDotNet.Sid,NtApiDotNet.Win32.Security.Sam.SamDomainAccessRights)">
            <summary>
            Open a SAM domain object.
            </summary>
            <param name="domain_id">The domain SID.</param>
            <param name="desired_access">The desired access for the object.</param>
            <returns>The SAM domain object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamServer.OpenDomain(System.String,NtApiDotNet.Win32.Security.Sam.SamDomainAccessRights,System.Boolean)">
            <summary>
            Open a SAM domain object.
            </summary>
            <param name="name">The name of the domain.</param>
            <param name="desired_access">The desired access for the object.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SAM domain object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamServer.OpenDomain(System.String,NtApiDotNet.Win32.Security.Sam.SamDomainAccessRights)">
            <summary>
            Open a SAM domain object.
            </summary>
            <param name="name">The name of the domain.</param>
            <param name="desired_access">The desired access for the object.</param>
            <returns>The SAM domain object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamServer.OpenAccessibleDomains(NtApiDotNet.Win32.Security.Sam.SamDomainAccessRights,System.Boolean)">
            <summary>
            Enumerate and open accessible domain objects.
            </summary>
            <param name="desired_access">The desired access for the opened domains.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of accessible domains.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamServer.OpenAccessibleDomains(NtApiDotNet.Win32.Security.Sam.SamDomainAccessRights)">
            <summary>
            Enumerate and open accessible domain objects.
            </summary>
            <param name="desired_access">The desired access for the opened domains.</param>
            <returns>The list of accessible domains.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamServer.OpenBuiltinDomain(NtApiDotNet.Win32.Security.Sam.SamDomainAccessRights,System.Boolean)">
            <summary>
            Opens the builtin domain on the server.
            </summary>
            <param name="desired_access">The desired access for the object.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SAM domain object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamServer.OpenBuiltinDomain(NtApiDotNet.Win32.Security.Sam.SamDomainAccessRights)">
            <summary>
            Opens the builtin domain on the server.
            </summary>
            <param name="desired_access">The desired access for the object.</param>
            <returns>The SAM domain object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamServer.OpenUserDomain(NtApiDotNet.Win32.Security.Sam.SamDomainAccessRights,System.Boolean)">
            <summary>
            Opens the user domain on the server.
            </summary>
            <param name="desired_access">The desired access for the object.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SAM domain object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamServer.OpenUserDomain(NtApiDotNet.Win32.Security.Sam.SamDomainAccessRights)">
            <summary>
            Opens the user domain on the server.
            </summary>
            <param name="desired_access">The desired access for the object.</param>
            <returns>The SAM domain object.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamServer.Connect(System.String,NtApiDotNet.Win32.Security.Sam.SamServerAccessRights,System.Boolean)">
            <summary>
            Connect to a SAM server.
            </summary>
            <param name="server_name">The name of the server. Set to null for local connection.</param>
            <param name="desired_access">The desired access on the SAM server.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The server connection.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamServer.Connect(System.String,NtApiDotNet.Win32.Security.Sam.SamServerAccessRights)">
            <summary>
            Connect to a SAM server.
            </summary>
            <param name="server_name">The name of the server. Set to null for local connection.</param>
            <param name="desired_access">The desired access on the SAM server.</param>
            <returns>The server connection.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamServer.Connect(NtApiDotNet.Win32.Security.Sam.SamServerAccessRights)">
            <summary>
            Connect to a SAM server.
            </summary>
            <param name="desired_access">The desired access on the SAM server.</param>
            <returns>The server connection.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamServer.Connect">
            <summary>
            Connect to a SAM server with maximum access.
            </summary>
            <returns>The server connection.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Sam.SamServerAccessRights">
            <summary>
            Access rights for the SAM server.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Sam.SamUser">
            <summary>
            Class to represent a SAM user.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamUser.GetFullName(System.Boolean)">
            <summary>
            Get full name for the user.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The full name of the user.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamUser.GetHomeDirectory(System.Boolean)">
            <summary>
            Get home directory for the user.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The home directory of the user.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamUser.GetPrimaryGroupId(System.Boolean)">
            <summary>
            Get primary group ID for the user.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The primary group ID of the user.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamUser.GetUserAccountControl(System.Boolean)">
            <summary>
            Get user account control flags for the user.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The user account control flags of the user.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamUser.ChangePassword(System.Security.SecureString,System.Security.SecureString,System.Boolean)">
            <summary>
            Change a user's password.
            </summary>
            <param name="old_password">The old password.</param>
            <param name="new_password">The new password.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamUser.ChangePassword(System.Security.SecureString,System.Security.SecureString)">
            <summary>
            Change a user's password.
            </summary>
            <param name="old_password">The old password.</param>
            <param name="new_password">The new password.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamUser.SetPassword(System.Security.SecureString,System.Boolean,System.Boolean)">
            <summary>
            Set a user's password.
            </summary>
            <param name="password">The password to set.</param>
            <param name="expired">Whether the password has expired.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Sam.SamUser.SetPassword(System.Security.SecureString,System.Boolean)">
            <summary>
            Set a user's password.
            </summary>
            <param name="password">The password to set.</param>
            <param name="expired">Whether the password has expired.</param>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamUser.Name">
            <summary>
            The user name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamUser.Sid">
            <summary>
            The SID of the user.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamUser.FullName">
            <summary>
            Get full name for the user.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamUser.HomeDirectory">
            <summary>
            Get home directory for the user.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamUser.UserAccountControl">
            <summary>
            Get user account control flags for the user.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamUser.Disabled">
            <summary>
            Is the account disabled?
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Security.Sam.SamUser.PrimaryGroup">
            <summary>
            Get the primary group SID.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Sam.SamUserAccessRights">
            <summary>
            Access rights for a SAM user object.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Sam.SamUserAccountType">
            <summary>
            Type of user account to create.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Sam.SamUserAccountType.User">
            <summary>
            A user account.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Sam.SamUserAccountType.Workstation">
            <summary>
            A workstation trust account.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Sam.SamUserAccountType.Server">
            <summary>
            A server trust account.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Sam.SamUserAccountType.TempDuplicate">
            <summary>
            A temporary duplicate account.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Security.Sam.SamUserAccountType.InterDomain">
            <summary>
            Inter domain trust account.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Sam.UserAccountControlFlags">
            <summary>
            User account control flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Security.Win32Security">
            <summary>
            Security utilities which call the Win32 APIs.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.SetSecurityInfo(System.String,NtApiDotNet.Win32.Security.Authorization.SeObjectType,NtApiDotNet.SecurityInformation,NtApiDotNet.SecurityDescriptor,System.Boolean)">
            <summary>
            Set security using a named object.
            </summary>
            <param name="name">The name of the object.</param>
            <param name="type">The type of named object.</param>
            <param name="security_information">The security information to set.</param>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.SetSecurityInfo(System.String,NtApiDotNet.Win32.Security.Authorization.SeObjectType,NtApiDotNet.SecurityInformation,NtApiDotNet.SecurityDescriptor,NtApiDotNet.Win32.Security.Authorization.TreeSecInfo,NtApiDotNet.Win32.Security.Authorization.TreeProgressFunction,NtApiDotNet.Win32.Security.Authorization.ProgressInvokeSetting)">
            <summary>
            Set security using a named object.
            </summary>
            <param name="name">The name of the object.</param>
            <param name="type">The type of named object.</param>
            <param name="security_information">The security information to set.</param>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="invoke_setting">Specify to indicate when to execute progress function.</param>
            <param name="action">The security operation to perform on the tree.</param>
            <param name="progress_function">Progress function.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.SetSecurityInfo(System.String,NtApiDotNet.Win32.Security.Authorization.SeObjectType,NtApiDotNet.SecurityInformation,NtApiDotNet.SecurityDescriptor,NtApiDotNet.Win32.Security.Authorization.TreeSecInfo,NtApiDotNet.Win32.Security.Authorization.TreeProgressFunction,NtApiDotNet.Win32.Security.Authorization.ProgressInvokeSetting,System.Boolean)">
            <summary>
            Set security using a named object.
            </summary>
            <param name="name">The name of the object.</param>
            <param name="type">The type of named object.</param>
            <param name="security_information">The security information to set.</param>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="invoke_setting">Specify to indicate when to execute progress function.</param>
            <param name="action">The security operation to perform on the tree.</param>
            <param name="progress_function">Progress function.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.SetSecurityInfo(System.String,NtApiDotNet.Win32.Security.Authorization.SeObjectType,NtApiDotNet.SecurityInformation,NtApiDotNet.SecurityDescriptor)">
            <summary>
            Set security using a named object.
            </summary>
            <param name="name">The name of the object.</param>
            <param name="type">The type of named object.</param>
            <param name="security_information">The security information to set.</param>
            <param name="security_descriptor">The security descriptor to set.</param>
            <returns>The Win32 Error Code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.SetSecurityInfo(System.Runtime.InteropServices.SafeHandle,NtApiDotNet.Win32.Security.Authorization.SeObjectType,NtApiDotNet.SecurityInformation,NtApiDotNet.SecurityDescriptor,System.Boolean)">
            <summary>
            Set security using an object handle.
            </summary>
            <param name="handle">The handle of the object.</param>
            <param name="type">The type of object.</param>
            <param name="security_information">The security information to set.</param>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.SetSecurityInfo(System.Runtime.InteropServices.SafeHandle,NtApiDotNet.Win32.Security.Authorization.SeObjectType,NtApiDotNet.SecurityInformation,NtApiDotNet.SecurityDescriptor)">
            <summary>
            Set security using an object handle.
            </summary>
            <param name="handle">The handle of the object.</param>
            <param name="type">The type of object.</param>
            <param name="security_information">The security information to set.</param>
            <param name="security_descriptor">The security descriptor to set.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.SetSecurityInfo(NtApiDotNet.NtObject,NtApiDotNet.Win32.Security.Authorization.SeObjectType,NtApiDotNet.SecurityInformation,NtApiDotNet.SecurityDescriptor,System.Boolean)">
            <summary>
            Set security using an object handle.
            </summary>
            <param name="obj">The handle of the object.</param>
            <param name="type">The type of object.</param>
            <param name="security_information">The security information to set.</param>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.SetSecurityInfo(NtApiDotNet.NtObject,NtApiDotNet.Win32.Security.Authorization.SeObjectType,NtApiDotNet.SecurityInformation,NtApiDotNet.SecurityDescriptor)">
            <summary>
            Set security using an object handle.
            </summary>
            <param name="obj">The handle of the object.</param>
            <param name="type">The type of object.</param>
            <param name="security_information">The security information to set.</param>
            <param name="security_descriptor">The security descriptor to set.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.ResetSecurityInfo(System.String,NtApiDotNet.Win32.Security.Authorization.SeObjectType,NtApiDotNet.SecurityInformation,NtApiDotNet.SecurityDescriptor,NtApiDotNet.Win32.Security.Authorization.TreeProgressFunction,NtApiDotNet.Win32.Security.Authorization.ProgressInvokeSetting,System.Boolean)">
            <summary>
            Reset security using a named object.
            </summary>
            <param name="name">The name of the object.</param>
            <param name="type">The type of named object.</param>
            <param name="security_information">The security information to set.</param>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="keep_explicit">True to keep explicit ACEs.</param>
            <param name="invoke_setting">Specify to indicate when to execute progress function.</param>
            <param name="progress_function">Progress function.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.ResetSecurityInfo(System.String,NtApiDotNet.Win32.Security.Authorization.SeObjectType,NtApiDotNet.SecurityInformation,NtApiDotNet.SecurityDescriptor,NtApiDotNet.Win32.Security.Authorization.TreeProgressFunction,NtApiDotNet.Win32.Security.Authorization.ProgressInvokeSetting,System.Boolean,System.Boolean)">
            <summary>
            Reset security using a named object.
            </summary>
            <param name="name">The name of the object.</param>
            <param name="type">The type of named object.</param>
            <param name="security_information">The security information to set.</param>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="invoke_setting">Specify to indicate when to execute progress function.</param>
            <param name="keep_explicit">True to keep explicit ACEs.</param>
            <param name="progress_function">Progress function.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.GetInheritanceSource(System.String,NtApiDotNet.Win32.Security.Authorization.SeObjectType,System.Boolean,System.Guid[],NtApiDotNet.SecurityDescriptor,System.Boolean,NtApiDotNet.GenericMapping,System.Boolean,System.Boolean)">
            <summary>
            Get the source of inherited ACEs.
            </summary>
            <param name="name">The name of the resource.</param>
            <param name="type">The type of the resource.</param>
            <param name="container">Whether the resource is a container.</param>
            <param name="object_types">Optional list of object types.</param>
            <param name="security_descriptor">The security descriptor for the resource.</param>
            <param name="sacl">True to check the SACL otherwise checks the DACL.</param>
            <param name="generic_mapping">Generic mapping for the resource.</param>
            <param name="query_security">Query security descriptors for sources.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of inheritance sources.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.GetInheritanceSource(System.String,NtApiDotNet.Win32.Security.Authorization.SeObjectType,System.Boolean,System.Guid[],NtApiDotNet.SecurityDescriptor,System.Boolean,NtApiDotNet.GenericMapping,System.Boolean)">
            <summary>
            Get the source of inherited ACEs.
            </summary>
            <param name="name">The name of the resource.</param>
            <param name="type">The type of the resource.</param>
            <param name="container">Whether the resource is a container.</param>
            <param name="object_types">Optional list of object types.</param>
            <param name="security_descriptor">The security descriptor for the resource.</param>
            <param name="sacl">True to check the SACL otherwise checks the DACL.</param>
            <param name="generic_mapping">Generic mapping for the resource.</param>
            <param name="query_security">Query security descriptors for sources.</param>
            <returns>The list of inheritance sources.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.GetSecurityInfo(System.String,NtApiDotNet.Win32.Security.Authorization.SeObjectType,NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Get the security descriptor for a named resource.
            </summary>
            <param name="name">The name of the resource.</param>
            <param name="type">The type of the resource.</param>
            <param name="security_information">The security information to get.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.GetSecurityInfo(System.String,NtApiDotNet.Win32.Security.Authorization.SeObjectType,NtApiDotNet.SecurityInformation)">
            <summary>
            Get the security descriptor for a named resource.
            </summary>
            <param name="name">The name of the resource.</param>
            <param name="type">The type of the resource.</param>
            <param name="security_information">The security information to get.</param>
            <returns>The security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.GetSecurityInfo(System.Runtime.InteropServices.SafeHandle,NtApiDotNet.Win32.Security.Authorization.SeObjectType,NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Get the security descriptor for a resource.
            </summary>
            <param name="handle">The handle to the resource.</param>
            <param name="type">The type of the resource.</param>
            <param name="security_information">The security information to get.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.GetSecurityInfo(System.Runtime.InteropServices.SafeHandle,NtApiDotNet.Win32.Security.Authorization.SeObjectType,NtApiDotNet.SecurityInformation)">
            <summary>
            Get the security descriptor for a resource.
            </summary>
            <param name="handle">The handle to the resource.</param>
            <param name="type">The type of the resource.</param>
            <param name="security_information">The security information to get.</param>
            <returns>The security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.GetNativeType(NtApiDotNet.Win32.Security.Authorization.SeObjectType)">
            <summary>
            Get the NT type for a SE Object Type.
            </summary>
            <param name="type">The type of the resource.</param>
            <returns>The NT type if known, otherwise null.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.LookupPrivilegeDisplayName(System.String,System.String)">
            <summary>
            Lookup a privilege display name.
            </summary>
            <param name="system_name">The system name to do the lookup on.</param>
            <param name="privilege_name">The privilege name.</param>
            <returns>The display name. Empty string on error.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.AddSidNameMapping(System.String,System.String,NtApiDotNet.Sid,System.Boolean)">
            <summary>
            Add a SID to name mapping with LSA.
            </summary>
            <param name="domain">The domain name for the SID. The SID must be in the NT authority.</param>
            <param name="name">The account name for the SID. Can be null for a domain SID.</param>
            <param name="sid">The SID to add.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.AddSidNameMapping(System.String,System.String,NtApiDotNet.Sid)">
            <summary>
            Add a SID to name mapping with LSA.
            </summary>
            <param name="domain">The domain name for the SID.</param>
            <param name="name">The account name for the SID. Can be null for a domain SID.</param>
            <param name="sid">The SID to add.</param>
            <returns>The NT status result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.RemoveSidNameMapping(System.String,System.String,System.Boolean)">
            <summary>
            Remove a SID to name mapping with LSA.
            </summary>
            <param name="domain">The domain name for the SID.</param>
            <param name="name">The account name for the SID. Can be null for a domain SID.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.RemoveSidNameMapping(System.String,System.String)">
            <summary>
            Remove a SID to name mapping with LSA.
            </summary>
            <param name="domain">The domain name for the SID.</param>
            <param name="name">The account name for the SID. Can be null for a domain SID.</param>
            <returns>The NT status result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.RemoveSidNameMapping(NtApiDotNet.Sid)">
            <summary>
            Remove a SID to name mapping with LSA.
            </summary>
            <param name="sid">The SID to remove.</param>
            <returns>The NT status result.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.LsaLogonUser(System.String,System.String,System.Security.SecureString,NtApiDotNet.Win32.SecurityLogonType,NtApiDotNet.Win32.Security.Native.Logon32Provider)">
            <summary>
            Logon a user with a username and password.
            </summary>
            <param name="user">The username.</param>
            <param name="domain">The user's domain.</param>
            <param name="password">The user's password.</param>
            <param name="type">The type of logon token.</param>
            <param name="provider">The Logon provider.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.LsaLogonUser(System.String,System.String,System.Security.SecureString,NtApiDotNet.Win32.SecurityLogonType,NtApiDotNet.Win32.Security.Native.Logon32Provider,System.Boolean)">
            <summary>
            Logon a user with a username and password.
            </summary>
            <param name="user">The username.</param>
            <param name="domain">The user's domain.</param>
            <param name="password">The user's password.</param>
            <param name="type">The type of logon token.</param>
            <param name="provider">The Logon provider.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.LsaLogonUser(System.String,System.String,System.Security.SecureString,NtApiDotNet.Win32.SecurityLogonType,NtApiDotNet.Win32.Security.Native.Logon32Provider,System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup})">
            <summary>
            Logon a user with a username and password.
            </summary>
            <param name="user">The username.</param>
            <param name="domain">The user's domain.</param>
            <param name="password">The user's password.</param>
            <param name="type">The type of logon token.</param>
            <param name="provider">The Logon provider.</param>
            <param name="groups">Additional groups to add. Needs SeTcbPrivilege.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.LsaLogonUser(System.String,System.String,System.Security.SecureString,NtApiDotNet.Win32.SecurityLogonType,NtApiDotNet.Win32.Security.Native.Logon32Provider,System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup},System.Boolean)">
            <summary>
            Logon a user with a username and password.
            </summary>
            <param name="user">The username.</param>
            <param name="domain">The user's domain.</param>
            <param name="password">The user's password.</param>
            <param name="type">The type of logon token.</param>
            <param name="provider">The Logon provider.</param>
            <param name="groups">Additional groups to add. Needs SeTcbPrivilege.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.LookupInternetName(NtApiDotNet.Sid,System.Boolean)">
            <summary>
            Lookup a SID's internet name.
            </summary>
            <param name="sid">The SID to lookup.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The name of the sid as an internet account.</returns>
            <remarks>This still might return the normal NT4 style account name if the user is not an internet user.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.LookupInternetName(NtApiDotNet.Sid)">
            <summary>
            Lookup a SID's internet name.
            </summary>
            <param name="sid">The SID to lookup.</param>
            <returns>The name of the sid as an internet account.</returns>
            <remarks>This still might return the normal NT4 style account name if the user is not an internet user.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.LsaRetrievePrivateData(System.String,System.String,System.Boolean)">
            <summary>
            Retrieve LSA private data.
            </summary>
            <param name="system_name">The system containing the LSA instance.</param>
            <param name="keyname">The name of the key.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The private data as bytes.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.LsaRetrievePrivateData(System.String,System.String)">
            <summary>
            Retrieve LSA private data.
            </summary>
            <param name="system_name">The system containing the LSA instance.</param>
            <param name="keyname">The name of the key.</param>
            <returns>The private data as bytes.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.LsaRetrievePrivateData(System.String)">
            <summary>
            Retrieve LSA private data.
            </summary>
            <param name="keyname">The name of the key.</param>
            <returns>The private data as bytes.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.LsaStorePrivateData(System.String,System.String,System.Byte[],System.Boolean)">
            <summary>
            Store LSA private data.
            </summary>
            <param name="system_name">The system containing the LSA instance.</param>
            <param name="keyname">The name of the key.</param>
            <param name="data">The data to store.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.LsaStorePrivateData(System.String,System.String,System.Byte[])">
            <summary>
            Store LSA private data.
            </summary>
            <param name="system_name">The system containing the LSA instance.</param>
            <param name="keyname">The name of the key.</param>
            <param name="data">The data to store.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.LsaStorePrivateData(System.String,System.Byte[])">
            <summary>
            Store LSA private data.
            </summary>
            <param name="keyname">The name of the key.</param>
            <param name="data">The data to store.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.LsaDeletePrivateData(System.String,System.String,System.Boolean)">
            <summary>
            Delete LSA private data.
            </summary>
            <param name="system_name">The system containing the LSA instance.</param>
            <param name="keyname">The name of the key.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.LsaDeletePrivateData(System.String,System.String)">
            <summary>
            Delete LSA private data.
            </summary>
            <param name="system_name">The system containing the LSA instance.</param>
            <param name="keyname">The name of the key.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Security.Win32Security.LsaDeletePrivateData(System.String)">
            <summary>
            Delete LSA private data.
            </summary>
            <param name="keyname">The name of the key.</param>
        </member>
        <member name="T:NtApiDotNet.Win32.VirtualKey">
            <summary>
            Virtual Key enumeration.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.LBUTTON">
            <summary>
            Left mouse button
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.RBUTTON">
            <summary>
            Right mouse button
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.CANCEL">
            <summary>
            Control-break processing
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.MBUTTON">
            <summary>
            Middle mouse button (three-button mouse)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.XBUTTON1">
            <summary>
            Windows 2000/XP: X1 mouse button
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.XBUTTON2">
            <summary>
            Windows 2000/XP: X2 mouse button
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.BACK">
            <summary>
            BACKSPACE key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.TAB">
            <summary>
            TAB key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.CLEAR">
            <summary>
            CLEAR key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.RETURN">
            <summary>
            ENTER key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.SHIFT">
            <summary>
            SHIFT key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.CONTROL">
            <summary>
            CTRL key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.MENU">
            <summary>
            ALT key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.PAUSE">
            <summary>
            PAUSE key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.CAPITAL">
            <summary>
            CAPS LOCK key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KANA">
            <summary>
            Input Method Editor (IME) Kana mode
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.HANGUL">
            <summary>
            IME Hangul mode
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.JUNJA">
            <summary>
            IME Junja mode
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.FINAL">
            <summary>
            IME final mode
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.HANJA">
            <summary>
            IME Hanja mode
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KANJI">
            <summary>
            IME Kanji mode
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.ESCAPE">
            <summary>
            ESC key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.CONVERT">
            <summary>
            IME convert
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.NONCONVERT">
            <summary>
            IME nonconvert
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.ACCEPT">
            <summary>
            IME accept
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.MODECHANGE">
            <summary>
            IME mode change request
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.SPACE">
            <summary>
            SPACEBAR
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.PRIOR">
            <summary>
            PAGE UP key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.NEXT">
            <summary>
            PAGE DOWN key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.END">
            <summary>
            END key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.HOME">
            <summary>
            HOME key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.LEFT">
            <summary>
            LEFT ARROW key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.UP">
            <summary>
            UP ARROW key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.RIGHT">
            <summary>
            RIGHT ARROW key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.DOWN">
            <summary>
            DOWN ARROW key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.SELECT">
            <summary>
            SELECT key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.PRINT">
            <summary>
            PRINT key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.EXECUTE">
            <summary>
            EXECUTE key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.SNAPSHOT">
            <summary>
            PRINT SCREEN key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.INSERT">
            <summary>
            INS key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.DELETE">
            <summary>
            DEL key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.HELP">
            <summary>
            HELP key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_0">
            <summary>
            0 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_1">
            <summary>
            1 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_2">
            <summary>
            2 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_3">
            <summary>
            3 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_4">
            <summary>
            4 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_5">
            <summary>
            5 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_6">
            <summary>
            6 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_7">
            <summary>
            7 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_8">
            <summary>
            8 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_9">
            <summary>
            9 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_A">
            <summary>
            A key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_B">
            <summary>
            B key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_C">
            <summary>
            C key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_D">
            <summary>
            D key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_E">
            <summary>
            E key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_F">
            <summary>
            F key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_G">
            <summary>
            G key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_H">
            <summary>
            H key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_I">
            <summary>
            I key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_J">
            <summary>
            J key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_K">
            <summary>
            K key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_L">
            <summary>
            L key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_M">
            <summary>
            M key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_N">
            <summary>
            N key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_O">
            <summary>
            O key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_P">
            <summary>
            P key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_Q">
            <summary>
            Q key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_R">
            <summary>
            R key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_S">
            <summary>
            S key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_T">
            <summary>
            T key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_U">
            <summary>
            U key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_V">
            <summary>
            V key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_W">
            <summary>
            W key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_X">
            <summary>
            X key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_Y">
            <summary>
            Y key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.KEY_Z">
            <summary>
            Z key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.LWIN">
            <summary>
            Left Windows key (Microsoft Natural keyboard)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.RWIN">
            <summary>
            Right Windows key (Natural keyboard)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.APPS">
            <summary>
            Applications key (Natural keyboard)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.SLEEP">
            <summary>
            Computer Sleep key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.NUMPAD0">
            <summary>
            Numeric keypad 0 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.NUMPAD1">
            <summary>
            Numeric keypad 1 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.NUMPAD2">
            <summary>
            Numeric keypad 2 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.NUMPAD3">
            <summary>
            Numeric keypad 3 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.NUMPAD4">
            <summary>
            Numeric keypad 4 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.NUMPAD5">
            <summary>
            Numeric keypad 5 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.NUMPAD6">
            <summary>
            Numeric keypad 6 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.NUMPAD7">
            <summary>
            Numeric keypad 7 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.NUMPAD8">
            <summary>
            Numeric keypad 8 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.NUMPAD9">
            <summary>
            Numeric keypad 9 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.MULTIPLY">
            <summary>
            Multiply key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.ADD">
            <summary>
            Add key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.SEPARATOR">
            <summary>
            Separator key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.SUBTRACT">
            <summary>
            Subtract key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.DECIMAL">
            <summary>
            Decimal key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.DIVIDE">
            <summary>
            Divide key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F1">
            <summary>
            F1 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F2">
            <summary>
            F2 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F3">
            <summary>
            F3 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F4">
            <summary>
            F4 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F5">
            <summary>
            F5 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F6">
            <summary>
            F6 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F7">
            <summary>
            F7 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F8">
            <summary>
            F8 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F9">
            <summary>
            F9 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F10">
            <summary>
            F10 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F11">
            <summary>
            F11 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F12">
            <summary>
            F12 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F13">
            <summary>
            F13 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F14">
            <summary>
            F14 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F15">
            <summary>
            F15 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F16">
            <summary>
            F16 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F17">
            <summary>
            F17 key  
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F18">
            <summary>
            F18 key  
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F19">
            <summary>
            F19 key  
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F20">
            <summary>
            F20 key  
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F21">
            <summary>
            F21 key  
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F22">
            <summary>
            F22 key, (PPC only) Key used to lock device.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F23">
            <summary>
            F23 key  
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.F24">
            <summary>
            F24 key  
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.NUMLOCK">
            <summary>
            NUM LOCK key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.SCROLL">
            <summary>
            SCROLL LOCK key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.LSHIFT">
            <summary>
            Left SHIFT key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.RSHIFT">
            <summary>
            Right SHIFT key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.LCONTROL">
            <summary>
            Left CONTROL key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.RCONTROL">
            <summary>
            Right CONTROL key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.LMENU">
            <summary>
            Left MENU key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.RMENU">
            <summary>
            Right MENU key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.BROWSER_BACK">
            <summary>
            Windows 2000/XP: Browser Back key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.BROWSER_FORWARD">
            <summary>
            Windows 2000/XP: Browser Forward key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.BROWSER_REFRESH">
            <summary>
            Windows 2000/XP: Browser Refresh key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.BROWSER_STOP">
            <summary>
            Windows 2000/XP: Browser Stop key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.BROWSER_SEARCH">
            <summary>
            Windows 2000/XP: Browser Search key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.BROWSER_FAVORITES">
            <summary>
            Windows 2000/XP: Browser Favorites key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.BROWSER_HOME">
            <summary>
            Windows 2000/XP: Browser Start and Home key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.VOLUME_MUTE">
            <summary>
            Windows 2000/XP: Volume Mute key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.VOLUME_DOWN">
            <summary>
            Windows 2000/XP: Volume Down key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.VOLUME_UP">
            <summary>
            Windows 2000/XP: Volume Up key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.MEDIA_NEXT_TRACK">
            <summary>
            Windows 2000/XP: Next Track key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.MEDIA_PREV_TRACK">
            <summary>
            Windows 2000/XP: Previous Track key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.MEDIA_STOP">
            <summary>
            Windows 2000/XP: Stop Media key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.MEDIA_PLAY_PAUSE">
            <summary>
            Windows 2000/XP: Play/Pause Media key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.LAUNCH_MAIL">
            <summary>
            Windows 2000/XP: Start Mail key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.LAUNCH_MEDIA_SELECT">
            <summary>
            Windows 2000/XP: Select Media key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.LAUNCH_APP1">
            <summary>
            Windows 2000/XP: Start Application 1 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.LAUNCH_APP2">
            <summary>
            Windows 2000/XP: Start Application 2 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.OEM_1">
            <summary>
            Used for miscellaneous characters; it can vary by keyboard.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.OEM_PLUS">
            <summary>
            Windows 2000/XP: For any country/region, the '+' key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.OEM_COMMA">
            <summary>
            Windows 2000/XP: For any country/region, the ',' key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.OEM_MINUS">
            <summary>
            Windows 2000/XP: For any country/region, the '-' key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.OEM_PERIOD">
            <summary>
            Windows 2000/XP: For any country/region, the '.' key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.OEM_2">
            <summary>
            Used for miscellaneous characters; it can vary by keyboard.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.OEM_3">
            <summary>
            Used for miscellaneous characters; it can vary by keyboard.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.OEM_4">
            <summary>
            Used for miscellaneous characters; it can vary by keyboard.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.OEM_5">
            <summary>
            Used for miscellaneous characters; it can vary by keyboard.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.OEM_6">
            <summary>
            Used for miscellaneous characters; it can vary by keyboard.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.OEM_7">
            <summary>
            Used for miscellaneous characters; it can vary by keyboard.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.OEM_8">
            <summary>
            Used for miscellaneous characters; it can vary by keyboard.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.OEM_102">
            <summary>
            Windows 2000/XP: Either the angle bracket key or the backslash key on the RT 102-key keyboard
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.PROCESSKEY">
            <summary>
            Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.PACKET">
            <summary>
            Windows 2000/XP: Used to pass Unicode characters as if they were keystrokes.
            The VK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information,
            see Remark in KEYBDINPUT, SendInput, WM_KEYDOWN, and WM_KEYUP
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.ATTN">
            <summary>
            Attn key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.CRSEL">
            <summary>
            CrSel key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.EXSEL">
            <summary>
            ExSel key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.EREOF">
            <summary>
            Erase EOF key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.PLAY">
            <summary>
            Play key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.ZOOM">
            <summary>
            Zoom key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.NONAME">
            <summary>
            Reserved
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.PA1">
            <summary>
            PA1 key
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.VirtualKey.OEM_CLEAR">
            <summary>
            Clear key
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.ServiceInformation">
            <summary>
            Class representing the information about a service.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.Name">
            <summary>
            The name of the service.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.SecurityDescriptor">
            <summary>
            The security descriptor of the service.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.Triggers">
            <summary>
            The list of triggers for the service.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.SidType">
            <summary>
            The service SID setting.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.LaunchProtected">
            <summary>
            The service launch protected setting.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.RequiredPrivileges">
            <summary>
            The service required privileges.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.ServiceType">
            <summary>
            The service type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.StartType">
            <summary>
            Service start type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.ErrorControl">
            <summary>
            Error control.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.BinaryPathName">
            <summary>
            Binary path name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.LoadOrderGroup">
            <summary>
            Load order group.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.TagId">
            <summary>
            Tag ID for load order.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.Dependencies">
            <summary>
            Dependencies.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.DisplayName">
            <summary>
            Display name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.ServiceStartName">
            <summary>
            Service start name. For user mode services this is the username, for drivers it's the driver name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.DelayedAutoStart">
            <summary>
            Indicates this service is set to delayed automatic start.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.UserName">
            <summary>
            The user name this service runs under.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.ServiceHostType">
            <summary>
            Type of service host when using Win32Share.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.ServiceMain">
            <summary>
            Service main function when using Win32Share.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.ImagePath">
            <summary>
            Image path for the service.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.ImageName">
            <summary>
            Get name of the target image, either the ServiceDll or ImagePath.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.ServiceDll">
            <summary>
            Service DLL if a shared process server.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.MachineName">
            <summary>
            The name of the machine this service was found on.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceInformation.SvcHostSplitDisabled">
            <summary>
            Indicates if this service process is grouped with others.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.ServiceTriggerCustomData">
            <summary>
            Class to represent custom data for a service trigger.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceTriggerCustomData.DataType">
            <summary>
            The type of data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceTriggerCustomData.RawData">
            <summary>
            The raw custom data.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceTriggerCustomData.Data">
            <summary>
            The custom data as a string.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceTriggerCustomData.DataArray">
            <summary>
            The custom data as an array of strings (only useful for String type).
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceTriggerCustomData.ToString">
            <summary>
            Overidden ToString method.
            </summary>
            <returns>The data as a string.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.ServiceTriggerInformation">
            <summary>
            Trigger information for a service.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceTriggerInformation.TriggerType">
            <summary>
            The type of service trigger.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceTriggerInformation.Action">
            <summary>
            The service trigger action.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceTriggerInformation.SubType">
            <summary>
            The sub-type GUID.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceTriggerInformation.SubTypeDescription">
            <summary>
            The description of the sub type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.ServiceTriggerInformation.CustomData">
            <summary>
            Custom data.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceTriggerInformation.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The trigger as a string.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceTriggerInformation.Trigger">
            <summary>
            Trigger the service.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.ServiceTriggerType">
            <summary>
            Service trigger type.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.FailureAction">
            <summary>
            Represents an action that the service control manager can perform.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.FailureAction.Action">
            <summary>
            The action to be performed.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.FailureAction.Delay">
            <summary>
            The time to wait before performing the specified action, in milliseconds.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.FailureAction.#ctor(NtApiDotNet.Win32.ServiceControlManagerAction,System.Int32)">
            <param name="action">The action to be performed.</param>
            <param name="delay">The time to wait before performing the specified action, in milliseconds.</param>
        </member>
        <member name="T:NtApiDotNet.Win32.ServiceUtils">
            <summary>
            Utilities for accessing services.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ServiceUtils.SERVICE_NT_TYPE_NAME">
            <summary>
            The name of the fake NT type for a service.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ServiceUtils.SCM_NT_TYPE_NAME">
            <summary>
            The name of the fake NT type for the SCM.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetScmGenericMapping">
            <summary>
            Get the generic mapping for the SCM.
            </summary>
            <returns>The SCM generic mapping.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetServiceGenericMapping">
            <summary>
            Get the generic mapping for a service.
            </summary>
            <returns>The service generic mapping.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetScmSecurityDescriptor">
            <summary>
            Get the security descriptor of the SCM.
            </summary>
            <returns>The SCM security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetScmSecurityDescriptor(System.String,NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Get the security descriptor of the SCM.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="security_information">Parts of the security descriptor to return.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SCM security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetScmSecurityDescriptor(System.String,NtApiDotNet.SecurityInformation)">
            <summary>
            Get the security descriptor of the SCM.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="security_information">Parts of the security descriptor to return.</param>
            <returns>The SCM security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetScmSecurityDescriptor(NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Get the security descriptor of the SCM.
            </summary>
            <param name="security_information">Parts of the security descriptor to return.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SCM security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetScmSecurityDescriptor(NtApiDotNet.SecurityInformation)">
            <summary>
            Get the security descriptor of the SCM.
            </summary>
            <param name="security_information">Parts of the security descriptor to return.</param>
            <returns>The SCM security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetServiceSecurityDescriptor(System.String,System.String,NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Get the security descriptor for a service.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="security_information">Parts of the security descriptor to return.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <returns>The security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetServiceSecurityDescriptor(System.String,System.String,NtApiDotNet.SecurityInformation)">
            <summary>
            Get the security descriptor for a service.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="security_information">Parts of the security descriptor to return.</param>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <returns>The security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetServiceSecurityDescriptor(System.String,NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Get the security descriptor for a service.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="security_information">Parts of the security descriptor to return.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetServiceSecurityDescriptor(System.String,NtApiDotNet.SecurityInformation)">
            <summary>
            Get the security descriptor for a service.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="security_information">Parts of the security descriptor to return.</param>
            <returns>The security descriptor.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetScmSecurityDescriptor(System.String,NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Set the SCM security descriptor.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="security_information">The parts of the security descriptor to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetScmSecurityDescriptor(System.String,NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityInformation)">
            <summary>
            Set the SCM security descriptor.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="security_information">The parts of the security descriptor to set.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetScmSecurityDescriptor(NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Set the SCM security descriptor.
            </summary>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="security_information">The parts of the security descriptor to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetScmSecurityDescriptor(NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityInformation)">
            <summary>
            Set the SCM security descriptor.
            </summary>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="security_information">The parts of the security descriptor to set.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetServiceInformation(System.String,System.String,System.Boolean)">
            <summary>
            Get the information about a service.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The service information.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetServiceInformation(System.String,System.String)">
            <summary>
            Get the information about a service.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <returns>The service information.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetServiceInformation(System.String,System.Boolean)">
            <summary>
            Get the information about a service.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The service information.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceSecurityDescriptor(System.String,System.String,NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Set the security descriptor for a service.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="security_information">The security information to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceSecurityDescriptor(System.String,System.String,NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityInformation)">
            <summary>
            Set the security descriptor for a service.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="security_information">The security information to set.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceSecurityDescriptor(System.String,NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Set the security descriptor for a service.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="security_information">The security information to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceSecurityDescriptor(System.String,NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityInformation)">
            <summary>
            Set the security descriptor for a service.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="security_information">The security information to set.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetServiceInformation(System.String)">
            <summary>
            Get the information about a service.
            </summary>
            <param name="name">The name of the service.</param>
            <returns>The service information.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetServiceInformation(System.String,NtApiDotNet.Win32.ServiceType)">
            <summary>
            Get the information about all services.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="service_types">The types of services to return.</param>
            <returns>The list of service information.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetServiceInformation(NtApiDotNet.Win32.ServiceType)">
            <summary>
            Get the information about all services.
            </summary>
            <param name="service_types">The types of services to return.</param>
            <returns>The list of service information.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetServiceProcessId(System.String)">
            <summary>
            Get the PID of a running service.
            </summary>
            <param name="name">The name of the service.</param>
            <returns>Returns the PID of the running service, or 0 if not running.</returns>
            <exception cref="T:NtApiDotNet.Win32.SafeWin32Exception">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetServiceProcessIds(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Get the PIDs of a list of running service.
            </summary>
            <param name="names">The names of the services.</param>
            <returns>Returns the PID of the running service, or 0 if not running.</returns>
            <exception cref="T:NtApiDotNet.Win32.SafeWin32Exception">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetService(System.String,System.String,System.Boolean)">
            <summary>
            Get a running service by name.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The running service.</returns>
            <remarks>This will return active and non-active services as well as drivers.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetService(System.String,System.String)">
            <summary>
            Get a running service by name.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <returns>The running service.</returns>
            <remarks>This will return active and non-active services as well as drivers.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetService(System.String,System.Boolean)">
            <summary>
            Get a running service by name.
            </summary>
            <param name="name">The name of the service.</param>
            <returns>The running service.</returns>
            <param name="throw_on_error">True to throw on error.</param>
            <remarks>This will return active and non-active services as well as drivers.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetService(System.String)">
            <summary>
            Get a running service by name.
            </summary>
            <param name="name">The name of the service.</param>
            <returns>The running service.</returns>
            <remarks>This will return active and non-active services as well as drivers.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetServices(System.String,NtApiDotNet.Win32.ServiceState,NtApiDotNet.Win32.ServiceType)">
            <summary>
            Get a list of all registered services.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="state">Specify state of services to get.</param>
            <param name="service_types">Specify the type filter for services.</param>
            <returns>A list of registered services.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetServices(NtApiDotNet.Win32.ServiceState,NtApiDotNet.Win32.ServiceType)">
            <summary>
            Get a list of all registered services.
            </summary>
            <param name="state">Specify state of services to get.</param>
            <param name="service_types">Specify the type filter for services.</param>
            <returns>A list of registered services.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetServiceTypes">
            <summary>
            Get flags for all user service types.
            </summary>
            <returns>The flags for user service types.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetDriverTypes">
            <summary>
            Get flags for all kernel driver types.
            </summary>
            <returns>The flags for kernel driver types.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetServices">
            <summary>
            Get a list of all registered services.
            </summary>
            <returns>A list of registered services.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetRunningServicesWithProcessIds">
            <summary>
            Get a list of all active running services with their process IDs.
            </summary>
            <returns>A list of all active running services with process IDs.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetDrivers">
            <summary>
            Get a list of all drivers.
            </summary>
            <returns>A list of all drivers.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetRunningDrivers">
            <summary>
            Get a list of all active running drivers.
            </summary>
            <returns>A list of all active running drivers.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetServicesAndDrivers">
            <summary>
            Get a list of all services and drivers.
            </summary>
            <returns>A list of all services and drivers.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetRunningServicesAndDrivers">
            <summary>
            Get a list of all services and drivers.
            </summary>
            <returns>A list of all services and drivers.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.GetServiceNtType(System.String)">
            <summary>
            Get a fake NtType for a service.
            </summary>
            <param name="type_name">Service returns the service type, SCM returns SCM type.</param>
            <returns>The fake service NtType. Returns null if not a recognized type.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.CreateService(System.String,System.String,System.String,NtApiDotNet.Win32.ServiceType,NtApiDotNet.Win32.ServiceStartType,NtApiDotNet.Win32.ServiceErrorControl,System.String,System.String,System.Collections.Generic.IEnumerable{System.String},System.String,System.Security.SecureString,System.Boolean)">
            <summary>
            Create a new service.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="name">The name of the service.</param>
            <param name="display_name">The display name for the service.</param>
            <param name="service_type">The service type.</param>
            <param name="start_type">The service start type.</param>
            <param name="error_control">Error control.</param>
            <param name="binary_path_name">Path to the service executable.</param>
            <param name="load_order_group">Load group order.</param>
            <param name="dependencies">List of service dependencies.</param>
            <param name="service_start_name">The username for the service.</param>
            <param name="password">Password for the username if needed.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The registered service information.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.CreateService(System.String,System.String,System.String,NtApiDotNet.Win32.ServiceType,NtApiDotNet.Win32.ServiceStartType,NtApiDotNet.Win32.ServiceErrorControl,System.String,System.String,System.Collections.Generic.IEnumerable{System.String},System.String,System.Security.SecureString)">
            <summary>
            Create a new service.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="name">The name of the service.</param>
            <param name="display_name">The display name for the service.</param>
            <param name="service_type">The service type.</param>
            <param name="start_type">The service start type.</param>
            <param name="error_control">Error control.</param>
            <param name="binary_path_name">Path to the service executable.</param>
            <param name="load_order_group">Load group order.</param>
            <param name="dependencies">List of service dependencies.</param>
            <param name="service_start_name">The username for the service.</param>
            <param name="password">Password for the username if needed.</param>
            <returns>The registered service information.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.CreateService(System.String,System.String,NtApiDotNet.Win32.ServiceType,NtApiDotNet.Win32.ServiceStartType,NtApiDotNet.Win32.ServiceErrorControl,System.String,System.String,System.Collections.Generic.IEnumerable{System.String},System.String,System.Security.SecureString,System.Boolean)">
            <summary>
            Create a new service.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="display_name">The display name for the service.</param>
            <param name="service_type">The service type.</param>
            <param name="start_type">The service start type.</param>
            <param name="error_control">Error control.</param>
            <param name="binary_path_name">Path to the service executable.</param>
            <param name="load_order_group">Load group order.</param>
            <param name="dependencies">List of service dependencies.</param>
            <param name="service_start_name">The username for the service.</param>
            <param name="password">Password for the username if needed.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The registered service information.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.CreateService(System.String,System.String,NtApiDotNet.Win32.ServiceType,NtApiDotNet.Win32.ServiceStartType,NtApiDotNet.Win32.ServiceErrorControl,System.String,System.String,System.Collections.Generic.IEnumerable{System.String},System.String,System.Security.SecureString)">
            <summary>
            Create a new service.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="display_name">The display name for the service.</param>
            <param name="service_type">The service type.</param>
            <param name="start_type">The service start type.</param>
            <param name="error_control">Error control.</param>
            <param name="binary_path_name">Path to the service executable.</param>
            <param name="load_order_group">Load group order.</param>
            <param name="dependencies">List of service dependencies.</param>
            <param name="service_start_name">The username for the service.</param>
            <param name="password">Password for the username if needed.</param>
            <returns>The registered service information.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.DeleteService(System.String,System.String,System.Boolean)">
            <summary>
            Delete a service.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="name">The name of the service.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.DeleteService(System.String,System.String)">
            <summary>
            Delete a service.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="name">The name of the service.</param>
            <returns>The NT status.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.DeleteService(System.String,System.Boolean)">
            <summary>
            Delete a service.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.DeleteService(System.String)">
            <summary>
            Delete a service.
            </summary>
            <param name="name">The name of the service.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.ControlService(System.String,System.String,NtApiDotNet.Win32.ServiceControlCode,System.Boolean)">
            <summary>
            Send a control code to a service.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="name">The name of the service.</param>
            <param name="control_code">The control code to send. If >= 128 will be sent as a custom control code.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.ControlService(System.String,System.String,NtApiDotNet.Win32.ServiceControlCode)">
            <summary>
            Send a control code to a service.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="name">The name of the service.</param>
            <param name="control_code">The control code to send. If >= 128 will be sent as a custom control code.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.ControlService(System.String,System.String,System.Int32)">
            <summary>
            Send a control code to a service.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="name">The name of the service.</param>
            <param name="control_code">The control code to send. If >= 128 will be sent as a custom control code.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.ControlService(System.String,NtApiDotNet.Win32.ServiceControlCode)">
            <summary>
            Send a control code to a service.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="control_code">The control code to send. If >= 128 will be sent as a custom control code.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.ControlService(System.String,System.Int32)">
            <summary>
            Send a control code to a service.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="control_code">The control code to send. If >= 128 will be sent as a custom control code.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.ChangeServiceConfig(System.String,System.String,System.String,System.Nullable{NtApiDotNet.Win32.ServiceType},System.Nullable{NtApiDotNet.Win32.ServiceStartType},System.Nullable{NtApiDotNet.Win32.ServiceErrorControl},System.String,System.Nullable{System.Int32},System.String,System.Collections.Generic.IEnumerable{System.String},System.String,System.Security.SecureString,System.Boolean)">
            <summary>
            Change service configuration.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="name">The name of the service.</param>
            <param name="display_name">The display name for the service.</param>
            <param name="service_type">The service type.</param>
            <param name="start_type">The service start type.</param>
            <param name="error_control">Error control.</param>
            <param name="binary_path_name">Path to the service executable.</param>
            <param name="load_order_group">Load group order.</param>
            <param name="tag_id">The tag ID.</param>
            <param name="dependencies">List of service dependencies.</param>
            <param name="service_start_name">The username for the service.</param>
            <param name="password">Password for the username if needed.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.ChangeServiceConfig(System.String,System.String,System.String,System.Nullable{NtApiDotNet.Win32.ServiceType},System.Nullable{NtApiDotNet.Win32.ServiceStartType},System.Nullable{NtApiDotNet.Win32.ServiceErrorControl},System.String,System.Nullable{System.Int32},System.String,System.Collections.Generic.IEnumerable{System.String},System.String,System.Security.SecureString)">
            <summary>
            Change service configuration.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="name">The name of the service.</param>
            <param name="display_name">The display name for the service.</param>
            <param name="service_type">The service type.</param>
            <param name="start_type">The service start type.</param>
            <param name="error_control">Error control.</param>
            <param name="binary_path_name">Path to the service executable.</param>
            <param name="tag_id">The tag ID.</param>
            <param name="load_order_group">Load group order.</param>
            <param name="dependencies">List of service dependencies.</param>
            <param name="service_start_name">The username for the service.</param>
            <param name="password">Password for the username if needed.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.ChangeServiceConfig(System.String,System.String,System.Nullable{NtApiDotNet.Win32.ServiceType},System.Nullable{NtApiDotNet.Win32.ServiceStartType},System.Nullable{NtApiDotNet.Win32.ServiceErrorControl},System.String,System.Nullable{System.Int32},System.String,System.Collections.Generic.IEnumerable{System.String},System.String,System.Security.SecureString,System.Boolean)">
            <summary>
            Change service configuration.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="display_name">The display name for the service.</param>
            <param name="service_type">The service type.</param>
            <param name="start_type">The service start type.</param>
            <param name="error_control">Error control.</param>
            <param name="binary_path_name">Path to the service executable.</param>
            <param name="tag_id">The tag ID.</param>
            <param name="load_order_group">Load group order.</param>
            <param name="dependencies">List of service dependencies.</param>
            <param name="service_start_name">The username for the service.</param>
            <param name="password">Password for the username if needed.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.ChangeServiceConfig(System.String,System.String,System.Nullable{NtApiDotNet.Win32.ServiceType},System.Nullable{NtApiDotNet.Win32.ServiceStartType},System.Nullable{NtApiDotNet.Win32.ServiceErrorControl},System.Nullable{System.Int32},System.String,System.String,System.Collections.Generic.IEnumerable{System.String},System.String,System.Security.SecureString)">
            <summary>
            Change service configuration.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="display_name">The display name for the service.</param>
            <param name="service_type">The service type.</param>
            <param name="start_type">The service start type.</param>
            <param name="error_control">Error control.</param>
            <param name="binary_path_name">Path to the service executable.</param>
            <param name="tag_id">The tag ID.</param>
            <param name="load_order_group">Load group order.</param>
            <param name="dependencies">List of service dependencies.</param>
            <param name="service_start_name">The username for the service.</param>
            <param name="password">Password for the username if needed.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.StartService(System.String,System.String,System.String[],System.Boolean)">
            <summary>
            Start a service by name.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="name">The name of the service.</param>
            <param name="args">Optional arguments to pass to the service.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The status code for the service.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.StartService(System.String,System.String,System.String[])">
            <summary>
            Start a service by name.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="name">The name of the service.</param>
            <param name="args">Optional arguments to pass to the service.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.StartService(System.String,System.String[],System.Boolean)">
            <summary>
            Start a service by name.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="args">Optional arguments to pass to the service.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The status code for the service.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.StartService(System.String,System.String[])">
            <summary>
            Start a service by name.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="args">Optional arguments to pass to the service.</param>
            <returns>The status code for the service.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceSidType(System.String,System.String,NtApiDotNet.Win32.ServiceSidType,System.Boolean)">
            <summary>
            Set a service's SID type.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="name">The name of the service.</param>
            <param name="sid_type">The SID type to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceSidType(System.String,System.String,NtApiDotNet.Win32.ServiceSidType)">
            <summary>
            Set a service's SID type.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="name">The name of the service.</param>
            <param name="sid_type">The SID type to set.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceSidType(System.String,NtApiDotNet.Win32.ServiceSidType,System.Boolean)">
            <summary>
            Set a service's SID type.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="sid_type">The SID type to set.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceSidType(System.String,NtApiDotNet.Win32.ServiceSidType)">
            <summary>
            Set a service's SID type.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="sid_type">The SID type to set.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceDelayedAutoStart(System.String,System.String,System.Boolean,System.Boolean)">
            <summary>
            Set a service's delayed auto-start.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="name">The name of the service.</param>
            <param name="enabled">If true, the service is started after other auto-start services are started plus a short delay. Otherwise, the service is started during system boot.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceDelayedAutoStart(System.String,System.String,System.Boolean)">
            <returns/>
            <inheritdoc cref="M:NtApiDotNet.Win32.ServiceUtils.SetServiceDelayedAutoStart(System.String,System.String,System.Boolean,System.Boolean)"/>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceDelayedAutoStart(System.String,System.Boolean,System.Boolean)">
            <returns/>
            <inheritdoc cref="M:NtApiDotNet.Win32.ServiceUtils.SetServiceDelayedAutoStart(System.String,System.String,System.Boolean,System.Boolean)"/>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceDelayedAutoStart(System.String,System.Boolean)">
            <inheritdoc cref="M:NtApiDotNet.Win32.ServiceUtils.SetServiceDelayedAutoStart(System.String,System.String,System.Boolean,System.Boolean)"/>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceFailureActions(System.String,System.String,System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.FailureAction},System.Int32,System.String,System.String,System.Boolean)">
            <summary>
            Set a service's failure recover actions.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="name">The name of the service.</param>
            <param name="actions">Actions to be performed on service failure.
            <br/>If this value is null, <paramref name="reset_period"/> is ignored.
            <br/> If this value is empty, the reset period and array of failure actions are deleted.</param>
            <param name="reset_period">The time after which to reset the failure count to zero if there are no failures, in seconds. Specify -1 to indicate that this value should never be reset.</param>
            <param name="recover_command">The command line of the process for the CreateProcess function to execute in response to the command run service controller action.
            <br/> This process runs under the same account as the service.
            <br/> If this value is null, the command is unchanged.
            <br/> If the value is an empty string (""), the command is deleted and no program is run when the service fails.</param>
            <param name="reboot_msg">The message to be broadcast to server users before rebooting in response to the reboot action service controller action.
            <br/> If this value is null, the reboot message is unchanged.
            <br/> If the value is an empty string (""), the reboot message is deleted and no message is broadcast.
            <br/> This member can specify a localized string using the following format: <c>@[path]dllname,-strID</c>
            <br/> The string with identifier <c>strID</c> is loaded from <c>dllname</c>; <c>path</c> is optional.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceFailureActions(System.String,System.String,System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.FailureAction},System.Int32,System.String,System.String)">
            <returns/>
            <inheritdoc cref="M:NtApiDotNet.Win32.ServiceUtils.SetServiceFailureActions(System.String,System.String,System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.FailureAction},System.Int32,System.String,System.String,System.Boolean)"/>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceFailureActions(System.String,System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.FailureAction},System.Int32,System.String,System.String,System.Boolean)">
            <returns/>
            <inheritdoc cref="M:NtApiDotNet.Win32.ServiceUtils.SetServiceFailureActions(System.String,System.String,System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.FailureAction},System.Int32,System.String,System.String,System.Boolean)"/>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceFailureActions(System.String,System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.FailureAction},System.Int32,System.String,System.String)">
            <inheritdoc cref="M:NtApiDotNet.Win32.ServiceUtils.SetServiceFailureActions(System.String,System.String,System.Collections.Generic.IEnumerable{NtApiDotNet.Win32.FailureAction},System.Int32,System.String,System.String,System.Boolean)"/>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceRequiredPrivileges(System.String,System.String,System.String[],System.Boolean)">
            <summary>
            Set a service's required privileges.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="name">The name of the service.</param>
            <param name="privileges">The required privileges.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceRequiredPrivileges(System.String,System.String,System.String[])">
            <summary>
            Set a service's required privileges.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="name">The name of the service.</param>
            <param name="privileges">The required privileges.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceRequiredPrivileges(System.String,System.String[],System.Boolean)">
            <summary>
            Set a service's required privileges.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="privileges">The required privileges.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceRequiredPrivileges(System.String,System.String[])">
            <summary>
            Set a service's required privileges.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="privileges">The required privileges.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceLaunchProtected(System.String,System.String,NtApiDotNet.Win32.ServiceLaunchProtectedType,System.Boolean)">
            <summary>
            Set a service's launch protected type.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="name">The name of the service.</param>
            <param name="protected_type">The protected type.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceLaunchProtected(System.String,System.String,NtApiDotNet.Win32.ServiceLaunchProtectedType)">
            <summary>
            Set a service's launch protected type.
            </summary>
            <param name="machine_name">The name of a target computer. Can be null or empty to specify local machine.</param>
            <param name="name">The name of the service.</param>
            <param name="protected_type">The protected type.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceLaunchProtected(System.String,NtApiDotNet.Win32.ServiceLaunchProtectedType,System.Boolean)">
            <summary>
            Set a service's required privileges.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="protected_type">The protected type.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The NT status code.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.ServiceUtils.SetServiceLaunchProtected(System.String,NtApiDotNet.Win32.ServiceLaunchProtectedType)">
            <summary>
            Set a service's SID type.
            </summary>
            <param name="name">The name of the service.</param>
            <param name="protected_type">The protected type.</param>
        </member>
        <member name="T:NtApiDotNet.Win32.Service.EtwServiceTriggerInformation">
            <summary>
            A service trigger for an ETW event.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Service.EtwServiceTriggerInformation.SecurityDescriptor">
            <summary>
            The security descriptor for the ETW event. Needs administrator privileges.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Service.EtwServiceTriggerInformation.Trigger">
            <summary>
            Trigger the service.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Service.FirewallServiceTriggerInformation">
            <summary>
            Service trigger for firewall port interface.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Service.FirewallServiceTriggerInformation.Port">
            <summary>
            The port for the firewall service trigger.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Service.FirewallServiceTriggerInformation.Protocol">
            <summary>
            The protocol for the firewall service trigger.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Service.FirewallServiceTriggerInformation.ExecutablePath">
            <summary>
            The protocol for the firewall service trigger.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Service.FirewallServiceTriggerInformation.User">
            <summary>
            The protocol for the firewall service trigger.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Service.NamedPipeServiceTriggerInformation">
            <summary>
            Service trigger for a named pipe.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Service.NamedPipeServiceTriggerInformation.PipePath">
            <summary>
            The path to the named pipe.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Service.RpcInterfaceServiceTriggerInformation">
            <summary>
            Service trigger for an RPC interface.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Service.RpcInterfaceServiceTriggerInformation.InterfaceId">
            <summary>
            List of interface ID for the RPC server.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Service.ServiceControlManager">
            <summary>
            Class to represent a handle to the SCM.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Service.ServiceControlManager.SERVICES_ACTIVE_DATABASE">
            <summary>
            Active services database.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Service.ServiceControlManager.SERVICES_FAILED_DATABASE">
            <summary>
            Failed services database.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Service.ServiceControlManager.Open(System.String,System.String,NtApiDotNet.Win32.ServiceControlManagerAccessRights,System.Boolean)">
            <summary>
            Open an instance of the SCM.
            </summary>
            <param name="machine_name">The machine name for the SCM.</param>
            <param name="database_name">The database name. Specify SERVICES_ACTIVE_DATABASE or SERVICES_FAILED_DATABASE. 
            If null then SERVICES_ACTIVE_DATABASE is used.</param>
            <param name="desired_access">The desired access for the SCM connection.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The SCM instance.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Service.ServiceControlManager.Open(System.String,System.String,NtApiDotNet.Win32.ServiceControlManagerAccessRights)">
            <summary>
            Open an instance of the SCM.
            </summary>
            <param name="machine_name">The machine name for the SCM.</param>
            <param name="database_name">The database name. Specify SERVICES_ACTIVE_DATABASE or SERVICES_FAILED_DATABASE. 
            If null then SERVICES_ACTIVE_DATABASE is used.</param>
            <param name="desired_access">The desired access for the SCM connection.</param>
            <returns>The SCM instance.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Service.ServiceControlManager.Open(System.String,NtApiDotNet.Win32.ServiceControlManagerAccessRights)">
            <summary>
            Open an instance of the SCM.
            </summary>
            <param name="machine_name">The machine name for the SCM.</param>
            <param name="desired_access">The desired access for the SCM connection.</param>
            <returns>The SCM instance.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Service.ServiceControlManager.GetServices(NtApiDotNet.Win32.ServiceState,NtApiDotNet.Win32.ServiceType,System.Boolean)">
            <summary>
            Get the Win32 services for the SCM.
            </summary>
            <param name="service_state">The state of the services to return.</param>
            <param name="service_types">The types of services to return.</param>
            <param name="throw_on_error">True throw on error.</param>
            <returns>The list of services.</returns>
            <remarks>SCM must have been opened with EnumerateService access.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Service.ServiceControlManager.GetServices(NtApiDotNet.Win32.ServiceState,NtApiDotNet.Win32.ServiceType)">
            <summary>
            Get the Win32 services for the SCM.
            </summary>
            <param name="service_state">The state of the services to return.</param>
            <param name="service_types">The types of services to return.</param>
            <returns>The list of services.</returns>
            <remarks>SCM must have been opened with EnumerateService access.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Service.ServiceControlManager.Dispose">
            <summary>
            Dispose the object.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Service.ServiceControlManager.GetSecurityDescriptor(NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Get the security descriptor specifying which parts to retrieve
            </summary>
            <param name="security_information">What parts of the security descriptor to retrieve</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The security descriptor</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Service.ServiceControlManager.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="M:NtApiDotNet.Win32.Service.ServiceControlManager.SetSecurityDescriptor(NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityInformation,System.Boolean)">
            <summary>
            Set the object's security descriptor
            </summary>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="security_information">What parts of the security descriptor to set</param>
            <param name="throw_on_error">True to throw on error.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Service.ServiceControlManager.SetSecurityDescriptor(NtApiDotNet.SecurityDescriptor,NtApiDotNet.SecurityInformation)">
            <summary>
            Set the object's security descriptor
            </summary>
            <param name="security_descriptor">The security descriptor to set.</param>
            <param name="security_information">What parts of the security descriptor to set</param>
        </member>
        <member name="T:NtApiDotNet.Win32.Service.WnfServiceTriggerInformation">
            <summary>
            Service trigger for a WNF event.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Service.WnfServiceTriggerInformation.Name">
            <summary>
            The WNF name.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.SymbolLoadedModule">
            <summary>
            Represents a loaded module from the symbol resolver.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.SymbolLoadedModule.Name">
            <summary>
            The name of the module.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.SymbolLoadedModule.BaseAddress">
            <summary>
            The base address of the module.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.SymbolLoadedModule.ImageSize">
            <summary>
            The image size of the module.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.SymbolLoadedModule.PdbPath">
            <summary>
            Get the path to the loaded PDB file is known.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.SymbolLoadedModule.ExportSymbols">
            <summary>
            True indicates this module only has export symbols.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.SymbolLoadedModule.QueryTypeNames">
            <summary>
            Query names of types for this module.
            </summary>
            <returns>The list of type names.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SymbolLoadedModule.QueryTypes">
            <summary>
            Query types in a module.
            </summary>
            <returns>The list of types.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SymbolLoadedModule.GetTypeByName(System.String)">
            <summary>
            Get a type by name.
            </summary>
            <param name="name">The name of the type.</param>
            <returns></returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SymbolLoadedModule.QueryTypesByName(System.String)">
            <summary>
            Query types by name
            </summary>
            <param name="mask">A mask string for the type name. e.g. mod!ABC*</param>
            <returns>The list of types.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SymbolLoadedModule.ToString">
            <summary>
            Returns the name of the module.
            </summary>
            <returns>The name of the module.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.SymbolResolver">
            <summary>
            Static class for creating symbolic resolvers.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.SymbolResolver.Create(NtApiDotNet.NtProcess,System.String,System.String,NtApiDotNet.Win32.Debugger.SymbolResolverFlags,System.IO.TextWriter)">
            <summary>
            Create a new instance of a symbol resolver.
            </summary>
            <param name="process">The process in which the symbols should be resolved.</param>
            <param name="dbghelp_path">The path to dbghelp.dll, ideally should use the one which comes with Debugging Tools for Windows.</param>
            <param name="symbol_path">The symbol path.</param>
            <param name="flags">Flags for the symbol resolver.</param>
            <param name="trace_writer">A text writer for output when specifying the <see cref="F:NtApiDotNet.Win32.Debugger.SymbolResolverFlags.TraceSymbolLoading">TraceSymbolLoading</see> flag.</param>
            <returns>The instance of a symbol resolver. Should be disposed when finished.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SymbolResolver.Create(NtApiDotNet.NtProcess,System.String,System.String)">
            <summary>
            Create a new instance of a symbol resolver.
            </summary>
            <param name="process">The process in which the symbols should be resolved.</param>
            <param name="dbghelp_path">The path to dbghelp.dll, ideally should use the one which comes with Debugging Tools for Windows.</param>
            <param name="symbol_path">The symbol path.</param>
            <returns>The instance of a symbol resolver. Should be disposed when finished.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.SymbolResolver.Create(NtApiDotNet.NtProcess)">
            <summary>
            Create a new instance of a symbol resolver. Uses the system dbghelp library and symbol path
            from _NT_SYMBOL_PATH environment variable.
            </summary>
            <param name="process">The process in which the symbols should be resolved.</param>
            <returns>The instance of a symbol resolver. Should be disposed when finished.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.SaferLevel">
            <summary>
            Enumeration for safer level.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.SaferLevel.Constrained">
            <summary>
            Constrained.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.SaferLevel.FullyTrusted">
            <summary>
            Fully trusted.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.SaferLevel.NormalUser">
            <summary>
            Normal user.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.SaferLevel.Untrusted">
            <summary>
            Untrusted.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.TokenUtils">
            <summary>
            Class to access tokens through various mechanisms.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.GetLogonS4UToken(System.String,System.String,NtApiDotNet.Win32.SecurityLogonType)">
            <summary>
            Logon a user using S4U
            </summary>
            <param name="user">The username.</param>
            <param name="realm">The user's realm.</param>
            <param name="logon_type"></param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.GetAnonymousToken(NtApiDotNet.TokenAccessRights)">
            <summary>
            Get the anonymous token.
            </summary>
            <param name="desired_access">The access rights for the opened token.</param>
            <returns>The anonymous token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.GetAnonymousToken">
            <summary>
            Get the anonymous token.
            </summary>
            <returns>The anonymous token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.GetLogonUserToken(System.String,System.String,System.String,NtApiDotNet.Win32.SecurityLogonType,System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup})">
            <summary>
            Logon a user.
            </summary>
            <param name="username">The username.</param>
            <param name="domain">The user's domain.</param>
            <param name="password">The user's password.</param>
            <param name="logon_type">The logon token's type.</param>
            <param name="groups">Optional list of additonal groups to add.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.GetLogonUserToken(System.String,System.String,System.String,NtApiDotNet.Win32.SecurityLogonType,NtApiDotNet.Win32.Security.Native.Logon32Provider,System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup})">
            <summary>
            Logon a user.
            </summary>
            <param name="username">The username.</param>
            <param name="domain">The user's domain.</param>
            <param name="password">The user's password.</param>
            <param name="logon_type">The logon token's type.</param>
            <param name="groups">Optional list of additonal groups to add.</param>
            <param name="provider">The Logon provider.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.GetLogonUserToken(System.String,System.String,System.String,NtApiDotNet.Win32.SecurityLogonType,NtApiDotNet.Win32.Security.Native.Logon32Provider,System.Collections.Generic.IEnumerable{NtApiDotNet.UserGroup},System.Boolean)">
            <summary>
            Logon a user.
            </summary>
            <param name="username">The username.</param>
            <param name="domain">The user's domain.</param>
            <param name="password">The user's password.</param>
            <param name="logon_type">The logon token's type.</param>
            <param name="groups">Optional list of additonal groups to add.</param>
            <param name="provider">The Logon provider.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The logged on token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.OpenClipboardToken(NtApiDotNet.TokenAccessRights,System.Boolean)">
            <summary>
            Open the current clipboard token.
            </summary>
            <param name="desired_access"></param>
            <param name="throw_on_error"></param>
            <returns></returns>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.GetTokenFromClipboard(NtApiDotNet.TokenAccessRights)">
            <summary>
            Get the token from the clipboard.
            </summary>
            <param name="desired_access">The access rights for the opened token.</param>
            <returns>The clipboard token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.GetTokenFromClipboard">
            <summary>
            Get the token from the clipboard.
            </summary>
            <returns>The clipboard token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.DerivePackageSidFromName(System.String,System.Boolean)">
            <summary>
            Derive a package sid from a name.
            </summary>
            <param name="name">The name of the package.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The derived Sid</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.DerivePackageSidFromName(System.String)">
            <summary>
            Derive a package sid from a name.
            </summary>
            <param name="name">The name of the package.</param>
            <returns>The derived Sid</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.DeriveRestrictedPackageSidFromSid(NtApiDotNet.Sid,System.String,System.Boolean)">
            <summary>
            Derive a restricted package sid from an existing pacakge sid.
            </summary>
            <param name="package_sid">The base package sid.</param>
            <param name="restricted_name">The restricted name for the sid.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The derived Sid.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.DeriveRestrictedPackageSidFromSid(NtApiDotNet.Sid,System.String)">
            <summary>
            Derive a restricted package sid from an existing pacakge sid.
            </summary>
            <param name="package_sid">The base package sid.</param>
            <param name="restricted_name">The restricted name for the sid.</param>
            <returns>The derived Sid.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.DeriveRestrictedPackageSidFromName(System.String,System.String)">
            <summary>
            Derive a restricted package sid from an existing package sid.
            </summary>
            <param name="base_name">The base package name.</param>
            <param name="restricted_name">The restricted name for the sid.</param>
            <returns>The derived Sid.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.GetPackageSidFromName(System.String)">
            <summary>
            Get the package SID from a name.
            </summary>
            <param name="name">The name of the package, can be either an SDDL SID or a package name.</param>
            <returns>The derived SID.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.GetTokenFromSaferLevel(NtApiDotNet.NtToken,NtApiDotNet.Win32.SaferLevel,System.Boolean)">
            <summary>
            Get a safer token.
            </summary>
            <param name="token">The base token.</param>
            <param name="level">The safer level to use.</param>
            <param name="make_inert">True to make the token inert.</param>
            <returns>The safer token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.GetSessionToken(System.Int32)">
            <summary>
            Get session token for a session ID.
            </summary>
            <param name="session_id">The session ID.</param>
            <returns>The session token.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.GetSessionTokens">
            <summary>
            Get tokens for all logged on sessions.
            </summary>
            <remarks>Needs SeTcbPrivilege to work.</remarks>
            <returns>The list of session tokens.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.CreateAppContainerToken(NtApiDotNet.NtToken,NtApiDotNet.Sid,System.Collections.Generic.IEnumerable{NtApiDotNet.Sid},System.Boolean)">
            <summary>
            Create an AppContainer token using the CreateAppContainerToken API.
            </summary>
            <param name="token">The token to base the new token on. Can be null.</param>
            <param name="appcontainer_sid">The AppContainer package SID.</param>
            <param name="capabilities">List of capabilities.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The appcontainer token.</returns>
            <remarks>This exported function was only introduced in RS3</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.CreateAppContainerToken(NtApiDotNet.NtToken,NtApiDotNet.Sid,System.Collections.Generic.IEnumerable{NtApiDotNet.Sid})">
            <summary>
            Create an AppContainer token using the CreateAppContainerToken API.
            </summary>
            <param name="token">The token to base the new token on. Can be null.</param>
            <param name="appcontainer_sid">The AppContainer package SID.</param>
            <param name="capabilities">List of capabilities.</param>
            <returns>The appcontainer token.</returns>
            <remarks>This exported function was only introduced in RS3</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.TokenUtils.CreateAppContainerToken(NtApiDotNet.Sid,System.Collections.Generic.IEnumerable{NtApiDotNet.Sid})">
            <summary>
            Create an AppContainer token using the CreateAppContainerToken API.
            </summary>
            <param name="appcontainer_sid">The AppContainer package SID.</param>
            <param name="capabilities">List of capabilities.</param>
            <returns>The appcontainer token.</returns>
            <remarks>This exported function was only introduced in RS3</remarks>
        </member>
        <member name="T:NtApiDotNet.Win32.Win32Error">
            <summary>
            Win32 Error Codes.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.DefineDosDeviceFlags">
            <summary>
            Flags for DefineDosDevice
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DefineDosDeviceFlags.None">
            <summary>
            None
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DefineDosDeviceFlags.RawTargetPath">
            <summary>
            Specify a raw target path
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DefineDosDeviceFlags.RemoveDefinition">
            <summary>
            Remove existing definition
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DefineDosDeviceFlags.ExactMatchOnRemove">
            <summary>
            Only remove exact matches to the target
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.DefineDosDeviceFlags.NoBroadcastSystem">
            <summary>
            Don't broadcast changes to the system
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.CreateFileDisposition">
            <summary>
            Disposition values for CreateFile.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateFileDisposition.CreateNew">
            <summary>
            Create a new file. Fail if it exists.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateFileDisposition.CreateAlways">
            <summary>
            Always create a new file, overwrite if it exists.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateFileDisposition.OpenExisting">
            <summary>
            Open a file, fail if it doesn't exist.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateFileDisposition.OpenAlways">
            <summary>
            Open a file, create if it doesn't exist.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateFileDisposition.TruncateExisting">
            <summary>
            Truncate existing file.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Win32PathNameFlags">
            <summary>
            Flags for GetWin32PathName.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Win32PathNameFlags.None">
            <summary>
            No flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Win32PathNameFlags.NameGuid">
            <summary>
            GUID format.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Win32PathNameFlags.NameNt">
            <summary>
            NT format.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Win32PathNameFlags.NameNone">
            <summary>
            No specific format.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Win32PathNameFlags.Opened">
            <summary>
            Opened file name.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Win32Process">
            <summary>
            Class representing a win32 process.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Process.CreateProcessAsUser(NtApiDotNet.NtToken,NtApiDotNet.Win32.Win32ProcessConfig)">
            <summary>
            Create process with a token.
            </summary>
            <param name="token">The token to create the process with.</param>
            <param name="config">The process configuration.</param>
            <returns>The created win32 process.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Process.CreateProcessAsUser(NtApiDotNet.NtToken,System.String,System.String,NtApiDotNet.Win32.CreateProcessFlags,System.String)">
            <summary>
            Create process with a token.
            </summary>
            <param name="token">The token to create the process with.</param>
            <param name="application_name">The path to the executable.</param>
            <param name="command_line">The process command line.</param>
            <param name="flags">Process creation flags.</param>
            <param name="desktop">The desktop name.</param>
            <returns>The created win32 process.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Process.CreateProcessWithLogin(System.String,System.String,System.String,NtApiDotNet.Win32.CreateProcessLogonFlags,NtApiDotNet.Win32.Win32ProcessConfig)">
            <summary>
            Create process with a token from a user logon.
            </summary>
            <param name="username">The username.</param>
            <param name="domain">The user's domain.</param>
            <param name="password">The user's password.</param>
            <param name="logon_flags">Logon flags.</param>
            <param name="config">The process configuration.</param>
            <returns>The created win32 process.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Process.CreateProcessWithLogon(NtApiDotNet.Win32.Security.Authentication.UserCredentials,NtApiDotNet.Win32.CreateProcessLogonFlags,NtApiDotNet.Win32.Win32ProcessConfig,System.Boolean)">
            <summary>
            Create process with a token from a user logon.
            </summary>
            <param name="credentials">The user's credentials.</param>
            <param name="logon_flags">Logon flags.</param>
            <param name="config">The process configuration.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created win32 process.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Process.CreateProcessWithLogon(NtApiDotNet.Win32.Security.Authentication.UserCredentials,NtApiDotNet.Win32.CreateProcessLogonFlags,NtApiDotNet.Win32.Win32ProcessConfig)">
            <summary>
            Create process with a token from a user logon.
            </summary>
            <param name="credentials">The user's credentials.</param>
            <param name="logon_flags">Logon flags.</param>
            <param name="config">The process configuration.</param>
            <returns>The created win32 process.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Process.CreateProcessWithLogon(System.String,System.String,System.String,NtApiDotNet.Win32.CreateProcessLogonFlags,NtApiDotNet.Win32.Win32ProcessConfig)">
            <summary>
            Create process with a token from a user logon.
            </summary>
            <param name="username">The username.</param>
            <param name="domain">The user's domain.</param>
            <param name="password">The user's password.</param>
            <param name="logon_flags">Logon flags.</param>
            <param name="config">The process configuration.</param>
            <returns>The created win32 process.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Process.CreateProcessWithLogin(System.String,System.String,System.String,NtApiDotNet.Win32.CreateProcessLogonFlags,System.String,System.String,NtApiDotNet.Win32.CreateProcessFlags,System.String)">
            <summary>
            Create process with a token from a user logon.
            </summary>
            <param name="username">The username.</param>
            <param name="domain">The user's domain.</param>
            <param name="password">The user's password.</param>
            <param name="logon_flags">Logon flags.</param>
            <param name="application_name">The path to the executable.</param>
            <param name="command_line">The process command line.</param>
            <param name="flags">Process creation flags.</param>
            <param name="desktop">The desktop name.</param>
            <returns>The created win32 process.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Process.CreateProcessWithToken(NtApiDotNet.NtToken,NtApiDotNet.Win32.Win32ProcessConfig)">
            <summary>
            Create process with a token.
            </summary>
            <param name="token">The token to create the process with.</param>
            <param name="config">The process configuration.</param>
            <returns>The created win32 process.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Process.CreateProcess(NtApiDotNet.Win32.Win32ProcessConfig)">
            <summary>
            Create process.
            </summary>
            <param name="config">The process configuration.</param>
            <returns>The created win32 process.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Process.CreateProcess(NtApiDotNet.NtProcess,System.String,System.String,NtApiDotNet.Win32.CreateProcessFlags,System.String)">
            <summary>
            Create process.
            </summary>
            <param name="parent">Optional parent process.</param>
            <param name="application_name">The path to the executable.</param>
            <param name="command_line">The process command line.</param>
            <param name="flags">Process creation flags.</param>
            <param name="desktop">The desktop name.</param>
            <returns>The created win32 process.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Process.Dispose">
            <summary>
            Dispose the process.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Process.Resume">
            <summary>
            Resume the entire process.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Process.Suspend">
            <summary>
            Suspend the entire process.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Process.Terminate(NtApiDotNet.NtStatus)">
            <summary>
            Terminate the process
            </summary>
            <param name="exitcode">The exit code for the termination</param>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Process.Process">
            <summary>
            The handle to the process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Process.Thread">
            <summary>
            The handle to the initial thread.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Process.Pid">
            <summary>
            The process ID of the process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Process.Tid">
            <summary>
            The thread ID of the initial thread.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Process.TerminateOnDispose">
            <summary>
            True to terminate process when disposed.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Process.ExitStatus">
            <summary>
            Get the process' exit status.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Process.ExitNtStatus">
            <summary>
            Get the process' exit status as an NtStatus code.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Process.op_Explicit(NtApiDotNet.Win32.Win32Process)~NtApiDotNet.NtThread">
            <summary>
            Explicit conversion operator to an NtThread object.
            </summary>
            <param name="process">The win32 process</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Process.op_Explicit(NtApiDotNet.Win32.Win32Process)~NtApiDotNet.NtProcess">
            <summary>
            Explicit conversion operator to an NtProcess object.
            </summary>
            <param name="process">The win32 process</param>
        </member>
        <member name="T:NtApiDotNet.Win32.Win32ProcessConfigTokenCallFlags">
            <summary>
            Specify the CreateProcess API to use with a Token.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Win32ProcessConfigTokenCallFlags.Both">
            <summary>
            Use CreateProcessAsUser, if that fails use CreateProcessWithToken.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Win32ProcessConfigTokenCallFlags.AsUser">
            <summary>
            Use only CreateProcessAsUser.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Win32ProcessConfigTokenCallFlags.WithToken">
            <summary>
            User only CreateProcessWithToken.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Win32ProcessConfig">
            <summary>
            Win32 process creation configuration.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.ProcessSecurityDescriptor">
            <summary>
            Specify security descriptor of process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.InheritProcessHandle">
            <summary>
            Specify process handle is inheritable.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.ThreadSecurityDescriptor">
            <summary>
            Specify security descriptor of thread.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.InheritThreadHandle">
            <summary>
            Specify thread handle is inheritable.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.InheritHandles">
            <summary>
            Specify to inherit handles.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.ParentProcess">
            <summary>
            Specify parent process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.ApplicationName">
            <summary>
            Specify path to application executable.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.CommandLine">
            <summary>
            Specify command line.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.CreationFlags">
            <summary>
            Specify creation flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.Environment">
            <summary>
            Specify environment block.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.CurrentDirectory">
            <summary>
            Specify current directory.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.Desktop">
            <summary>
            Specify desktop name.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.Title">
            <summary>
            Specify window title.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.TerminateOnDispose">
            <summary>
            True to terminate the process when it's disposed.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.MitigationOptions">
            <summary>
            Specify the mitigation options.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.MitigationOptions2">
            <summary>
            Specify the mitigation options 2.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.Win32kFilterFlags">
            <summary>
            Specify win32k filter flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.Win32kFilterLevel">
            <summary>
            Specify win32k filter level.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.ProtectionLevel">
            <summary>
            Specify PP level.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.InheritHandleList">
            <summary>
            Specify list of handles to inherit.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.AppContainerSid">
            <summary>
            Specify the appcontainer Sid.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.Capabilities">
            <summary>
            Specify the appcontainer capabilities.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.LowPrivilegeAppContainer">
            <summary>
            Specify LPAC.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.RestrictChildProcessCreation">
            <summary>
            Restrict the process from creating child processes.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.OverrideChildProcessCreation">
            <summary>
            Override child process creation restriction.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.ChildProcessMitigations">
            <summary>
            Set child process mitigation flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.DesktopAppBreakaway">
            <summary>
            Specify new process policy when creating a desktop bridge application.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.Token">
            <summary>
            Specify a token to use for the new process.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.StdInputHandle">
            <summary>
            Specify a stdin handle for the new process (you must inherit the handle).
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.StdOutputHandle">
            <summary>
            Specify a stdout handle for the new process (you must inherit the handle).
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.StdErrorHandle">
            <summary>
            Specify a stderror handle for the new process (you must inherit the handle).
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.PackageName">
            <summary>
            Specify the package name to use.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.PseudoConsole">
            <summary>
            Specify handle to pseudo console.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.BnoIsolationPrefix">
            <summary>
            Specify Base Named Objects isolation prefix.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.SafeOpenPromptOriginClaim">
            <summary>
            Specify the safe open prompt original claim.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.DebugObject">
            <summary>
            When specifying the debug flags use this debug object instead of the current thread's object.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.NoTokenFallback">
            <summary>
            When specified do not fallback to using CreateProcessWithToken if CreateProcessWithUser fails.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.ExtendedFlags">
            <summary>
            Specify additional extended flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.JobList">
            <summary>
            Specify list of handles to inherit.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.ServiceDesktop">
            <summary>
            Specify a service window station and desktop.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.Credentials">
            <summary>
            Specify authentication credentials for CreateProcessWithLogon.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.LogonFlags">
            <summary>
            Specify logon flags for the Credentials or when calling CreateProcessWithToken.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.TokenCall">
            <summary>
            Specify the type of API to call when specifying a token.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32ProcessConfig.ComponentFilter">
            <summary>
            Specify component filter flags.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32ProcessConfig.AddInheritedHandle(NtApiDotNet.NtObject)">
            <summary>
            Add an object's handle to the list of inherited handles. 
            </summary>
            <param name="obj">The object to add.</param>
            <returns>The raw handle value.</returns>
            <remarks>Note that this doesn't maintain a reference to the object. It should be kept
            alive until the process has been created.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32ProcessConfig.AddNamedCapability(System.String)">
            <summary>
            Add an AppContainer capability by name.
            </summary>
            <param name="capability_name">The name of the capability.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32ProcessConfig.AddCapability(NtApiDotNet.Sid)">
            <summary>
            Add an AppContainer capability by name.
            </summary>
            <param name="capability">The capability SID.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32ProcessConfig.SetAppContainerSidFromName(System.String)">
            <summary>
            Set AppContainer SID from a package name.
            </summary>
            <param name="package_name">The package name.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32ProcessConfig.#ctor">
            <summary>
            Constructor.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.CreateProcessFlags">
            <summary>
            Flags for create process.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.None">
            <summary>
            No flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.DebugProcess">
            <summary>
            Debug process.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.DebugOnlyThisProcess">
            <summary>
            Debug only this process.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.Suspended">
            <summary>
            Create suspended.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.DetachedProcess">
            <summary>
            Detach process.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.NewConsole">
            <summary>
            Create a new console.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.NormalPriorityClass">
            <summary>
            Normal priority class.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.IdlePriorityClass">
            <summary>
            Idle priority class.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.HighPriorityClass">
            <summary>
            High priority class.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.RealtimePriorityClass">
            <summary>
            Realtime priority class.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.NewProcessGroup">
            <summary>
            Create a new process group.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.UnicodeEnvironment">
            <summary>
            Create from a unicode environment.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.SeparateWowVdm">
            <summary>
            Create a separate WOW VDM.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.SharedWowVdm">
            <summary>
            Share the WOW VDM.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.ForceDOS">
            <summary>
            Force DOS process.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.BelowNormalPriorityClass">
            <summary>
            Below normal priority class.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.AboveNormalPriorityClass">
            <summary>
            Above normal priority class.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.InheritParentAffinity">
            <summary>
            Inherit parent affinity.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.InheritCallerPriority">
            <summary>
            Inherit caller priority (deprecated)
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.ProtectedProcess">
            <summary>
            Create a protected process.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.ExtendedStartupInfoPresent">
            <summary>
            Specify extended startup information is present.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.ModeBackgroundBegin">
            <summary>
            Process mode background begin.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.ModeBackgroundEnd">
            <summary>
            Process mode background end.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.SecureProcess">
            <summary>
            Create a secure process.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.BreakawayFromJob">
            <summary>
            Breakaway from a job object.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.PreserveCodeAuthZLevel">
            <summary>
            Preserve code authz level.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.DefaultErrorMode">
            <summary>
            Default error mode.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.NoWindow">
            <summary>
            No window.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.ProfileUser">
            <summary>
            Profile user.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.ProfileKernel">
            <summary>
            Profile kernel.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.ProfileServer">
            <summary>
            Profile server.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessFlags.IgnoreSystemDefault">
            <summary>
            Ignore system default.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.CreateProcessLogonFlags">
            <summary>
            Flags for CreateProcessWithLogon
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessLogonFlags.None">
            <summary>
            No flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessLogonFlags.WithProfile">
            <summary>
            With a profile.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateProcessLogonFlags.NetCredentialsOnly">
            <summary>
            Using network credentials.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Win32kFilterFlags">
            <summary>
            Win32k filter flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Win32kFilterFlags.None">
            <summary>
            No flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Win32kFilterFlags.Enable">
            <summary>
            Enable filter.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.Win32kFilterFlags.Audit">
            <summary>
            Audit filter.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.CreateThreadFlags">
            <summary>
            Flags for create thread.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateThreadFlags.None">
            <summary>
            No flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateThreadFlags.Suspended">
            <summary>
            Create suspended.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.CreateThreadFlags.StackSizeParamIsAReservation">
            <summary>
            Stack size is a reservation.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.ProtectionLevel">
            <summary>
            Specify PPL level.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ProtectionLevel.None">
            <summary>
            None
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ProtectionLevel.Same">
            <summary>
            Safe level as parent.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ProtectionLevel.TcbPPL">
            <summary>
            Tcb PPL
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ProtectionLevel.WindowsPP">
            <summary>
            Windows PP
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ProtectionLevel.WindowsPPL">
            <summary>
            Windows PPL
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ProtectionLevel.AntimalwarePPL">
            <summary>
            Antimalware PPL
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ProtectionLevel.LsaPPL">
            <summary>
            LSA PPL
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ProtectionLevel.TcbPP">
            <summary>
            Tcb PP
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ProtectionLevel.CodeGenPPL">
            <summary>
            Code Generation PPL
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ProtectionLevel.AuthenticodePP">
            <summary>
            Authenticode PP
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ProtectionLevel.AppPPL">
            <summary>
            App PPL
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.ProcessExtendedFlags">
            <summary>
            Extended process flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ProcessExtendedFlags.None">
            <summary>
            No flags.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ProcessExtendedFlags.LogElevationFailure">
            <summary>
            Log elevation failure.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ProcessExtendedFlags.IgnoreElevationCheck">
            <summary>
            Ignore elevation requirements.
            </summary>
        </member>
        <member name="F:NtApiDotNet.Win32.ProcessExtendedFlags.ForceBreakawayJob">
            <summary>
            Force job breakaway (needs TCB privilege).
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.ProcessMitigationOptions">
            <summary>
            Process mitigation option flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.ProcessMitigationOptions2">
            <summary>
            Process mitigation option 2 flags.
            </summary>
        </member>
        <member name="T:NtApiDotNet.Win32.Win32Service">
            <summary>
            Class representing a service instance.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.Name">
            <summary>
            The name of the service.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.DisplayName">
            <summary>
            The description of the service.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.ServiceType">
            <summary>
            Type of service.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.ImagePath">
            <summary>
            Image path for the service.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.CommandLine">
            <summary>
            Command line for the service.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.ServiceDll">
            <summary>
            Service DLL if a shared process server.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.Status">
            <summary>
            Current service status.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.ControlsAccepted">
            <summary>
            What controls are accepted by the service.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.CanStop">
            <summary>
            Whether the service can be stopped.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.Win32ExitCode">
            <summary>
            The Win32 exit code.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.ServiceSpecificExitCode">
            <summary>
            The service specific exit code, if Win32ExitCode is Win32Error.ERROR_SERVICE_SPECIFIC_ERROR.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.CheckPoint">
            <summary>
            The checkpoint while starting.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.WaitHint">
            <summary>
            Waiting hint time.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.ServiceFlags">
            <summary>
            Service flags.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.ProcessId">
            <summary>
            Process ID of the running service.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.SecurityDescriptor">
            <summary>
            The security descriptor of the service.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.Triggers">
            <summary>
            The list of triggers for the service.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.SidType">
            <summary>
            The service SID type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.LaunchProtected">
            <summary>
            The service launch protected setting.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.RequiredPrivileges">
            <summary>
            The service required privileges.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.StartType">
            <summary>
            Service start type.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.DelayedAutoStart">
            <summary>
            Whether the service is a delayed auto start service.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.ErrorControl">
            <summary>
            Error control.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.LoadOrderGroup">
            <summary>
            Load order group.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.TagId">
            <summary>
            Tag ID for load order.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.Dependencies">
            <summary>
            Dependencies.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.UserName">
            <summary>
            The user name this service runs under.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.ServiceHostType">
            <summary>
            Type of service host when using Win32Share.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.ServiceMain">
            <summary>
            Service main function when using Win32Share.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.SvcHostSplitDisabled">
            <summary>
            Indicates if this service process is grouped with others.
            </summary>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Service.MachineName">
            <summary>
            The name of the machine this service was found on.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Service.ToString">
            <summary>
            Overridden ToString method.
            </summary>
            <returns>The name of the service.</returns>
        </member>
        <member name="T:NtApiDotNet.Win32.Win32Utils">
            <summary>
            Utilities for Win32 APIs.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.GetMaskDictionary(System.Type,NtApiDotNet.AccessMask)">
            <summary>
            Get a mask dictionary for a type. 
            </summary>
            <param name="access_type">The enumerated type to query for names.</param>
            <param name="valid_access">The valid access.</param>
            <returns>A dictionary mapping a mask value to a name.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.GetMaskDictionary(System.Type,NtApiDotNet.AccessMask,System.Boolean)">
            <summary>
            Get a mask dictionary for a type. 
            </summary>
            <param name="access_type">The enumerated type to query for names.</param>
            <param name="valid_access">The valid access.</param>
            <param name="sdk_names">Specify to get the SDK name instead of a formatting enumerated name.</param>
            <returns>A dictionary mapping a mask value to a name.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.EditSecurity(System.IntPtr,NtApiDotNet.NtObject,System.String,System.Boolean)">
            <summary>
            Display the edit security dialog.
            </summary>
            <param name="hwnd">Parent window handle.</param>
            <param name="handle">NT object to display the security.</param>
            <param name="object_name">The name of the object to display.</param>
            <param name="read_only">True to force the UI to read only.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.EditSecurity(System.IntPtr,System.String,NtApiDotNet.SecurityDescriptor,NtApiDotNet.NtType)">
            <summary>
            Display the edit security dialog.
            </summary>
            <param name="hwnd">Parent window handle.</param>
            <param name="name">The name of the object to display.</param>
            <param name="sd">The security descriptor to display.</param>
            <param name="type">The NT type of the object.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.EditSecurity(System.IntPtr,System.String,NtApiDotNet.SecurityDescriptor,System.Type,NtApiDotNet.AccessMask,NtApiDotNet.GenericMapping)">
            <summary>
            Display the edit security dialog.
            </summary>
            <param name="hwnd">Parent window handle.</param>
            <param name="name">The name of the object to display.</param>
            <param name="sd">The security descriptor to display.</param>
            <param name="access_type">An enumerated type for the access mask.</param>
            <param name="generic_mapping">Generic mapping for the access rights.</param>
            <param name="valid_access">Valid access mask for the access rights.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.DefineDosDevice(NtApiDotNet.Win32.DefineDosDeviceFlags,System.String,System.String)">
            <summary>
            Define a new DOS device.
            </summary>
            <param name="flags">The dos device flags.</param>
            <param name="device_name">The device name to define.</param>
            <param name="target_path">The target path.</param>
        </member>
        <member name="P:NtApiDotNet.Win32.Win32Utils.InvalidHandle">
            <summary>
            Get Windows INVALID_HANDLE_VALUE.
            </summary>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.ParseCommandLine(System.String)">
            <summary>
            Parse a command line into arguments.
            </summary>
            <param name="command_line">The parsed command line.</param>
            <returns>The list of arguments.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.GetImagePathFromCommandLine(System.String)">
            <summary>
            Get the image path from a command line.
            </summary>
            <param name="command_line">The command line to parse.</param>
            <returns>The image path, returns the original command line if can't find a valid image path.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.GetWin32PathName(NtApiDotNet.NtFile,NtApiDotNet.Win32.Win32PathNameFlags,System.Boolean)">
            <summary>
            Get Win32 path name for a file.
            </summary>
            <param name="file">The file to get the path from.</param>
            <param name="flags">Flags for the path to return.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The win32 path.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.GetWin32PathName(NtApiDotNet.NtFile,NtApiDotNet.Win32.Win32PathNameFlags)">
            <summary>
            Get Win32 path name for a file.
            </summary>
            <param name="file">The file to get the path from.</param>
            <param name="flags">Flags for the path to return.</param>
            <returns>The win32 path.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.FormatMessage(NtApiDotNet.Win32.SafeLoadLibraryHandle,System.UInt32)">
            <summary>
            Format a message.
            </summary>
            <param name="module">The module containing the message.</param>
            <param name="message_id">The ID of the message.</param>
            <returns>The message. Empty string on error.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.FormatMessage(System.UInt32)">
            <summary>
            Format a message.
            </summary>
            <param name="message_id">The ID of the message.</param>
            <returns>The message. Empty string on error.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.CreateFile(System.String,NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.SecurityDescriptor,System.Boolean,NtApiDotNet.Win32.CreateFileDisposition,NtApiDotNet.Win32.CreateFileFlagsAndAttributes,NtApiDotNet.NtFile,System.Boolean)">
            <summary>
            Open a file with the Win32 CreateFile API.
            </summary>
            <param name="filename">The filename to open.</param>
            <param name="desired_access">The desired access.</param>
            <param name="share_mode">The share mode.</param>
            <param name="security_descriptor">Optional security descriptor.</param>
            <param name="inherit_handle">True to set the handle as inheritable.</param>
            <param name="creation_disposition">Creation disposition.</param>
            <param name="flags_and_attributes">Flags and attributes.</param>
            <param name="template_file">Optional template file.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened file handle.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.CreateFile(System.String,NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.SecurityDescriptor,System.Boolean,NtApiDotNet.Win32.CreateFileDisposition,NtApiDotNet.Win32.CreateFileFlagsAndAttributes,NtApiDotNet.NtFile)">
            <summary>
            Open a file with the Win32 CreateFile API.
            </summary>
            <param name="filename">The filename to open.</param>
            <param name="desired_access">The desired access.</param>
            <param name="share_mode">The share mode.</param>
            <param name="security_descriptor">Optional security descriptor.</param>
            <param name="inherit_handle">True to set the handle as inheritable.</param>
            <param name="creation_disposition">Creation disposition.</param>
            <param name="flags_and_attributes">Flags and attributes.</param>
            <param name="template_file">Optional template file.</param>
            <returns>The opened file handle.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.CreateFile(System.String,NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.Win32.CreateFileDisposition,NtApiDotNet.Win32.CreateFileFlagsAndAttributes,System.Boolean)">
            <summary>
            Open a file with the Win32 CreateFile API.
            </summary>
            <param name="filename">The filename to open.</param>
            <param name="desired_access">The desired access.</param>
            <param name="share_mode">The share mode.</param>
            <param name="creation_disposition">Creation disposition.</param>
            <param name="flags_and_attributes">Flags and attributes.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The opened file handle.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.CreateFile(System.String,NtApiDotNet.FileAccessRights,NtApiDotNet.FileShareMode,NtApiDotNet.Win32.CreateFileDisposition,NtApiDotNet.Win32.CreateFileFlagsAndAttributes)">
            <summary>
            Open a file with the Win32 CreateFile API.
            </summary>
            <param name="filename">The filename to open.</param>
            <param name="desired_access">The desired access.</param>
            <param name="share_mode">The share mode.</param>
            <param name="creation_disposition">Creation disposition.</param>
            <param name="flags_and_attributes">Flags and attributes.</param>
            <returns>The opened file handle.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.SendKeyDown(NtApiDotNet.Win32.VirtualKey[])">
            <summary>
            Send key down events.
            </summary>
            <param name="key_codes">The key codes to send.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.SendKeyUp(NtApiDotNet.Win32.VirtualKey[])">
            <summary>
            Send key down events.
            </summary>
            <param name="key_codes">The key codes to send.</param>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.SendKeys(NtApiDotNet.Win32.VirtualKey[])">
            <summary>
            Send key down then up events.
            </summary>
            <param name="key_codes">The key codes to send.</param>
            <remarks>This will send all keys down first, then all up.</remarks>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.CreateWindowStation(System.String)">
            <summary>
            This creates a Window Station using the User32 API.
            </summary>
            <param name="name">The name of the Window Station.</param>
            <returns>The Window Station.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.CreateRemoteThread(NtApiDotNet.NtProcess,NtApiDotNet.SecurityDescriptor,System.Boolean,System.Int64,System.Int64,System.Int64,NtApiDotNet.Win32.CreateThreadFlags,System.Boolean)">
            <summary>
            Create a remote thread.
            </summary>
            <param name="process">The process to create the thread in.</param>
            <param name="security_descriptor">The thread security descriptor.</param>
            <param name="inherit_handle">Whether the handle should be inherited.</param>
            <param name="stack_size">The size of the stack. 0 for default.</param>
            <param name="start_address">Start address for the thread.</param>
            <param name="parameter">Parameter to pass to the thread.</param>
            <param name="flags">The flags for the thread creation.</param>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The created thread.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.CreateRemoteThread(NtApiDotNet.NtProcess,NtApiDotNet.SecurityDescriptor,System.Boolean,System.Int64,System.Int64,System.Int64,NtApiDotNet.Win32.CreateThreadFlags)">
            <summary>
            Create a remote thread.
            </summary>
            <param name="process">The process to create the thread in.</param>
            <param name="security_descriptor">The thread security descriptor.</param>
            <param name="inherit_handle">Whether the handle should be inherited.</param>
            <param name="stack_size">The size of the stack. 0 for default.</param>
            <param name="start_address">Start address for the thread.</param>
            <param name="parameter">Parameter to pass to the thread.</param>
            <param name="flags">The flags for the thread creation.</param>
            <returns>The created thread.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.CreateRemoteThread(NtApiDotNet.NtProcess,System.Int64,System.Int64,NtApiDotNet.Win32.CreateThreadFlags)">
            <summary>
            Create a remote thread.
            </summary>
            <param name="process">The process to create the thread in.</param>
            <param name="start_address">Start address for the thread.</param>
            <param name="parameter">Parameter to pass to the thread.</param>
            <param name="flags">The flags for the thread creation.</param>
            <returns>The created thread.</returns>
            <exception cref="T:NtApiDotNet.NtException">Thrown on error.</exception>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.GetConsoleSessions(System.Boolean)">
            <summary>
            Get a list of all console sessions.
            </summary>
            <param name="throw_on_error">True to throw on error.</param>
            <returns>The list of console sessions.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.GetConsoleSessions">
            <summary>
            Get a list of all console sessions.
            </summary>
            <returns>The list of console sessions.</returns>
        </member>
        <member name="M:NtApiDotNet.Win32.Win32Utils.WriteDebugString(System.String)">
            <summary>
            Write debug string to output.
            </summary>
            <param name="debug_str">The debug string to write.</param>
        </member>
    </members>
</doc>
