Metode IMMDeviceEnumerator::EnumAudioEndpoints (mmdeviceapi.h)
Metode EnumAudioEndpoints menghasilkan kumpulan perangkat titik akhir audio yang memenuhi kriteria yang ditentukan.
Sintaks
HRESULT EnumAudioEndpoints(
[in] EDataFlow dataFlow,
[in] DWORD dwStateMask,
[out] IMMDeviceCollection **ppDevices
);
Parameter
[in] dataFlow
Arah aliran data untuk perangkat titik akhir dalam koleksi. Pemanggil harus mengatur parameter ini ke salah satu nilai enumerasi EDataFlow berikut:
eRender
eCapture
eAll
Jika pemanggil menentukan eAll, metode ini mencakup titik akhir penyajian dan pengambilan dalam koleksi.
[in] dwStateMask
Status atau status titik akhir yang akan disertakan dalam koleksi. Penelepon harus mengatur parameter ini ke bitwise ATAU dari satu atau beberapa konstanta DEVICE_STATE_XXX berikut:
DEVICE_STATE_ACTIVE
DEVICE_STATE_DISABLED
DEVICE_STATE_NOTPRESENT
DEVICE_STATE_UNPLUGGED
Misalnya, jika penelepon mengatur parameter dwStateMask ke DEVICE_STATE_ACTIVE | DEVICE_STATE_UNPLUGGED, metode ini mencakup titik akhir yang aktif atau dilepas dari jack mereka, tetapi mengecualikan titik akhir yang ada pada adaptor audio yang telah dinonaktifkan atau tidak ada. Untuk menyertakan semua titik akhir, terlepas dari statusnya, atur dwStateMask = DEVICE_STATEMASK_ALL.
[out] ppDevices
Penunjuk ke variabel pointer tempat metode menulis alamat antarmuka IMMDeviceCollection dari objek pengumpulan perangkat. Melalui metode ini, penelepon mendapatkan referensi yang dihitung ke antarmuka. Pemanggil bertanggung jawab untuk merilis antarmuka, ketika tidak lagi diperlukan, dengan memanggil metode Rilis antarmuka. Jika panggilan EnumAudioEndpoints gagal, *ppDevices adalah 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 ppDevices adalah NULL. |
|
Parameter dataFlow atau dwStateMask berada di luar rentang. |
|
Kehabisan memori. |
Keterangan
Misalnya, panggilan berikut menghitung semua perangkat titik akhir penyajian audio yang saat ini aktif (ada dan tidak dinonaktifkan):
hr = pDevEnum->EnumAudioEndpoints(
eRender, DEVICE_STATE_ACTIVE,
&pEndpoints);
Dalam fragmen kode sebelumnya, hr variabel berjenis HRESULT, pDevEnum adalah penunjuk ke antarmuka IMMDeviceEnumerator , dan pEndpoints adalah penunjuk ke antarmuka IMMDeviceCollection .
Contoh
Untuk contoh kode yang memanggil metode EnumAudioEndpoints , lihat Properti Perangkat.
Persyaratan
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | mmdeviceapi.h |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk