Condividi tramite


Funzione RtlStringCbLengthW (ntstrsafe.h)

Le funzioni RtlStringCbLengthW e RtlStringCbLength A determinano la lunghezza, in byte, di una stringa fornita.

Sintassi

NTSTRSAFEDDI RtlStringCbLengthW(
  [in] STRSAFE_PCNZWCH psz,
  [in] size_t          cbMax,
       size_t          *pcbLength
);

Parametri

[in] psz

Puntatore a un buffer contenente una stringa con terminazione Null, la cui lunghezza verrà controllata.

[in] cbMax

Numero massimo di byte consentiti nel buffer a cui punta 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 puntatoreNULL non, la funzione carica l'indirizzo con la lunghezza, espressa 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 è stata nulle la lunghezza della stringa (incluso il carattere Null di terminazione) è minore o uguale a caratteri cbMax.
STATUS_INVALID_PARAMETER
Questo errore stato indica che il valore in psz è NULL, cbMax è maggiore di NTSTRSAFE_MAX_CCH * sizeof(TCHAR) o psz è più lungo di cbMax.

Osservazioni

RtlStringCbLengthW e RtlStringCbLengthA anziché strlen. Usare queste funzioni per assicurarsi che una stringa non sia maggiore di una lunghezza specificata, espressa in byte. Se tale condizione viene soddisfatta, RtlStringCbLengthW e RtlStringCbLengthA restituire la lunghezza corrente della stringa in byte, senza includere i byte utilizzati per il carattere Null di terminazione.

Usare RtlStringCbLengthW per gestire stringhe Unicode e RtlStringCbLengthA per gestire le stringhe ANSI. Il modulo usato dipende dai dati, come illustrato nella tabella seguente.

Tipo di dati String Valore letterale stringa Funzione
WCHAR L"string" RtlStringCbLengthW
char "string" RtlStringCbLengthA
 

Per altre informazioni sulle funzioni di stringa sicura, vedere Using Safe String Functions.For more information about the safe string functions, see Using Safe String Functions.

Fabbisogno

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, altrimenti PASSIVE_LEVEL

Vedere anche

RtlStringCchLength