Fungsi RtlStringCbLengthA (ntstrsafe.h)

Fungsi RtlStringCbLengthW dan RtlStringCbLengthA menentukan panjang, dalam byte, dari string yang disediakan.

Sintaks

NTSTRSAFEDDI RtlStringCbLengthA(
  [in] STRSAFE_PCNZCH psz,
  [in] size_t         cbMax,
       size_t         *pcbLength
);

Parameter

[in] psz

Penunjuk ke buffer yang berisi string yang dihentikan null, yang panjangnya akan diperiksa.

[in] cbMax

Jumlah maksimum byte yang diizinkan dalam buffer yang ditujukkan oleh psz, termasuk karakter null yang mengakhiri.

Untuk string Unicode, jumlah maksimum byte adalah NTSTRSAFE_MAX_CCH * sizeof(WCHAR).

Untuk string ANSI, jumlah maksimum byte adalah NTSTRSAFE_MAX_CCH * sizeof(char).

pcbLength

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

Menampilkan nilai

Fungsi mengembalikan salah satu nilai NTSTATUS yang tercantum dalam tabel berikut. Untuk informasi tentang cara menguji nilai NTSTATUS, lihat Menggunakan Nilai NTSTATUS.

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

Keterangan

RtlStringCbLengthW dan RtlStringCbLengthA harus digunakan alih-alih strlen. Gunakan fungsi-fungsi ini untuk memastikan bahwa string tidak lebih besar dari panjang tertentu, dalam byte. Jika kondisi tersebut terpenuhi, RtlStringCbLengthW dan RtlStringCbLengthA mengembalikan panjang string saat ini dalam byte, tidak termasuk byte yang digunakan untuk karakter null yang mengakhiri.

Gunakan RtlStringCbLengthW untuk menangani string Unicode dan RtlStringCbLengthA untuk menangani string ANSI. Formulir yang Anda gunakan bergantung pada data Anda, seperti yang diperlihatkan dalam tabel berikut ini.

Jenis data string String harfiah Fungsi
WCHAR L"string" RtlStringCbLengthW
char "string" RtlStringCbLengthA
 

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

RtlStringCchLength