Fungsi RtlStringCchCatA (ntstrsafe.h)

Fungsi RtlStringCchCatW dan RtlStringCchCatA menggabungkan dua string yang dihitung karakter.

Sintaks

NTSTRSAFEDDI RtlStringCchCatA(
  [in, out] NTSTRSAFE_PSTR  pszDest,
  [in]      size_t          cchDest,
  [in]      NTSTRSAFE_PCSTR pszSrc
);

Parameter

[in, out] pszDest

Penunjuk ke buffer yang, pada input, berisi string yang dihentikan null di mana pszSrc akan digabungkan. Pada output, ini adalah buffer tujuan yang berisi seluruh string yang dihasilkan. String di pszSrc ditambahkan ke akhir string di pszDest dan dihentikan dengan karakter null.

[in] cchDest

Ukuran, dalam karakter, dari buffer tujuan. Jumlah maksimum karakter yang diperbolehkan adalah NTSTRSAFE_MAX_CCH.

[in] pszSrc

Penunjuk ke string yang dihentikan null. String ini akan digabungkan ke akhir string yang terkandung dalam buffer di pszDest.

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_SUCCESS
Status keberhasilan ini berarti data sumber ada, string output dibuat tanpa pemotongan, dan buffer tujuan yang dihasilkan dihentikan null.
STATUS_BUFFER_OVERFLOW
Status peringatan ini berarti operasi tidak selesai karena ruang yang tidak cukup di buffer tujuan. Buffer tujuan berisi versi hasil yang dipotong dan dihentikan null.
STATUS_INVALID_PARAMETER
Status kesalahan ini berarti fungsi menerima parameter input yang tidak valid. Untuk informasi selengkapnya, lihat paragraf berikut ini.

Fungsi mengembalikan nilai STATUS_INVALID_PARAMETER saat:

  • Nilai dalam cchDest lebih besar dari ukuran buffer maksimum.
  • Buffer tujuan sudah penuh.
  • Penunjuk NULL ada.
  • Penunjuk buffer tujuan null, tetapi ukuran buffer bukan nol.
  • Panjang buffer tujuan adalah nol, tetapi string sumber panjang bukan nol ada.

Keterangan

RtlStringCchCatW dan RtlStringCchCatA harus digunakan alih-alih fungsi berikut:

  • strcat
  • wcscat
Ukuran, dalam karakter, buffer tujuan disediakan untuk memastikan bahwa RtlStringCchCatW dan RtlStringCchCatA tidak menulis melewati akhir buffer.

Gunakan RtlStringCchCatW untuk menangani string Unicode dan RtlStringCchCatA 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" RtlStringCchCatW
char "string" RtlStringCchCatA
 

Jika pszSrc dan pszDest menunjuk ke string yang tumpang tindih, perilaku fungsi tidak terdefinisi.

Baik pszSrc maupun pszDest tidak boleh NULL. Jika Anda perlu menangani nilai penunjuk string NULL , gunakan RtlStringCchCatEx.

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

RtlStringCbCat

RtlStringCchCatEx

RtlStringCchCatN