Freigeben über


CryptStringToBinaryA-Funktion (wincrypt.h)

Die CryptStringToBinary--Funktion konvertiert eine formatierte Zeichenfolge in ein Bytearray.

Syntax

BOOL CryptStringToBinaryA(
  [in]      LPCSTR pszString,
  [in]      DWORD  cchString,
  [in]      DWORD  dwFlags,
  [in]      BYTE   *pbBinary,
  [in, out] DWORD  *pcbBinary,
  [out]     DWORD  *pdwSkip,
  [out]     DWORD  *pdwFlags
);

Parameter

[in] pszString

Ein Zeiger auf eine Zeichenfolge, die die formatierte Zeichenfolge enthält, die konvertiert werden soll.

[in] cchString

Die Anzahl der Zeichen der formatierten Zeichenfolge, die konvertiert werden soll, nicht einschließlich des endierenden NULL- Zeichens. Wenn dieser Parameter null ist, wird pszString- als null-beendete Zeichenfolge betrachtet.

[in] dwFlags

Gibt das Format der zu konvertierenden Zeichenfolge an. Dies kann einer der folgenden Werte sein:

Wert Bedeutung
CRYPT_STRING_BASE64HEADER
0x00000000
Base64 zwischen Den Zeilen des Formulars "-----BEGIN ...-----" und "-----END ...-----". Weitere Informationen finden Sie weiter unten in den Anmerkungen.
CRYPT_STRING_BASE64
0x00000001
Base64, ohne Kopfzeilen.
CRYPT_STRING_BINARY
0x00000002
Reine binäre Kopie.
CRYPT_STRING_BASE64REQUESTHEADER
0x00000003
Base64 zwischen Den Zeilen des Formulars "-----BEGIN ...-----" und "-----END ...-----". Weitere Informationen finden Sie weiter unten in den Anmerkungen.
CRYPT_STRING_HEX
0x00000004
Nur hexadezimales Format.
CRYPT_STRING_HEXASCII
0x00000005
Hexadezimalformat mit ASCII- Zeichenanzeige.
CRYPT_STRING_BASE64_ANY
0x00000006
Versucht Folgendes in der Reihenfolge:
CRYPT_STRING_BASE64HEADER
CRYPT_STRING_BASE64
CRYPT_STRING_ANY
0x00000007
Versucht Folgendes in der Reihenfolge:
CRYPT_STRING_BASE64HEADER
CRYPT_STRING_BASE64
CRYPT_STRING_BINARY
CRYPT_STRING_HEX_ANY
0x00000008
Versucht Folgendes in der Reihenfolge:
CRYPT_STRING_HEXADDR
CRYPT_STRING_HEXASCIIADDR
CRYPT_STRING_HEX
CRYPT_STRING_HEXRAW
CRYPT_STRING_HEXASCII
CRYPT_STRING_BASE64X509CRLHEADER
0x00000009
Base64 zwischen Den Zeilen des Formulars "-----BEGIN ...-----" und "-----END ...-----". Weitere Informationen finden Sie weiter unten in den Anmerkungen.
CRYPT_STRING_HEXADDR
0x0000000a
Hex, mit Adressanzeige.
CRYPT_STRING_HEXASCIIADDR
0x0000000b
Hex, mit ASCII-Zeichen und Adressanzeige.
CRYPT_STRING_HEXRAW
0x0000000c
Eine unformatierte hexadezimale Zeichenfolge.

Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

CRYPT_STRING_STRICT
0x20000000
Legen Sie dieses Kennzeichen für Base64-Daten fest, um anzugeben, dass das Ende der Binärdaten nur Leerzeichen und höchstens drei gleich "="-Zeichen enthält.

Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

[in] pbBinary

Ein Zeiger auf einen Puffer, der die zurückgegebene Bytesequenz empfängt. Wenn dieser Parameter NULL-ist, berechnet die Funktion die Länge des benötigten Puffers und gibt die Größe des erforderlichen Speichers in Bytes in der DWORD- durch pcbBinaryverweist.

