Fungsi RtlUnalignedStringCbLengthW (ntstrsafe.h)

Fungsi RtlUnalignedStringCbLengthW adalah versi fungsi RtlStringCbLength yang menerima penunjuk yang tidak disejajarkan ke string karakter Unicode.

Sintaks

NTSTRSAFEDDI RtlUnalignedStringCbLengthW(
  [in]            STRSAFE_PCUNZWCH psz,
  [in]            size_t           cbMax,
  [out, optional] size_t           *pcbLength
);

Parameter

[in] psz

Memasok pointer ke buffer yang berisi string null-terminated yang panjangnya akan diperiksa RtlUnalignedStringCbLengthW .

[in] cbMax

Memasok jumlah maksimum byte yang diizinkan dalam buffer yang menunjuk psz , termasuk karakter NULL yang mengakhiri. Nilai ini tidak boleh melebihi NTSTRSAFE_MAX_CCH * sizeof(WCHAR).

[out, optional] pcbLength

Pilihan. Jika pemanggil menyediakan penunjuk alamat non-NULL , fungsi memuat alamat dengan panjang, dalam byte, dari string yang terkandung dalam buffer yang dituju psz . Panjangnya tidak termasuk karakter NULL yang mengakhiri string.

Nilai kembali

RtlUnalignedStringCbLengthW mengembalikan salah satu nilai NTSTATUS berikut.

Menampilkan kode Deskripsi
STATUS_SUCCESS
Status keberhasilan ini berarti string yang ditentukan parameter psz bukan NULL, dan panjang string (termasuk karakter NULL yang mengakhiri) kurang dari atau sama dengan byte cbMax .
STATUS_INVALID_PARAMETER
Status kesalahan ini berarti nilai dalam psz adalah NULL, cbMax lebih besar dari NTSTRSAFE_MAX_CCH * sizeof(WCHAR, atau psz lebih panjang dari cbMax.
 

Untuk informasi tentang cara menguji nilai NTSTATUS, lihat Menggunakan Nilai NTSTATUS.

Keterangan

Fungsi RtlUnalignedStringCbLengthW tersedia untuk arsitektur prosesor, seperti berbasis Itanium dan berbasis x64, yang menyebabkan pengecualian perataan ketika perangkat lunak mencoba mengakses data yang tidak sejajar. Pada prosesor tersebut, Anda dapat menggunakan RtlUnalignedStringCbLengthW alih-alih fungsi RtlStringCbLength untuk menghindari pengecualian perataan. (Untuk prosesor yang tidak menyebabkan pengecualian perataan, RtlUnalignedStringCbLengthW setara dengan RtlStringCbLength.)

Untuk informasi selengkapnya tentang fungsi string aman, lihat Menggunakan Fungsi String Aman.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Windows XP dengan Paket Layanan 1 (SP1) dan versi Windows yang lebih baru.
Target Platform Desktop
Header ntstrsafe.h (termasuk Ntstrsafe.h)
Pustaka Ntstrsafe.lib
IRQL Bagaimanapun, jika string yang dimanipulasi selalu berada dalam memori, jika tidak, PASSIVE_LEVEL

Lihat juga

RtlStringCbLength