Fungsi StringCbLengthA (strsafe.h)
Menentukan apakah string melebihi panjang yang ditentukan, dalam byte.
StringCbLength adalah pengganti untuk fungsi berikut:
Sintaks
STRSAFEAPI StringCbLengthA(
[in] STRSAFE_PCNZCH psz,
[in] size_t cbMax,
[out] size_t *pcbLength
);
Parameter
[in] psz
Jenis: LPCTSTR
String yang panjangnya akan diperiksa.
[in] cbMax
Jenis: size_t
Jumlah maksimum byte yang diizinkan dalam psz, termasuk yang digunakan untuk karakter null yang mengakhiri. Nilai ini tidak boleh melebihi STRSAFE_MAX_CCH * sizeof(TCHAR)
.
[out] pcbLength
Jenis: size_t*
Jumlah byte dalam psz, tidak termasuk yang digunakan untuk karakter null yang mengakhiri. Nilai ini hanya valid jika pcb bukan NULL dan fungsi berhasil.
Nilai kembali
Jenis: HRESULT
Fungsi ini dapat mengembalikan salah satu nilai berikut. Sangat disarankan agar Anda menggunakan makro BERHASIL dan GAGAL untuk menguji nilai pengembalian fungsi ini.
Menampilkan kode | Deskripsi |
---|---|
|
String di psz bukan NULL, dan panjang string (termasuk karakter null yang dihentikan) kurang dari atau sama dengan karakter cbMax . |
|
Nilai dalam psz adalah NULL, cbMax lebih besar dari STRSAFE_MAX_CCH * sizeof(TCHAR) , atau psz lebih panjang dari cbMax.
|
Perhatikan bahwa fungsi ini mengembalikan nilai HRESULT , tidak seperti fungsi yang digantikan.
Keterangan
Dibandingkan dengan fungsi yang digantinya, StringCbLength adalah alat tambahan untuk penanganan buffer yang tepat dalam kode Anda. Penanganan buffer yang buruk diimplikasikan dalam banyak masalah keamanan yang melibatkan buffer overruns.
StringCbLength dapat digunakan dalam bentuk generiknya, atau dalam bentuk yang lebih spesifik. Jenis data string menentukan bentuk fungsi ini yang harus Anda gunakan.
Jenis Data String | String Literal | Fungsi |
---|---|---|
char | "string" | StringCbLengthA |
TCHAR | TEXT("string") | StringCbLength |
WCHAR | L"string" | StringCbLengthW |
UnalignedStringCbLength adalah alias untuk fungsi ini.
Catatan
Header strsafe.h mendefinisikan StringCbLength sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosektor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP dengan SP2 [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2003 dengan SP1 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | strsafe.h |