Funzione CryptFormatObject (wincrypt.h)
La funzione CryptFormatObject formatta i dati codificati e restituisce una stringa Unicode nel buffer allocato in base al tipo di codifica del certificato.
Sintassi
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
);
Parametri
[in] dwCertEncodingType
Tipo di codifica usato nel certificato. Il tipo di codifica del certificato attualmente definito usato è X509_ASN_ENCODING.
[in] dwFormatType
Formattare i valori del tipo. Non usato. Imposta su zero.
[in] dwFormatStrType
Valori del tipo di formato struttura. Questo parametro può essere zero oppure è possibile specificare uno o più dei flag seguenti usando l'operatore OR bit per bit per combinarli.
[in] pFormatStruct
Puntatore al formato della struttura. Non usato. Impostare su NULL.
[in] lpszStructType
Puntatore a un OID che definisce i dati codificati. Se la parola di ordine elevato del parametro lpszStructType è zero, la parola di ordine basso specifica l'identificatore integer per il tipo della struttura specificata. In caso contrario, questo parametro è un puntatore lungo a una stringa con terminazione Null.
Nella tabella seguente sono elencati gli IDE supportati con l'estensione OID associata.
[in] pbEncoded
Puntatore ai dati codificati da formattare. Se lpszStructType è uno degli OID elencati in precedenza, pbEncoded è l'estensione codificata.
[in] cbEncoded
Dimensione, in byte, della struttura pbEncoded .
[out] pbFormat
Puntatore a un buffer che riceve la stringa formattata. Quando il buffer specificato non è sufficientemente grande per ricevere la struttura decodificata, la funzione imposta ERROR_MORE_DATA e archivia le dimensioni del buffer necessarie, in byte, nella variabile a cui punta pcbFormat. Questo parametro può essere NULL per impostare le dimensioni di queste informazioni ai fini dell'allocazione della memoria. Per altre informazioni, vedere Recupero di dati di lunghezza sconosciuta.
[in, out] pcbFormat
Puntatore a una variabile che specifica le dimensioni, in byte, del buffer a cui punta il parametro pbFormat . Quando la funzione viene restituita, la variabile a cui punta il parametro pcbFormat contiene il numero di byte archiviati nel buffer. Questo parametro può essere NULL, solo se pbFormat è NULL.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è TRUE. Se non riesce, il valore restituito è FALSE. Per recuperare le informazioni sull'errore estese, usare la funzione GetLastError .
Commenti
Il comportamento predefinito di questa funzione consiste nel restituire una visualizzazione a riga singola dei dati codificati, ovvero ogni sottocampo viene concatenato con una virgola (,) su una riga. Se si preferisce visualizzare i dati in più righe, impostare il flag CRYPT_FORMAT_STR_MULTI_LINE. Ogni sottocampo verrà quindi visualizzato su una riga separata.
Se non è installata o registrata alcuna routine di formattazione per il parametro lpszStructType , verrà restituito il dump esadecimale del CRYPT_INTEGER_BLOB codificato. Un utente può impostare il flag di CRYPT_FORMAT_STR_NO_HEX per disabilitare il dump esadecimale.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [app desktop | App UWP] |
Server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | wincrypt.h |
Libreria | Crypt32.lib |
DLL | Crypt32.dll |