Metode IPerChannelDbLevel::SetLevel (devicetopology.h)

Metode SetLevel mengatur tingkat volume, dalam desibel, dari saluran yang ditentukan.

Sintaks

HRESULT SetLevel(
  [in] UINT    nChannel,
  [in] float   fLevelDB,
  [in] LPCGUID pguidEventContext
);

Parameter

[in] nChannel

Jumlah saluran yang dipilih. Jika aliran audio memiliki saluran N , saluran dinomor dari 0 hingga N– 1. Untuk mendapatkan jumlah saluran dalam aliran, panggil metode IPerChannelDbLevel::GetChannelCount .

[in] fLevelDB

Tingkat volume baru dalam desibel. Nilai positif mewakili perolehan, dan nilai negatif mewakili redaman.

[in] pguidEventContext

Nilai konteks untuk metode IControlChangeNotify::OnNotify . Parameter ini menunjuk ke GUID konteks peristiwa. Jika panggilan SetLevel 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 .

Nilai kembali

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
E_INVALIDARG
Parameter nChannel berada di luar jangkauan.
E_OUTOFMEMORY
Kehabisan memori.

Keterangan

Jika pemanggil menentukan nilai untuk fLevelDB yang merupakan nilai langkah yang tepat, metode SetLevel berhasil diselesaikan. Panggilan berikutnya ke metode IPerChannelDbLevel::GetLevel akan mengembalikan nilai yang ditetapkan, atau salah satu nilai berikut:

  • Jika nilai yang ditetapkan di bawah minimum, metode GetLevel mengembalikan nilai minimum.
  • Jika nilai yang ditetapkan di atas maksimum, metode GetLevel mengembalikan nilai maksimum.
  • Jika nilai yang ditetapkan berada di antara dua nilai langkah, metode GetLevel mengembalikan nilai yang bisa menjadi nilai langkah berikutnya di atas atau nilai langkah di bawah nilai yang ditetapkan; jarak relatif dari nilai yang ditetapkan ke nilai langkah tetangga tidak penting. Nilai yang dikembalikan metode GetLevel adalah nilai mana pun yang memiliki dampak lebih pada jalur sinyal.

Persyaratan

Persyaratan Nilai
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

Lihat juga

Antarmuka IPerChannelDbLevel

IPerChannelDbLevel::GetChannelCount

IPerChannelDbLevel::GetLevel

IPerChannelDbLevel::GetLevelRange