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.
[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Pengambilan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine , dan Pengambilan Audio/Video di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]
Catatan
[Tidak digunakan lagi. API ini bisa dihapus dari rilis Windows mendatang.]
Metode GetCurrentBuffer mengambil salinan buffer yang terkait dengan sampel terbaru.
Sintaks
HRESULT GetCurrentBuffer(
[in, out] long *pBufferSize,
[out] long *pBuffer
);
Parameter
-
pBufferSize [masuk, keluar]
-
Penunjuk ke ukuran buffer. Jika pBufferADALAH NULL, parameter ini menerima ukuran buffer yang diperlukan, dalam byte. Jika pBuffer bukan NULL, atur parameter ini sama dengan ukuran buffer, dalam byte. Pada output, parameter menerima jumlah byte yang disalin ke dalam buffer. Nilai ini mungkin lebih kecil dari ukuran buffer.
-
pBuffer [keluar]
-
Penunjuk ke array byte ukuran pBufferSize, atau NULL. Jika parameter ini bukan NULL, buffer saat ini disalin ke dalam array. Jika parameter ini NULL, parameter pBufferSize menerima ukuran buffer yang diperlukan.
Mengembalikan nilai
Mengembalikan salah satu nilai berikut.
| Menampilkan kode | Deskripsi |
|---|---|
|
Sampel tidak di-buffer. Panggil ISampleGrabber::SetBufferSamples. |
|
Buffer yang ditentukan tidak cukup besar. |
|
Argumen pointer NULL. |
|
Berhasil. |
|
Filter tidak tersambung. |
|
Filter belum menerima sampel apa pun. Untuk mengirimkan sampel, jalankan atau jeda grafik. |
Keterangan
Untuk mengaktifkan buffering, panggil ISampleGrabber::SetBufferSamples dengan nilai TRUE.
Panggil metode ini dua kali. Pada panggilan pertama, atur pBuffer ke NULL. Ukuran buffer dikembalikan dalam pBufferSize. Kemudian alokasikan array dan panggil metode lagi. Pada panggilan kedua, teruskan ukuran array di pBufferSize, dan teruskan alamat array di pBuffer. Jika array tidak cukup besar, metode akan mengembalikan E_OUTOFMEMORY.
Parameter pBuffer diketik sebagai penunjuk panjang , tetapi konten buffer bergantung pada format data. Panggil ISampleGrabber::GetConnectedMediaType untuk mendapatkan jenis media format.
Jangan panggil metode ini saat grafik filter sedang berjalan. Saat grafik filter berjalan, filter Sample Grabber menimpa konten buffer setiap kali menerima sampel baru. Cara terbaik untuk menggunakan metode ini adalah dengan menggunakan "mode satu bidikan", yang menghentikan grafik setelah menerima sampel pertama. Untuk mengatur mode satu bidikan, panggil ISampleGrabber::SetOneShot.
Filter tidak menyangga sampel pra-pendaftaran, atau sampel di mana anggota dwStreamId dari struktur AM_SAMPLE2_PROPERTIES adalah apa pun selain AM_STREAM_MEDIA.
Catatan
File header Qedit.h tidak kompatibel dengan header Direct3D yang lebih baru dari versi 7.
Catatan
Untuk mendapatkan Qedit.h, unduh Microsoft Windows SDK Update untuk Windows Vista dan .NET Framework 3.0. Qedit.h tidak tersedia di Microsoft Windows SDK untuk Windows 7 dan .NET Framework 3.5 Service Pack 1.
Persyaratan
| Persyaratan | Nilai |
|---|---|
| Header |
|
| Pustaka |
|
Lihat juga