CryptStringToBinaryW, fonction (wincrypt.h)
La fonction CryptStringToBinary convertit une chaîne mise en forme en un tableau d’octets.
Syntaxe
BOOL CryptStringToBinaryW(
[in] LPCWSTR pszString,
[in] DWORD cchString,
[in] DWORD dwFlags,
[in] BYTE *pbBinary,
[in, out] DWORD *pcbBinary,
[out] DWORD *pdwSkip,
[out] DWORD *pdwFlags
);
Paramètres
[in] pszString
Pointeur vers une chaîne qui contient la chaîne mise en forme à convertir.
[in] cchString
Nombre de caractères de la chaîne mise en forme à convertir, sans inclure la fin caractère NULL. Si ce paramètre est égal à zéro, pszString est considéré comme une chaîne terminée par null.
[in] dwFlags
Indique le format de la chaîne à convertir. Il peut s’agir de l’une des valeurs suivantes.
Valeur | Signification |
---|---|
|
Base64 entre les lignes de la forme '-----BEGIN ...-----' et '-----END ...-----'. Voir les remarques ci-dessous. |
|
Base64, sans en-têtes. |
|
Copie binaire pure. |
|
Base64 entre les lignes de la forme '-----BEGIN ...-----' et '-----END ...-----'. Voir les remarques ci-dessous. |
|
Format hexadécimal uniquement. |
|
Format hexadécimal avec affichage de caractères ASCII. |
|
Tente les opérations suivantes, dans l’ordre :
|
|
Tente les opérations suivantes, dans l’ordre :
|
|
Tente les opérations suivantes, dans l’ordre :
|
|
Base64 entre les lignes de la forme '-----BEGIN ...-----' et '-----END ...-----'. Voir les remarques ci-dessous. |
|
Hex, avec l’affichage d’adresse. |
|
Hexadécimal, avec caractère ASCII et affichage d’adresse. |
|
Chaîne hexadécimale brute.
Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge. |
|
Définissez cet indicateur pour les données Base64 pour spécifier que la fin des données binaires contient uniquement des espaces blancs et au plus trois égaux aux signes « = ».
Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cette valeur n’est pas prise en charge. |
[in] pbBinary
Pointeur vers une mémoire tampon qui reçoit la séquence retournée d’octets. Si ce paramètre est NULL, la fonction calcule la longueur de la mémoire tampon nécessaire et retourne la taille, en octets, de la mémoire requise dans le DWORD pointé par de tableaux de tableaux.
[in, out] pcbBinary
Pointeur vers une variable DWORD qui, lors de l’entrée, contient la taille, en octets, de la mémoire tampon pbBinary. Une fois la fonction retournée, cette variable contient le nombre d’octets copiés dans la mémoire tampon. Si cette valeur n’est pas suffisamment grande pour contenir toutes les données, la fonction échoue et GetLastError retourne ERROR_MORE_DATA.
Si pbBinary est NULL, le DWORD pointé par pbBinary est ignoré.
[out] pdwSkip
Pointeur vers une valeur DWORD qui reçoit le nombre de caractères ignorés pour atteindre le début de l’en-tête -----BEGIN ...-----
.
Si aucun en-tête n’est présent, la DWORD
[out] pdwFlags
Pointeur vers une valeur DWORD qui reçoit les indicateurs réellement utilisés dans la conversion. Il s’agit des mêmes indicateurs que ceux utilisés pour le paramètre dwFlags. Dans de nombreux cas, il s’agit des mêmes indicateurs que ceux passés dans le paramètre dwFlags. Si dwFlags contient l’un des indicateurs suivants, cette valeur reçoit un indicateur qui indique le format réel de la chaîne. Ce paramètre est facultatif et peut être NULL s’il n’est pas nécessaire.
Valeur de retour
Si la fonction réussit, la valeur de retour est différente de zéro (TRUE).
Si la fonction échoue, la valeur de retour est égale à zéro (FALSE).
Remarques
Les indicateurs CRYPT_STRING_BASE64HEADER, CRYPT_STRING_BASE64REQUESTHEADERet CRYPT_STRING_BASE64X509CRLHEADER sont tous traités de la même façon par cette fonction : ils tentent d’analyser le premier bloc de données codées en base64 entre les lignes du formulaire -----BEGIN ...-----
et -----END ...-----
.
Les parties ...
sont ignorées et ne doivent pas correspondre.
Si l’analyse réussit, la valeur transmise dans le paramètre dwFlags
Note
L’en-tête wincrypt.h définit CryptStringToBinary comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows XP [applications de bureau | Applications UWP] |
serveur minimum pris en charge | Windows Server 2003 [applications de bureau | Applications UWP] |
plateforme cible | Windows |
d’en-tête | wincrypt.h |
bibliothèque | Crypt32.lib |
DLL | Crypt32.dll |