CryptFormatObject 函式 (wincrypt.h)
CryptFormatObject 函式會格式化編碼的數據,並根據憑證編碼類型傳回配置緩衝區中的 Unicode 字串。
語法
BOOL CryptFormatObject(
[in] DWORD dwCertEncodingType,
[in] DWORD dwFormatType,
[in] DWORD dwFormatStrType,
[in] void *pFormatStruct,
[in] LPCSTR lpszStructType,
[in] const BYTE *pbEncoded,
[in] DWORD cbEncoded,
[out] void *pbFormat,
[in, out] DWORD *pcbFormat
);
參數
[in] dwCertEncodingType
憑證上所使用的編碼類型。 目前使用的憑證編碼類型X509_ASN_ENCODING。
[in] dwFormatType
格式化類型值。 未使用。 設定為零。
[in] dwFormatStrType
結構格式類型值。 此參數可以是零,或者您可以使用 bitwise-OR 運算符來合併它們,來指定下列一或多個旗標。
值 | 意義 |
---|---|
|
以單行顯示數據。 每個子欄位都會與逗號串連 (,) 。 如需詳細資訊,請參閱<備註>。 |
|
以多行顯示數據,而不是在預設) (單行顯示數據。 如需詳細資訊,請參閱<備註>。 |
|
停用十六進位傾印。 如需詳細資訊,請參閱<備註>。 |
[in] pFormatStruct
結構格式的指標。 未使用。 設定為 NULL。
[in] lpszStructType
定義編碼數據的 OID 指標。 如果 lpszStructType 參數的高序單字為零,則低順序字組會指定指定指定結構類型的整數標識碼。 否則,此參數是 Null 終止字串的長指標。
下表列出支援的 OID 擴充功能及其相關聯的 OID 擴充功能。
[in] pbEncoded
要格式化之編碼數據的指標。 如果 lpszStructType 是上面所列的其中一個 OID, 則 pbEncoded 是編碼的延伸模組。
[in] cbEncoded
pbEncoded 結構的大小,以位元組為單位。
[out] pbFormat
接收格式化字串之緩衝區的指標。 當指定的緩衝區不夠大而無法接收譯碼的結構時,函式會設定ERROR_MORE_DATA,並將所需的緩衝區大小以位元組為單位儲存到 由at 指向的變數中。 此參數可以是 NULL ,可設定此資訊的大小以供記憶體配置之用。 如需詳細資訊,請參閱 擷取未知長度的數據。
[in, out] pcbFormat
變數的指標,指定 pbFormat 參數所指向緩衝區的大小,以位元組為單位。 當函式傳回時, 由 HTTPFormat 參數指向的變數會包含儲存在緩衝區中的位元元組數目。 只有當 pbFormat 為 NULL 時,此參數才能是 NULL。
傳回值
如果函式成功,則傳回值為 TRUE。 如果失敗,則傳回值為 FALSE。 若要擷取擴充的錯誤資訊,請使用 GetLastError 函 式。
備註
此函式的預設行為是傳回編碼數據的單行顯示,也就是說,每個子字段都會與一行上的逗號 (,) 串連。 如果您想要以多行顯示數據,請設定 CRYPT_FORMAT_STR_MULTI_LINE 旗標。 然後,每個子欄位都會顯示在個別行上。
如果未安裝或註冊 lpszStructType 參數的格式例程,則會傳回編碼 CRYPT_INTEGER_BLOB 的十六進位傾印。 用戶可以設定CRYPT_FORMAT_STR_NO_HEX旗標來停用十六進位傾印。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | wincrypt.h |
程式庫 | Crypt32.lib |
Dll | Crypt32.dll |