Fungsi StringCbLengthA (strsafe.h)

Menentukan apakah string melebihi panjang yang ditentukan, dalam byte.

StringCbLength adalah pengganti fungsi berikut:

Sintaksis

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 tidak NULL dan fungsi berhasil.

Mengembalikan nilai

Jenis: HRESULT

Fungsi ini dapat mengembalikan salah satu nilai berikut. Sangat disarankan agar Anda menggunakan BERHASIL dan makro GAGAL untuk menguji nilai pengembalian fungsi ini.

Mengembalikan kode Deskripsi
S_OK
String pada psz tidak null, dan panjang string (termasuk karakter null penghentian) kurang dari atau sama dengan karakter cbMax.
STRSAFE_E_INVALID_PARAMETER
Nilai dalam psz null, cbMax lebih besar dari , atau psz lebih panjang dari cbMax.
 

Perhatikan bahwa fungsi ini mengembalikan nilai HRESULT , tidak seperti fungsi yang digantikannya.

Komentar

Dibandingkan dengan fungsi yang digantinya, StringCbLength adalah alat tambahan untuk penanganan buffer yang tepat dalam kode Anda. Penanganan buffer yang buruk diimplikasi dalam banyak masalah keamanan yang melibatkan overruns buffer.

StringCbLength dapat digunakan dalam bentuk generiknya, atau dalam bentuk yang lebih spesifik. Jenis data string menentukan bentuk fungsi ini yang harus Anda gunakan.

Tipe Data String String Literal Fungsi
karakter "string" StringCbLengthA
TCHAR TEXT("string") StringCbLength
WCHAR L"string" StringCbLengthW
 

UnalignedStringCbLength adalah alias untuk fungsi ini.

Nota

Header strsafe.h mendefinisikan StringCbLength sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praproscesor 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

Syarat 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]
Platform Target Windows
Header strsafe.h

Lihat juga

StringCchLength