Fungsi SHAnsiToAnsi (shlwapi.h)
[Fungsi ini tersedia melalui Windows XP dan Windows Server 2003. Ini mungkin diubah atau tidak tersedia dalam versi Windows berikutnya.]
Menyalin string ANSI.
Sintaks
int SHAnsiToAnsi(
[in] PCSTR pszSrc,
[out] PSTR pszDst,
int cchBuf
);
Parameter
[in] pszSrc
Jenis: LPCSTR
Penunjuk ke string ANSI yang dihentikan null untuk dikonversi ke Unicode.
[out] pszDst
Jenis: LPWSTR
Penunjuk ke buffer yang, ketika fungsi ini berhasil dikembalikan, menerima karakter yang disalin dari pszSrc. Buffer harus cukup besar untuk berisi jumlah karakter yang ditentukan oleh parameter cchBuf , termasuk ruang untuk karakter null yang mengakhiri.
cchBuf
Jenis: int
Jumlah karakter yang dapat dimuat oleh buffer yang diacu oleh pszDst. Parameter ini harus lebih besar dari nol.
Nilai kembali
Jenis: int
Mengembalikan jumlah karakter yang ditulis ke pszDst, termasuk karakter null yang mengakhiri. Mengembalikan 0 jika tidak berhasil.
Keterangan
Peringatan Keamanan: Menggunakan fungsi ini dengan tidak benar dapat membahayakan keamanan aplikasi Anda. Misalnya, jika buffer pszDst tidak cukup besar untuk berisi jumlah karakter yang ditentukan oleh cchBuf, overrun buffer dapat terjadi. Overrun buffer dapat menyebabkan penolakan serangan layanan terhadap aplikasi jika pelanggaran akses terjadi. Dalam kasus terburuk, buffer overrun mungkin memungkinkan penyerang untuk menyuntikkan kode yang dapat dieksekusi ke dalam proses Anda, terutama jika pszDst adalah buffer berbasis tumpukan. Perhatikan bahwa string output diam-diam terpotok jika buffer tidak cukup besar. Ini dapat mengakibatkan kanonisisasi atau kerentanan keamanan lainnya.
Jika buffer pszDst tidak cukup besar untuk berisi seluruh string output yang dikonversi, string dipotok agar sesuai dengan buffer. Tidak ada cara untuk mendeteksi bahwa untai (karakter) yang dikembalikan telah dipotok. Untai (karakter) akan selalu dihentikan null, bahkan jika telah dipotok. Fungsi ini berhati-hatilah untuk tidak memotong antara byte prospek dan jejak dari pasangan karakter DBCS. Dalam hal ini, hanya karakter cchBuf-1 yang dikembalikan.
Jika buffer pszSrc dan pszDst tumpang tindih, perilaku fungsi tidak terdefinisi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional, Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server, Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | shlwapi.h |
DLL | Shlwapi.dll (versi 5.0 atau yang lebih baru) |
Lihat juga
StringCchLength