Fungsi RtlUnicodeStringCbCopyN (ntstrsafe.h)
Fungsi RtlUnicodeStringCbCopyN menyalin string dari satu struktur UNICODE_STRING ke struktur lainnya sambil membatasi ukuran string yang disalin.
Sintaks
NTSTRSAFEDDI RtlUnicodeStringCbCopyN(
[out] PUNICODE_STRING DestinationString,
[in] PCUNICODE_STRING SourceString,
[in] size_t cbToCopy
);
Parameter
[out] DestinationString
Penunjuk ke struktur UNICODE_STRING yang menerima string yang disalin. String yang dituju oleh struktur UNICODE_STRING parameter SourceString disalin ke buffer tempat struktur UNICODE_STRING parameter DestinationString menunjuk. Jumlah maksimum byte dalam buffer string struktur DestinationString adalah NTSTRSAFE_UNICODE_STRING_MAX_CCH * sizeof(WCHAR).
[in] SourceString
Penunjuk ke struktur UNICODE_STRING yang berisi string yang akan disalin. Jumlah maksimum byte dalam buffer string struktur adalah NTSTRSAFE_UNICODE_STRING_MAX_CCH * sizeof(WCHAR).
[in] cbToCopy
Jumlah byte yang akan disalin dari sumber ke tujuan.
Menampilkan nilai
RtlUnicodeStringCbCopyN mengembalikan salah satu nilai NTSTATUS berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Status keberhasilan ini berarti data sumber ada, string disalin tanpa pemotongan. |
|
Status peringatan ini berarti operasi penyalinan tidak selesai karena ruang buffer yang tidak mencukupi. Buffer tujuan berisi versi terpotong dari hasil yang dimaksudkan. |
|
Status kesalahan ini berarti fungsi menerima parameter input yang tidak valid. Untuk informasi selengkapnya, lihat paragraf berikut ini. |
RtlUnicodeStringCbCopyN 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 cbToCopy lebih besar dari NTSTRSAFE_UNICODE_STRING_MAX_CCH * sizeof(WCHAR).
Keterangan
Fungsi RtlUnicodeStringCbCopyN menggunakan ukuran buffer tujuan untuk memastikan bahwa operasi salin 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.
Penunjuk SourceString dan DestinationString tidak boleh NULL. Jika Anda perlu menangani nilai penunjuk NULL , gunakan fungsi RtlUnicodeStringCbCopyNEx .
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk