Funzione RtlUnalignedStringCbLengthW (ntstrsafe.h)
La funzione RtlUnalignedStringCbLengthW è una versione della funzione RtlStringCbLength che accetta un puntatore non autorizzato a una stringa di caratteri Unicode.
Sintassi
NTSTRSAFEDDI RtlUnalignedStringCbLengthW(
[in] STRSAFE_PCUNZWCH psz,
[in] size_t cbMax,
[out, optional] size_t *pcbLength
);
Parametri
[in] psz
Fornisce un puntatore a un buffer contenente una stringa con terminazione null la cui lunghezza RtlUnalignedStringCbLengthW verificherà.
[in] cbMax
Fornisce il numero massimo di byte consentiti nel buffer a cui psz punta, incluso il carattere NULL di terminazione. Questo valore non può superare NTSTRSAFE_MAX_CCH * sizeof(WCHAR).
[out, optional] pcbLength
facoltativo. 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 a cui punta psz . La lunghezza non include il carattere NULL di terminazione della stringa.
Valore restituito
RtlUnalignedStringCbLengthW restituisce uno dei valori NTSTATUS seguenti.
Codice restituito | Descrizione |
---|---|
|
Questo stato di esito positivo indica che la stringa specificata dal parametro psz non era NULL e la lunghezza della stringa (incluso il carattere NULL di terminazione) era minore o uguale a cbMax byte. |
|
Questo stato di errore indica che il valore in psz è NULL, cbMax è maggiore di NTSTRSAFE_MAX_CCH * sizeof(WCHAR o psz è più lungo di cbMax). |
Per informazioni su come testare i valori NTSTATUS, vedere Uso di valori NTSTATUS.
Commenti
La funzione RtlUnalignedStringCbLengthW è disponibile per le architetture del processore, ad esempio Basata su Itanium e basata su x64, che causano eccezioni di allineamento quando il software tenta di accedere ai dati non idonei. In questi processori è possibile usare RtlUnalignedStringCbLengthW anziché la funzione RtlStringCbLength per evitare eccezioni di allineamento. Per i processori che non causano eccezioni di allineamento, RtlUnalignedStringCbLengthW equivale a RtlStringCbLength.
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 |