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 |
---|---|
|
Base64 zwischen Den Zeilen des Formulars "-----BEGIN ...-----" und "-----END ...-----". Weitere Informationen finden Sie weiter unten in den Anmerkungen. |
|
Base64, ohne Kopfzeilen. |
|
Reine binäre Kopie. |
|
Base64 zwischen Den Zeilen des Formulars "-----BEGIN ...-----" und "-----END ...-----". Weitere Informationen finden Sie weiter unten in den Anmerkungen. |
|
Nur hexadezimales Format. |
|
Hexadezimalformat mit ASCII- Zeichenanzeige. |
|
Versucht Folgendes in der Reihenfolge:
|
|
Versucht Folgendes in der Reihenfolge:
|
|
Versucht Folgendes in der Reihenfolge:
|
|
Base64 zwischen Den Zeilen des Formulars "-----BEGIN ...-----" und "-----END ...-----". Weitere Informationen finden Sie weiter unten in den Anmerkungen. |
|
Hex, mit Adressanzeige. |
|
Hex, mit ASCII-Zeichen und Adressanzeige. |
|
Eine unformatierte hexadezimale Zeichenfolge.
Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt. |
|
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.
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 |