Função CryptStringToBinaryA (wincrypt.h)
A função
Sintaxe
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
Um ponteiro para uma cadeia de caracteres que contém a cadeia de caracteres formatada a ser convertida.
[in] cchString
O número de caracteres da cadeia de caracteres formatada a ser convertida, não incluindo a terminação caractere NULL caractere. Se esse parâmetro for zero, pszString será considerada uma cadeia de caracteres terminada em nulo.
[in] dwFlags
Indica o formato da cadeia de caracteres a ser convertida. Esse pode ser um dos valores a seguir.
Valor | Significado |
---|---|
|
Base64 entre as linhas do formulário '-----BEGIN ...-----' e '-----END ...-----'. Veja comentários abaixo. |
|
Base64, sem cabeçalhos. |
|
Cópia binária pura. |
|
Base64 entre as linhas do formulário '-----BEGIN ...-----' e '-----END ...-----'. Veja comentários abaixo. |
|
Formato somente hexadecimal. |
|
Formato hexadecimal com exibição de caractere ASCII. |
|
Tenta o seguinte, na ordem:
|
|
Tenta o seguinte, na ordem:
|
|
Tenta o seguinte, na ordem:
|
|
Base64 entre as linhas do formulário '-----BEGIN ...-----' e '-----END ...-----'. Veja comentários abaixo. |
|
Hex, com exibição de endereço. |
|
Hex, com caractere ASCII e exibição de endereço. |
|
Uma cadeia de caracteres hexadecimal bruta.
Windows Server 2003 e Windows XP: Esse valor não tem suporte. |
|
Defina esse sinalizador para dados Base64 para especificar que o final dos dados binários contenha apenas espaço em branco e, no máximo, três sinais "=".
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para esse valor. |
[in] pbBinary
Um ponteiro para um buffer que recebe a sequência de bytes retornada. Se esse parâmetro for
[in, out] pcbBinary
Um ponteiro para uma variável DWORD que, na entrada, contém o tamanho, em bytes, do buffer pbBinary. Depois que a função é retornada, essa variável contém o número de bytes copiados para o buffer. Se esse valor não for grande o suficiente para conter todos os dados, a função falhará e GetLastError retornará ERROR_MORE_DATA.
Se
[out] pdwSkip
Um ponteiro para um valor DWORD que recebe o número de caracteres ignorados para chegar ao início do cabeçalho -----BEGIN ...-----
.
Se nenhum cabeçalho estiver presente, o DWORD
[out] pdwFlags
Um ponteiro para um DWORD valor que recebe os sinalizadores realmente usados na conversão. Esses são os mesmos sinalizadores usados para o parâmetro
Valor de retorno
Se a função for bem-sucedida, o valor retornado não será zero (TRUE).
Se a função falhar, o valor retornado será zero (false).
Observações
Os sinalizadores CRYPT_STRING_BASE64HEADER, CRYPT_STRING_BASE64REQUESTHEADERe CRYPT_STRING_BASE64X509CRLHEADER são tratados de forma idêntica por essa função: eles tentam analisar o primeiro bloco de dados codificados em base64 entre linhas do formulário -----BEGIN ...-----
e -----END ...-----
.
As partes ...
são ignoradas e não precisam corresponder.
Se a análise for bem-sucedida, o valor passado no parâmetro
Nota
O cabeçalho wincrypt.h define CryptStringToBinary como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows XP [aplicativos da área de trabalho | Aplicativos UWP] |
servidor com suporte mínimo | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
da Plataforma de Destino |
Windows |
cabeçalho | wincrypt.h |
biblioteca | Crypt32.lib |
de DLL |
Crypt32.dll |