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 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371
|
<Type Name="IPermission" FullName="System.Security.IPermission" FullNameSP="System_Security_IPermission" Maintainer="ecma">
<TypeSignature Language="ILASM" Value=".class interface public abstract IPermission" />
<TypeSignature Language="C#" Value="public interface IPermission : System.Security.ISecurityEncodable" />
<MemberOfLibrary>BCL</MemberOfLibrary>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Docs>
<summary>
<para> Defines methods implemented by permission types. </para>
</summary>
<remarks>
<block subset="none" type="note">
<para>Permission types describe a level of access to secured
operations or resources, such as files or environment variables. Permission instances do not confer the right to
access a resource or perform an operation; the security system determines whether or not requested permissions
are granted. Permissions are used by both application code and the security system in the
following ways:</para>
<list type="bullet">
<item>
<term>
Code requests the permissions it needs in order to
run.</term>
</item>
<item>
<term>
Permissions are granted by the security system.</term>
</item>
<item>
<term>
Code demands that calling code has a permission.</term>
</item>
<item>
<term>
Code
alters the default behavior
of the security system by asserting or denying
permissions.</term>
</item>
</list>
</block>
</remarks>
</Docs>
<Members>
<Member MemberName="Copy">
<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Security.IPermission Copy()" />
<MemberSignature Language="C#" Value="public System.Security.IPermission Copy ();" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Security.IPermission</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>
<para>Returns a <see cref="T:System.Security.IPermission" /> object of the same type and containing the same
values as the current instance.</para>
</summary>
<returns>
<para>A new <see cref="T:System.Security.IPermission" /> object of the same type and containing the same
values as the current instance.</para>
</returns>
<remarks>
<para>
<block subset="none" type="behaviors">The object returned by
this method is required to be a deep copy of the current instance; any objects
referenced by the current instance are duplicated in the copy.</block>
</para>
<para>
<block subset="none" type="overrides">Implement this
method to provide the system with a means of duplicating permission objects.</block>
</para>
<para>
<block subset="none" type="usage">Use
this method to obtain a copy of the current instance that is identical to the current instance.</block>
</para>
</remarks>
</Docs>
<Excluded>0</Excluded>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="Demand">
<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract void Demand()" />
<MemberSignature Language="C#" Value="public void Demand ();" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>
<para>Forces a <see cref="T:System.Security.SecurityException" /> if all callers do not have the permission
specified by the current instance.</para>
</summary>
<remarks>
<para>The permission check for <see cref="M:System.Security.IPermission.Demand" /> begins with the immediate caller
of the code that calls this method and continues until all callers have been
checked or a caller has been found that is not granted the demanded permission,
in which case a <see cref="T:System.Security.SecurityException" /> exception is thrown. </para>
<para>
<block subset="none" type="behaviors">Notifies the
system that a security check is required for all callers of the method that
invokes <see cref="M:System.Security.IPermission.Demand" />. All callers are required to have the permissions
described by the current instance. If one of the callers asserts the
permissions and that caller has the permissions, the system is required to allow
all callers that have not been checked to bypass the security check. If the
security check fails, a <see cref="T:System.Security.SecurityException" /> is thrown by the system.</block>
</para>
<para>
<block subset="none" type="usage">Use this method to
ensure that callers that call the method containing a <see cref="M:System.Security.IPermission.Demand" />
call have the
permissions described by the current instance.</block>
</para>
</remarks>
<exception cref="T:System.Security.SecurityException">
<para> A caller does not have the permission specified by the current instance.</para>
</exception>
</Docs>
<Excluded>0</Excluded>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="Intersect">
<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Security.IPermission Intersect(class System.Security.IPermission target)" />
<MemberSignature Language="C#" Value="public System.Security.IPermission Intersect (System.Security.IPermission target);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Security.IPermission</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="target" Type="System.Security.IPermission" />
</Parameters>
<Docs>
<param name="target">An object of the same type as the current instance to intersect with the current instance.</param>
<summary>
<para> Returns an
object that is the intersection of the current instance and the
specified <see cref="T:System.Security.IPermission" />
object. </para>
</summary>
<returns>
<para> A new <see cref="T:System.Security.IPermission" /> object that is the same type as
the current instance and represents the intersection of the
current instance and <paramref name="target" />. If the intersection is empty, or <paramref name="target" />
is <see langword="null" />, returns <see langword="null" />.</para>
</returns>
<remarks>
<para>The object returns by <see cref="M:System.Security.IPermission.Intersect(System.Security.IPermission)" /> is a permission that secures the resources and
operations secured by two <see cref="T:System.Security.IPermission" />
objects: a demand passes the
intersection of two objects only if it passes both of the objects.</para>
<block subset="none" type="behaviors">
<para>If <paramref name="target" /> is not <see langword="null" /> and is not of the same type as
the current instance, a <see cref="T:System.ArgumentException" /> exception is required to be thrown.</para>
<para> The following statements are required to be true for all
implementations of the <see cref="M:System.Security.IPermission.Intersect(System.Security.IPermission)" /> method. <paramref name="X" /> and
<paramref name="Y" />
represent non-null <see cref="T:System.Security.IPermission" /> object
references.</para>
<list type="bullet">
<item>
<term>
<paramref name="X" />.Intersect(<paramref name="X" />) returns a value
equal to <paramref name="X" />.</term>
</item>
<item>
<term>
<paramref name="X" />.Intersect(<paramref name="Y" />) returns the same
value as <paramref name="Y" />.Intersect(<paramref name="X" />).</term>
</item>
<item>
<term>
<paramref name="X" />.Intersect(<see langword="null" />) returns
<see langword="null" />
.</term>
</item>
</list>
</block>
<para>
<block subset="none" type="usage">Use this method to obtain the set of permissions that are
described both by the current instance and the specified
object.</block>
</para>
</remarks>
<exception cref="T:System.ArgumentException">
<paramref name="target" /> is not <see langword="null" /> and is not of the same type as the current instance.</exception>
</Docs>
<Excluded>0</Excluded>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="IsSubsetOf">
<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract bool IsSubsetOf(class System.Security.IPermission target)" />
<MemberSignature Language="C#" Value="public bool IsSubsetOf (System.Security.IPermission target);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="target" Type="System.Security.IPermission" />
</Parameters>
<Docs>
<param name="target">A <see cref="T:System.Security.IPermission" /> object of the same type as the current instance that is to be tested for the subset relationship.</param>
<summary>
<para>Determines whether the current instance is a subset of
the specified object.</para>
</summary>
<returns>
<para>
<see langword="true" /> if the current instance is a subset of <paramref name="target" /> ;
otherwise,<see langword=" false" />. If the current instance is unrestricted, and
<paramref name="target" /> is not, returns <see langword="false" />. If <paramref name="target" /> is
unrestricted, returns <see langword="true" />. If target is
<see langword="null" /> and the current instance does not secure any resources or
operations, returns <see langword="true" />. If target is <see langword="null" />
and the current instance secures one or more resources or operations, returns
<see langword="false" />
.</para>
</returns>
<remarks>
<para>The current instance is a subset of <paramref name="target" /> if the current instance
specifies a set of accesses to resources or operations that is wholly contained
by <paramref name="target" />. For example, a permission that represents read access to a
file is a subset of a permission that represents read and write access to the
file. </para>
<block subset="none" type="behaviors">
<para> If <paramref name="target" /> is not
<see langword="null" /> and is not of the same type
as the current instance, a <see cref="T:System.ArgumentException" /> exception is
required to be thrown.</para>
<para> The following statements are required to be true for all
implementations of the <see cref="M:System.Security.IPermission.IsSubsetOf(System.Security.IPermission)" /> method. <paramref name="X" />, <paramref name="Y" />, and
<paramref name="Z" />
represent non-null <see cref="T:System.Security.IPermission" /> objects.</para>
<list type="bullet">
<item>
<term>
<paramref name="X" />.IsSubsetOf(<paramref name="X" />
) returns <see langword="true" />.</term>
</item>
<item>
<term>
<paramref name="X" />.IsSubsetOf(<paramref name="Y" />) returns the same
value as <paramref name="Y" />.IsSubsetOf(<paramref name="X" />) if and only if <paramref name="X" /> and
<paramref name="Y" />
represent the same set of permissions.</term>
</item>
<item>
<term>
if <paramref name="X" />.IsSubsetOf(<paramref name="Y" />) and
<paramref name="Y" />.IsSubsetOf(<paramref name="Z" />
) both return
<see langword="true" />, <paramref name="X" />.IsSubsetOf(<paramref name="Z" /> ) returns
<see langword="true" />.</term>
</item>
</list>
</block>
<para>
<block subset="none" type="usage">Use this method to determine if the
permissions described by the current instance are also described by the
specified object.</block>
</para>
</remarks>
<exception cref="T:System.ArgumentException">
<paramref name="target" /> is not <see langword="null" /> and is not of the same type as the current instance. </exception>
</Docs>
<Excluded>0</Excluded>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
<Member MemberName="Union">
<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Security.IPermission Union(class System.Security.IPermission target)" />
<MemberSignature Language="C#" Value="public System.Security.IPermission Union (System.Security.IPermission target);" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Security.IPermission</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="target" Type="System.Security.IPermission" />
</Parameters>
<Docs>
<param name="target">A <see cref="T:System.Security.IPermission" /> object of the same type as the current instance to combine with the current instance. </param>
<summary>
<para> Returns an object that is the union of the
current instance and the specified
object.</para>
</summary>
<returns>
<para> A new <see cref="T:System.Security.IPermission" /> object of the same type as the current
instance that represents the
union of the current instance and <paramref name="target" />.</para>
</returns>
<remarks>
<para>The object returned by <see cref="M:System.Security.IPermission.Union(System.Security.IPermission)" /> is a permission that represents the
permissions described by the current instance and those described by
<paramref name="target" /> . Any demand that passes either the current instance or
<paramref name="target" /> is required to pass the union of the two.</para>
<block subset="none" type="behaviors">
<para>If <paramref name="target" /> is not <see langword="null" /> and is not of the same type as
the current instance, a <see cref="T:System.ArgumentException" /> exception is required to be thrown.</para>
<para> The following statements are required to be true for all
implementations of the <see cref="M:System.Security.IPermission.Union(System.Security.IPermission)" /> method. <paramref name="X" /> and <paramref name="Y" />
represent non-null <see cref="T:System.Security.IPermission" /> objects.</para>
<list type="bullet">
<item>
<term>
<paramref name="X" />.Union(<paramref name="X" />) returns an object that
is value-equal to <paramref name="X" />.</term>
</item>
<item>
<term>
<paramref name="X" />.Union(<paramref name="Y" />) returns an object that
is value-equal to the object returned by <paramref name="Y" />.Union(<paramref name="X" />).</term>
</item>
<item>
<term>
<paramref name="X" />.Union(<see langword="null" />) returns an
object that is value-equal to <paramref name="X" />
.</term>
</item>
</list>
</block>
<para>
<block subset="none" type="usage">Use this
method to obtain a <see cref="T:System.Security.IPermission" /> object of the same type as the current instance
and <paramref name="target" /> that describes the permissions described by the current
instance and those described by <paramref name="target" />.</block>
</para>
</remarks>
<exception cref="T:System.ArgumentException">
<paramref name="target" /> is not <see langword="null" /> and is not of the same type as the current instance. </exception>
</Docs>
<Excluded>0</Excluded>
<AssemblyInfo>
<AssemblyVersion>1.0.5000.0</AssemblyVersion>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
</AssemblyInfo>
</Member>
</Members>
<TypeExcluded>0</TypeExcluded>
<Interfaces>
<Interface>
<InterfaceName>System.Security.ISecurityEncodable</InterfaceName>
</Interface>
</Interfaces>
<Attributes>
<Attribute>
<AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName>
</Attribute>
</Attributes>
</Type>
|