Condividi tramite


Funzione RtlStringCbLengthA (ntstrsafe.h)

Le funzioni RtlStringCbLengthW e RtlStringCbLengthA determinano la lunghezza, in byte, di una stringa specificata.

Sintassi

NTSTRSAFEDDI RtlStringCbLengthA(
  [in] STRSAFE_PCNZCH 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
STATUS_SUCCESS
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.
STATUS_INVALID_PARAMETER
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

Vedi anche

RtlStringCchLength