CryptFormatObject-Funktion (wincrypt.h)
Die CryptFormatObject-Funktion formatiert die codierten Daten und gibt eine Unicode-Zeichenfolge im zugeordneten Puffer gemäß dem Zertifikatcodierungstyp zurück.
Syntax
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
);
Parameter
[in] dwCertEncodingType
Typ der Codierung, die für das Zertifikat verwendet wird. Der aktuell definierte Zertifikatcodierungstyp ist X509_ASN_ENCODING.
[in] dwFormatType
Formattypwerte. Wird nicht verwendet. Auf NULL festlegen.
[in] dwFormatStrType
Werte des Strukturformattyps. Dieser Parameter kann null sein, oder Sie können eines oder mehrere der folgenden Flags angeben, indem Sie den bitweisen OR-Operator verwenden, um sie zu kombinieren.
[in] pFormatStruct
Ein Zeiger auf das Format der Struktur. Wird nicht verwendet. Auf NULL festgelegt.
[in] lpszStructType
Ein Zeiger auf eine OID, die die codierten Daten definiert. Wenn das hochgeordnete Wort des lpszStructType-Parameters 0 ist, gibt das Wort mit niedriger Reihenfolge den ganzzahligen Bezeichner für den Typ der angegebenen Struktur an. Andernfalls ist dieser Parameter ein langer Zeiger auf eine NULL-Zeichenfolge.
In der folgenden Tabelle sind unterstützte OIDs mit der zugehörigen OID-Erweiterung aufgeführt.
[in] pbEncoded
Ein Zeiger auf die codierten Daten, die formatiert werden sollen. Wenn lpszStructType eine der oben aufgeführten OIDs ist, ist pbEncoded die codierte Erweiterung.
[in] cbEncoded
Die Größe der pbEncoded-Struktur in Bytes.
[out] pbFormat
Ein Zeiger auf einen Puffer, der die formatierte Zeichenfolge empfängt. Wenn der angegebene Puffer nicht groß genug ist, um die decodierte Struktur zu empfangen, legt die Funktion ERROR_MORE_DATA fest und speichert die erforderliche Puffergröße in Bytes in der Variablen, auf die von pcbFormat verwiesen wird. Dieser Parameter kann NULL sein, um die Größe dieser Informationen für Speicherzuordnungszwecke festzulegen. Weitere Informationen finden Sie unter Abrufen von Daten unbekannter Länge.
[in, out] pcbFormat
Ein Zeiger auf eine Variable, der die Größe des Puffers in Bytes angibt, auf den der pbFormat-Parameter verweist. Wenn die Funktion zurückgibt, enthält die Variable, auf die der parameter pcbFormat verweist, die Anzahl der im Puffer gespeicherten Bytes. Dieser Parameter kann nur NULL sein, wenn pbFormatNULL ist.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert TRUE. Wenn dies nicht erfolgreich ist, ist der Rückgabewert FALSE. Verwenden Sie zum Abrufen erweiterter Fehlerinformationen die GetLastError-Funktion .
Hinweise
Das Standardverhalten dieser Funktion besteht darin, eine einzeilige Anzeige der codierten Daten zurückzugeben, d. h. jedes Unterfeld wird mit einem Komma (,) in einer Zeile verkettet. Wenn Sie die Daten lieber in mehreren Zeilen anzeigen möchten, legen Sie das flag CRYPT_FORMAT_STR_MULTI_LINE fest. Jedes Unterfeld wird dann in einer separaten Zeile angezeigt.
Wenn für den lpszStructType-Parameter keine Formatierungsroutine installiert oder registriert ist, wird das Hexadezimalabbild des codierten CRYPT_INTEGER_BLOB zurückgegeben. Ein Benutzer kann das CRYPT_FORMAT_STR_NO_HEX-Flag festlegen, um das Hexadezimalabbild zu deaktivieren.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | wincrypt.h |
Bibliothek | Crypt32.lib |
DLL | Crypt32.dll |