CryptStringToBinaryW-Funktion (wincrypt.h)
Die CryptStringToBinary-Funktion konvertiert eine formatierte Zeichenfolge in ein Array von Bytes.
Syntax
BOOL CryptStringToBinaryW(
[in] LPCWSTR 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, ohne das beendende NULL-Zeichen . Wenn dieser Parameter 0 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 Zeilen des Formulars "-----BEGIN ...-----" und "-----END ...-----". Weitere Informationen finden Sie unter Hinweise. |
|
Base64, ohne Header. |
|
Reine binäre Kopie. |
|
Base64 zwischen Zeilen des Formulars "-----BEGIN ...-----" und "-----END ...-----". Weitere Informationen finden Sie unter Hinweise. |
|
Nur hexadezimales Format. |
|
Hexadezimalformat mit ASCII-Zeichenanzeige . |
|
Versucht Folgendes in der Reihenfolge:
|
|
Versucht Folgendes in der Reihenfolge:
|
|
Versucht Folgendes in der Reihenfolge:
|
|
Base64 zwischen Zeilen des Formulars "-----BEGIN ...-----" und "-----END ...-----". Weitere Informationen finden Sie unter Hinweise. |
|
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 Flag für Base64-Daten fest, um anzugeben, dass das Ende der Binärdaten nur Leerzeichen und höchstens drei "="-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 Arbeitsspeichers in der DWORD zurück, auf die pcbBinary verweist.
[in, out] pcbBinary
Ein Zeiger auf eine DWORD-Variable , die beim Eintrag die Größe des pbBinary-Puffers in Bytes enthält. Nachdem die Funktion zurückgegeben wurde, enthält diese Variable die Anzahl der Bytes, die in den Puffer kopiert wurden. Wenn dieser Wert nicht groß genug ist, um alle Daten zu enthalten, schlägt die Funktion fehl, und GetLastError gibt ERROR_MORE_DATA zurück.
Wenn pbBinaryNULL ist, wird das DWORD ignoriert, auf das von pcbBinary verwiesen wird.
[out] pdwSkip
Ein Zeiger auf einen DWORD-Wert , der die Anzahl der Zeichen empfängt, die übersprungen werden, um den Anfang des -----BEGIN ...-----
Headers zu erreichen.
Wenn kein Header vorhanden ist, wird der DWORD-Wert auf 0 festgelegt.
Dieser Parameter ist optional und kann NULL sein, wenn er nicht benötigt wird.
[out] pdwFlags
Ein Zeiger auf einen DWORD-Wert , der die flags empfängt, die tatsächlich bei der Konvertierung verwendet werden. Dies sind dieselben Flags, die für den dwFlags-Parameter verwendet werden. In vielen Fällen sind dies dieselben 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 sein, wenn er nicht benötigt wird.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert nonzero (TRUE).
Wenn die Funktion fehlschlägt, ist der Rückgabewert 0 (FALSE).
Hinweise
Die flags CRYPT_STRING_BASE64HEADER, CRYPT_STRING_BASE64REQUESTHEADER und CRYPT_STRING_BASE64X509CRLHEADER werden von dieser Funktion identisch behandelt: Sie versuchen, den ersten Block der base64-codierten Daten zwischen 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 eine X.509-Zertifikatsperrliste (CertificateRevocation List , CRL) gefunden wurde.
Hinweis
Der wincrypt.h-Header definiert CryptStringToBinary als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | wincrypt.h |
Bibliothek | Crypt32.lib |
DLL | Crypt32.dll |