BCryptEnumAlgorithms function

The BCryptEnumAlgorithms function gets a list of the registered algorithm identifiers.

Syntax


NTSTATUS WINAPI BCryptEnumAlgorithms(
  _In_  ULONG                       dwAlgOperations,
  _Out_ ULONG                       *pAlgCount,
  _Out_ BCRYPT_ALGORITHM_IDENTIFIER **ppAlgList,
  _In_  ULONG                       dwFlags
);

Parameters

dwAlgOperations [in]

A value that specifies the algorithm operation types to include in the enumeration. This can be a combination of one or more of the following values.

ValueMeaning
BCRYPT_CIPHER_OPERATION
0x00000001

Include the cipher algorithms in the enumeration.

BCRYPT_HASH_OPERATION
0x00000002

Include the hash algorithms in the enumeration.

BCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION
0x00000004

Include the asymmetric encryption algorithms in the enumeration.

BCRYPT_SECRET_AGREEMENT_OPERATION
0x00000008

Include the secret agreement algorithms in the enumeration.

BCRYPT_SIGNATURE_OPERATION
0x00000010

Include the signature algorithms in the enumeration.

BCRYPT_RNG_OPERATION
0x00000020

Include the random number generator (RNG) algorithms in the enumeration.

 

pAlgCount [out]

A pointer to a ULONG variable to receive the number of elements in the ppAlgList array.

ppAlgList [out]

The address of a BCRYPT_ALGORITHM_IDENTIFIER structure pointer to receive the array of registered algorithm identifiers. This pointer must be passed to the BCryptFreeBuffer function when it is no longer needed.

dwFlags [in]

A set of flags that modify the behavior of this function. No flags are defined for this function.

Return value

Returns a status code that indicates the success or failure of the function.

Possible return codes include, but are not limited to, the following.

Return codeDescription
STATUS_SUCCESS

The function was successful.

STATUS_INVALID_PARAMETER

One or more parameters are not valid.

STATUS_NO_MEMORY

A memory allocation failure occurred.

 

Remarks

BCryptEnumAlgorithms can be called either from user mode or kernel mode. Kernel mode callers must be executing at PASSIVE_LEVEL IRQL.

Requirements

Minimum supported client

Windows Vista [desktop apps | Windows Store apps]

Minimum supported server

Windows Server 2008 [desktop apps | Windows Store apps]

Header

Bcrypt.h

Library

Bcrypt.lib

DLL

Bcrypt.dll

 

 

Show: