Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La funzione ber_printf viene usata per codificare un elemento BER ed è simile a sprintf_s. Una differenza importante è che i dati di stato vengono archiviati nell'argomento BerElement in modo che sia possibile effettuare più chiamate a ber_printf per aggiungere alla fine dell'elemento BER. L'argomento BerElement passato a questa funzione deve essere un puntatore a un BerElement restituito da ber_alloc_t.
Sintassi
WINBERAPI INT BERAPI ber_printf(
[in, out] BerElement *pBerElement,
[in] PSTR fmt,
...
);
Parametri
[in, out] pBerElement
Puntatore alla struttura BerElement codificata.
[in] fmt
Stringa di formato di codifica. Per altre informazioni, vedere la sezione Osservazioni.
...
Valori da codificare come specificato dall'argomento fmt .
Valore restituito
Se la funzione ha esito positivo, viene restituito un numero non negativo. Se la funzione ha esito negativo, viene restituito -1.
Commenti
La stringa di formato può contenere caratteri di formato elencati nella tabella seguente.
| Carattere | Descrizione |
|---|---|
| t | Tag. L'argomento successivo è un ber_tag_t che specifica il tag per eseguire l'override dell'elemento successivo scritto in BerElement. Funziona tra chiamate. |
| b | Boolean. L'argomento successivo è un ber_int_t che contiene 0 per FALSE o 1 per TRUE. Un elemento booleano è l'output. Se questo carattere di formato non è preceduto dal modificatore di formato t , il tag 0x01U viene usato per l'elemento. |
| e | Enumerazione. L'argomento successivo è un ber_int_t che contiene il valore enumerato. Un elemento enumerato è l'output. Se questo carattere di formato non è preceduto dal modificatore di formato t , il tag 0x0AU viene usato per l'elemento. |
| i | Integer. L'argomento successivo è un ber_int_t che contiene il valore integer. Un elemento integer è output. Se questo carattere di formato non è preceduto dal modificatore di formato t , il tag 0x02U viene usato per l'elemento. |
| n | Null. Non è necessario alcun argomento. Viene restituito un elemento NULL ASN.1. Se questo carattere di formato non è preceduto dal modificatore di formato t , il tag 0x05U viene usato per l'elemento. |
| o | Stringa ottet. I due argomenti successivi sono char*, seguiti da un ber_len_t con la lunghezza della stringa. La stringa può contenere byte NULL e non deve essere terminata zero. Un elemento stringa ottetto viene generato e non vengono eseguite conversioni di formato caratteri nei dati stringa. Il passaggio di un puntatore NULL seguito da una lunghezza pari a 0 è accettabile se è necessario un elemento stringa ottetto NULL . Se questo carattere di formato non è preceduto dal modificatore di formato t , il tag 0x04U viene usato per l'elemento. |
| s | Stringa ottet. L'argomento successivo è un carattere* che punta a una stringa di caratteri ANSI con terminazione zero. I caratteri di stringa ANSI vengono convertiti in formato UTF-8 e un elemento stringa ottetto è di output, che non include il byte finale '\0' (null). Il passaggio di un puntatore NULL è accettabile se è necessario un elemento stringa ottetto NULL . Se questo carattere di formato non è preceduto dal modificatore di formato t , il tag 0x04U viene usato per l'elemento. |
| Presso | Diverse stringhe di ottetto. L'argomento successivo è un carattere**, una matrice di puntatori char* a stringhe ANSI con terminazione zero. L'ultimo elemento della matrice deve essere un puntatore NULL . Le stringhe ottet non includono il byte finale '\0' (null). Tenere presente che viene usato un costrutto come {v} per ottenere una sequenza effettiva di stringhe ottet. Impossibile usare il modificatore di formato t con questo carattere di formato. |
| V | Diverse stringhe di ottetto. Viene fornita una matrice con terminazione NULL di berval* . Tenere presente che viene usato un costrutto come {v} per ottenere una sequenza effettiva di stringhe ottet. Impossibile usare il modificatore di formato t con questo carattere di formato. |
| X | Bitstring. I due argomenti successivi sono un puntatore char* all'inizio della bitstring, seguito da un ber_len_t contenente il numero di bit nella stringa bit. Un elemento bitstring è l'output. Se questo carattere di formato non è preceduto dal modificatore di formato t , il tag 0x03U viene usato per l'elemento. |
| { | Inizia sequenza. Non è necessario alcun argomento. Se questo carattere di formato non è preceduto dal modificatore di formato t , viene usato il tag 0x30U. |
| } | Sequenza finale. Non è necessario alcun argomento. Impossibile usare il modificatore di formato t con questo carattere di formato. |
| [ | Inizia set. Non è necessario alcun argomento. Se questo carattere di formato non è preceduto dal modificatore di formato t , viene usato il tag 0x31U. |
| ] | Set finale. Non è necessario alcun argomento. Impossibile usare il modificatore di formato t con questo carattere di formato. |
Ogni carattere di parentesi graffe a sinistra ({) deve essere associato a un carattere con parentesi graffe a destra (}) più avanti nella stringa di formato o nella stringa di formato di una chiamata successiva a ber_printf per tale berelemento specifico. Lo stesso vale per i caratteri a sinistra ([) carattere e parentesi destra (]).
Requisiti
| Requisito | Valore |
|---|---|
| Client minimo supportato | Windows Vista |
| Server minimo supportato | Windows Server 2008 |
| Piattaforma di destinazione | Windows |
| Intestazione | winber.h |
| Libreria | Wldap32.lib |
| DLL | Wldap32.dll |