Función CryptStringToBinaryA (wincrypt.h)
La función CryptStringToBinary convierte una cadena con formato en una matriz de bytes.
Sintaxis
BOOL CryptStringToBinaryA(
[in] LPCSTR pszString,
[in] DWORD cchString,
[in] DWORD dwFlags,
[in] BYTE *pbBinary,
[in, out] DWORD *pcbBinary,
[out] DWORD *pdwSkip,
[out] DWORD *pdwFlags
);
Parámetros
[in] pszString
Puntero a una cadena que contiene la cadena con formato que se va a convertir.
[in] cchString
Número de caracteres de la cadena con formato que se va a convertir, no incluido el carácter NULL de terminación. Si este parámetro es cero, pszString se considera una cadena terminada en null.
[in] dwFlags
Indica el formato de la cadena que se va a convertir. Puede ser uno de los siguientes valores.
Valor | Significado |
---|---|
|
Base64 entre líneas del formulario "-----BEGIN ...-----" y "-----END ...-----". Consulte los comentarios indicados más adelante. |
|
Base64, sin encabezados. |
|
Copia binaria pura. |
|
Base64 entre líneas del formulario "-----BEGIN ...-----" y "-----END ...-----". Consulte los comentarios indicados más adelante. |
|
Formato de solo hexadecimal. |
|
Formato hexadecimal con pantalla de caracteres ASCII . |
|
Intenta lo siguiente, en orden:
|
|
Intenta lo siguiente, en orden:
|
|
Intenta lo siguiente, en orden:
|
|
Base64 entre líneas del formulario "-----BEGIN ...-----" y "-----END ...-----". Consulte los comentarios indicados más adelante. |
|
Hex, con pantalla de dirección. |
|
Hexadecimal, con el carácter ASCII y la presentación de direcciones. |
|
Cadena hexadecimal sin formato.
Windows Server 2003 y Windows XP: Este valor no se admite. |
|
Establezca esta marca para los datos base64 para especificar que el final de los datos binarios solo contenga espacios en blanco y, como máximo, tres signos iguales a "=".
Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este valor no se admite. |
[in] pbBinary
Puntero a un búfer que recibe la secuencia de bytes devuelta. Si este parámetro es NULL, la función calcula la longitud del búfer necesario y devuelve el tamaño, en bytes, de la memoria necesaria en la DWORD a la que apunta pcbBinary.
[in, out] pcbBinary
Puntero a una variable DWORD que, en la entrada, contiene el tamaño, en bytes, del búfer pbBinary . Una vez que la función devuelve, esta variable contiene el número de bytes copiados en el búfer. Si este valor no es lo suficientemente grande como para contener todos los datos, se produce un error en la función y GetLastError devuelve ERROR_MORE_DATA.
Si pbBinary es NULL, se omite el DWORD al que apunta pcbBinary .
[out] pdwSkip
Puntero a un valor DWORD que recibe el número de caracteres omitidos para alcanzar el principio del -----BEGIN ...-----
encabezado.
Si no hay ningún encabezado presente, DWORD se establece en cero.
Este parámetro es opcional y puede ser NULL si no es necesario.
[out] pdwFlags
Puntero a un valor DWORD que recibe las marcas que se usan realmente en la conversión. Son las mismas marcas que se usan para el parámetro dwFlags . En muchos casos, serán las mismas marcas que se pasaron en el parámetro dwFlags . Si dwFlags contiene una de las marcas siguientes, este valor recibirá una marca que indica el formato real de la cadena. Este parámetro es opcional y puede ser NULL si no es necesario.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es distinto de cero (TRUE).
Si se produce un error en la función, el valor devuelto es cero (FALSE).
Comentarios
Las marcas CRYPT_STRING_BASE64HEADER, CRYPT_STRING_BASE64REQUESTHEADER y CRYPT_STRING_BASE64X509CRLHEADER se tratan de forma idéntica mediante esta función: intentan analizar el primer bloque de datos codificados en base64 entre líneas del formulario -----BEGIN ...-----
y -----END ...-----
.
Las ...
partes se omiten y no tienen que coincidir.
Si el análisis se realiza correctamente, el valor pasado en el parámetro dwFlags se devuelve en el DWORD al que apunta el parámetro pdwFlags .
Tenga en cuenta que un valor de CRYPT_STRING_BASE64REQUESTHEADER o CRYPT_STRING_BASE64X509CRLHEADER no significa que se haya encontrado un encabezado de solicitud o una lista de revocación de certificados (CRL) X.509.
Nota
El encabezado wincrypt.h define CryptStringToBinary como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Cliente mínimo compatible | Windows XP [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | wincrypt.h |
Library | Crypt32.lib |
Archivo DLL | Crypt32.dll |