Fungsi RtlStringCbCopyUnicodeString (ntstrsafe.h)
Fungsi RtlStringCbCopyUnicodeString menyalin konten struktur UNICODE_STRING ke tujuan tertentu.
Sintaks
NTSTRSAFEDDI RtlStringCbCopyUnicodeString(
[out] NTSTRSAFE_PWSTR pszDest,
[in] size_t cbDest,
[in] PCUNICODE_STRING SourceString
);
Parameter
[out] pszDest
Penunjuk ke buffer yang menerima string yang disalin. String yang ditunjukkan oleh struktur UNICODE_STRING parameter SourceString disalin ke buffer di pszDest dan dihentikan dengan karakter null.
[in] cbDest
Ukuran, dalam byte, dari buffer tujuan yang dituju pszDest . Buffer harus cukup besar untuk memuat string dan karakter null yang mengakhiri. Jumlah maksimum byte dalam buffer 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 string adalah NTSTRSAFE_UNICODE_STRING_MAX_CCH * sizeof(WCHAR).
Menampilkan nilai
RtlStringCbCopyUnicodeString mengembalikan salah satu nilai NTSTATUS berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Status keberhasilan ini berarti bahwa data sumber ada, string disalin tanpa pemotokan, dan buffer tujuan yang dihasilkan dihentikan null. |
|
Status peringatan ini berarti bahwa operasi penyalinan tidak selesai karena ruang buffer yang tidak mencukupi. Buffer tujuan berisi versi hasil yang dihentikan dengan null dan dihentikan dari hasil yang dimaksud. |
|
Status kesalahan ini berarti bahwa fungsi menerima parameter input yang tidak valid. Untuk informasi selengkapnya, lihat daftar berikut ini. |
RtlStringCbCopyUnicodeString mengembalikan nilai STATUS_INVALID_PARAMETER ketika salah satu hal berikut ini terjadi:
- Isi struktur UNICODE_STRING tidak valid.
- Nilai dalam cbDest lebih besar dari ukuran buffer maksimum.
- Buffer tujuan (yang menunjuk pszDest ) sudah penuh.
- Penunjuk buffer adalah NULL.
- Panjang buffer tujuan adalah nol, tetapi string sumber panjang bukan nol ada.
Keterangan
Fungsi RtlStringCbCopyUnicodeString menggunakan ukuran buffer tujuan (yang ditentukan parameter cbDest ) untuk memastikan bahwa operasi salin tidak menulis melewati akhir buffer.
Jika string sumber dan tujuan tumpang tindih, perilaku fungsi tidak terdefinisi.
Pointer SourceString dan pszDest tidak boleh NULL. Jika Anda perlu menangani nilai penunjuk NULL , gunakan fungsi RtlStringCbCopyUnicodeStringEx .
Untuk informasi selengkapnya tentang fungsi string aman, lihat Menggunakan Fungsi String Aman.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows XP dengan Paket Layanan 1 (SP1). |
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