funzione ber_printf (winber.h)

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

Vedi anche

BerElement

Funzioni

ber_scanf

berval