Fungsi RtlUnicodeStringCchCatStringN (ntstrsafe.h)

Fungsi RtlUnicodeStringCchCatStringN menggabungkan dua string saat string tujuan terkandung dalam struktur UNICODE_STRING , sambil membatasi ukuran string yang ditambahkan.

Sintaks

NTSTRSAFEDDI RtlUnicodeStringCchCatStringN(
  [in, out] PUNICODE_STRING  DestinationString,
  [in]      NTSTRSAFE_PCWSTR pszSrc,
  [in]      size_t           cchToAppend
);

Parameter

[in, out] DestinationString

Penunjuk ke struktur UNICODE_STRING . Struktur ini mencakup buffer yang, pada input, berisi string tempat string sumber akan digabungkan. Pada output, buffer ini adalah buffer tujuan yang berisi seluruh string yang dihasilkan. String sumber (tidak termasuk NULL yang mengakhiri) ditambahkan ke akhir string tujuan. Jumlah maksimum karakter dalam buffer string struktur adalah NTSTRSAFE_UNICODE_STRING_MAX_CCH.

[in] pszSrc

Penunjuk yang disediakan penelepon ke string yang dihentikan null. String ini akan digabungkan ke akhir string yang terkandung dalam struktur UNICODE_STRING parameter DestinationString.

[in] cchToAppend

Jumlah maksimum karakter untuk ditambahkan ke string yang dijelaskan parameter DestinationString .

Menampilkan nilai

RtlUnicodeStringCchCatStringN mengembalikan salah satu nilai NTSTATUS berikut.

Menampilkan kode Deskripsi
STATUS_SUCCESS
Status keberhasilan ini berarti bahwa data sumber ada, string digabungkan tanpa pemotokan, dan buffer tujuan yang dihasilkan dihentikan null.
STATUS_BUFFER_OVERFLOW
Status peringatan ini berarti bahwa operasi yang digabungkan tidak selesai karena ruang buffer yang tidak mencukuum. Buffer tujuan berisi versi hasil yang dihentikan dengan null dan dihentikan dari hasil yang dimaksud.
STATUS_INVALID_PARAMETER
Status kesalahan ini berarti bahwa fungsi menerima parameter input yang tidak valid. Untuk informasi selengkapnya, lihat daftar berikut ini.
 

RtlUnicodeStringCchCatStringN mengembalikan nilai STATUS_INVALID_PARAMETER saat salah satu hal berikut ini terjadi:

  • Isi struktur UNICODE_STRING tidak valid.
  • Buffer tujuan sudah penuh.
  • Penunjuk buffer adalah NULL.
  • Panjang buffer tujuan adalah nol, tetapi string sumber panjang bukan nol ada.
  • Nilai parameter cchToAppend lebih besar dari NTSTRSAFE_UNICODE_STRING_MAX_CCH.
Untuk informasi tentang cara menguji nilai NTSTATUS, lihat Menggunakan Nilai NTSTATUS.

Keterangan

Fungsi RtlUnicodeStringCchCatStringN menggunakan ukuran buffer tujuan untuk memastikan bahwa operasi penggabungan tidak menulis melewati akhir buffer. Fungsi tidak mengakhiri string yang dihasilkan dengan nilai karakter null (yaitu, dengan nol).

Jika string sumber dan tujuan tumpang tindih, perilaku fungsi tidak terdefinisi.

Pointer pszSrc dan DestinationString tidak boleh NULL. Jika Anda perlu menangani nilai penunjuk NULL , gunakan fungsi RtlUnicodeStringCchCatStringNEx .

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

RtlUnicodeStringCbCatStringN

RtlUnicodeStringCchCatStringNEx

UNICODE_STRING