1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212
|
<?xml version="1.0" encoding="utf-8"?>
<Type Name="CompressedStack" FullName="System.Threading.CompressedStack">
<TypeSignature Language="C#" Value="public sealed class CompressedStack : System.Runtime.Serialization.ISerializable" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi serializable sealed beforefieldinit CompressedStack extends System.Object implements class System.Runtime.Serialization.ISerializable" />
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>System.Runtime.Serialization.ISerializable</InterfaceName>
</Interface>
</Interfaces>
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The compressed stack is a compact representation of all the code access security information on the call stack, such as <see cref="M:System.Security.CodeAccessPermission.Deny" /> and <see cref="M:System.Security.CodeAccessPermission.Assert" /> actions. For example, if a <see cref="M:System.Security.CodeAccessPermission.Deny" /> action is two stack frames up from the current frame and there are no other code access security annotations between there and the current frame, the compressed stack records only that information, without having to serialize the entire call stack. </para>
<para>The <see cref="T:System.Threading.CompressedStack" /> class is used internally by the <see cref="T:System.Security.SecurityContext" /> class. For example, the <see cref="M:System.Security.SecurityContext.Capture" /> method captures the compressed stack for the current call stack, along with impersonation and culture information. The <see cref="T:System.Security.SecurityContext" /> class is used in turn by the <see cref="T:System.Threading.ExecutionContext" /> class to flow context across threads, for example when scheduling thread pool tasks.</para>
<para>This class is not used in ordinary application programming.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Provides methods for setting and capturing the compressed stack on the current thread. This class cannot be inherited. </para>
</summary>
</Docs>
<Members>
<Member MemberName="Capture">
<MemberSignature Language="C#" Value="public static System.Threading.CompressedStack Capture ();" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Threading.CompressedStack Capture() cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Threading.CompressedStack</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<since version=".NET 2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Captures all the code access security information on the call stack, such as <see cref="M:System.Security.CodeAccessPermission.Deny" /> and <see cref="M:System.Security.CodeAccessPermission.Assert" /> actions, in a compressed format. For example, if a <see cref="M:System.Security.CodeAccessPermission.Deny" /> action is two stack frames up from the current frame and there are no other code access security annotations between there and the current frame, the compressed stack records only that information, without having to serialize the entire call stack. </para>
<para>The captured compressed stack can be applied to another thread. </para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Captures the compressed stack from the current thread.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A <see cref="T:System.Threading.CompressedStack" /> object.</para>
</returns>
</Docs>
</Member>
<Member MemberName="CreateCopy">
<MemberSignature Language="C#" Value="public System.Threading.CompressedStack CreateCopy ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Threading.CompressedStack CreateCopy() cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.Runtime.InteropServices.ComVisible(false)</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Threading.CompressedStack</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<since version=".NET 2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>This method is useful for creating a copy of the current compressed stack to apply to another thread.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Creates a copy of the current compressed stack.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A <see cref="T:System.Threading.CompressedStack" /> object representing the current compressed stack.</para>
</returns>
</Docs>
</Member>
<Member MemberName="GetCompressedStack">
<MemberSignature Language="C#" Value="public static System.Threading.CompressedStack GetCompressedStack ();" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Threading.CompressedStack GetCompressedStack() cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.Security.SecurityCritical</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Threading.CompressedStack</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>If security is enabled, the current compressed stack is returned. If security is disabled, <see cref="M:System.Threading.CompressedStack.GetCompressedStack" /> returns an empty <see cref="T:System.Threading.CompressedStack" /> object.</para>
<block subset="none" type="note">
<para>This method uses <see cref="F:System.Security.Permissions.SecurityAction.LinkDemand" /> to prevent it from being called from untrusted code; only the immediate caller is required to have <see cref="P:System.Security.Permissions.SecurityPermissionAttribute.UnmanagedCode" /> permission. For important limitations on using the LinkDemand member, see <format type="text/html"><a href="1ab877f2-70f4-4e0d-8116-943999dfe8f5">Demand vs. LinkDemand</a></format>.</para>
</block>
<block subset="none" type="note">
<para>This member also makes a link demand for the ECMA public key, which is not a valid cryptographic key but a pseudo key. Within the .NET Framework the link demand for the ECMA pseudo key is automatically converted to a link demand for the Microsoft public key. The security exception is based on the Microsoft public key, not the ECMA pseudo key.</para>
</block>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Gets the compressed stack for the current thread.</para>
</summary>
<returns>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>A <see cref="T:System.Threading.CompressedStack" /> for the current thread.</para>
</returns>
</Docs>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</Member>
<Member MemberName="GetObjectData">
<MemberSignature Language="C#" Value="public void GetObjectData (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void GetObjectData(class System.Runtime.Serialization.SerializationInfo info, valuetype System.Runtime.Serialization.StreamingContext context) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.Security.SecurityCritical</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="info" Type="System.Runtime.Serialization.SerializationInfo" />
<Parameter Name="context" Type="System.Runtime.Serialization.StreamingContext" />
</Parameters>
<Docs>
<since version=".NET 2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>
<see cref="M:System.Threading.CompressedStack.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)" /> sets a <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with the logical call context information. During deserialization, the execution context object is reconstituted from the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> transmitted over the stream.</para>
<para>For more information, see <see cref="T:System.Runtime.Serialization.SerializationInfo" />.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> object with the logical context information needed to recreate an instance of this execution context.</para>
</summary>
<param name="info">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> object to be populated with serialization information. </param>
<param name="context">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Runtime.Serialization.StreamingContext" /> structure representing the destination context of the serialization. </param>
</Docs>
</Member>
<Member MemberName="Run">
<MemberSignature Language="C#" Value="public static void Run (System.Threading.CompressedStack compressedStack, System.Threading.ContextCallback callback, object state);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig void Run(class System.Threading.CompressedStack compressedStack, class System.Threading.ContextCallback callback, object state) cil managed" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName>System.Security.SecurityCritical</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="compressedStack" Type="System.Threading.CompressedStack" />
<Parameter Name="callback" Type="System.Threading.ContextCallback" />
<Parameter Name="state" Type="System.Object" />
</Parameters>
<Docs>
<since version=".NET 2.0" />
<remarks>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>The compressed stack is returned to its previous state when the method completes.</para>
</remarks>
<summary>
<attribution license="cc4" from="Microsoft" modified="false" />
<para>Runs a method in the specified compressed stack on the current thread.</para>
</summary>
<param name="compressedStack">
<attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Threading.CompressedStack" /> to set.</param>
<param name="callback">
<attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.Threading.ContextCallback" /> that represents the method to be run in the specified security context.</param>
<param name="state">
<attribution license="cc4" from="Microsoft" modified="false" />The object to be passed to the callback method.</param>
</Docs>
</Member>
</Members>
</Type>
|