Funzione RtlStringCbLengthW (ntstrsafe.h)
Le funzioni RtlStringCbLengthW e RtlStringCbLengthA determinano la lunghezza, in byte, di una stringa specificata.
Sintassi
NTSTRSAFEDDI RtlStringCbLengthW(
[in] STRSAFE_PCNZWCH psz,
[in] size_t cbMax,
size_t *pcbLength
);
Parametri
[in] psz
Puntatore a un buffer che contiene una stringa con terminazione null, la lunghezza della quale verrà controllata.
[in] cbMax
Numero massimo di byte consentiti nel buffer a cui fa riferimento psz, incluso il carattere Null di terminazione.
Per le stringhe Unicode, il numero massimo di byte è NTSTRSAFE_MAX_CCH * sizeof(WCHAR).
Per le stringhe ANSI, il numero massimo di byte è NTSTRSAFE_MAX_CCH * sizeof(char).
pcbLength
Se il chiamante fornisce un puntatore di indirizzi non NULL , la funzione carica l'indirizzo con la lunghezza, in byte, della stringa contenuta nel buffer. La lunghezza non include il carattere null di terminazione della stringa.
Valore restituito
La funzione restituisce uno dei valori NTSTATUS elencati nella tabella seguente. Per informazioni su come testare i valori NTSTATUS, vedere Uso di valori NTSTATUS.
Codice restituito | Descrizione |
---|---|
|
Questo stato di esito positivo indica che la stringa in psz non era NULL e la lunghezza della stringa (incluso il carattere null di terminazione) è minore o uguale a cbMax caratteri. |
|
Questo stato di errore indica che il valore in psz è NULL, cbMax è maggiore di NTSTRSAFE_MAX_CCH * sizeof(TCHAR) o psz è più lungo di cbMax. |
Commenti
RtlStringCbLengthW e RtlStringCbLengthA devono essere usati anziché strlen. Usare queste funzioni per assicurarsi che una stringa non sia maggiore di una determinata lunghezza, in byte. Se tale condizione viene soddisfatta, RtlStringCbLengthW e RtlStringCbLengthA restituiscono la lunghezza corrente della stringa in byte, non inclusi i byte usati per il carattere Null terminante.
Usare RtlStringCbLengthW per gestire stringhe Unicode e RtlStringCbLengthA per gestire le stringhe ANSI. Il modulo usato dipende dai dati, come illustrato nella tabella seguente.
Dati di tipo stringa | Valore letterale stringa | Funzione |
---|---|---|
WCHAR | L"string" | RtlStringCbLengthW |
char | "stringa" | RtlStringCbLengthA |
Per altre informazioni sulle funzioni di stringa sicura, vedere Uso di funzioni stringhe sicure.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows XP con Service Pack 1 (SP1) e versioni successive di Windows. |
Piattaforma di destinazione | Desktop |
Intestazione | ntstrsafe.h (include Ntstrsafe.h) |
Libreria | Ntstrsafe.lib |
IRQL | Qualsiasi se le stringhe modificate sono sempre residenti in memoria, in caso contrario PASSIVE_LEVEL |