Fungsi RtlStringCchCopyW (ntstrsafe.h)

Fungsi RtlStringCchCopyW dan RtlStringCchCopyA menyalin string sumber yang dihentikan null ke dalam buffer tujuan dengan panjang yang ditentukan.

Sintaks

NTSTRSAFEDDI RtlStringCchCopyW(
  [out] NTSTRSAFE_PWSTR  pszDest,
  [in]  size_t           cchDest,
  [in]  NTSTRSAFE_PCWSTR pszSrc
);

Parameter

[out] pszDest

Penunjuk ke buffer yang disediakan penelepon yang menerima string yang disalin. String di pszSrc disalin ke buffer di pszDest dan dihentikan dengan karakter null.

[in] cchDest

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

[in] pszSrc

Penunjuk ke string yang disediakan penelepon dan dihentikan null.

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 disalin tanpa pemotokan, dan buffer tujuan yang dihasilkan dihentikan null.
STATUS_BUFFER_OVERFLOW
Status peringatan ini berarti operasi penyalinan tidak selesai karena ruang buffer tidak mencukupi. Buffer tujuan berisi versi hasil yang dihentikan dengan null dan dihentikan dari hasil yang dimaksud.
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.
  • Penunjuk NULL ada.
  • Panjang buffer tujuan adalah nol pada entri.

Keterangan

RtlStringCchCopyW dan RtlStringCchCopyA harus digunakan alih-alih fungsi berikut:

  • strcpy
  • wcscpy
Fungsi-fungsi ini bukan pengganti strncpy. Gunakan RtlStringCchCopyN atau RtlStringCchCopyNEx untuk menggantikan strncpy.

Ukuran, dalam karakter, buffer tujuan disediakan untuk RtlStringCchCopyW dan RtlStringCchCopyA untuk memastikan bahwa mereka tidak menulis melewati akhir buffer.

Gunakan RtlStringCchCopyW untuk menangani string Unicode dan RtlStringCchCopyA untuk menangani string ANSI. Formulir yang Anda gunakan bergantung pada data Anda, seperti yang diperlihatkan dalam tabel berikut ini.

Jenis data string String literal Fungsi
WCHAR L"string" RtlStringCchCopyW
char "string" RtlStringCchCopyA
 

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 RtlStringCchCopyEx.

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

RtlStringCbCopy

RtlStringCchCopyEx