Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die ber_printf-Funktion wird zum Codieren eines BER-Elements verwendet und ähnelt sprintf_s. Ein wichtiger Unterschied besteht darin, dass Zustandsdaten im BerElement-Argument gespeichert werden, sodass mehrere Aufrufe an ber_printf ausgeführt werden können, die an das Ende des BER-Elements angefügt werden können. Das An diese Funktion übergebene BerElement-Argument muss ein Zeiger auf ein BerElement sein, das von ber_alloc_t zurückgegeben wird.
Syntax
WINBERAPI INT BERAPI ber_printf(
[in, out] BerElement *pBerElement,
[in] PSTR fmt,
...
);
Parameter
[in, out] pBerElement
Ein Zeiger auf die codierte BerElement-Struktur .
[in] fmt
Eine Codierungsformatzeichenfolge. Weitere Informationen finden Sie in den Hinweisen.
...
Die durch das fmt-Argument angegebenen Werte, die codiert werden sollen.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird eine nicht negative Zahl zurückgegeben. Wenn die Funktion fehlschlägt, wird -1 zurückgegeben.
Hinweise
Die Formatzeichenfolge kann Formatzeichen enthalten, die in der folgenden Tabelle aufgeführt sind.
| Zeichen | BESCHREIBUNG |
|---|---|
| t | Tag. Das nächste Argument ist ein ber_tag_t , das das -Tag angibt, um das nächste in das BerElement geschriebene Element zu überschreiben. Dies funktioniert über Aufrufe hinweg. |
| b | Boolean. Das nächste Argument ist ein ber_int_t, das entweder 0 für FALSE oder 1 für TRUE enthält. Ein boolesches Element wird ausgegeben. Wenn diesem Formatzeichen nicht der Formatmodifizierer t vorangestellt ist, wird das Tag 0x01U für das -Element verwendet. |
| e | Aufgezählt. Das nächste Argument ist ein ber_int_t, das den aufgezählten Wert enthält. Ein aufgezähltes Element wird ausgegeben. Wenn diesem Formatzeichen nicht der Formatmodifizierer t vorangestellt ist, wird das Tag 0x0AU für das -Element verwendet. |
| i | Integer. Das nächste Argument ist ein ber_int_t, das den ganzzahligen Wert enthält. Ein ganzzahliges Element wird ausgegeben. Wenn diesem Formatzeichen nicht der Formatmodifizierer t vorangestellt ist, wird das Tag 0x02U für das -Element verwendet. |
| n | Null. Es ist kein Argument erforderlich. Ein ASN.1 NULL-Element wird ausgegeben. Wenn diesem Formatzeichen nicht der Formatmodifizierer t vorangestellt ist, wird das Tag 0x05U für das -Element verwendet. |
| o | Oktettzeichenfolge. Die nächsten beiden Argumente sind ein char*, gefolgt von einem ber_len_t mit der Länge der Zeichenfolge. Die Zeichenfolge kann NULL-Bytes enthalten und muss nicht mit Null beendet sein. Ein Oktettzeichenfolgenelement wird ausgegeben, und es werden keine Zeichenformatkonvertierungen für die Zeichenfolgendaten ausgeführt. Das Übergeben eines NULL-Zeigers gefolgt von einer Länge von 0 ist akzeptabel, wenn ein NULL-Oktettzeichenfolgenelement erforderlich ist. Wenn diesem Formatzeichen nicht der Formatmodifizierer t vorangestellt ist, wird das Tag 0x04U für das -Element verwendet. |
| s | Oktettzeichenfolge. Das nächste Argument ist ein char* , das auf eine anSI-Zeichenfolge mit Null endet. Die ANSI-Zeichenfolgenzeichen werden in das UTF-8-Format konvertiert, und ein Oktettzeichenfolgenelement wird ausgegeben, das das nachfolgende Byte "\0" (NULL) nicht enthält. Das Übergeben eines NULL-Zeigers ist akzeptabel, wenn ein NULL-Oktettzeichenfolgenelement erforderlich ist. Wenn diesem Formatzeichen nicht der Formatmodifizierer t vorangestellt ist, wird das Tag 0x04U für das -Element verwendet. |
| V | Mehrere Oktettzeichenfolgen. Das nächste Argument ist ein char**, ein Array von char* -Zeigern auf NULL-beendete ANSI-Zeichenfolgen. Das letzte Element im Array muss ein NULL-Zeiger sein. Die Oktettzeichenfolgen enthalten nicht das nachfolgende Byte "\0" (NULL). Beachten Sie, dass ein Konstrukt wie {v} verwendet wird, um eine tatsächliche SEQUENZ VON Oktettzeichenfolgen abzurufen. Der T-Formatmodifizierer kann nicht mit diesem Formatzeichen verwendet werden. |
| B | Mehrere Oktettzeichenfolgen. Ein NULL-beendetes Array von berval* wird bereitgestellt. Beachten Sie, dass ein Konstrukt wie {v} verwendet wird, um eine tatsächliche SEQUENZ VON Oktettzeichenfolgen abzurufen. Der T-Formatmodifizierer kann nicht mit diesem Formatzeichen verwendet werden. |
| X | Bitzeichenfolge. Die nächsten beiden Argumente sind ein char* -Zeiger auf den Anfang der Bitzeichenfolge, gefolgt von einem ber_len_t , der die Anzahl der Bits in der Bitzeichenfolge enthält. Ein Bitstring-Element wird ausgegeben. Wenn diesem Formatzeichen nicht der Formatmodifizierer t vorangestellt ist, wird das Tag 0x03U für das -Element verwendet. |
| { | Startsequenz. Es ist kein Argument erforderlich. Wenn diesem Formatzeichen nicht der Formatmodifizierer t vorangestellt ist, wird das Tag 0x30U verwendet. |
| } | Endsequenz. Es ist kein Argument erforderlich. Der T-Formatmodifizierer kann nicht mit diesem Formatzeichen verwendet werden. |
| [ | Startsatz. Es ist kein Argument erforderlich. Wenn diesem Formatzeichen nicht der Formatmodifizierer t vorangestellt ist, wird das Tag 0x31U verwendet. |
| ] | Endsatz. Es ist kein Argument erforderlich. Der T-Formatmodifizierer kann nicht mit diesem Formatzeichen verwendet werden. |
Jedes linke Klammerzeichen ({) muss mit einer rechten Klammer (}) später in der Formatzeichenfolge oder in der Formatzeichenfolge eines nachfolgenden Aufrufs von ber_printf für dieses spezifische BerElement gekoppelt werden. Gleiches gilt für die Zeichen der linken Klammer ([) und der rechten Klammer (]).
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) | Windows Vista |
| Unterstützte Mindestversion (Server) | Windows Server 2008 |
| Zielplattform | Windows |
| Kopfzeile | winber.h |
| Bibliothek | Wldap32.lib |
| DLL | Wldap32.dll |