Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
[Kelas CHString adalah bagian dari Kerangka Kerja Penyedia WMI yang sekarang dipertimbangkan dalam status akhir, dan tidak ada pengembangan, peningkatan, atau pembaruan lebih lanjut yang akan tersedia untuk masalah terkait non-keamanan yang memengaruhi pustaka ini. API MI harus digunakan untuk semua pengembangan baru.]
Metode GetBufferSetLength mengembalikan penunjuk ke buffer karakter internal untuk objek CHString , memotong atau meningkatkan panjangnya jika perlu agar sama persis dengan panjang yang ditentukan dalam nNewLength.
Sintaks
LPWSTR throw(CHeap_Exception) GetBufferSetLength(
int nNewLength
);
Parameter
nNewLength
Ukuran buffer karakter CHString yang tepat, diukur dalam karakter.
Nilai kembali
Mengembalikan penunjuk LPWSTR ke buffer karakter objek (DIHENTIKAN NULL).
Keterangan
Penunjuk LPWSTR yang dikembalikan, yang bukan const, memungkinkan modifikasi langsung konten CHString .
Jika Anda menggunakan penunjuk yang dikembalikan oleh GetBuffer untuk mengubah konten string, Anda harus memanggil ReleaseBuffer sebelum menggunakan metode CHString lainnya.
Setelah panggilan ke ReleaseBuffer, alamat yang dikembalikan oleh GetBufferSetLength mungkin tidak valid karena operasi CHString tambahan dapat menyebabkan buffer CHString direalokasikan. Jika Anda tidak mengubah panjang string CHString , buffer tidak ditetapkan ulang. Memori buffer dikosongkan secara otomatis ketika objek CHString dihancurkan.
Perhatikan bahwa jika Anda melacak sendiri panjang string, Anda tidak boleh menambahkan karakter NULL yang mengakhiri. Namun, Anda harus menentukan panjang string akhir saat merilis buffer dengan ReleaseBuffer. Jika Anda menambahkan karakter NULL yang mengakhiri saat memanggil ReleaseBuffer, Anda harus meneruskan -1 (default) untuk panjangnya. Metode ReleaseBuffer memanggil fungsi wcslen pada buffer untuk menentukan panjangnya.
Contoh
Contoh kode berikut menunjukkan penggunaan CHString::GetBufferSetLength.
CHString str;
LPWSTR pstr = str.GetBufferSetLength(3);
pstr[0] = 'I';
pstr[1] = 'c';
pstr[2] = 'e';
// No need for trailing zero or call to ReleaseBuffer()
// because GetBufferSetLength() set it for you.
str += " hockey is best!";
printf( "str: %S\n", (LPCWSTR)str );
Persyaratan
| Persyaratan | Nilai |
|---|---|
| Klien minimum yang didukung | Windows Vista |
| Server minimum yang didukung | Windows Server 2008 |
| Target Platform | Windows |
| Header | chstring.h (termasuk FwCommon.h) |
| Pustaka | FrameDyn.lib |
| DLL | FrameDynOS.dll; FrameDyn.dll |