146 references to Interop
System.Security.Cryptography.Pkcs (146)
_generated\0\LibraryImports.g.cs (73)
113
public static partial bool CryptSetProvParam(global::System.Runtime.InteropServices.SafeHandle safeProvHandle, global::
Interop
.Advapi32.CryptProvParam dwParam, nint pbData, int dwFlags)
146
static extern unsafe int __PInvoke(nint __safeProvHandle_native, global::
Interop
.Advapi32.CryptProvParam __dwParam_native, nint __pbData_native, int __dwFlags_native);
156
public static partial bool CryptSetProvParam(global::System.Security.Cryptography.SafeProvHandle hProv, global::
Interop
.Advapi32.CryptProvParam dwParam, ref nint pbData, int dwFlags)
191
static extern unsafe int __PInvoke(nint __hProv_native, global::
Interop
.Advapi32.CryptProvParam __dwParam_native, nint* __pbData_native, int __dwFlags_native);
201
public static partial bool CryptGetProvParam(global::System.Runtime.InteropServices.SafeHandle safeProvHandle, global::
Interop
.Advapi32.CryptProvParam dwParam, nint pbData, ref int dwDataLen, int dwFlags)
236
static extern unsafe int __PInvoke(nint __safeProvHandle_native, global::
Interop
.Advapi32.CryptProvParam __dwParam_native, nint __pbData_native, int* __dwDataLen_native, int __dwFlags_native);
324
internal static partial bool CertGetCertificateContextProperty(global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCertContext, global::
Interop
.Crypt32.CertContextPropId dwPropId, byte[] pvData, ref int pcbData)
360
static extern unsafe int __PInvoke(nint __pCertContext_native, global::
Interop
.Crypt32.CertContextPropId __dwPropId_native, byte* __pvData_native, int* __pcbData_native);
370
internal static unsafe partial bool CertGetCertificateContextPropertyPtr(global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCertContext, global::
Interop
.Crypt32.CertContextPropId dwPropId, byte* pvData, ref int pcbData)
405
static extern unsafe int __PInvoke(nint __pCertContext_native, global::
Interop
.Crypt32.CertContextPropId __dwPropId_native, byte* __pvData_native, int* __pcbData_native);
415
internal static partial bool CertGetCertificateContextProperty(global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCertContext, global::
Interop
.Crypt32.CertContextPropId dwPropId, out nint pvData, ref int pcbData)
452
static extern unsafe int __PInvoke(nint __pCertContext_native, global::
Interop
.Crypt32.CertContextPropId __dwPropId_native, nint* __pvData_native, int* __pcbData_native);
462
internal static partial bool CertGetCertificateContextProperty(global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCertContext, global::
Interop
.Crypt32.CertContextPropId dwPropId, out global::
Interop
.Crypt32.DATA_BLOB pvData, ref int pcbData)
477
fixed (global::
Interop
.Crypt32.DATA_BLOB* __pvData_native = &pvData)
499
static extern unsafe int __PInvoke(nint __pCertContext_native, global::
Interop
.Crypt32.CertContextPropId __dwPropId_native, global::
Interop
.Crypt32.DATA_BLOB* __pvData_native, int* __pcbData_native);
509
internal static partial int CertGetPublicKeyLength(global::
Interop
.Crypt32.MsgEncodingType dwCertEncodingType, ref global::
Interop
.Crypt32.CERT_PUBLIC_KEY_INFO pPublicKey)
514
fixed (global::
Interop
.Crypt32.CERT_PUBLIC_KEY_INFO* __pPublicKey_native = &pPublicKey)
525
static extern unsafe int __PInvoke(global::
Interop
.Crypt32.MsgEncodingType __dwCertEncodingType_native, global::
Interop
.Crypt32.CERT_PUBLIC_KEY_INFO* __pPublicKey_native);
559
internal static partial bool CryptAcquireCertificatePrivateKey(global::Microsoft.Win32.SafeHandles.SafeCertContextHandle pCert, global::
Interop
.Crypt32.CryptAcquireCertificatePrivateKeyFlags dwFlags, nint pvParameters, out nint phCryptProvOrNCryptKey, out global::
Interop
.Crypt32.CryptKeySpec pdwKeySpec, out bool pfCallerFreeProvOrNCryptKey)
576
fixed (global::
Interop
.Crypt32.CryptKeySpec* __pdwKeySpec_native = &pdwKeySpec)
600
static extern unsafe int __PInvoke(nint __pCert_native, global::
Interop
.Crypt32.CryptAcquireCertificatePrivateKeyFlags __dwFlags_native, nint __pvParameters_native, nint* __phCryptProvOrNCryptKey_native, global::
Interop
.Crypt32.CryptKeySpec* __pdwKeySpec_native, int* __pfCallerFreeProvOrNCryptKey_native);
610
private static unsafe partial bool CryptDecodeObject(global::
Interop
.Crypt32.MsgEncodingType dwCertEncodingType, nint lpszStructType, nint pbEncoded, int cbEncoded, int dwFlags, void* pvStructInfo, ref int pcbStructInfo)
629
static extern unsafe int __PInvoke(global::
Interop
.Crypt32.MsgEncodingType __dwCertEncodingType_native, nint __lpszStructType_native, nint __pbEncoded_native, int __cbEncoded_native, int __dwFlags_native, void* __pvStructInfo_native, int* __pcbStructInfo_native);
639
private static unsafe partial bool CryptEncodeObject(global::
Interop
.Crypt32.MsgEncodingType dwCertEncodingType, nint lpszStructType, void* pvStructInfo, byte[] pbEncoded, ref int pcbEncoded)
659
static extern unsafe int __PInvoke(global::
Interop
.Crypt32.MsgEncodingType __dwCertEncodingType_native, nint __lpszStructType_native, void* __pvStructInfo_native, byte* __pbEncoded_native, int* __pcbEncoded_native);
696
internal static partial bool CryptMsgControl(global::Microsoft.Win32.SafeHandles.SafeCryptMsgHandle hCryptMsg, int dwFlags, global::
Interop
.Crypt32.MsgControlType dwCtrlType, ref global::
Interop
.Crypt32.CMSG_CTRL_DECRYPT_PARA pvCtrlPara)
709
fixed (global::
Interop
.Crypt32.CMSG_CTRL_DECRYPT_PARA* __pvCtrlPara_native = &pvCtrlPara)
731
static extern unsafe int __PInvoke(nint __hCryptMsg_native, int __dwFlags_native, global::
Interop
.Crypt32.MsgControlType __dwCtrlType_native, global::
Interop
.Crypt32.CMSG_CTRL_DECRYPT_PARA* __pvCtrlPara_native);
741
internal static partial bool CryptMsgControl(global::Microsoft.Win32.SafeHandles.SafeCryptMsgHandle hCryptMsg, int dwFlags, global::
Interop
.Crypt32.MsgControlType dwCtrlType, ref global::
Interop
.Crypt32.CMSG_CTRL_KEY_AGREE_DECRYPT_PARA pvCtrlPara)
754
fixed (global::
Interop
.Crypt32.CMSG_CTRL_KEY_AGREE_DECRYPT_PARA* __pvCtrlPara_native = &pvCtrlPara)
776
static extern unsafe int __PInvoke(nint __hCryptMsg_native, int __dwFlags_native, global::
Interop
.Crypt32.MsgControlType __dwCtrlType_native, global::
Interop
.Crypt32.CMSG_CTRL_KEY_AGREE_DECRYPT_PARA* __pvCtrlPara_native);
786
internal static partial bool CryptMsgGetParam(global::Microsoft.Win32.SafeHandles.SafeCryptMsgHandle hCryptMsg, global::
Interop
.Crypt32.CryptMsgParamType dwParamType, int dwIndex, out int pvData, ref int pcbData)
823
static extern unsafe int __PInvoke(nint __hCryptMsg_native, global::
Interop
.Crypt32.CryptMsgParamType __dwParamType_native, int __dwIndex_native, int* __pvData_native, int* __pcbData_native);
833
internal static unsafe partial bool CryptMsgGetParam(global::Microsoft.Win32.SafeHandles.SafeCryptMsgHandle hCryptMsg, global::
Interop
.Crypt32.CryptMsgParamType dwParamType, int dwIndex, byte* pvData, ref int pcbData)
868
static extern unsafe int __PInvoke(nint __hCryptMsg_native, global::
Interop
.Crypt32.CryptMsgParamType __dwParamType_native, int __dwIndex_native, byte* __pvData_native, int* __pcbData_native);
878
internal static partial bool CryptMsgGetParam(global::Microsoft.Win32.SafeHandles.SafeCryptMsgHandle hCryptMsg, global::
Interop
.Crypt32.CryptMsgParamType dwParamType, int dwIndex, out global::
Interop
.Crypt32.CryptMsgType pvData, ref int pcbData)
893
fixed (global::
Interop
.Crypt32.CryptMsgType* __pvData_native = &pvData)
915
static extern unsafe int __PInvoke(nint __hCryptMsg_native, global::
Interop
.Crypt32.CryptMsgParamType __dwParamType_native, int __dwIndex_native, global::
Interop
.Crypt32.CryptMsgType* __pvData_native, int* __pcbData_native);
925
internal static partial bool CryptMsgGetParam(global::Microsoft.Win32.SafeHandles.SafeCryptMsgHandle hCryptMsg, global::
Interop
.Crypt32.CryptMsgParamType dwParamType, int dwIndex, nint pvData, ref int pcbData)
960
static extern unsafe int __PInvoke(nint __hCryptMsg_native, global::
Interop
.Crypt32.CryptMsgParamType __dwParamType_native, int __dwIndex_native, nint __pvData_native, int* __pcbData_native);
970
internal static partial global::Microsoft.Win32.SafeHandles.SafeCryptMsgHandle CryptMsgOpenToDecode(global::
Interop
.Crypt32.MsgEncodingType dwMsgEncodingType, int dwFlags, int dwMsgType, nint hCryptProv, nint pRecipientInfo, nint pStreamInfo)
1005
static extern unsafe nint __PInvoke(global::
Interop
.Crypt32.MsgEncodingType __dwMsgEncodingType_native, int __dwFlags_native, int __dwMsgType_native, nint __hCryptProv_native, nint __pRecipientInfo_native, nint __pStreamInfo_native);
1015
internal static unsafe partial global::Microsoft.Win32.SafeHandles.SafeCryptMsgHandle CryptMsgOpenToEncode(global::
Interop
.Crypt32.MsgEncodingType dwMsgEncodingType, int dwFlags, global::
Interop
.Crypt32.CryptMsgType dwMsgType, global::
Interop
.Crypt32.CMSG_ENVELOPED_ENCODE_INFO* pvMsgEncodeInfo, string pszInnerContentObjID, nint pStreamInfo)
1059
static extern unsafe nint __PInvoke(global::
Interop
.Crypt32.MsgEncodingType __dwMsgEncodingType_native, int __dwFlags_native, global::
Interop
.Crypt32.CryptMsgType __dwMsgType_native, global::
Interop
.Crypt32.CMSG_ENVELOPED_ENCODE_INFO* __pvMsgEncodeInfo_native, byte* __pszInnerContentObjID_native, nint __pStreamInfo_native);
1207
private static unsafe extern partial global::
Interop
.Crypt32.CRYPT_OID_INFO* CryptFindOIDInfo(global::
Interop
.Crypt32.CryptOidInfoKeyType dwKeyType, nint pvKey, global::System.Security.Cryptography.OidGroup group);
1248
internal static partial global::Microsoft.Win32.SafeHandles.SafeHeapAllocHandle HeapAlloc(nint hHeap, global::
Interop
.Kernel32.HeapAllocFlags dwFlags, nint dwBytes)
1279
static extern unsafe nint __PInvoke(nint __hHeap_native, global::
Interop
.Kernel32.HeapAllocFlags __dwFlags_native, nint __dwBytes_native);
1289
internal static partial bool HeapFree(nint hHeap, global::
Interop
.Kernel32.HeapAllocFlags dwFlags, nint lpMem)
1302
static extern unsafe int __PInvoke(nint __hHeap_native, global::
Interop
.Kernel32.HeapAllocFlags __dwFlags_native, nint __lpMem_native);
1312
internal static unsafe partial global::
Interop
.NCrypt.ErrorCode NCryptGetProperty(global::Microsoft.Win32.SafeHandles.SafeNCryptHandle hObject, string pszProperty, void* pbOutput, int cbOutput, out int pcbResult, global::System.Security.Cryptography.CngPropertyOptions dwFlags)
1316
global::
Interop
.NCrypt.ErrorCode __retVal = default;
1341
static extern unsafe global::
Interop
.NCrypt.ErrorCode __PInvoke(nint __hObject_native, ushort* __pszProperty_native, void* __pbOutput_native, int __cbOutput_native, int* __pcbResult_native, global::System.Security.Cryptography.CngPropertyOptions __dwFlags_native);
1351
internal static unsafe partial global::
Interop
.NCrypt.ErrorCode NCryptSetProperty(global::Microsoft.Win32.SafeHandles.SafeNCryptHandle hObject, string pszProperty, void* pbInput, int cbInput, global::System.Security.Cryptography.CngPropertyOptions dwFlags)
1354
global::
Interop
.NCrypt.ErrorCode __retVal = default;
1378
static extern unsafe global::
Interop
.NCrypt.ErrorCode __PInvoke(nint __hObject_native, ushort* __pszProperty_native, void* __pbInput_native, int __cbInput_native, global::System.Security.Cryptography.CngPropertyOptions __dwFlags_native);
1387
internal static extern partial global::
Interop
.NCrypt.ErrorCode NCryptFreeObject(nint hObject);
Internal\Cryptography\Pal\Windows\DecryptorPalWindows.Decode.cs (3)
13
using static
Interop
.Crypt32;
31
hCryptMsg =
Interop
.Crypt32.CryptMsgOpenToDecode(MsgEncodingType.All, 0, 0, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero);
35
if (!
Interop
.Crypt32.CryptMsgUpdate(
Internal\Cryptography\Pal\Windows\DecryptorPalWindows.DecodeRecipients.cs (2)
11
using static
Interop
.Crypt32;
21
if (!
Interop
.Crypt32.CryptMsgGetParam(hCryptMsg, CryptMsgParamType.CMSG_CMS_RECIPIENT_COUNT_PARAM, 0, out numRecipients, ref cbRecipientsCount))
Internal\Cryptography\Pal\Windows\DecryptorPalWindows.Decrypt.cs (6)
13
using static
Interop
.Crypt32;
128
if (
Interop
.Crypt32.CertGetCertificateContextProperty(
138
if (!
Interop
.Crypt32.CertGetCertificateContextProperty(hCertContext, CertContextPropId.CERT_KEY_PROV_INFO_PROP_ID, null, ref cbSize))
150
if (!
Interop
.Crypt32.CertGetCertificateContextProperty(hCertContext, CertContextPropId.CERT_KEY_PROV_INFO_PROP_ID, pData, ref cbSize))
180
bool success =
Interop
.Crypt32.CryptMsgControl(_hCryptMsg, 0, MsgControlType.CMSG_CTRL_DECRYPT, ref decryptPara);
262
if (!
Interop
.Crypt32.CryptMsgControl(_hCryptMsg, 0, MsgControlType.CMSG_CTRL_KEY_AGREE_DECRYPT, ref decryptPara))
Internal\Cryptography\Pal\Windows\HelpersWindows.cs (23)
14
using static
Interop
.Crypt32;
15
using CryptProvParam =
Interop
.Advapi32.CryptProvParam;
36
if (!
Interop
.Crypt32.CryptMsgGetParam(hCryptMsg, paramType, index, IntPtr.Zero, ref cbData))
42
if (!
Interop
.Crypt32.CryptMsgGetParam(hCryptMsg, paramType, index, pvData, ref cbData))
53
if (!
Interop
.Crypt32.CryptMsgGetParam(hCryptMsg, paramType, index, IntPtr.Zero, ref cbData))
59
if (!
Interop
.Crypt32.CryptMsgGetParam(hCryptMsg, paramType, index, pvData.DangerousGetHandle(), ref cbData))
84
if (!
Interop
.Crypt32.CryptMsgGetParam(hCryptMsg, CryptMsgParamType.CMSG_TYPE_PARAM, 0, out cryptMsgType, ref cbData))
93
if (!
Interop
.Crypt32.CryptMsgGetParam(hCryptMsg, CryptMsgParamType.CMSG_VERSION_PARAM, 0, out version, ref cbData))
128
if (!
Interop
.Crypt32.CryptMsgGetParam(hCryptMsg, CryptMsgParamType.CMSG_CERT_COUNT_PARAM, 0, out numCertificates, ref cbNumCertificates))
145
CRYPT_OID_INFO info =
Interop
.Crypt32.FindOidInfo(CryptOidInfoKeyType.CRYPT_OID_INFO_OID_KEY, oidValue, OidGroup.All, false);
152
pCertContext =
Interop
.Crypt32.CertDuplicateCertificateContext(pCertContext);
161
if (!
Interop
.Crypt32.CertGetCertificateContextProperty(hCertContext, CertContextPropId.CERT_KEY_IDENTIFIER_PROP_ID, null, ref cbData))
165
if (!
Interop
.Crypt32.CertGetCertificateContextProperty(hCertContext, CertContextPropId.CERT_KEY_IDENTIFIER_PROP_ID, ski, ref cbData))
184
int nc =
Interop
.Crypt32.CertNameToStr((int)MsgEncodingType.All, dataBlobPtr, dwStrType, null, 0);
193
nc =
Interop
.Crypt32.CertNameToStr((int)MsgEncodingType.All, dataBlobPtr, dwStrType, namePtr, nc);
243
int keyLength =
Interop
.Crypt32.CertGetPublicKeyLength(MsgEncodingType.All, ref publicKeyInfo);
272
if (!
Interop
.Crypt32.CryptDecodeObject(CryptDecodeObjectStructType.PKCS_RC2_CBC_PARAMETERS, cryptAlgorithmIdentifier.Parameters.pbData, (int)(cryptAlgorithmIdentifier.Parameters.cbData), &rc2Parameters, ref cbSize))
293
using (SafeHandle sh =
Interop
.Crypt32.CryptDecodeObjectToMemory(CryptDecodeObjectStructType.X509_OCTET_STRING, cryptAlgorithmIdentifier.Parameters.pbData, (int)cryptAlgorithmIdentifier.Parameters.cbData))
340
if (!
Interop
.Crypt32.CryptMsgGetParam(hCryptMsg, CryptMsgParamType.CMSG_UNPROTECTED_ATTR_PARAM, 0, IntPtr.Zero, ref cbUnprotectedAttr))
377
if (!
Interop
.Advapi32.CryptGetProvParam(handle, CryptProvParam.PP_PROVTYPE, stackSpan, ref size))
391
if (!
Interop
.Advapi32.CryptGetProvParam(handle, CryptProvParam.PP_KEYSET_TYPE, stackSpan, ref size))
440
if (!
Interop
.Advapi32.CryptGetProvParam(handle, dwParam, buf, ref len))
458
if (!
Interop
.Advapi32.CryptGetProvParam(handle, dwParam, buf, ref len))
Internal\Cryptography\Pal\Windows\KeyAgreeRecipientInfoPalWindows.cs (1)
10
using static
Interop
.Crypt32;
Internal\Cryptography\Pal\Windows\KeyTransRecipientInfoPalWindows.cs (1)
11
using static
Interop
.Crypt32;
Internal\Cryptography\Pal\Windows\PkcsPalWindows.cs (9)
14
using static
Interop
.Crypt32;
31
using (SafeCryptMsgHandle hCryptMsg =
Interop
.Crypt32.CryptMsgOpenToDecode(MsgEncodingType.All, 0, 0, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero))
36
if (!
Interop
.Crypt32.CryptMsgUpdate(hCryptMsg, ref MemoryMarshal.GetReference(encodedMessage), encodedMessage.Length, fFinal: true))
41
if (!
Interop
.Crypt32.CryptMsgGetParam(hCryptMsg, CryptMsgParamType.CMSG_TYPE_PARAM, 0, out msgTypeAsInt, ref cbSize))
138
Interop
.NCrypt.ErrorCode errorCode =
Interop
.NCrypt.NCryptGetByteProperty(keyHandle, "CLR IsEphemeral", ref clrIsEphemeral, CngPropertyOptions.CustomProperty);
140
if (errorCode ==
Interop
.NCrypt.ErrorCode.ERROR_SUCCESS && clrIsEphemeral == 1)
222
if (
Interop
.Crypt32.CertGetCertificateContextProperty(
233
if (!
Interop
.Crypt32.CryptAcquireCertificatePrivateKey(
Internal\Cryptography\Pal\Windows\PkcsPalWindows.Encrypt.cs (4)
12
using static
Interop
.Crypt32;
47
if (!
Interop
.Crypt32.CryptMsgUpdate(hCryptMsg, encodedContent, encodedContent.Length, fFinal: true))
120
SafeCryptMsgHandle hCryptMsg =
Interop
.Crypt32.CryptMsgOpenToEncode(MsgEncodingType.All, 0, CryptMsgType.CMSG_ENVELOPED, pEnvelopedEncodeInfo, innerContentType.Value!, IntPtr.Zero);
381
pEncryptedKey->Date = default(
Interop
.Crypt32.FILETIME);
Microsoft\Win32\SafeHandles\SafeCertContextHandle.cs (2)
8
using static
Interop
.Crypt32;
31
Interop
.Crypt32.CertFreeCertificateContext(handle); // CertFreeCertificateContext always returns TRUE so no point in checking.
Microsoft\Win32\SafeHandles\SafeCryptMsgHandle.cs (1)
24
bool success =
Interop
.Crypt32.CryptMsgClose(handle);
Microsoft\Win32\SafeHandles\SafeHeapAllocHandle.cs (4)
7
using HeapAllocFlags =
Interop
.Kernel32.HeapAllocFlags;
17
SafeHeapAllocHandle result =
Interop
.Kernel32.HeapAlloc(s_hHeap, HeapAllocFlags.None, size);
49
bool success =
Interop
.Kernel32.HeapFree(s_hHeap, HeapAllocFlags.None, handle);
56
private static readonly IntPtr s_hHeap =
Interop
.Kernel32.GetProcessHeap();
Microsoft\Win32\SafeHandles\SafeProvOrNCryptKeyHandleUwp.cs (3)
8
using ErrorCode =
Interop
.NCrypt.ErrorCode;
48
ErrorCode errorCode =
Interop
.NCrypt.NCryptFreeObject(handle);
53
bool success =
Interop
.Advapi32.CryptReleaseContext(handle, 0);
src\runtime\src\libraries\Common\src\Interop\Windows\Advapi32\SafeHashHandle.cs (1)
53
bool successfullyFreed =
Interop
.Advapi32.CryptDestroyHash(handle);
src\runtime\src\libraries\Common\src\Interop\Windows\Advapi32\SafeKeyHandle.cs (1)
88
bool successfullyFreed =
Interop
.Advapi32.CryptDestroyKey(handle);
src\runtime\src\libraries\Common\src\Interop\Windows\Advapi32\SafeProvHandle.cs (5)
106
if (!_fPersistKeyInCsp && 0 == (_flags & (uint)
Interop
.Advapi32.CryptAcquireContextFlags.CRYPT_VERIFYCONTEXT))
110
uint flags = (_flags & (uint)
Interop
.Advapi32.CryptAcquireContextFlags.CRYPT_MACHINE_KEYSET) | (uint)
Interop
.Advapi32.CryptAcquireContextFlags.CRYPT_DELETEKEYSET;
112
_ =
Interop
.Advapi32.CryptAcquireContext(out hIgnoredProv, _containerName, _providerName, _type, flags);
118
bool successfullyFreed =
Interop
.Advapi32.CryptReleaseContext(handle, 0);
src\runtime\src\libraries\Common\src\Interop\Windows\Crypt32\Interop.FindOidInfo.cs (1)
127
[LibraryImport(
Interop
.Libraries.Crypt32)]
src\runtime\src\libraries\Common\src\Interop\Windows\NCrypt\Interop.NCryptFreeObject.cs (1)
11
[LibraryImport(
Interop
.Libraries.NCrypt)]
src\runtime\src\libraries\Common\src\Interop\Windows\NCrypt\Interop.Properties.cs (4)
15
[LibraryImport(
Interop
.Libraries.NCrypt, StringMarshalling = StringMarshalling.Utf16)]
24
[LibraryImport(
Interop
.Libraries.NCrypt, StringMarshalling = StringMarshalling.Utf16)]
37
ErrorCode errorCode =
Interop
.NCrypt.NCryptGetProperty(
60
ErrorCode errorCode =
Interop
.NCrypt.NCryptGetProperty(
src\runtime\src\libraries\Common\src\System\Security\Cryptography\CryptoThrowHelper.Windows.cs (1)
19
string message =
Interop
.Kernel32.GetMessage(hr);