Metode IMMDeviceEnumerator::GetDevice (mmdeviceapi.h)

Metode GetDevice mengambil perangkat titik akhir audio yang diidentifikasi oleh string ID titik akhir.

Sintaks

HRESULT GetDevice(
  [in]  LPCWSTR   pwstrId,
  [out] IMMDevice **ppDevice
);

Parameter

[in] pwstrId

Penunjuk ke string yang berisi ID titik akhir. Pemanggil biasanya mendapatkan string ini dari metode IMMDevice::GetId atau dari salah satu metode di antarmuka IMMNotificationClient .

Mulai Windows 11, versi 24H2 (build 26100), pemanggil juga dapat meneruskan string yang diperoleh dari properti PKEY_AudioEndpoint_StableId pada titik akhir audio, untuk mengambil titik akhir audio dengan StableId yang cocok.

[out] ppDevice

Pointer ke variabel pointer tempat metode menulis alamat antarmuka IMMDevice untuk perangkat yang ditentukan. 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 GetDevice gagal, *ppDevice adalah NULL.

Mengembalikan nilai

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

Mengembalikan kode Description
E_POINTER
Parameter pwstrId atau ppDevice adalah NULL.
E_NOTFOUND
ID perangkat tidak mengidentifikasi perangkat audio yang ada dalam sistem ini.
E_OUTOFMEMORY
Kehabisan memori.

Komentar

Jika dua program berjalan dalam dua proses yang berbeda dan keduanya perlu mengakses perangkat titik akhir audio yang sama, satu program tidak dapat meneruskan antarmuka IMMDevice perangkat ke program lain. Namun, program dapat mengakses perangkat yang sama dengan mengikuti langkah-langkah berikut:

  1. Program pertama memanggil metode IMMDevice::GetId dalam proses pertama untuk mendapatkan string ID titik akhir yang mengidentifikasi perangkat.
  2. Program pertama meneruskan string ID titik akhir di seluruh batas proses ke program kedua.
  3. Untuk mendapatkan referensi ke antarmuka IMMDevice perangkat di proses kedua, program kedua memanggil GetDevice dengan string ID titik akhir.
Untuk informasi selengkapnya tentang metode GetDevice , lihat topik berikut ini: Untuk contoh kode yang menggunakan metode GetDevice , lihat topik berikut:

Requirements

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Platform Target Windows
Header mmdeviceapi.h

Baca juga

Antarmuka IMMDevice

IMMDevice::GetId

Antarmuka IMMDeviceEnumerator

Antarmuka IMMNotificationClient