Metode IPerChannelDbLevel::SetLevelAllChannels (devicetopology.h)
Metode SetLevelAllChannels mengatur tingkat volume, dalam desibel, dari semua saluran dalam aliran audio.
Sintaks
HRESULT SetLevelAllChannels(
[in] float [] aLevelsDB,
[in] ULONG cChannels,
[in] LPCGUID pguidEventContext
);
Parameter
[in] aLevelsDB
Penunjuk ke array tingkat volume. Parameter ini menunjuk ke array float yang dialokasikan penelepon tempat metode menulis tingkat volume baru, dalam desibel, untuk semua saluran. Metode ini menulis tingkat untuk saluran tertentu ke dalam elemen array yang indeksnya cocok dengan nomor saluran. Jika aliran audio berisi saluran n , saluran diberi nomor 0 hingga n– 1. Untuk mendapatkan jumlah saluran dalam aliran, panggil metode IPerChannelDbLevel::GetChannelCount .
[in] cChannels
Jumlah elemen dalam array aLevelsDB . Jika parameter ini tidak cocok dengan jumlah saluran dalam aliran audio, metode gagal tanpa memodifikasi array aLevelsDB .
[in] pguidEventContext
Nilai konteks untuk metode IControlChangeNotify::OnNotify . Parameter ini menunjuk ke GUID konteks peristiwa. Jika panggilan SetLevelAllChannels mengubah status kontrol tingkat, semua klien yang telah mendaftarkan antarmuka IControlChangeNotify dengan kontrol tersebut menerima pemberitahuan. Dalam implementasi metode OnNotify , klien dapat memeriksa GUID konteks peristiwa untuk menemukan apakah itu atau klien lain adalah sumber peristiwa perubahan kontrol. Jika penelepon menyediakan pointer NULL untuk parameter ini, metode pemberitahuan klien menerima penunjuk konteks NULL .
Mengembalikan nilai
Jika metode berhasil, metode akan mengembalikan S_OK. Jika gagal, kemungkinan kode pengembalian menyertakan, tetapi tidak terbatas pada, nilai yang diperlihatkan dalam tabel berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Parameter cChannels tidak sama dengan jumlah saluran. |
|
Pointer aLevelsDB adalah NULL. |
|
Kehabisan memori. |
Keterangan
Jika nilai tingkat yang ditentukan untuk saluran apa pun berada di luar rentang yang dilaporkan metode IPerChannelDbLevel::GetLevelRange untuk saluran tersebut, SetLevelAllChannels memanggil klem nilai ke rentang yang didukung dan berhasil diselesaikan. Panggilan berikutnya ke metode IPerChannelDbLevel::GetLevel mengambil nilai aktual yang digunakan untuk saluran tersebut.
Persyaratan
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | devicetopology.h |