Funzione CryptStringToBinaryA (wincrypt.h)
La funzione CryptStringToBinary converte una stringa formattata in una matrice di byte.
Sintassi
BOOL CryptStringToBinaryA(
[in] LPCSTR pszString,
[in] DWORD cchString,
[in] DWORD dwFlags,
[in] BYTE *pbBinary,
[in, out] DWORD *pcbBinary,
[out] DWORD *pdwSkip,
[out] DWORD *pdwFlags
);
Parametri
[in] pszString
Puntatore a una stringa contenente la stringa formattata da convertire.
[in] cchString
Numero di caratteri della stringa formattata da convertire, non incluso il carattere di terminazione NULL. Se questo parametro è zero, pszString viene considerato una stringa con terminazione Null.
[in] dwFlags
Indica il formato della stringa da convertire. Può trattarsi di uno dei valori seguenti.
Valore | Significato |
---|---|
|
Base64 tra le righe del formato "-----BEGIN ...-----" e "-----END ...-----". Vedere la sezione Osservazioni di seguito. |
|
Base64, senza intestazioni. |
|
Copia binaria pura. |
|
Base64 tra le righe del formato "-----BEGIN ...-----" e "-----END ...-----". Vedere la sezione Osservazioni di seguito. |
|
Formato solo esadecimale. |
|
Formato esadecimale con visualizzazione di caratteri ASCII. |
|
Prova quanto segue, in ordine:
|
|
Prova quanto segue, in ordine:
|
|
Prova quanto segue, in ordine:
|
|
Base64 tra le righe del formato "-----BEGIN ...-----" e "-----END ...-----". Vedere la sezione Osservazioni di seguito. |
|
Esadecimale, con visualizzazione dell'indirizzo. |
|
Esadecimale, con caratteri ASCII e visualizzazione dell'indirizzo. |
|
Stringa esadecimale non elaborata.
Windows Server 2003 e Windows XP: Questo valore non è supportato. |
|
Impostare questo flag per i dati Base64 per specificare che la fine dei dati binari contiene solo spazi vuoti e al massimo tre segni "=" uguali.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo valore non è supportato. |
[in] pbBinary
Puntatore a un buffer che riceve la sequenza restituita di byte. Se questo parametro è NULL, la funzione calcola la lunghezza del buffer necessaria e restituisce le dimensioni, in byte, della memoria necessaria nella DWORD a cui punta pcbBinary.
[in, out] pcbBinary
Puntatore a una variabile DWORD
Se pbBinary è NULL, il DWORD a cui punta pcbBinary viene ignorato.
[out] pdwSkip
Puntatore a un valore DWORD che riceve il numero di caratteri ignorati per raggiungere l'inizio dell'intestazione -----BEGIN ...-----
.
Se non è presente alcuna intestazione, il DWORD
[out] pdwFlags
Puntatore a un valore DWORD che riceve i flag effettivamente usati nella conversione. Questi sono gli stessi flag usati per il parametro dwFlags
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero (TRUE).
Se la funzione ha esito negativo, il valore restituito è zero (FALSE).
Osservazioni
I flag CRYPT_STRING_BASE64HEADER, CRYPT_STRING_BASE64REQUESTHEADERe CRYPT_STRING_BASE64X509CRLHEADER vengono trattati in modo identico da questa funzione: tentano di analizzare il primo blocco di dati con codifica base64 tra righe del form -----BEGIN ...-----
e -----END ...-----
.
Le parti ...
vengono ignorate e non devono corrispondere.
Se l'analisi ha esito positivo, il valore passato nel parametro
Nota
L'intestazione wincrypt.h definisce CryptStringToBinary come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows XP [app desktop | App UWP] |
server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
piattaforma di destinazione | Finestre |
intestazione |
wincrypt.h |
libreria |
Crypt32.lib |
dll | Crypt32.dll |