IMMDeviceEnumerator::Metode 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 .

[out] ppDevice

Pointer ke variabel pointer tempat metode menulis alamat antarmuka IMMDevice untuk perangkat yang ditentukan. 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 GetDevice gagal, *ppDevice adalah 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_POINTER
Parameter pwstrId atau ppDevice adalah NULL.
E_NOTFOUND
ID perangkat tidak mengidentifikasi perangkat audio yang ada dalam sistem ini.
E_OUTOFMEMORY
Kehabisan memori.

Keterangan

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 melewati 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: Untuk contoh kode yang menggunakan metode GetDevice , 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

IMMDevice::GetId

Antarmuka IMMDeviceEnumerator

Antarmuka IMMNotificationClient