Condividi tramite


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
STATUS_SUCCESS
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.
STATUS_INVALID_PARAMETER
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

Vedi anche

RtlStringCbLength