Función BCryptResolveProviders (bcrypt.h)
La BCryptResolveProviders función 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 CNG de . Si el parámetro pszFunction
[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 se puede 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. |
|
Recuperar 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 D WORD 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 de 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 que no esnull, 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 varios parámetros no son válidos. |
|
No se encontró ningún proveedor que cumpla todos los criterios especificados. |
Observaciones
se puede llamar a BCryptResolveProviders desde el modo de usuario o el modo kernel. Los llamadores de modo kernel deben ejecutarse en PASSIVE_LEVELIRQL.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows Vista [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows Server 2008 [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
bcrypt.h |
biblioteca de |
Bcrypt.lib |
DLL de |
Bcrypt.dll |