279 {
282 for (
int i = 0;
i < array2.Length;
i++)
283 {
285 if (entry.HashAlgorithmId == hashAlgorithmId && entry.Flags == flags)
286 {
287 hashSizeInBytes = entry.HashSizeInBytes;
288 return entry.Handle;
289 }
290 }
293 if (nTSTATUS != 0)
294 {
296 }
298 Entry entry2 =
new Entry(hashAlgorithmId, flags, phAlgorithm);
299 array[^1] =
new Entry(hashAlgorithmId, flags, phAlgorithm);
301 hashSizeInBytes = entry2.HashSizeInBytes;
302 return entry2.Handle;
303 }
static volatile Entry[] _cache
static Exception CreateCryptographicException(NTSTATUS ntStatus)
static NTSTATUS BCryptOpenAlgorithmProvider(out SafeBCryptAlgorithmHandle phAlgorithm, string pszAlgId, string pszImplementation, BCryptOpenAlgorithmProviderFlags dwFlags)