Función BCryptResolveProviders (bcrypt.h)
La función BCryptResolveProviders obtiene una colección de todos los proveedores que cumplen los criterios especificados.
Sintaxis
NTSTATUS BCryptResolveProviders(
[in, optional] LPCWSTR pszContext,
[in, optional] ULONG dwInterface,
[in, optional] LPCWSTR pszFunction,
[in, optional] LPCWSTR pszProvider,
[in] ULONG dwMode,
[in] ULONG dwFlags,
[in, out] ULONG *pcbBuffer,
[in, out] PCRYPT_PROVIDER_REFS *ppBuffer
);
Parámetros
[in, optional] pszContext
Puntero a una cadena Unicode terminada en null que contiene el identificador del contexto para el que se van a obtener los proveedores. Si se establece en NULL o en una cadena vacía, se asume el contexto predeterminado.
[in, optional] dwInterface
Identificador de una interfaz que el proveedor debe admitir. Debe ser uno de los identificadores de interfaz de CNG. Si el parámetro pszFunction no es NULL o una cadena vacía, puede establecer dwInterface en cero para forzar que la función infiera la interfaz.
[in, optional] pszFunction
Puntero a una cadena Unicode terminada en null que contiene el algoritmo o el identificador de función que el proveedor debe admitir. Puede ser uno de los identificadores de algoritmo de CNG estándar o el identificador de otro algoritmo registrado. Si dwInterface se establece en un valor distinto de cero, pszFunction puede ser NULL para incluir todos los algoritmos y funciones.
[in, optional] pszProvider
Puntero a una cadena Unicode terminada en null que contiene el nombre del proveedor que se va a recuperar. Si este parámetro es NULL, se incluirán todos los proveedores.
Este parámetro permite especificar un proveedor específico para recuperar en caso de que más de un proveedor cumpla los demás criterios.
[in] dwMode
Especifica el tipo de proveedor que se va a recuperar. Puede ser uno de los siguientes valores.
Valor | Significado |
---|---|
|
Recuperar proveedores de modo de usuario. |
|
Recupere los proveedores de modo kernel. |
|
Recupere tanto el modo de usuario como los proveedores de modo kernel. |
[in] dwFlags
Conjunto de marcas que modifican el comportamiento de esta función.
Puede ser cero o una combinación de uno o varios de los valores siguientes.
[in, out] pcbBuffer
Puntero a un valor DWORD que, en la entrada, contiene el tamaño, en bytes, del búfer al que apunta el parámetro ppBuffer . Al salir, este valor recibe el número de bytes copiados en el búfer o el tamaño necesario, en bytes, del búfer.
[in, out] ppBuffer
Dirección de un puntero CRYPT_PROVIDER_REFS que recibe la colección de proveedores que cumplen los criterios especificados.
Si este parámetro es NULL, esta función devolverá STATUS_SUCCESS y colocará en el valor al que apunta el parámetro pcbBuffer , el tamaño necesario, en bytes, de todos los datos.
Si este parámetro es la dirección de un puntero NULL , esta función asignará la memoria necesaria, rellenará la memoria con la información sobre los proveedores y colocará el puntero a esta memoria en este parámetro. Cuando haya terminado de usar esta memoria, libere este puntero a la función BCryptFreeBuffer .
Si este parámetro es la dirección de un puntero distinto de NULL , esta función copiará la información del proveedor en este búfer. El parámetro pcbBuffer debe contener el tamaño, en bytes, de todo el búfer. Si el búfer no es lo suficientemente grande como para contener toda la información del proveedor, esta función devolverá STATUS_BUFFER_TOO_SMALL.
Valor devuelto
Devuelve un código de estado que indica el éxito o error de la función.
Entre los códigos de retorno posibles se incluyen, entre otros, los siguientes.
Código devuelto | Descripción |
---|---|
|
La función se realizó correctamente. |
|
El tamaño especificado por el parámetro pcbBuffer no es lo suficientemente grande como para contener todos los datos. |
|
Uno o más parámetros no son válidos. |
|
No se encontró ningún proveedor que cumpla todos los criterios especificados. |
Comentarios
Se puede llamar a BCryptResolveProviders desde el modo de usuario o el modo kernel. Los autores de llamadas en modo kernel deben ejecutarse en PASSIVE_LEVELIRQL.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | bcrypt.h |
Library | Bcrypt.lib |
Archivo DLL | Bcrypt.dll |
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de