Fungsi RtlStringCbVPrintfW (ntstrsafe.h)
Fungsi RtlStringCbVPrintfW dan RtlStringCbVPrintfA membuat string teks yang dihitung byte, dengan pemformatan yang didasarkan pada informasi pemformatan yang disediakan.
Sintaks
NTSTRSAFEDDI RtlStringCbVPrintfW(
[out] NTSTRSAFE_PWSTR pszDest,
[in] size_t cbDest,
[in] NTSTRSAFE_PCWSTR pszFormat,
[in] va_list argList
);
Parameter
[out] pszDest
Penunjuk ke buffer yang disediakan penelepon yang menerima string yang diformat dan dihentikan null. Fungsi ini membuat string ini dari string pemformatan yang disediakan oleh pszFormat dan argumen yang disediakan oleh argList.
[in] cbDest
Ukuran buffer tujuan, dalam byte. Buffer harus cukup besar untuk berisi string yang diformat ditambah karakter null yang mengakhiri.
Untuk string Unicode, jumlah maksimum byte adalah NTSTRSAFE_MAX_CCH * sizeof(WCHAR).
Untuk string ANSI, jumlah maksimum byte adalah NTSTRSAFE_MAX_CCH * sizeof(char).
[in] pszFormat
Penunjuk ke string teks null-terminated yang berisi direktif pemformatan bergaya printf.
[in] argList
Daftar argumen yang ditik va_list. Argumen yang terkandung dalam daftar argumen akan ditafsirkan dengan menggunakan string pemformatan yang disediakan oleh pszFormat.
Nilai kembali
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 keberhasilan ini berarti data sumber ada, string output dibuat tanpa pemotokan, dan buffer tujuan yang dihasilkan dihentikan null. |
|
Status peringatan ini berarti operasi tidak selesai karena ruang yang tidak cukup di buffer tujuan. Buffer tujuan berisi versi string yang dibuat. |
|
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:
|
Keterangan
RtlStringCbVPrintfW dan RtlStringCbVPrintfA harus digunakan alih-alih fungsi berikut:
- vsprintf
- vswprintf
- _vsnprintf
- _vsnwprintf
Untuk informasi selengkapnya tentang daftar argumen va_list-typed, lihat dokumentasi Microsoft Windows SDK.
Gunakan RtlStringCbVPrintfW untuk menangani string Unicode dan RtlStringCbVPrintfA 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" | RtlStringCbVPrintfW |
char | "string" | RtlStringCbVPrintfA |
Jika pszDest dan pszFormat menunjuk ke string yang tumpang tindih atau jika ada string argumen yang tumpang tindih, perilaku fungsi tidak terdefinisi..
Baik pszFormat maupun pszDest tidak boleh NULL. Jika Anda perlu menangani nilai penunjuk string NULL , gunakan RtlStringCbVPrintfEx.
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 | 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