Bagikan melalui


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
S_OK
String pada psz bukan NULL, dan panjang string (termasuk karakter null yang mengakhiri) kurang dari atau sama dengan karakter cchMax .
STRSAFE_E_INVALID_PARAMETER
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

Lihat juga

StringCbLength