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.
Mengubah ukuran dan mengembalikan array output BYTE .
Sintaks
virtual HRESULT ResizeOutputBuffer(
DWORD cbNewBuffer,
DWORD cbBytesToCopy,
IN OUT BYTE** ppbBuffer
) = 0;
Parameter
cbNewBuffer
[IN] DWORD yang berisi jumlah byte yang akan dialokasikan.
cbBytesToCopy
[IN] DWORD yang berisi jumlah byte untuk disalin dari ppbBuffer ke dalam buffer baru.
ppbBuffer
[IN] [OUT] Penunjuk ke BYTE array yang berisi buffer baru.
Tampilkan Nilai
Sebuah HRESULT. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut.
| Nilai | Definisi |
|---|---|
| S_OK | Menunjukkan bahwa operasi berhasil. |
| E_INVALIDARG | Menunjukkan bahwa cbBytesToCopy lebih besar dari cbNewBuffer. |
| E_OUTOFMEMORY | Menunjukkan bahwa memori tumpukan habis. |
Keterangan
Kelas turunan CGlobalModule yang mendaftar untuk peristiwa GL_RSCA_QUERY menerima pointer IGlobalRscaQueryProvider sebagai parameter pada metode CGlobalModule::OnGlobalRSCAQueryvirtual . Anda kemudian dapat mengubah ukuran array saat ini BYTE dengan memanggil ResizeOutputBuffer metode pada penunjuk IGlobalRSCAQueryProvider .
Nilai ResizeOutputBuffer yang dikembalikan tergantung pada implementasi. Anda harus menggunakan informasi berikut sebagai pedoman, tetapi mungkin tidak benar dalam semua skenario:
Pelaksana IGlobalRSCAQueryProviderprivate``BYTE menyatakan pointer sebagai variabel anggota yang disebut buffer; pelaksana buffer menginisialisasi ke NULL saat konstruksi.
cbBytesToCopy Jika parameter lebih besar dari cbNewBuffer parameter saat ResizeOutputBuffer dipanggil, ResizeOutputBuffer segera mengembalikan E_INVALIDARG. Jika tidak, fungsi LocalAlloc dipanggil untuk membuat buffer baru berukuran cbNewBuffer, dan konten ppbBuffer parameter (hingga panjang cbBytesToCopy) disalin ke dalam buffer baru ini. Fungsi LocalFree kemudian dipanggil untuk membuang buffer privat, yang ditetapkan kembali ke buffer baru.
private Buffer kemudian dikembalikan dalam parameter dereferensi ppbBuffer jika ResizeOutputBuffer mengembalikan S_OK.
Penting Metode ini adalah bagian dari infrastruktur IIS 7 dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.
Catatan untuk Pelaksana
IGlobalRSCAQueryProvider pelaksana bertanggung jawab atas manajemen memori dengan data ini; oleh karena itu, IGlobalRSCAQueryProvider pelaksana yang menggunakan alokasi memori dinamis harus melepaskan atau memanggil delete penunjuk BYTE ketika tidak lagi diperlukan.
Catatan untuk Penelepon
IGlobalRSCAQueryProvider pelaksana bertanggung jawab atas manajemen memori dengan data ini; oleh karena itu, IGlobalRSCAQueryProvider klien tidak boleh merilis atau memanggil delete pointer yang dikembalikan BYTE ketika data ini tidak lagi diperlukan.
Persyaratan
| Jenis | Deskripsi |
|---|---|
| Klien | - IIS 7.0 di Windows Vista - IIS 7.5 di Windows 7 - IIS 8.0 di Windows 8 - IIS 10.0 pada Windows 10 |
| Server | - IIS 7.0 di Windows Server 2008 - IIS 7.5 di Windows Server 2008 R2 - IIS 8.0 di Windows Server 2012 - IIS 8.5 di Windows Server 2012 R2 - IIS 10.0 di Windows Server 2016 |
| Produk | - IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0 - IIS Express 7.5, IIS Express 8.0, IIS Express 10.0 |
| Header | Httpserv.h |
Lihat juga
Antarmuka IGlobalRSCAQueryProvider
Metode IGlobalRSCAQueryProvider::GetOutputBuffer