Función CryptFormatObject (wincrypt.h)
La función CryptFormatObject da formato a los datos codificados y devuelve una cadena Unicode en el búfer asignado según el tipo de codificación de certificado.
Sintaxis
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 codificación usada en el certificado. El tipo de codificación de certificado definido actualmente se X509_ASN_ENCODING.
[in] dwFormatType
Dar formato a los valores de tipo. No se usa. Establecer en cero.
[in] dwFormatStrType
Valores de tipo de formato de estructura. Este parámetro puede ser cero o puede especificar una o varias de las marcas siguientes mediante el operador OR bit a bit para combinarlos.
[in] pFormatStruct
Puntero al formato de la estructura. No se usa. Se establece en NULL.
[in] lpszStructType
Puntero a un OID que define los datos codificados. Si la palabra de orden superior del parámetro lpszStructType es cero, la palabra de orden bajo especifica el identificador entero para el tipo de la estructura especificada. De lo contrario, este parámetro es un puntero largo a una cadena terminada en null.
En la tabla siguiente se enumeran los OID admitidos con su extensión de OID asociada.
[in] pbEncoded
Puntero a los datos codificados a los que se va a dar formato. Si lpszStructType es uno de los OID enumerados anteriormente, pbEncoded es la extensión codificada.
[in] cbEncoded
Tamaño, en bytes, de la estructura pbEncoded .
[out] pbFormat
Puntero a un búfer que recibe la cadena con formato. Cuando el búfer especificado no es lo suficientemente grande como para recibir la estructura descodificada, la función establece ERROR_MORE_DATA y almacena el tamaño de búfer necesario, en bytes, en la variable a la que apunta pcbFormat. Este parámetro puede ser NULL para establecer el tamaño de esta información con fines de asignación de memoria. Para obtener más información, vea Recuperación de datos de longitud desconocida.
[in, out] pcbFormat
Puntero a una variable que especifica el tamaño, en bytes, del búfer al que apunta el parámetro pbFormat . Cuando se devuelve la función, la variable a la que apunta el parámetro pcbFormat contiene el número de bytes almacenados en el búfer. Este parámetro puede ser NULL, solo si pbFormat es NULL.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es TRUE. Si no se realiza correctamente, el valor devuelto es FALSE. Para recuperar información de error extendida, use la función GetLastError .
Comentarios
El comportamiento predeterminado de esta función es devolver una presentación de una sola línea de los datos codificados, es decir, cada subcampo se concatena con una coma (,) en una línea. Si prefiere mostrar los datos en varias líneas, establezca la marca CRYPT_FORMAT_STR_MULTI_LINE. A continuación, cada subcampo se mostrará en una línea independiente.
Si no hay ninguna rutina de formato instalada o registrada para el parámetro lpszStructType , se devolverá el volcado hexadecimal del CRYPT_INTEGER_BLOB codificado. Un usuario puede establecer la marca CRYPT_FORMAT_STR_NO_HEX para deshabilitar el volcado hexadecimal.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | wincrypt.h |
Library | Crypt32.lib |
Archivo DLL | Crypt32.dll |