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 keberhasilan ini berarti string di psz bukan NULL, dan panjang string (termasuk karakter null yang mengakhiri) kurang dari atau sama dengan karakter cbMax . |
|
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk