Freigeben über


IMMDeviceEnumerator::GetDevice-Methode (mmdeviceapi.h)

Die GetDevice-Methode ruft ein Audioendpunktgerät ab, das durch eine Endpunkt-ID-Zeichenfolge identifiziert wird.

Syntax

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

Parameter

[in] pwstrId

Zeiger auf eine Zeichenfolge, die die Endpunkt-ID enthält. Der Aufrufer ruft diese Zeichenfolge in der Regel von der IMMDevice::GetId-Methode oder einer der Methoden in der IMMNotificationClient-Schnittstelle ab.

[out] ppDevice

Zeiger auf eine Zeigervariable, in die die Methode die Adresse der IMMDevice-Schnittstelle für das angegebene Gerät schreibt. Mit dieser Methode erhält der Aufrufer einen gezählten Verweis auf die Schnittstelle. Der Aufrufer ist für die Freigabe der Schnittstelle verantwortlich, wenn sie nicht mehr benötigt wird, indem er die Release-Methode der Schnittstelle aufruft. Wenn der GetDevice-Aufruf fehlschlägt, ist *ppDeviceNULL.

Rückgabewert

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Wenn ein Fehler auftritt, umfassen mögliche Rückgabecodes die in der folgenden Tabelle gezeigten Werte, sind jedoch nicht darauf beschränkt.

Rückgabecode Beschreibung
E_POINTER
Der Parameter pwstrId oder ppDevice ist NULL.
E_NOTFOUND
Die Geräte-ID identifiziert kein Audiogerät, das sich in diesem System befindet.
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher.

Hinweise

Wenn zwei Programme in zwei verschiedenen Prozessen ausgeführt werden und beide auf dasselbe Audioendpunktgerät zugreifen müssen, kann ein Programm die IMMDevice-Schnittstelle des Geräts nicht einfach an das andere Programm übergeben. Die Programme können jedoch auf dasselbe Gerät zugreifen, indem Sie die folgenden Schritte ausführen:

  1. Das erste Programm ruft die IMMDevice::GetId-Methode im ersten Prozess auf, um die Endpunkt-ID-Zeichenfolge abzurufen, die das Gerät identifiziert.
  2. Das erste Programm übergibt die Endpunkt-ID-Zeichenfolge über die Prozessgrenze an das zweite Programm.
  3. Um einen Verweis auf die IMMDevice-Schnittstelle des Geräts im zweiten Prozess zu erhalten, ruft das zweite Programm GetDevice mit der Endpunkt-ID-Zeichenfolge auf.
Weitere Informationen zur GetDevice-Methode finden Sie in den folgenden Themen: Codebeispiele, die die GetDevice-Methode verwenden, finden Sie in den folgenden Themen:

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile mmdeviceapi.h

Weitere Informationen

IMMDevice-Schnittstelle

IMMDevice::GetId

IMMDeviceEnumerator-Schnittstelle

IMMNotificationClient-Schnittstelle