[in, out] pcbBinary

Ein Zeiger auf eine DWORD- Variable, die beim Eintrag die Größe des PbBinary- Puffers in Byte enthält. Nachdem die Funktion zurückgegeben wurde, enthält diese Variable die Anzahl der in den Puffer kopierten Bytes. Wenn dieser Wert nicht groß genug ist, um alle Daten zu enthalten, schlägt die Funktion fehl und GetLastError gibt ERROR_MORE_DATAzurück.

Wenn pbBinary-NULL-ist, wird die DWORD- ignoriert, auf die pcbBinary verweist.

[out] pdwSkip

Ein Zeiger auf einen DWORD- Wert, der die Anzahl der Zeichen empfängt, die übersprungen werden, um den Anfang der -----BEGIN ...----- Kopfzeile zu erreichen. Wenn keine Kopfzeile vorhanden ist, wird die DWORD- auf Null festgelegt. Dieser Parameter ist optional und kann NULL- werden, wenn er nicht benötigt wird.

[out] pdwFlags

Ein Zeiger auf einen DWORD- Wert, der die in der Konvertierung verwendeten Flags empfängt. Dies sind die gleichen Flags, die für den dwFlags Parameter verwendet werden. In vielen Fällen sind dies die gleichen Flags, die im dwFlags Parameter übergeben wurden. Wenn dwFlags eines der folgenden Flags enthält, erhält dieser Wert ein Flag, das das tatsächliche Format der Zeichenfolge angibt. Dieser Parameter ist optional und kann NULL- werden, wenn er nicht benötigt wird.

Wert Bedeutung
CRYPT_STRING_ANY
Diese Variable erhält einen der folgenden Werte. Jeder Wert gibt das tatsächliche Format der Zeichenfolge an.
CRYPT_STRING_BASE64HEADER
CRYPT_STRING_BASE64
CRYPT_STRING_BINARY
CRYPT_STRING_BASE64_ANY
Diese Variable erhält einen der folgenden Werte. Jeder Wert gibt das tatsächliche Format der Zeichenfolge an.
CRYPT_STRING_BASE64HEADER
CRYPT_STRING_BASE64
CRYPT_STRING_HEX_ANY
Diese Variable erhält einen der folgenden Werte. Jeder Wert gibt das tatsächliche Format der Zeichenfolge an.
CRYPT_STRING_HEXADDR
CRYPT_STRING_HEXASCIIADDR
CRYPT_STRING_HEX
CRYPT_STRING_HEXRAW
CRYPT_STRING_HEXASCII

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null (TRUE).

Wenn die Funktion fehlschlägt, ist der Rückgabewert null (FALSE).

Bemerkungen

Die flags CRYPT_STRING_BASE64HEADER, CRYPT_STRING_BASE64REQUESTHEADERund CRYPT_STRING_BASE64X509CRLHEADER werden alle identisch von dieser Funktion behandelt: Sie versuchen, den ersten Base64-codierten Datenblock zwischen den Zeilen des Formulars -----BEGIN ...----- und -----END ...-----zu analysieren. Die ... Teile werden ignoriert und müssen nicht übereinstimmen. Wenn die Analyse erfolgreich ist, wird der im dwFlags Parameter übergebene Wert im DWORD- zurückgegeben, auf den der pdwFlags-Parameter verweist. Beachten Sie, dass ein Wert von CRYPT_STRING_BASE64REQUESTHEADER oder CRYPT_STRING_BASE64X509CRLHEADER nicht bedeutet, dass ein Anforderungsheader oder X.509Zertifikatsperrliste (CRL) gefunden wurde.

Anmerkung

Der wincrypt.h-Header definiert CryptStringToBinary als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows XP [Desktop-Apps | UWP-Apps]
mindestens unterstützte Server- Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform- Fenster
Header- wincrypt.h
Library Crypt32.lib
DLL- Crypt32.dll

Siehe auch

CryptBinaryToString-