Fungsi StringCchLengthA (strsafe.h)
Menentukan apakah string melebihi panjang yang ditentukan, dalam karakter.
StringCchLength adalah pengganti untuk fungsi berikut:
Sintaks
STRSAFEAPI StringCchLengthA(
[in] STRSAFE_PCNZCH psz,
[in] size_t cchMax,
[out] size_t *pcchLength
);
Parameter
[in] psz
Jenis: LPCTSTR
String yang panjangnya akan diperiksa.
[in] cchMax
Jenis: size_t
Jumlah maksimum karakter yang diizinkan dalam psz, termasuk karakter null yang mengakhiri. Nilai ini tidak boleh melebihi STRSAFE_MAX_CCH.
[out] pcchLength
Jenis: size_t*
Jumlah karakter dalam psz, tidak termasuk karakter null yang mengakhiri. Nilai ini hanya valid jika pcch 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 pada psz bukan NULL, dan panjang string (termasuk karakter null yang mengakhiri) kurang dari atau sama dengan karakter cchMax . |
|
Nilai dalam psz adalah NULL, cchMax lebih besar dari STRSAFE_MAX_CCH, atau psz lebih panjang dari cchMax. |
Perhatikan bahwa fungsi ini mengembalikan nilai HRESULT , tidak seperti fungsi yang digantikannya.
Keterangan
Dibandingkan dengan fungsi yang digantikannya, StringCchLength adalah alat tambahan untuk penanganan buffer yang tepat dalam kode Anda. Penanganan buffer yang buruk diimplikasikan dalam banyak masalah keamanan yang melibatkan overrun buffer.
StringCchLength 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" | StringCchLengthA |
TCHAR | TEXT("string") | StringCchLength |
WCHAR | L"string" | StringCchLengthW |
UnalignedStringCchLength adalah alias untuk fungsi ini.
Catatan
Header strsafe.h mendefinisikan StringCchLength sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor 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 |