Metode IMMDeviceEnumerator::GetDefaultAudioEndpoint (mmdeviceapi.h)

Metode GetDefaultAudioEndpoint mengambil titik akhir audio default untuk arah dan peran aliran data yang ditentukan.

Sintaks

HRESULT GetDefaultAudioEndpoint(
  [in]  EDataFlow dataFlow,
  [in]  ERole     role,
  [out] IMMDevice **ppEndpoint
);

Parameter

[in] dataFlow

Arah aliran data untuk perangkat titik akhir. Pemanggil harus mengatur parameter ini ke salah satu dari dua nilai enumerasi EDataFlow berikut:

eRender

eCapture

Arah aliran data untuk perangkat penyajian adalah eRender. Arah aliran data untuk perangkat pengambilan adalah eCapture.

[in] role

Peran perangkat titik akhir. Pemanggil harus mengatur parameter ini ke salah satu nilai enumerasi ERole berikut:

eConsole

eMultimedia

eKomunikasi

Untuk informasi selengkapnya, lihat Keterangan.

[out] ppEndpoint

Arahkan ke variabel pointer tempat metode menulis alamat antarmuka IMMDevice dari objek titik akhir untuk perangkat titik akhir audio default. Melalui metode ini, pemanggil mendapatkan referensi yang dihitung ke antarmuka. Pemanggil bertanggung jawab untuk merilis antarmuka, ketika tidak lagi diperlukan, dengan memanggil metode Rilis antarmuka. Jika panggilan GetDefaultAudioEndpoint gagal, *ppDeviceADALAH NULL.

Nilai kembali

Jika metode berhasil, metode akan mengembalikan S_OK. Jika gagal, kemungkinan kode pengembalian disertakan, tetapi tidak terbatas pada, nilai yang diperlihatkan dalam tabel berikut.

Menampilkan kode Deskripsi
E_POINTER
Parameter ppDevice adalah NULL.
E_INVALIDARG
Aliran data parameter atau peran di luar rentang.
E_NOTFOUND
Tidak ada perangkat yang tersedia.
E_OUTOFMEMORY
Kehabisan memori.

Keterangan

Catatan

Di Windows Vista, MMDevice API mendukung peran perangkat tetapi program antarmuka pengguna yang disediakan sistem tidak. Antarmuka pengguna di Windows Vista memungkinkan pengguna memilih perangkat audio default untuk penyajian dan perangkat audio default untuk diambil. Ketika pengguna mengubah perangkat penyajian atau pengambilan default, sistem menetapkan ketiga peran perangkat (eConsole, eMultimedia, dan eCommunications) ke perangkat tersebut. Dengan demikian, GetDefaultAudioEndpoint selalu memilih perangkat penyajian atau pengambilan default, terlepas dari peran mana yang ditunjukkan oleh parameter peran . Di versi Windows yang akan datang, antarmuka pengguna mungkin memungkinkan pengguna untuk menetapkan peran individual ke perangkat yang berbeda. Dalam hal ini, pemilihan perangkat penyajian atau pengambilan oleh GetDefaultAudioEndpoint mungkin bergantung pada parameter peran . Dengan demikian, perilaku aplikasi audio yang dikembangkan untuk berjalan di Windows Vista mungkin berubah saat dijalankan di versi Windows yang akan datang. Untuk informasi selengkapnya, lihat Peran Perangkat di Windows Vista.

Metode ini mengambil perangkat titik akhir default untuk arah aliran data yang ditentukan (penyajian atau pengambilan) dan peran. Misalnya, klien bisa mendapatkan perangkat pemutaran konsol default dengan melakukan panggilan berikut:


  hr = pDevEnum->GetDefaultAudioEndpoint(
                   eRender, eConsole, &pDeviceOut);

Dalam fragmen kode sebelumnya, hr variabel berjenis HRESULT, pDevEnum adalah penunjuk ke antarmuka IMMDeviceEnumerator , dan pDeviceOut adalah penunjuk ke antarmuka IMMDevice .

Sistem Windows mungkin berisi beberapa kombinasi perangkat titik akhir audio seperti speaker desktop, headphone dengan keakuratan tinggi, mikrofon desktop, headset dengan speaker dan mikrofon, dan speaker multisaluran dengan keakuratan tinggi. Pengguna dapat menetapkan peran yang sesuai ke perangkat. Misalnya, aplikasi yang mengelola aliran komunikasi suara dapat memanggil GetDefaultAudioEndpoint untuk mengidentifikasi penyajian yang ditunjuk dan menangkap perangkat untuk peran tersebut.

Jika hanya satu perangkat penyajian atau pengambilan yang tersedia, sistem selalu menetapkan ketiga peran penyajian atau pengambilan ke perangkat tersebut. Jika metode gagal menemukan perangkat penyajian atau pengambilan untuk peran yang ditentukan, ini berarti bahwa tidak ada perangkat penyajian atau penangkapan yang tersedia sama sekali. Jika tidak ada perangkat yang tersedia, metode mengatur *ppEndpoint = NULL dan mengembalikan ERROR_NOT_FOUND.

Untuk contoh kode yang memanggil metode GetDefaultAudioEndpoint , lihat topik berikut:

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 mmdeviceapi.h

Lihat juga

Antarmuka IMMDevice

Antarmuka IMMDeviceEnumerator