Функция CryptFormatObject (wincrypt.h)
Функция CryptFormatObject форматирует закодированные данные и возвращает строку Юникода в выделенном буфере в соответствии с типом кодирования сертификата.
Синтаксис
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
Значения типа формата структуры. Этот параметр может быть равен нулю, или можно указать один или несколько следующих флагов с помощью побитового оператора ИЛИ для их объединения.
[in] pFormatStruct
Указатель на формат структуры. Не используется. Задайте значение NULL.
[in] lpszStructType
Указатель на OID, определяющий закодированные данные. Если слово высокого порядка параметра lpszStructType равно нулю, слово нижнего порядка задает целочисленный идентификатор для типа данной структуры. В противном случае этот параметр является длинным указателем на строку, завершаемую null.
В следующей таблице перечислены поддерживаемые идентификаторы OID со связанным расширением OID.
[in] pbEncoded
Указатель на закодированные данные для форматирования. Если lpszStructType является одним из указанных выше идентификаторов OID, pbEncoded — это закодированное расширение.
[in] cbEncoded
Размер структуры pbEncoded в байтах.
[out] pbFormat
Указатель на буфер, который получает отформатированную строку. Если указанный буфер недостаточно велик для получения декодированных структур, функция задает ERROR_MORE_DATA и сохраняет требуемый размер буфера в байтах в переменной, на которую указывает pcbFormat. Этот параметр может иметь значение NULL , чтобы задать размер этих сведений для целей выделения памяти. Дополнительные сведения см. в разделе Извлечение данных неизвестной длины.
[in, out] pcbFormat
Указатель на переменную, указывающую размер (в байтах) буфера, на который указывает параметр pbFormat . При возврате функции переменная, на которую указывает параметр pcbFormat , содержит количество байтов, хранящихся в буфере. Этот параметр может иметь значение NULL, только если pbFormat имеет значение 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 |
Header | wincrypt.h |
Библиотека | Crypt32.lib |
DLL | Crypt32.dll |