Tentang MMDevice API

WINDOWS Multimedia Device (MMDevice) API memungkinkan klien audio untuk menemukan perangkat titik akhir audio, menentukan kemampuannya, dan membuat instans driver untuk perangkat tersebut.

File header Mmdeviceapi.h mendefinisikan antarmuka dalam MMDevice API.

MMDevice API terdiri dari beberapa antarmuka. Yang pertama adalah antarmuka IMMDeviceEnumerator. Untuk mengakses antarmuka di MMDevice API, klien mendapatkan referensi ke antarmuka IMMDeviceEnumerator dari objek enumerator perangkat dengan memanggil fungsi CoCreateInstance, seperti yang ditunjukkan dalam fragmen kode berikut:

  const CLSID CLSID_MMDeviceEnumerator = __uuidof(MMDeviceEnumerator);
  const IID IID_IMMDeviceEnumerator = __uuidof(IMMDeviceEnumerator);
  hr = CoCreateInstance(
         CLSID_MMDeviceEnumerator, NULL,
         CLSCTX_ALL, IID_IMMDeviceEnumerator,
         (void**)&pEnumerator);

Dalam fragmen kode sebelumnya, CLSID_MMDeviceEnumerator dan IID_IMMDeviceEnumerator adalah nilai GUID yang dilampirkan sebagai atribut ke objek kelas MMDeviceEnumerator dan ke antarmuka IMMDeviceEnumerator. Panggilan CoCreateInstance meneruskan nilai-nilai ini berdasarkan referensi. Variabel hr berjenis HRESULT, dan variabel pEnumerator adalah penunjuk ke antarmuka IMMDeviceEnumerator dari objek enumerator perangkat. IMMDeviceEnumerator menyediakan metode untuk menghitung perangkat titik akhir audio. Untuk informasi tentang operator __uuidof , fungsi CoCreateInstance , dan konstanta CLSCTX_Xxx , lihat dokumentasi Windows SDK.

Melalui antarmuka IMMDeviceEnumerator, klien dapat memperoleh referensi ke antarmuka lain di MMDevice API. MMDevice API mengimplementasikan antarmuka berikut.

Antarmuka Deskripsi
IMMDevice Mewakili perangkat audio.
IMMDeviceCollection Mewakili kumpulan perangkat audio.
IMMDeviceEnumerator Menyediakan metode untuk menghitung perangkat audio.
IMMEndpoint Mewakili perangkat titik akhir audio.

 

Selain itu, klien MMDevice API yang memerlukan pemberitahuan perubahan status di perangkat titik akhir audio harus menerapkan antarmuka berikut.

Antarmuka Deskripsi
IMMNotificationClient Menyediakan pemberitahuan saat perangkat titik akhir audio ditambahkan atau dihapus, saat status atau properti perangkat berubah, atau ketika ada perubahan dalam peran default yang ditetapkan ke perangkat.

 

Perangkat Titik Akhir Audio

Referensi Pemrograman