KSPROPERTY_RTAUDIO_PACKETCOUNT

KSPROPERTY_RTAUDIO_PACKETCOUNT mengembalikan jumlah paket (berbasis 1) yang sepenuhnya ditransfer dari buffer WaveRT ke perangkat keras.

Tabel Ringkasan Penggunaan

Dapatkan Set Target Jenis deskriptor properti Jenis nilai properti

Ya

Tidak

Menyematkan

KSPROPERTY

ULONG

Deskriptor properti (data instans) adalah struktur KSPROPERTY . Sebelum mengirim permintaan, klien memuat struktur dengan jumlah paket (berbasis 1) yang sepenuhnya ditransfer dari buffer WaveRT ke perangkat keras.

Nilai properti adalah variabel jenis ULONG.

Nilai Yang Dikembalikan

Permintaan properti KSPROPERTY_RTAUDIO_PACKETCOUNT mengembalikan STATUS_SUCCESS untuk menunjukkan bahwa permintaan telah berhasil diselesaikan. Jika tidak, permintaan mengembalikan kode status kegagalan yang sesuai.

Keterangan

Dari jumlah paket, OS dapat memperoleh posisi aliran paket yang ditulisnya ke dalam buffer WaveRT. OS juga dapat memperoleh posisi buffer WaveRT dari paket berikutnya untuk menulis dalam buffer WaveRT. Untuk driver WaveRT, driver memberi sinyal peristiwa pemberitahuan tunggal saat mentransfer data dari setiap paket buffer WaveRT. Oleh karena itu peristiwa itu saja tidak dapat menunjukkan paket mana dalam buffer WaveRT yang sedang ditransfer. Dalam operasi normal ini bukan masalah tetapi dalam kasus underflow koreksi lebih mudah dicapai dengan mengkueri jumlah paket tempat OS dapat menentukan paket mana yang akan ditulis berikutnya.

PacketCount yang dikembalikan menunjukkan jumlah paket (berbasis 1) yang sepenuhnya ditransfer dari buffer WaveRT ke perangkat keras. Dari ini, OS dapat menentukan jumlah paket berbasis 0 yang saat ini sedang ditransfer, dan memastikan bahwa ia menulis di depan paket tersebut. Misalnya, jika jumlah paket adalah 5, maka 5 paket telah ditransfer sepenuhnya. Artinya, paket 0-4 telah ditransfer sepenuhnya. Oleh karena itu paket 5 sedang berlangsung, dan OS harus menulis paket 6. Jika jumlah pemberitahuan untuk buffer WaveRT adalah 2, maka paket 6 akan berada di offset 0 dalam buffer WaveRT (karena 6 modulo 2 adalah 0, dan 0 kali ukuran paket adalah 0).

OS mungkin mendapatkan properti ini kapan saja. Namun umumnya mendapatkan properti ini hanya secara berkala atau setelah driver mengembalikan kesalahan aliran data (STATUS_DATA_LATE_ERROR, STATUS_DATA_OVERRUN) dari SetWritePacket() untuk menyinkronkan ulang dengan driver.

Driver harus mengatur ulang jumlah paket ke 0 saat aliran berada di KSSTATE_STOP.

Persyaratan

Versi

Tersedia dalam sistem operasi Windows Windows 10 dan yang lebih baru.

Header

Ksmedia.h

Lihat juga

KSPROPSETID_RTAudio