internal static CAPIBase.CRYPT_OID_INFO CryptFindOIDInfo([In] uint dwKeyType, [In] IntPtr pvKey, [In] System.Security.Cryptography.OidGroup dwGroupId) { if (pvKey == IntPtr.Zero) { throw new ArgumentNullException("pvKey"); } CAPIBase.CRYPT_OID_INFO crypt_oid_info = new CAPIBase.CRYPT_OID_INFO(Marshal.SizeOf(typeof(CAPIBase.CRYPT_OID_INFO))); IntPtr ptr = CAPISafe.CryptFindOIDInfo(dwKeyType, pvKey, dwGroupId); if (ptr != IntPtr.Zero) { crypt_oid_info = (CAPIBase.CRYPT_OID_INFO)Marshal.PtrToStructure(ptr, typeof(CAPIBase.CRYPT_OID_INFO)); } return(crypt_oid_info); }
internal static CAPIBase.CRYPT_OID_INFO CryptFindOIDInfo([In] uint dwKeyType, [In] SafeLocalAllocHandle pvKey, [In] System.Security.Cryptography.OidGroup dwGroupId) { if (pvKey == null) { throw new ArgumentNullException("pvKey"); } if (pvKey.IsInvalid) { throw new CryptographicException(SR.GetString("Cryptography_InvalidHandle"), "pvKey"); } CAPIBase.CRYPT_OID_INFO crypt_oid_info = new CAPIBase.CRYPT_OID_INFO(Marshal.SizeOf(typeof(CAPIBase.CRYPT_OID_INFO))); IntPtr ptr = CAPISafe.CryptFindOIDInfo(dwKeyType, pvKey, dwGroupId); if (ptr != IntPtr.Zero) { crypt_oid_info = (CAPIBase.CRYPT_OID_INFO)Marshal.PtrToStructure(ptr, typeof(CAPIBase.CRYPT_OID_INFO)); } return(crypt_oid_info); }