public static extern bool CryptUIDlgViewContext(
     [In] uint dwContextType,
     [In] CrlContextHandle pvContext,
     [In] IntPtr hwnd,
     [In, MarshalAs(UnmanagedType.LPWStr)] string pwszTitle,
     [In] uint dwFlags,
     [In] IntPtr pvReserved);
 /// <summary>
 /// Initializes a new instance of the <see cref="CertificateRevocationList"/> class.
 /// </summary>
 /// <param name="handle">The handle.</param>
 /// <exception cref="System.ArgumentException">Invalid Handle</exception>
 public CertificateRevocationList(IntPtr handle) : this()
 {
     if (handle == IntPtr.Zero) throw new ArgumentException("Invalid Handle");
     safeHandle = NativeMethods.CertDuplicateCRLContext(handle);
 }
 public static extern bool CertGetCRLContextProperty(
     [In] CrlContextHandle pCrlContext,
     [In] uint dwPropId,
     [In, Out] LocalAllocHandle pvData,
     [In, Out] ref uint pcbData);
 /// <summary>
 /// Initializes a new instance of the <see cref="CertificateRevocationList"/> class.
 /// </summary>
 public CertificateRevocationList() 
 {
     safeHandle = CrlContextHandle.InvalidHandle;
 }