Função CryptFormatObject (wincrypt.h)
A função CryptFormatObject formata os dados codificados e retorna uma cadeia de caracteres Unicode no buffer alocado de acordo com o tipo de codificação de certificado.
Sintaxe
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
);
Parâmetros
[in] dwCertEncodingType
Tipo de codificação usado no certificado. O tipo de codificação de certificado definido no momento é X509_ASN_ENCODING.
[in] dwFormatType
Formatar valores de tipo. Não usado. Defina como zero.
[in] dwFormatStrType
Valores de tipo de formato de estrutura. Esse parâmetro pode ser zero ou você pode especificar um ou mais dos sinalizadores a seguir usando o operador OR bit a bit para combiná-los.
[in] pFormatStruct
Um ponteiro para o formato da estrutura. Não usado. Defina como NULL.
[in] lpszStructType
Um ponteiro para um OID que define os dados codificados. Se a palavra de alta ordem do parâmetro lpszStructType for zero, a palavra de baixa ordem especificará o identificador inteiro para o tipo da estrutura fornecida. Caso contrário, esse parâmetro é um ponteiro longo para uma cadeia de caracteres terminada em nulo.
A tabela a seguir lista os OIDs com suporte com a extensão OID associada.
[in] pbEncoded
Um ponteiro para os dados codificados a serem formatados. Se lpszStructType for um dos OIDs listados acima, o pbEncoded será a extensão codificada.
[in] cbEncoded
O tamanho, em bytes, da estrutura pbEncoded .
[out] pbFormat
Um ponteiro para um buffer que recebe a cadeia de caracteres formatada. Quando o buffer especificado não é grande o suficiente para receber a estrutura decodificada, a função define ERROR_MORE_DATA e armazena o tamanho do buffer necessário, em bytes, na variável apontada por pcbFormat. Esse parâmetro pode ser NULL para definir o tamanho dessas informações para fins de alocação de memória. Para obter mais informações, consulte Recuperando dados de comprimento desconhecido.
[in, out] pcbFormat
Um ponteiro para uma variável que especifica o tamanho, em bytes, do buffer apontado pelo parâmetro pbFormat . Quando a função retorna, a variável apontada pelo parâmetro pcbFormat contém o número de bytes armazenados no buffer. Esse parâmetro pode ser NULL, somente se pbFormat for NULL.
Retornar valor
Se a função for bem-sucedida, o valor retornado será TRUE. Se não for bem-sucedido, o valor retornado será FALSE. Para recuperar informações de erro estendidas, use a função GetLastError .
Comentários
O comportamento padrão dessa função é retornar uma exibição de linha única dos dados codificados, ou seja, cada subcampo é concatenado com uma vírgula (,) em uma linha. Se preferir exibir os dados em várias linhas, defina o sinalizador CRYPT_FORMAT_STR_MULTI_LINE. Cada subcampo será exibido em uma linha separada.
Se não houver nenhuma rotina de formatação instalada ou registrada para o parâmetro lpszStructType , o despejo hexadecimal do CRYPT_INTEGER_BLOB codificado será retornado. Um usuário pode definir o sinalizador CRYPT_FORMAT_STR_NO_HEX para desabilitar o despejo hexadecimal.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [aplicativos da área de trabalho | aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | wincrypt.h |
Biblioteca | Crypt32.lib |
DLL | Crypt32.dll |