<Type Name="CapiContext" FullName="Mono.Security.Cryptography.CapiContext">
  <TypeSignature Language="C#" Value="public class CapiContext : IDisposable" Maintainer="auto" />
  <AssemblyInfo>
    <AssemblyName>Mono.Security.Win32</AssemblyName>
    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 79 15 99 77 D2 D0 3A 8E 6B EA 7A 2E 74 E8 D1 AF CC 93 E8 85 19 74 95 2B B4 80 A1 2C 91 34 47 4D 04 06 24 47 C3 7E 0E 68 C0 80 53 6F CF 3C 3F BE 2F F9 C9 79 CE 99 84 75 E5 06 E8 CE 82 DD 5B 0F 35 0D C1 0E 93 BF 2E EE CF 87 4B 24 77 0C 50 81 DB EA 74 47 FD DA FA 27 7B 22 DE 47 D6 FF EA 44 96 74 A4 F9 FC CF 84 D1 50 69 08 93 80 28 4D BD D3 5F 46 CD FF 12 A1 BD 78 E4 EF 00 65 D0 16 DF]</AssemblyPublicKey>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyCulture>neutral</AssemblyCulture>
    <Attributes>
      <Attribute>
        <AttributeName>System.Security.Permissions.SecurityPermissionAttribute</AttributeName>
      </Attribute>
      <Attribute>
        <AttributeName>System.Resources.NeutralResourcesLanguageAttribute</AttributeName>
      </Attribute>
      <Attribute>
        <AttributeName>System.Runtime.InteropServices.ComVisibleAttribute</AttributeName>
      </Attribute>
      <Attribute>
        <AttributeName>System.CLSCompliantAttribute</AttributeName>
      </Attribute>
      <Attribute>
        <AttributeName>System.Resources.SatelliteContractVersionAttribute</AttributeName>
      </Attribute>
    </Attributes>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
  <Docs>
    <summary>This class encapsulate the access around the CryptoAPI handles to a CSP provider (HCRYPTPROV).
</summary>
    <remarks>This class is part of the Mono.Security.Win32.dll assembly. This assembly provides a managed wrapper aound the unmanaged CryptoAPI. As such the assembly will only work on Windows operating system providing CryptoAPI.</remarks>
  </Docs>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>System.IDisposable</InterfaceName>
    </Interface>
  </Interfaces>
  <Attributes />
  <Members>
    <Member MemberName="Finalize">
      <MemberSignature Language="C#" Value="protected override void Finalize ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Dispose">
      <MemberSignature Language="C#" Value="public virtual void Dispose ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Release the unmanaged resources held by the class.</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public CapiContext ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Return a context to the default Cryptographic Service Provider (CSP).</summary>
        <returns>a <see cref="T:Mono.Security.Cryptography.CapiContext" /></returns>
        <remarks>The capabilities of the default CSP can varies between operating system version and locations (e.g. US versus export).</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public CapiContext (System.Security.Cryptography.CspParameters csp);" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters>
        <Parameter Name="csp" Type="System.Security.Cryptography.CspParameters" />
      </Parameters>
      <Docs>
        <summary>Return a context to the specified Cryptographic Service Provider (CSP). </summary>
        <param name="csp">a <see cref="T:System.Security.Cryptography.CspParameters" /> which includes the informations required to select a specific CSP (name) or the default provider for a category of CSP (type).</param>
        <returns>a <see cref="T:Mono.Security.Cryptography.CapiContext" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Error">
      <MemberSignature Language="C#" Value="public int Error { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Return the error code of the last operation.</summary>
        <returns>a <see cref="T:System.Int32" /> representing the Win32 error code returned in the last operation (cryptographic or not).</returns>
        <remarks>This returns Win32's GetLastError result. So this will only be result of the last cryptographic operation is checked right after the operation (as further operation can change this value).</remarks>
      </Docs>
    </Member>
    <Member MemberName="Handle">
      <MemberSignature Language="C#" Value="public IntPtr Handle { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.IntPtr</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Return the HCRYPTPROV handle managed by the class.</summary>
        <returns>a <see cref="T:System.IntPtr" /> representing the CryptoAPI HCRYPTPROV handle.</returns>
        <remarks>This property is useful if you need to directly call some unmanaged CryptoAPI functions without managing yourself the context.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Result">
      <MemberSignature Language="C#" Value="public bool Result { get; };" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Return the result of the last cryptographic operation made using this context.</summary>
        <returns>a <see cref="T:System.Boolean" /> which is true if the last operation succeeded or false if the last operation failed.</returns>
        <remarks>You can't only trust the Error property to know the result of an operation. Some error codes are warnings or even success codes in special circumstances.</remarks>
      </Docs>
    </Member>
  </Members>
</Type>