CryptStringToBinaryA 函式 (wincrypt.h)
CryptStringToBinary 函式會將格式化字串轉換成位元組數位數組。
語法
BOOL CryptStringToBinaryA(
[in] LPCSTR pszString,
[in] DWORD cchString,
[in] DWORD dwFlags,
[in] BYTE *pbBinary,
[in, out] DWORD *pcbBinary,
[out] DWORD *pdwSkip,
[out] DWORD *pdwFlags
);
參數
[in] pszString
字串的指標,其中包含要轉換之格式化字串。
[in] cchString
要轉換之格式化字串的字元數,不包括終止 NULL 字元。 如果此參數為零,pszString 會被視為以 Null 結尾的字串。
[in] dwFlags
表示要轉換的字串格式。 這可以是下列其中一個值。
價值 | 意義 |
---|---|
|
在 '-----BEGIN ...-----' 和 '-----END ...-----' 窗體之間的 Base64。 請參閱下方的。 |
|
Base64,不含標頭。 |
|
純二進位複本。 |
|
在 '-----BEGIN ...-----' 和 '-----END ...-----' 窗體之間的 Base64。 請參閱下方的。 |
|
僅限十六進位格式。 |
|
ASCII 字元顯示的十六進位格式。 |
|
依序嘗試下列各項:
|
|
依序嘗試下列各項:
|
|
依序嘗試下列各項:
|
|
在 '-----BEGIN ...-----' 和 '-----END ...-----' 窗體之間的 Base64。 請參閱下方的。 |
|
十六進位,並顯示位址。 |
|
十六進位,並顯示 ASCII 字元和位址。 |
|
原始十六進位字串。
Windows Server 2003 和 Windows XP:不支援此值。 |
|
設定Base64數據的這個旗標,以指定二進位數據的結尾只包含空格符,且最多三個等於 “=” 符號。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP:不支援此值。 |
[in] pbBinary
接收傳回位元組序列之緩衝區的指標。 如果此參數 NULL,函式會計算所需的緩衝區長度,並傳回 DWORD 中所需記憶體的大小,以位元組為單位,所指向的 DWORD。
[in, out] pcbBinary
如果
[out] pdwSkip
DWORD 值的指標,這個值會接收略過以到達 -----BEGIN ...-----
標頭開頭的字元數。
如果沒有標頭,則 DWORD 會設定為零。
此參數是選擇性的,如果不需要,則可以 NULL。
[out] pdwFlags
DWORD 的指標 值,這個值會接收實際用於轉換的旗標。 這些是用於 dwFlags 參數的相同旗標。 在許多情況下,這些旗標會是傳入 dwFlags 參數中的相同旗標。 如果 dwFlags 包含下列其中一個旗標,這個值將會收到指出字串實際格式的旗標。 此參數是選擇性的,如果不需要,則可以 NULL。
傳回值
如果函式成功,則傳回值為非零值(TRUE)。
如果函式失敗,則傳回值為零 (FALSE)。
言論
CRYPT_STRING_BASE64HEADER、CRYPT_STRING_BASE64REQUESTHEADER和 CRYPT_STRING_BASE64X509CRLHEADER 旗標全都受到此函式的相同處理:它們會嘗試剖析窗體 -----BEGIN ...-----
和 -----END ...-----
行之間的第一個 base64 編碼數據區塊。
會忽略 ...
部分,而且不需要相符。
如果剖析成功,dwFlags 參數中傳遞的值會在 pdwFlags 參數所指向的 DWORD 傳回。
請注意,CRYPT_STRING_BASE64REQUESTHEADER 或 CRYPT_STRING_BASE64X509CRLHEADER 的值並不表示找到要求標頭或 X.509證書吊銷清單 (CRL)。
注意
wincrypt.h 標頭會根據 UNICODE 預處理器常數的定義,將 CryptStringToBinary 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
支援的最低伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平臺 | 窗戶 |
標頭 | wincrypt.h |
連結庫 | Crypt32.lib |
DLL | Crypt32.dll |